LogoLogo
  • Learn About Signet
    • Simplifying the Rollup
    • No Proofs or State Roots
    • Simple sequencing
    • Cross-chain transfers on Signet
  • Build on Signet
    • Smart Contracts
      • Passage
      • Transactor
      • Orders
        • Order Processing
        • Working with Orders
        • Market Participants
        • Bundles and Orders
        • Application Use Cases
      • Zenith
      • Permit2
    • EVM Behavior
    • Signet SDK
      • signet-zenith
      • signet-types
      • signet-extract
      • signet-evm
      • signet-bundle
      • signet-rpc
  • More info
  • FAQ
  • Glossary
  • Twitter
  • Github
Powered by GitBook
On this page
  • The Passage contract:
  • Logic
  • Invariants
  • More information
  1. Build on Signet
  2. Smart Contracts

Passage

PreviousSmart ContractsNextTransactor

Last updated 2 months ago

Passage is responsible for ETH and ERC-20 tokens entering Signet.

The Passage contract:

  1. Accepts ETH and ERC20 deposits, emitting Enter and EnterToken events for the Signet Node

  2. Maintains 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 chain

  • ETH total supply on the Rollup <= address(passage).balance on the Host chain

  • address(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 folder.

passage/