Files
linea-monorepo/contracts/docs/workflows/messaging/canonicalL2ToL1TokenBridging.md
The Dark Jester f48431ac5c [Chore] Document contract interaction (#926)
* placeholder docs

* adding more documentation

* documentation work in progress

* add main linking or index documents

* add a link images

* add messaging flows

* linking operator documentation and folder cleanup

* use correct pathing on tokenbridge.md

* link workflow documents

* add function signatures

* remove welcome to

* cross reference blob submission and finalization

* remove confusing text

* use better definition of shnarf

* fix broken link

* add charter, diagram and address book

* docs(LSC): Rename security-council-charter-v1.3.md to security-council-charter.md

Signed-off-by: Julien Marchand <julien-marchand@users.noreply.github.com>

* Update contracts/docs/mainnet-address-book.csv

Co-authored-by: Julien Marchand <julien-marchand@users.noreply.github.com>
Signed-off-by: The Dark Jester <thedarkjester@users.noreply.github.com>

---------

Signed-off-by: Julien Marchand <julien-marchand@users.noreply.github.com>
Signed-off-by: The Dark Jester <thedarkjester@users.noreply.github.com>
Co-authored-by: Julien Marchand <julien-marchand@users.noreply.github.com>
2025-05-19 13:36:09 +02:00

1.0 KiB

🔁 Interaction Flow: Canonical Token Bridging (L2 → L1)

This document outlines the process of bridging tokens from L2 back to L1 using the canonical bridge mechanism.


🔄 Step-by-Step Flow

  1. L2 User calls bridgeToken() on the L2 Token Bridge.
  2. The L2 Token is either:
    • Transferred via safeTransferFrom(), or
    • Burned
  3. L2 Token Bridge sends a message to the L2MessageService using sendMessage().
  4. The L2MessageService:
    • Verifies non-empty data
    • Gets the next message number
    • Computes the message hash with all the message fields
    • Stores message hash and emits event
  5. Coordinator captures the event and message hash.
  6. Coordinator:
    • Anchors the message Merkle root(s) on L1 during finalization
    • Emits events for proof generation
  7. L1 User claims the message with proof.
  8. L1 Token Bridge executes completeBridging().
  9. The L1 Token is delivered (either minted or transferred) to the L1 User.