Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Isthmus: Updates for L2 withdrawals root in header #12848

Draft
wants to merge 10 commits into
base: vd/isthmus-config
Choose a base branch
from

Conversation

vdamle
Copy link

@vdamle vdamle commented Nov 6, 2024

Description

This PR proposes changes to add:

  • storage root of the L2ToL1MessagePasser contract to the ExecutionPayload.
  • a new p2p gossip topic (v4) for Isthmus blocks.
  • update the SSZ encoding & gossip to account for with withdrawalsRoot.
  • Leverages the config changes to add Isthmus hard fork in Config: Add support for Isthmus #12847

Tests

  • Attributes check test
  • Action test for isthmus enabled at genesis.
  • TODO - Action test for Isthmus transition block.
  • TODO - Action test for Isthmus block in future.
  • TODO - gossip test

Additional context

Addresses changes to Consensus Layer to support L2 withdrawals root in the block header, as outlined in #12044

Spec changes: ethereum-optimism/specs#394
EL changes:

Metadata

None.

Vinod Damle added 10 commits November 6, 2024 09:44
* add withdrawalsRoot to ExecutionPayload.
* add a `BlocksV4` topic to p2p gossip and check for non-empty
  withdrawalsRoot on v4 topic.
* add checks for whether block is type v4 and apply relevant
  marshal/unmarshal for l2 withdrawals root.
* attributes check
* outputV0AtBlock api update
* minor type updates
and fixes for a few failures
when computing L2OutputRoot, no need to re-compute the storage root
if Isthmus is active.
* `RPCResponseCheck` is an interface that currently has a function
that validates withdrawals.
* There's an implementation of this interface for L1 and L2
* L1's response checker validates that the withdrawals list matches
  the root in the header.
* L2's response checker validates that the withdrawals list is empty
  when the withdrawalsRoot is not nil
will move to a separate PR
@vdamle
Copy link
Author

vdamle commented Nov 6, 2024

📚 $\text{Stack Overview}$

Pulls submitted in this stack:

This comment was automatically generated by st.

@vdamle vdamle changed the title Config: Add support for Isthmus Isthmus: Updates for L2 withdrawals root in header Nov 6, 2024
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.

1 participant