Quickstarts
Two Gotchas Before You Build
NEXT WALKTHROUGH: Cross-Chain Flash Loan →
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.
DEEP DIVE: How to handle msg.sender across chains →
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.

UP NEXTCross-Chain Flash Loan