STEP 1 OF 2
ALL QUICKSTARTS →
GOTCHA 1 OF 2 · WHO CALLS YOU
ON THE OTHER CHAIN
source
the EOA or contract that started it
ON YOUR CHAIN
proxy(source)
the manager has it call you
YOUR CONTRACT
msg.sender
= proxy(source), not source
A msg.sender == owner check that passes on one chain reverts every time the call comes cross-chain. Check against the proxy address instead.
DAPP DEVELOPERS
Two Gotchas Before You Build
You have followed a call across and back. Before you write your own contract, check who calls it and when its entry can be consumed. A same-chain test can miss both gotchas.
One gotcha per step, the upstream lines behind it, and a link to the page that covers it in depth.
WHAT YOU'LL LEARN
- 01 · MSG.SENDER IS THE PROXY.Your contract is called by the source's proxy, so an owner check against the source reverts.
- 02 · AN ENTRY COUNTS ONLY IN ITS BLOCK.A proxy call reverts unless its rollup was verified in the current block.
Verified against eez-core-protocol Git commit 9a1f815; interfaces may move.