Skip to content

Move the world-chain line to ethereum-optimism/reth op-v2.6.0-2 - #91

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

sduchesneau merged 303 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 reth from ethereum-optimism/reth op-v2.6.0-2 (reth v2.6.0 plus 17 OP commits). This merges release/optimism-2.x (#90, tagged op-reth-v2.8.1-fh3.1), which already sits on that tag, into the world-chain line. Only CHANGELOG.md conflicted; outside it, the tree is identical to op-reth-v2.8.1-fh3.1. No Firehose code changes.

Release: once merged, tag the merge commit world-chain-v2.8.1-fh3.1. streamingfast/optimism and streamingfast/world-chain bump/world-chain-2.8.1 pin that tag and do not build until it exists.

CHANGELOG

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

### Changed

- Merged ethereum-optimism/reth `op-v2.6.0-2` (reth v2.6.0 plus 17 OP commits), the reth pin of
  world-chain v2.8.1 and op-reth v2.8.1. The previous pin was ethereum-optimism/reth `0fbe4285`,
  based on reth v2.5.2. revm moves to 43 and alloy-evm to 0.39. No Firehose code changed, and the
  code is the same as `op-reth-v2.8.1-fh3.1`.
- The `alloy-evm` patch moves to `streamingfast/evm` `v0.39.0-sf`, so block traces keep their
  `systemCalls`.

Tests

  • cargo test -p reth-firehose -p reth-firehose-tests: PASSED (33 unit tests, 2 prestate tests)
  • The world-chain node built against this branch and its tests are in the streamingfast/world-chain PR, which also carries Battlefield.

pucedoteth and others added 30 commits August 21, 2026 14:53
…xyz#26767)

Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de>
Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
)

Co-authored-by: Brian Picciano <933154+mediocregopher@users.noreply.github.com>
…yz#26808)

Co-authored-by: Matthias Seitz <19890894+mattsse@users.noreply.github.com>
Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de>
…6810)

Co-authored-by: Matthias Seitz <19890894+mattsse@users.noreply.github.com>
Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de>
Co-authored-by: Brian Picciano <933154+mediocregopher@users.noreply.github.com>
Co-authored-by: Derek Cofausper <256792747+decofe@users.noreply.github.com>
Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de>
Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de>
…6828)

Co-authored-by: Alexey Shekhirin <5773434+shekhirin@users.noreply.github.com>
Co-authored-by: Alexey Shekhirin <github@shekhirin.com>
Co-authored-by: Matthias Seitz <19890894+mattsse@users.noreply.github.com>
Co-authored-by: rakita <rakita@users.noreply.github.com>
Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de>
Bruce039 and others added 24 commits September 16, 2026 17:46
…digmxyz#27266)

Co-authored-by: Matthias Seitz <19890894+mattsse@users.noreply.github.com>
…yz#27275)

Co-authored-by: Matthias Seitz <19890894+mattsse@users.noreply.github.com>
Pin that `OverlayStateProvider::storage_root` reads trie nodes through
the overlay when partial persistence leaves database storage-trie nodes
older than the persisted hashed storage. OP Stack consensus depends on
this: the Isthmus withdrawals root is the L2ToL1MessagePasser storage
root, computed through `storage_root` when building and validating
blocks.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…igmxyz#27247)

Co-authored-by: Matthias Seitz <19890894+mattsse@users.noreply.github.com>
(cherry picked from commit a120f00)
…igmxyz#27429)

Co-authored-by: Matthias Seitz <19890894+mattsse@users.noreply.github.com>
(cherry picked from commit 444e867)
Co-authored-by: Brian Picciano <933154+mediocregopher@users.noreply.github.com>
(cherry picked from commit 078d026)
…dAccounts (paradigmxyz#27252)

Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Brian Picciano <me@mediocregopher.com>
(cherry picked from commit 695b4f1)
Co-authored-by: Brian Picciano <933154+mediocregopher@users.noreply.github.com>
Co-authored-by: Brian Picciano <me@mediocregopher.com>
(cherry picked from commit 5e309af)
)

Co-authored-by: Sergei Shulepov <2205845+pepyakin@users.noreply.github.com>
(cherry picked from commit 2599319)
Squash the fork CI support from 04e73b7 and push-event support from b0d194c into one replayable maintenance commit.

Preserve release action pins and advisory policy when resolving the replay. Select the book build job without entering Pages deployment. Refresh the standalone lockfile to patched h2 and rustls releases instead of suppressing RUSTSEC-2026-0258 and RUSTSEC-2026-0285; rustls requires the updated AWS-LC backend.

Run cargo deny natively instead of through act (folded in from c279f31): lint.yml's `deny` job calls tempoxyz/ci's reusable deny.yml, which starts with tempoxyz's secure-runner. That action requires a GitHub OIDC token unless the event is a fork pull request, and act never receives one, so the job failed on every push and same-repo PR. Run the same `cargo deny --all-features check all` in a CircleCI job with a digest-pinned Rust image and a checksum-pinned cargo-deny release, and drop `deny` from the act lint matrix.

