Skip to content

chore(deps): upgrade Reth to 2.8 and consolidate dependency updates - #419

Merged
tac0turtle merged 3 commits into
mainfrom
chore/reth-2.8-dependencies
Oct 26, 2026
Merged

tac0turtle merged 3 commits into
mainfrom
chore/reth-2.8-dependencies

Conversation

@tac0turtle

@tac0turtle tac0turtle commented Oct 26, 2026 •

Copy link
Copy Markdown
Contributor

Upgrade all Reth git dependencies together from v2.5.0 to v2.8.0 and align reth-codecs/primitives-traits 0.8.2, REVM 43.0.3, alloy-evm 0.39.0, Alloy 2.5.0, and revm-inspectors 0.44.3. Refresh Cargo.lock, including Tokio 1.54.1 and rand 0.10.3.

Adapt payload building to Reth's EVM state-provider adapter and move the test cancellation import to reth_tasks.

Consolidates dependency PRs #406, #407, #408, #409, #410, #411, #412, #413, #414, #415, and #416. Their updates are included in this branch; the unrelated peer head subscription PR is outside this change.

Validation on macOS ARM64 with Rust stable 1.98.1 (debug/test profiles with debug info and incremental compilation disabled):

  • cargo check --workspace --all-targets --locked
  • cargo test --workspace --locked: 176 tests passed, none ignored; doctests passed
  • cargo clippy --workspace --all-targets --all-features --locked -- -D warnings
  • cargo build --bin ev-reth --locked; binary version/startup verified
  • cargo +nightly fmt --all --check
  • clients: npm ci, npm test (25 passed), npm run build, npm run test:e2e (5 passed against the newly built node)
  • git diff --check

Compatibility note: Cargo.lock deliberately retains proptest 1.11.0. Updating to 1.12.0 breaks proptest-arbitrary-interop 0.1.0 because its TestRng::fill_bytes trait import no longer resolves. A fresh unrestricted cargo update will need to retain this version until upstream is fixed.

Operator note: upstream Reth 2.8 changes GPO defaults, WebSocket origin enforcement, minimum-priority-fee handling, and builder-start error codes. See https://github.com/paradigmxyz/reth/releases/tag/v2.8.0.

Closes #406
Closes #407
Closes #408
Closes #409
Closes #410
Closes #411
Closes #412
Closes #413
Closes #414
Closes #415
Closes #416

Summary by CodeRabbit

  • Maintenance
    • Updated underlying execution and state-handling behavior. No new user-facing features or workflows are included in this release.

@tac0turtle
tac0turtle requested a review from a team as a code owner October 26, 2026 16:11
@coderabbitai

coderabbitai Bot commented Oct 26, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

No actionable comments were generated in the recent review.

Recent review info
Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: f435bf38-ce1f-415b-b284-eba0d7942f75
Commits

Reviewing files that changed from the base of the PR and between 0488268 and b07c77d.

Files ignored due to path filters: 1
  • Cargo.lock is excluded by !**/*.lock
Files selected for processing: 3
  • Cargo.toml
  • crates/node/src/builder.rs
  • crates/node/src/payload_service.rs

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

Walkthrough

The workspace updates Reth and related dependency versions. Node payload construction now converts the state provider to an EVM state provider, and test imports use the crates that define the imported types.

Changes: Reth dependency and node updates

Layer / File(s) Summary
Update Reth and related dependencies
Cargo.toml
Reth Git dependencies move from v2.5.0 to v2.8.0. Related Reth, Alloy, revm, revm-inspectors, Tokio, and rand versions are updated.
Adjust node provider and test imports
crates/node/src/builder.rs, crates/node/src/payload_service.rs
build_payload converts the state provider to an EVM state provider before creating StateProviderDatabase. Test imports source CachedReads and CancelOnDrop from their respective crates.

Priority: Normal

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Other

Possibly related issues

  • evstack/ev-node issue 3495 reports a Tokio vulnerability affecting version 1.52.3 and versions before 1.53.3. This update uses Tokio 1.54.1, which is outside that affected range.

Suggested reviewers: chatton, randygrok

Merge Risk: Minimal · up to b07c7

The dependency and node adjustments have no established merge-blocking issue; they are mergeable after normal checks.

Pre-merge checks: Passed 4 · Inconclusive 1

Failed Failed checks: 1 inconclusive

Check name Status Explanation Resolution
Linked Issues check Inconclusive Scope: directly linked issues #406, #407, #408, #409, #410, #411, #412, #413, #414, #415, #416. No linked issue is closed or contextual.

Supported by reviewable evidence:
- Version declarations in Ca…
Provide reviewable evidence for the following items:
1. Resolved versions in Cargo.lock for tokio 1.54.1, rand 0.10.3, alloy-signer-local 2.5.0, revm-inspectors 0.44.3, and the reth-* crates at v2.8.0. Confirm that the lockfile contains the…
Passed Passed checks: 4 passed
Check name Status Explanation
Title check Passed The title clearly and concisely identifies the main change: upgrading Reth to 2.8 and consolidating related dependency updates.
Out of Scope Changes check Passed The reviewable changes are the Cargo.toml dependency version updates, the builder.rs state-provider adaptation in crates/node/src/builder.rs, and the test import move in crates/node/src/payload_servic…
Docstring Coverage Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 1 functions across 2 files. (1 skipped: 1 …
Description check Passed The description states the purpose clearly: upgrading Reth git dependencies from v2.5.0 to v2.8.0, aligning related crates (reth-codecs/primitives-traits 0.8.2, REVM 43.0.3, alloy-evm 0.39.0, Alloy 2.…
Full details: Out of Scope Changes check

Explanation

The reviewable changes are the Cargo.toml dependency version updates, the builder.rs state-provider adaptation in crates/node/src/builder.rs, and the test import move in crates/node/src/payload_service.rs. Each change supports the dependency upgrade in #406-#416. The payload_service.rs change moves CachedReads and CancelOnDrop imports to their source crates instead of reth_revm. The PR description ties this change to the reth_tasks import move. The summary shows no unrelated feature code. The PR description states that the peer head subscription PR is excluded, and no code for it appears in the summary. Cargo.lock is excluded from review by the !**/*.lock rule. Its contents are not used as evidence for this assessment. Lockfile completeness is covered in the linkedIssuesAssessment.

