diff --git a/src/middleware/isFromOwner.ts b/src/middleware/isFromOwner.ts index a40ca1d..7d29624 100644 --- a/src/middleware/isFromOwner.ts +++ b/src/middleware/isFromOwner.ts @@ -9,7 +9,10 @@ export const isFromOwner: AgentMiddleware = async (ctx, next) => { const senderAddress = await ctx.getSenderAddress(); - if (senderAddress === ownerAddress) { + // Ethereum addresses are case-insensitive, and the owner address may be + // provided in a different casing (e.g. EIP-55 checksummed) than the sender + // address returned by the SDK, so compare them case-insensitively. + if (senderAddress?.toLowerCase() === ownerAddress.toLowerCase()) { // Continue message processing await next(); } else {