Co-authored-by: Josh Klopfenstein <git@joshklop.com>
Co-authored-by: falcorocks <14293929+falcorocks@users.noreply.github.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Maintenance CI: Compare optimism push vectors against v2.6.0, retaining actual PR and merge-queue bases.:
Build the compact reader in a separate target directory so act cannot
reuse libraries compiled from the comparison base after restoring older
source mtimes.

Update the fork's rustls lock from 0.23.45 to 0.23.46 for
RUSTSEC-2026-0346 through RUSTSEC-2026-0349. The consuming Optimism
workspace already resolves 0.23.46. Preserve the published pin as parent.
valid_blocks runs the whole ValidBlocks fixture directory but inherits
the single-test sixty-second timeout. The CircleCI run terminated it at
that boundary on all three attempts while the other 61 groups passed.

Give only this exact ef-tests test the ten-minute budget already used by
grouped general-state fixtures. All assertions, retries, and other test
timeouts remain unchanged. A successful remote run must still prove it
finishes within the new bound.
Pushes to an op-v<version> branch compare Compact vectors against upstream
tag v<version>, now that the fork mirrors upstream's release tags. This
replaces the hard-coded v2.6.0 commit for the retired optimism branch.

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

* fix(engine): return payload job start errors from forkchoiceUpdated

When the payload job for forkchoiceUpdated attributes couldn't be started,
PendingPayloadId dropped the PayloadBuilderError and answered -38003 (invalid
payload attributes) for every failure, including failures of the node such as
a provider error, a missing parent header or a dropped reply.

OnForkChoiceUpdated now resolves to a BeaconForkChoiceUpdateError, and a job
start failure becomes BeaconForkChoiceUpdateError::PayloadJob with the
builder's error. A payload builder rejects the attributes with the new
PayloadBuilderError::InvalidAttributes, which the engine API maps to -38003;
every other job start failure maps to -32603. Both carry the error in data.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* refactor: simplify payload job start error handling

Resolve `PendingPayloadId` with `?` and the existing `RecvError` conversion
instead of a three-arm match, and document that `InvalidAttributes` only
rejects the attributes when returned at job start. Trim tests that repeat
coverage: the internal-error loop keeps one case per real failure path (a
missing parent, a dropped sender, a custom builder error), and the SSZ proxy
drops its second `-38003` case, already pinned by the RPC mapping test and
the existing invalid-attributes case.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WvcVspqLS7H3kZwfXSAoJy

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
* ci: pin the docs build to the installed nightly

The book job installs nightly-2026-07-14 but build-cargo-docs.sh ran
`cargo +nightly`, which resolves to the newest nightly channel. The
2026-11-01 nightly fails to compile boa_engine with an async-drop query
cycle (rust-lang/rust#165263), so the script now reads the toolchain from
RUST_NIGHTLY and the job sets it to the nightly it already installs.
Adapted from upstream, which pins its newer workflows to nightly-2026-10-31;
this release line's lint jobs are already pinned to nightly-2026-07-14.

(cherry picked from commit 121b0f7)

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
(cherry picked from commit 831e574)

* deps: update patched transitive dependencies

Lockfile-only patch updates that resolve the inherited advisories with
compatible releases: libz-sys 1.1.31, rustls-webpki 0.103.16,
tokio 1.53.3, webpki-root-certs 1.0.10, webpki-roots 1.0.10 and
zstd-sys 2.1.2. No manifest changes.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
(cherry picked from commit 199dfea)

* deps: ignore compression advisories pinned by reth-core 0.7

zstd 0.13 and zstd-safe 7 are fixed by reth-zstd-compressors 0.7; the
patched releases need reth-core 0.8 and Rust 1.96. crypto-bigint 0.5 has
no patched release compatible with elliptic-curve 0.13. Both are
documented ignores so the fork's cargo-deny gate reflects what op-v2.6.0
can actually fix.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
(cherry picked from commit 470cfb9)

---------

Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
Upstream's per-crate paradigm owners have no access to this fork, so
none of them resolve. Mirror the monorepo: monorepo-reviewers by
default, cloud-security for CI workflows and CODEOWNERS.

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 8572c88)

The test module's `alloy_primitives` import is adjusted to this base.

Co-authored-by: Dan Cline <6798349+Rjected@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Merge ethereum-optimism/reth op-v2.6.0-2 for op-reth v2.8.1
@sduchesneau
sduchesneau merged commit f80c46d into release/world-chain-2.x Nov 7, 2026
2 checks passed
@sduchesneau
sduchesneau deleted the bump/world-chain-2.8.1 branch November 7, 2026 16:06
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.