overview· xtz deposits· fa deposits· xtz withdrawals· xtz fast withdrawals· fa withdrawals· design
bridge indexing · deposit

FA deposits

flowchart TD
  subgraph L1["L1 · MICHELSON"]
    direction TB
    USER_L1(["User"]):::actor
    HD["Call Helper.depositTzKT · transaction · Helper"]:::l1
    TT1["Call Token.transferTzKT · transaction · FA-Token"]:::l1
    APP["Call Token.approveTzKT · transaction · FA-Token"]:::l1
    DEP["Call Ticketer.depositTzKT · transaction · FA-Ticketer"]:::l1
    TT2["Call Token.transferTzKT · transaction · FA-Token"]:::l1
    HDEF["Call Helper.defaultTzKT · transaction · Helper"]:::l1
    TT["Call Rollup.depositTzKT · transaction · Rollup✓ tezos.on_rollup_call✚ TezosDepositOperation"]:::l1
    USER_L1 --> HD
    HD -->|User → Helper| TT1
    HD -->|approve Ticketer| APP
    HD --> DEP
    DEP -->|Helper → Ticketer| TT2
    DEP -->|ticket| HDEF
    HDEF -->|ticket| TT
  end

  subgraph KER["ROLLUP / KERNEL"]
    direction TB
    INBOX["Inbox messageTzKT · inbox · Rollup✓ rollup_message_index✚ RollupInboxMessage"]:::sys
    KFA["Kernel FA_deposit"]:::sys
    INBOX --> KFA
  end

  subgraph ACT["L2 · EVM · ACTUAL"]
    direction TB
    QUEUE["Call FABridge.queueEVM node · transaction · 0xff…02"]:::evm
    QD["Event QueuedDepositEVM node · event · 0xff…02"]:::evm
    CLAIM["Call FABridge.claimEVM node · transaction · 0xff…02"]:::evm
    EVA["Event DepositEVM node · event · 0xff…02✓ etherlink.on_deposit✚ EtherlinkDepositOperation✚ EtherlinkToken"]:::evm
    WT(["Watchtower"]):::actor-evm
    QUEUE --> QD
    QUEUE -.-> CLAIM
    CLAIM --> EVA
  end

  subgraph LEG["L2 · EVM · LEGACY"]
    direction TB
    EVL["Event DepositEVM node · event · 0x00…00✓ etherlink.on_deposit✚ EtherlinkDepositOperation✚ EtherlinkToken"]:::evm
  end

  subgraph ERC["L2 · ERC-20 (token)"]
    direction TB
    TM["Call Token.mintEVM node · call · ERC-20"]:::evm
    MINT_EV["Event TransferEVM node · event · ERC-20✓ etherlink.on_transfer✎ EtherlinkTokenHolder"]:::evm
    USER_L2(["User"]):::actor-evm
    TM --> MINT_EV
    TM -->|mint → User| USER_L2
  end

  TT -->|ticket| INBOX
  KFA -->|with proxy → queue| QUEUE
  KFA -->|without proxy| EVA
  KFA -->|old kernel| EVL
  EVA --> TM
  EVL --> TM
  WT --> CLAIM

  class TT indexed
  class INBOX indexed
  class EVA indexed
  class EVL indexed
  class EVL legacy
  class MINT_EV indexed
  class DEP faded
  class KFA faded
  class QUEUE faded
  class QD faded
  class CLAIM faded
  class TM faded
  class WT faded
  class USER_L1 faded
  class HD faded
  class TT1 faded
  class APP faded
  class TT2 faded
  class HDEF faded
  class USER_L2 faded

  classDef l1 fill:#e8836b1f,stroke:#e8836b,stroke-width:1.5px;
  classDef evm fill:#5aa6e01f,stroke:#5aa6e0,stroke-width:1.5px;
  classDef sys fill:#8b919c1f,stroke:#8b919c,stroke-width:1.5px;
  classDef actor fill:transparent,stroke:#e8836b,stroke-width:1.5px;
  classDef actor-evm fill:transparent,stroke:#5aa6e0,stroke-width:1.5px;
  classDef indexed stroke-width:2px;
  classDef faded stroke-width:1.5px;
  classDef legacy stroke-width:1.5px;

  linkStyle 0 stroke:#e8836b,stroke-width:2.4px;
  linkStyle 1 stroke:#e8836b,stroke-width:2.4px;
  linkStyle 2 stroke:#e8836b,stroke-width:2.4px;
  linkStyle 3 stroke:#e8836b,stroke-width:2.4px;
  linkStyle 4 stroke:#e8836b,stroke-width:2.4px;
  linkStyle 5 stroke:#e8836b,stroke-width:2.4px;
  linkStyle 6 stroke:#e8836b,stroke-width:2.4px;
  linkStyle 7 stroke:#8b919c,stroke-width:2.4px;
  linkStyle 8 stroke:#5aa6e0,stroke-width:2.4px;
  linkStyle 9 stroke:#5aa6e0,stroke-width:2.4px,stroke-dasharray:6 5;
  linkStyle 10 stroke:#5aa6e0,stroke-width:2.4px;
  linkStyle 11 stroke:#5aa6e0,stroke-width:2.4px;
  linkStyle 12 stroke:#5aa6e0,stroke-width:2.4px;
  linkStyle 13 stroke:#8b919c,stroke-width:2.4px;
  linkStyle 14 stroke:#5aa6e0,stroke-width:2.4px;
  linkStyle 15 stroke:#5aa6e0,stroke-width:2.4px;
  linkStyle 16 stroke:#5aa6e0,stroke-width:2.4px,stroke-dasharray:6 5,opacity:0.55;
  linkStyle 17 stroke:#5aa6e0,stroke-width:2.4px;
  linkStyle 18 stroke:#5aa6e0,stroke-width:2.4px;
  linkStyle 19 stroke:#5aa6e0,stroke-width:2.4px;
    
Legend
Hue L1 L2 EVM Kernel
Decision indexed not indexed
Status Legacy · remains in mainnet