Full details: Docstring Coverage

Explanation

Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 1 functions across 2 files. (1 skipped: 1 unsupported.)

Full details: Description check

Explanation

The description states the purpose clearly: upgrading Reth git dependencies from v2.5.0 to v2.8.0, aligning related crates (reth-codecs/primitives-traits 0.8.2, REVM 43.0.3, alloy-evm 0.39.0, Alloy 2.5.0, revm-inspectors 0.44.3, Tokio 1.54.1, rand 0.10.3), and adapting payload building and a test import. It lists consolidated PRs #406-#416 and closing references, plus detailed validation results on macOS ARM64, a proptest compatibility note, and an operator note. It does not follow the repository template: the '## Type of Change' checkboxes are missing, the template's 'Checklist' section is absent, and 'Testing' is written as a free-form list rather than the template's section. The template's 'Fixes #(issue)' line is replaced by 'Closes' lines for multiple issues. Core information is present, so the description is mostly complete even though several template sections are not followed.

Full details: Linked Issues check

Explanation

Scope: directly linked issues #406, #407, #408, #409, #410, #411, #412, #413, #414, #415, #416. No linked issue is closed or contextual.

Supported by reviewable evidence:

Not established from reviewable evidence:

  • Cargo.lock is excluded by ignored_files (rule !**/*.lock). Lockfile resolution is therefore unknown. This affects #406 (highest compatible versions, additions and removals), the resolved Tokio 1.54.1 and rand 0.10.3 requirements [#407, #415], and the resolved alloy-signer-local 2.5.0 and revm-inspectors 0.44.3 requirements [#413, #416].
  • No reviewable change shows accommodation of the reth-testing-utils test-helper changes (PeerConfig builder, INVALID payload failure) [#408]. It is unknown whether the repository uses these helpers.
  • No reviewable change shows accommodation of trie API or multiproof interface changes [#414], or of other reth-trie-db, reth-consensus-common, reth-cli, or reth-node-builder API changes [#409-chore(deps): bump reth-node-builder from v2.5.0 to v2.8.0 #411]. The summary lists no such files. It is unknown whether the repository uses these APIs.
  • Upstream behavior changes named in #410 and #411 (gas-price oracle defaults, WebSocket origin enforcement, minimum priority fee, worker sizing, RPC compression, metrics limits) appear only in the PR operator note. No reviewable code or configuration change addresses them. It is unknown whether repository configuration depends on them.
  • The author reports successful cargo check, test, clippy, build, and client test runs. These results were not verified in this review.

Resolution

Provide reviewable evidence for the following items:

  1. Resolved versions in Cargo.lock for tokio 1.54.1, rand 0.10.3, alloy-signer-local 2.5.0, revm-inspectors 0.44.3, and the reth-* crates at v2.8.0. Confirm that the lockfile contains the additions and removals described in #406. Cargo.lock is excluded from this review by the !**/*.lock rule, so this check needs an independent lockfile review.
  2. Confirmation from repository source that reth-testing-utils, reth-trie-db, reth-consensus-common, reth-cli, and reth-node-builder are either unused or compile and behave correctly with the v2.8.0 APIs. Cite any changed call sites.
  3. Confirmation whether repository configuration or code depends on the gas-price oracle defaults, WebSocket origin enforcement, minimum priority fee handling, or builder-start error codes changed in Reth v2.8.0. If a dependency exists, provide the code or configuration change that accounts for it.
Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

@damiannolan damiannolan left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@tac0turtle
tac0turtle enabled auto-merge (squash) October 26, 2026 16:17
@tac0turtle
tac0turtle disabled auto-merge October 26, 2026 16:17
@tac0turtle
tac0turtle merged commit 7543e6f into main Oct 26, 2026
14 checks passed
@tac0turtle
tac0turtle deleted the chore/reth-2.8-dependencies branch October 26, 2026 16:42
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.

2 participants