Repository navigation
Bump reth to v2.10.0 - #87
Merged
Merged
Conversation
Co-authored-by: Brian Picciano <933154+mediocregopher@users.noreply.github.com> Co-authored-by: decofe <256792747+decofe@users.noreply.github.com>
…radigmxyz#28160) Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de>
…igmxyz#28218) 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>
…ts/bench-reth-charts (paradigmxyz#28236) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Matthias Seitz <19890894+mattsse@users.noreply.github.com>
Co-authored-by: Matthias Seitz <19890894+mattsse@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Matthias Seitz <19890894+mattsse@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de>
…igmxyz#28249) Co-authored-by: Matthias Seitz <19890894+mattsse@users.noreply.github.com> Co-authored-by: Brian Picciano <me@mediocregopher.com>
…28246) Co-authored-by: Matthias Seitz <19890894+mattsse@users.noreply.github.com>
…igmxyz#28247) Co-authored-by: Matthias Seitz <19890894+mattsse@users.noreply.github.com>
…xyz#28259) Co-authored-by: Matthias Seitz <19890894+mattsse@users.noreply.github.com>
Upstream added evm2::TxStateChanges to the commit-condition callback of BlockExecutor.
Refresh ACTIVATIONS.md: v2.10.0 schedules no new hardfork.
UlysseCorbeil
approved these changes
Nov 6, 2026
UlysseCorbeil
left a comment
There was a problem hiding this comment.
lgtm after the cargo update like desc. says
Merging this PR will release reth-v2.10.0-fh3.1
Release notesChanged
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Merges upstream reth v2.10.0 into
release/reth-2.x. Release asreth-v2.10.0-fh3.1(the newest tag on the branch isreth-v2.9.0-fh3.1-1; the Firehose block model does not change, sofh3.1stays).Merge order: streamingfast/evm2#1 must be merged and its merge commit tagged
reth-v2.10.0-sffirst. This PR pins that tag inCargo.toml. It builds today only because Cargo fetches the commitCargo.lockrecords (e1f625f1, the evm2 PR's head), which is still reachable on the evm2 PR branch. If the tag lands on another commit (a merge commit), runcargo update -p evm2 -p evm2-inspectors -p evm2-jithere before merging, so the lock file matches the tag.Besides the merge, one Firehose change:
FirehoseBlockExecutor::execute_transaction_with_commit_conditionpasses the transaction's state changes to the callback, following the upstream SDK change (paradigmxyz#28207).CHANGELOG
Test Execution Summary
Branch
bump/reth-2.10.0(merge of upstreamv2.10.0intorelease/reth-2.x). Local builds point the evm2 patch at thestreamingfast/evm2branchbump/reth-2.10.0(heade1f625f1), the commit thereth-v2.10.0-sftag is meant for. The committedCargo.tomlpins the tag.Build Status
cargo check -p reth -p reth-firehose -p reth-firehose-tests -p reth-engine-tree -p reth-evm -p reth-rpc --all-targets: PASSEDcargo check --workspace --all-targets: PASSEDcargo +nightly-2026-10-31 fmt --all -- --check: PASSEDcargo build --release --locked -p reth --bin reth: PASSED (binary used for Battlefield)Build, push and release (if tag)(Dockerfile.sfimage build) on the PR head: PASSEDUnit Tests
cargo test -p reth-firehose -p reth-firehose-tests(mandatory)reth-firehose80,batch_executor1,prestate7 (golden files unchanged),staged_sync_bal1cargo test -p reth-engine-tree --lib --test firehose_live_tracing --test firehose_live_tracing_amsterdam --test firehose_live_tracing_prewarm_reusecargo test -p reth-evm -p reth-evm-ethereumcargo test -p evm2 --lib(instreamingfast/evm2bump/reth-2.10.0)Integration Tests
Battlefield Tests
streamingfast/battlefield-ethereumat879ea9a,fireethv2.24.1,rethbuilt from this branch../scripts/run_firehose_reth_dev.shthenpnpm test:fh3.0:reth-devreth-dev)../scripts/run_firehose_reth_dev.sh praguethenpnpm test:fh3.0:reth-devreth-devsnapshots are recorded on Amsterdam (EIP-8037 gas, EIP-7708 logs), so a Prague chain differs from them. Expected diff, not caused by this merge:reth-v2.9.0-fh3.1-1built from source gives the same 64 failures on the same setup, and the traces of both binaries are identical once identity fields (addresses, hashes, nonces, signatures and the logs bloom built from them), which vary with deployment order between runs, are masked. The one remaining difference is a transaction the baseline dev node packed second in its block (cumulativeGasUsed, samegasUsed)../scripts/ethereum_devnet/run_playground_devnet.sh,./scripts/run_firehose_reth_devnet.sh, thenpnpm test:fh3.0:reth-devnetreth-devnet).prague/setcode_set_delegationsordinal shift the Battlefield README describes, and the precompile-without-balance guard). Both pass on the fresh chain above.scripts/compare-blocks.sh, which the chain-update skill asks for after each run, does not exist in Battlefield anymore, so it was not run.Fork coverage: Amsterdam (Glamsterdam on the execution layer) is covered by Reth Dev's default genesis, the
amsterdam_*prestate goldens andfirehose_live_tracing_amsterdam. The pre-Amsterdam forks mainnet and Hoodi run are covered by the devnet and the Prague dev run.Firehose review
v2.9.0..v2.10.0. Conflicts only inCargo.toml(version, evm2 patch),Cargo.lockanddocs/vocs/vocs.config.ts(version).592bf18and now patches evm2 itself through[patch."https://github.com/alloy-rs/evm2"]. That table now points atstreamingfast/evm2tagreth-v2.10.0-sf(592bf18plus the system-call inspection commit), and our separate patch table is gone, since Cargo rejects the same table twice.execute_transaction_with_commit_conditionpassesevm2::TxStateChangesto the callback.FirehoseBlockExecutoroverrides it and now passes the pending state changes, like upstream's default implementation. No other Firehose code calls it.payload_processor(bal/execute.rstest imports,prewarm.rstest imports, a refactor inCacheTaskHandle);db repair-trieverification is the only new parallelism, and it does not execute transactions.payload_validator.rsare span parents only; no new post-execution check. Blocks are still printed byFirehoseBlockTracer::mark_verified()after validation.alloy-hardforksstays at 0.4.11 and the chain specs are unchanged: Amsterdam is active on Sepolia (block 11856337), unscheduled on Hoodi (u64::MAX) and mainnet; BPO3-5 unscheduled. This release neither schedules nor changes Glamsterdam.ACTIVATIONS.mdrefreshed.Interpreter::failed_charge, which the inspector does not use.Open questions
reth-v2.9.0-fh3.1-1alike, because its snapshots are recorded on Amsterdam. Should Battlefield get Prague snapshots forreth-dev, since mainnet and Hoodi are not on Amsterdam yet? Nothing in this PR depends on it.