Passage
Passage is responsible for ETH and ERC-20 tokens entering Signet.
The Passage contract:
Accepts ETH and ERC20 deposits, emitting
Enter
andEnterToken
events for the Signet NodeMaintains the list of assets allowed to enter the Rollup.
Logic
The Passage
contract facilitates asset transfers between Ethereum and Signet. ETH deposits trigger Enter
events, prompting the Signet Node to mint ETH for the recipient. Similarly, ERC20 deposits trigger EnterToken
events, leading to the minting of corresponding tokens on Signet.
A multisig account, tokenAdmin
, manages the contract's key functions. The administrator maintains an allowlist that prevents most ERC20 tokens on Ethereum from entering Signet.
Invariants
erc20.totalSupply()
on the Rollup <=erc20.balanceOf(passage)
on the Host chainETH total supply on the Rollup <=
address(passage).balance
on the Host chainaddress(rollupPassage).balance == 0
at the end of each Rollup block
More information
For further details on
tokenAdmin
, see Permissioned Roles.For deployed Passage contract addresses, see Chain Configuration Reference.
For contract source code, see contracts in the passage/ folder.
Last updated