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