Skip to content

Move the world-chain line to op-reth v2.8.1 - #29

Merged
sduchesneau merged 347 commits into
release/world-chain-2.xfrom
bump/world-chain-2.8.1
Nov 7, 2026
Merged

sduchesneau merged 347 commits into
release/world-chain-2.xfrom
bump/world-chain-2.8.1

Conversation

@dfuse-bot

Copy link
Copy Markdown

World-chain v2.8.1 pins the optimism monorepo at op-reth/v2.8.1 (72207294) for op-reth, op-alloy, op-revm and alloy-op-evm. release/op-reth-2.x already merged exactly that tag (#28, tagged op-reth-v2.8.1-fh3.1), so this merges it into the world-chain line. Outside the reth pin and CHANGELOG.sf.md, the tree is identical to op-reth-v2.8.1-fh3.1.

Depends on streamingfast/reth#91. rust/Cargo.toml pins streamingfast/reth tag world-chain-v2.8.1-fh3.1, which does not exist until that PR is merged and its merge commit is tagged. The build (and sf-release.yml) fails until then. rust/Cargo.lock records the head of that PR (0d253a1b) for the tag; if the tag lands on another commit, refresh it with cargo update -p reth-firehose in rust/.

Release: once merged, tag the merge commit world-chain-v2.8.1-fh3.1.

Conflicts

The world-chain line was built from op-reth/v2.6.0 plus cherry-picks, the op-reth line from op-reth/v2.6.1. engine_validator.rs, proof_history.rs (deleted upstream, launch_node moved into node.rs), rust/Cargo.toml and rust/Cargo.lock conflicted. Both sides of the Rust files were identical at the previous tags, so each takes the op-reth side; the reth pins then move to the world-chain tag. CHANGELOG.sf.md keeps the world-chain history with a new section on top.

Firehose bug patterns

Same code as op-reth-v2.8.1-fh3.1; the review in #28 applies. I verified the op-revm range myself from da6d3252 (the previous world-chain pin), not op-reth/v2.6.1: handler.rs changed only in comments, and the only fork-gated change is the Lagoon BLS precompile input cap. World Chain maps Lagoon to Never.

CHANGELOG

## world-chain-v2.8.1-fh3.1

Moves the world-chain line to upstream `op-reth/v2.8.1` (`72207294`), the optimism rev world-chain
`v2.8.1` pins. Outside the reth pin and this changelog, the tree is the same as
`op-reth-v2.8.1-fh3.1`.

### Changed

* Merged `release/op-reth-2.x` at `op-reth-v2.8.1-fh3.1`, which merges upstream `op-reth/v2.8.1`
  and moves reth to ethereum-optimism/reth `op-v2.6.0-2` (reth v2.6.0), revm to 43 and alloy-evm
  to 0.39. The fee vault formulas, deposit handling and fork schedule the Firehose hooks depend on
  are unchanged.
* Reth now comes from `streamingfast/reth` `world-chain-v2.8.1-fh3.1`, which merges `op-v2.6.0-2`
  into `release/world-chain-2.x`.
* `alloy-evm` now comes from `streamingfast/evm` tag `v0.39.0-sf`, so block traces keep their
  `systemCalls`.
* The Firehose engine validator follows upstream's payload validator: a block whose transaction
  sender cannot be recovered is now rejected as an invalid block instead of failing with an
  internal error.
* Add `ACTIVATIONS.md`, which lists every OP hardfork with its status on OP Mainnet and Unichain
  and its effect on the Firehose block.

Tests

Built against the reth PR head through a local world-chain-v2.8.1-fh3.1 tag that was never pushed.

  • cargo check --locked -p op-reth -p reth-optimism-firehose -p alloy-op-evm --tests: PASSED
  • cargo test --locked -p reth-optimism-firehose -p alloy-op-evm -p reth-optimism-evm -p reth-optimism-node -p reth-optimism-payload-builder --no-fail-fast: PASSED (alloy-op-evm 114, reth-optimism-evm 58, reth-optimism-node 51 + 25 + 2 (1 ignored), reth-optimism-payload-builder 41 + 1, doc tests 3; reth-optimism-firehose has no unit tests)
  • Battlefield: runs on the world-chain node, see the streamingfast/world-chain PR.

karlfloersch and others added 30 commits October 13, 2026 02:33
…3320)

Co-authored-by: Mark Chen <292447144+mark-chen-mantle@users.noreply.github.com>
…um-optimism#23311)

Co-authored-by: Mark Chen <292447144+mark-chen-mantle@users.noreply.github.com>
…m#23353)

Co-authored-by: wwared <541936+wwared@users.noreply.github.com>
…eum-optimism#23355)

Co-authored-by: Karl Floersch <karl@Karls-Mac-Mini.local>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…ism#23362)

Co-authored-by: wwared <541936+wwared@users.noreply.github.com>
…3328)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…mism#22965)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…m#23220)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: George Knee <georgeknee@googlemail.com>
…imism#23286)

Co-authored-by: Karl Floersch <karl@Karls-Mac-Mini.local>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…3347)

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
…thereum-optimism#23221)

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…timism#23365)

Co-authored-by: Josh Klopfenstein <joshklop@oplabs.co>
Co-authored-by: George Knee <georgeknee@googlemail.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…thereum-optimism#23433)

Co-authored-by: Adrian Sutton <ajsutton@users.noreply.github.com>
…ests (ethereum-optimism#23319)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
falcorocks and others added 26 commits November 4, 2026 14:22
…thereum-optimism#23875)

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: maurelian <23033765+maurelian@users.noreply.github.com>
)

Co-authored-by: wwared <541936+wwared@users.noreply.github.com>
…tsInvalidMessage (ethereum-optimism#23885)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…m#23896)

Co-authored-by: wwared <541936+wwared@users.noreply.github.com>
…v feature flag (ethereum-optimism#23868)

Co-authored-by: wwared <541936+wwared@users.noreply.github.com>
… game in StandardValidator (ethereum-optimism#23869)

Co-authored-by: wwared <541936+wwared@users.noreply.github.com>
…tor (ethereum-optimism#23870)

Co-authored-by: wwared <541936+wwared@users.noreply.github.com>
…notice (ethereum-optimism#23919)

Co-authored-by: Claude Mythos 5.1 <noreply@anthropic.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Claude Mythos 5.1 <noreply@anthropic.com>
…um-optimism#23814)

Co-authored-by: Claude Mythos 5.1 <noreply@anthropic.com>
Co-authored-by: Matt Solomon <matt@mattsolomon.dev>
…RPC errors (ethereum-optimism#23930)

Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Matt Solomon <matt@mattsolomon.dev>
…21 notice (ethereum-optimism#23934)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: Claude Mythos 5.1 <noreply@anthropic.com>
Mirror the upstream payload validator changes: overlay state provider
factory, blocks carrying access lists, and unrecoverable senders reported
as invalid blocks.
Reth moves to the world-chain-v2.8.1-fh3.1 tag of streamingfast/reth.
@sduchesneau
sduchesneau merged commit d37f8f8 into release/world-chain-2.x Nov 7, 2026
2 checks passed
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.