Skip to content

feat: integrate MorphTx v2 (excluding prover) - #1069

Open
curryxbo wants to merge 2 commits into
mainfrom
feat/morph-tx-v2
Open

curryxbo wants to merge 2 commits into
mainfrom
feat/morph-tx-v2

Conversation

@curryxbo

@curryxbo curryxbo commented Sep 16, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Pin go-ethereum to 2548caac (MorphTx v2 envelope 0x7f || 0x02 || RLP, including empty authorizationList) and bump all Go modules via Makefile.
  • Wire morphTxV2Time into genesis config and set it to 0 on devnet so v2 is active from genesis.
  • Keep MorphTx v2 bytes intact in batch decode and derivation (empty and non-empty auth lists), with round-trip tests.

Test plan

  • go test ./common/batch ./node/derivation and genesis layer_two test
  • make update is a no-op against the pinned geth commit
  • make devnet-up then send MorphTx v2 (empty list + one authorization) via eth_sendRawTransaction, confirm eth_getTransactionByHash returns version: "0x2" and authorizationList

Made with Cursor

Summary by CodeRabbit

  • New Features

    • Added configuration support for scheduling MorphTx V2 activation in generated L2 genesis files.
    • Devnet configurations can enable MorphTx V2 from genesis.
  • Bug Fixes

    • Improved preservation and decoding of MorphTx V2 transactions during batch processing, including set-code authorization data.
  • Tests

    • Added coverage for MorphTx V2 encoding, decoding, and batch round trips.
  • Chores

    • Updated the bundled Ethereum implementation used across project components.

Pin go-ethereum to the MorphTx v2 commit, activate morphTxV2Time in
devnet genesis, and keep v2 envelopes intact through batch decode and
derivation so empty authorization lists remain on the wire.

Co-authored-by: Cursor <cursoragent@cursor.com>
@curryxbo
curryxbo requested a review from a team as a code owner September 16, 2026 07:40
@curryxbo
curryxbo requested review from twcctop and removed request for a team September 16, 2026 07:40
@coderabbitai

coderabbitai Bot commented Sep 16, 2026

Copy link
Copy Markdown
Contributor

Review Change StackReview Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Advanced

Run ID: 9c65c2b4-3d0a-4cc5-a22c-f9dfd1b52e78

📥 Commits

Reviewing files that changed from the base of the PR and between e20dc34 and 1548dcc.

📒 Files selected for processing (1)
  • node/derivation/batch_info_test.go
🚧 Files skipped from review as they are similar to previous changes (1)
  • node/derivation/batch_info_test.go

Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review.


📝 Walkthrough

Walkthrough

The pull request updates the pinned go-ethereum revision, adds MorphTx V2 batch round-trip coverage, and adds optional MorphTx V2 activation configuration to genesis generation.

Changes

MorphTx V2 integration

Layer / File(s) Summary
Update go-ethereum dependencies
Makefile, go-ethereum, */go.mod
The repository now references go-ethereum revision 2548caac16b2d5a2021a6eba0aa23d7506230439. The node module declares uint256 as a direct dependency.
Preserve MorphTx V2 batch data
common/batch/blob.go, common/batch/blob_test.go, node/derivation/batch_info_test.go
The decoder documentation describes V0 and V1+ MorphTx envelopes. Tests cover MorphTx V2 encoding, decoding, re-encoding, hashing, set-code authorizations, and batch parsing.
Configure MorphTx V2 genesis activation
ops/l2-genesis/deploy-config/devnet-deploy-config.json, ops/l2-genesis/morph-chain-ops/genesis/*
DeployConfig accepts morphTxV2Time. NewL2Genesis passes the optional timestamp to ChainConfig. Genesis tests verify activation at timestamp zero.

Priority: ➖ Normal

Estimated code review effort: 3 (Moderate) | ~20 minutes

Change: Feature

Merge Risk: ⚪ Minimal · up to 1548d

The available change context identifies no current merge-blocking issue.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 50.00% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 8 functions across 6 files. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the main change: integrating MorphTx v2 while excluding prover support.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
  • Fix all pre-merge checks with AI
✨ Finishing Touches 💡 1
📝 Generate docstrings 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/morph-tx-v2

Warning

Git: CodeRabbit could not clone the repository, so clone-backed analysis was skipped and this review may be incomplete. Verify repository clone access, such as SSH credentials, before requesting another full review. If clone access is intentionally unavailable, use path_filters to narrow the review scope.

Warning

Billing warning: we have not been able to collect payment for this subscription for more than 72 hours. Please update the payment method or pay any pending invoices in Billing to avoid service interruption.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Co-authored-by: Cursor <cursoragent@cursor.com>
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