STEP 1 OF 3
NEXT: How to check an address is a real proxy →
YOUR EOA
owner
WHAT ARRIVES
proxy(owner)
this is msg.sender there
DAPP DEVELOPERS
How to handle msg.sender across chains
Cross-chain, the destination sees the proxy — not your EOA.
A same-chain owner check passes locally and reverts every time cross-chain, so you whitelist the proxy itself instead.
WHAT YOU'LL LEARN
- 01 · WHO ACTUALLY CALLSThe destination sees the proxy, not the address you expected.
- 02 · THE TRAPA same-chain owner check passes locally, reverts every time cross-chain.
- 03 · THE FIXWhitelist the proxy itself instead.
RUN IT YOURSELF · forge test --match-test test_sameChainCheck_revertsWhenCalledViaProxy -vv — from eez-demos/snippets, Foundry only.
Verified against eez-core-protocol @ 9735f53 — pre-mainnet; interfaces may move.