Skip to content

Changes for Etherlink 6.2#423

Open
NicNomadic wants to merge 1 commit intomainfrom
nic@v6.2
Open

Changes for Etherlink 6.2#423
NicNomadic wants to merge 1 commit intomainfrom
nic@v6.2

Conversation

@NicNomadic
Copy link
Collaborator

Update the doc according to the 6.2 upgrade proposal.

NB: merge only when (and if) the proposal is voted successfully.

@vercel
Copy link

vercel bot commented Feb 20, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
docs-etherlink Ready Ready Preview, Comment Feb 20, 2026 10:22am

Request Review

@NicNomadic NicNomadic requested review from lthms and skenaja February 20, 2026 10:23
- If the target account is a user account (also known as an externally owned account), the sequencer creates a transaction that calls the [Tezos bridge precompiled contract](https://explorer.etherlink.com/address/0xff00000000000000000000000000000000000001) (`0xff0...0001`) that transfers the XTZ to the user account.
- If the target account is a smart contract or EIP-7702 smart account, the sequencer calls the Tezos bridge precompiled contract to queue but not execute a transaction to transfer the XTZ.
Then, any user can call the `claim` function to execute the transaction and send the XTZ to the smart contract or smart account and call its code.
An automated system run by Optimistic Labs monitors the calls the `claim` function on behalf of depositors, so the process is transparent to bridge users.
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Doesn't parse. Does it mean this:

Suggested change
An automated system run by Optimistic Labs monitors the calls the `claim` function on behalf of depositors, so the process is transparent to bridge users.
An automated system run by Optimistic Labs monitors the queued transactions and calls the `claim` function on behalf of depositors, so the process is transparent to bridge users.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The rewriting you propose makes the sentence more clear and accurate indeed.

This change to the bridge introduces a breaking change in the events that are emitted as part of the bridging process.
The `deposit` event is now emitted by the [Tezos bridge precompiled contract](https://explorer.etherlink.com/address/0xff00000000000000000000000000000000000001) (`0xff0...0001`), not the null/system address.

For more information, see TODO BLOG POST.
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mind inserting the link

@NicNomadic NicNomadic changed the title Squashed changes for Etherlink 6.2 Changes for Etherlink 6.2 Feb 20, 2026
1. The sequencer reads the ticket and information about it from the delayed inbox, leaves the ticket in control of the Smart Rollup itself, and calls the null address precompiled contract (`0x000...000`) with the information.

1. The null address precompile sends the information about the deposit to the FA bridging precompiled contract (`0xff0...0002`), which then emits a `QueuedDeposit` event which contains the `depositId` information needed to complete the transfer.
1. The null address precompile sends the information about the deposit to the Tezos bridge precompiled contract (`0xff0...0002`), which then emits a `QueuedDeposit` event which contains the `depositId` information needed to complete the transfer.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why was this change? FA bridge made sense, Tezos bridge feels ambiguous as there is also the XTZ bridge which is at a different address 0xff0...0001.

1. The sequencer requests the state of Etherlink from a Smart Rollup node and receives the delayed inbox.
1. The sequencer creates a corresponding transaction on Etherlink to transfer XTZ from the [null address](https://explorer.etherlink.com/address/0x0000000000000000000000000000000000000000) to the user's address.
1. The sequencer adds this transaction to an Etherlink block as in the usual transaction lifecycle described in [Architecture](/network/architecture).
1. Depending on the target account, the sequencer handles the deposit in different ways:

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's not the sequencer that will handle it (directly) but the according kernel logic that was implemented, in particular the precompiled contract.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We always refer as "the sequencer does X" in this file so maybe it makes sense to keep it consistent and leave it like that.

The withdrawal process (moving XTZ from Etherlink to tez on Tezos layer 1) follows these general steps:

1. An Etherlink user sends XTZ and their layer 1 address to the [withdrawal precompiled contract](https://explorer.etherlink.com/address/0xff00000000000000000000000000000000000001) in the Etherlink Smart Rollup via an Etherlink EVM node.
1. An Etherlink user sends XTZ and their layer 1 address to the [Tezos bridge precompiled contract](https://explorer.etherlink.com/address/0xff00000000000000000000000000000000000001) in the Etherlink Smart Rollup via an Etherlink EVM node.
Copy link

@rodibozman rodibozman Mar 10, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Related to one of my previous thread, the ambiguity arises here, we refer twice to the Tezos bridge but for different addresses.

It should be the XTZ bridge here. It is a seperate address/precompile from the FA bridge.

@rodibozman
Copy link

The rest lgtm w.r.t. Etherlink 6.2's changelog.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants