Skip to content

feat: upgrade op-reth with reth v1.11.3#197

Draft
Vui-Chee wants to merge 9 commits intomainfrom
vui-chee/upgrade-latest-optimism
Draft

feat: upgrade op-reth with reth v1.11.3#197
Vui-Chee wants to merge 9 commits intomainfrom
vui-chee/upgrade-latest-optimism

Conversation

@Vui-Chee
Copy link
Contributor

@Vui-Chee Vui-Chee commented Mar 13, 2026

Vui-Chee and others added 3 commits March 13, 2026 15:38
- Update paradigmxyz/reth tag from v1.11.0 to v1.11.3
- Bump deps/optimism submodule to 681867a2ed9707a976da302c488440ed76851242
  (op-reth v1.11.3 compatible)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Previously TreeConfig was constructed from scratch with only
persistence_threshold and memory_block_buffer_target, silently
ignoring all other engine flags including --engine.legacy-state-root.

Replace with builder.config().engine.tree_config() which applies all
engine CLI arguments. This fixes the runtime panic:
  "wait_cloned must not be called from a rayon worker thread"

When --engine.legacy-state-root is passed, tree_config() sets
legacy_state_root=true, which causes use_state_root_task() to return
false, selecting StateRootStrategy::Parallel and bypassing
ProofWorkerHandle entirely.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@okx okx deleted a comment from github-actions bot Mar 17, 2026
@okx okx deleted a comment from github-actions bot Mar 17, 2026
@okx okx deleted a comment from github-actions bot Mar 17, 2026
* main:
  fix(claude): dup comments @review and unwarranted auth step trigger (#202)
  feat(intercept): add bridge intercept in flashblocks (#177)
  add github token to claude step (#201)
  restore id-token (#200)
  fix: resolve Node compile issue, use nightly formatting, pin Rust to 1.93, and fix Claude 401s (#198)
  feat: integrate legacy migrate tool into bin/tools crate (#196)
  refactor(node): clean up main.rs (#187)
  feat(ci): restrict to PR author as triggerman (#195)
The github-script REST client was silently swallowing API errors
(e.g. auth/permission failures), leaving has_alerts=false and
causing all downstream steps to be skipped with no visible reason.

Switch to gh CLI with GH_TOKEN so failures exit loudly with a
clear error message. Also simplifies the code by doing the JSON
filtering and reshaping in a single jq expression.
The Dependabot REST API returns 404 for GITHUB_TOKEN even with
security-events: read in many org configurations. Switch to
cargo audit --json which uses the same RustSec advisory database
that Dependabot uses for Rust, needs no API permissions, and
provides richer data (installed version, exact patched ranges,
CVSS vector).

Also drop the now-unnecessary security-events: read and
id-token: write permissions from the job.
* main:
  fix(ci): switch from dependabot API to cargo audit
  fix(ci): use gh CLI to fetch dependabot alerts
  feat(claude): let AI sort out security issues (#203)
@okx okx deleted a comment from github-actions bot Mar 20, 2026
@okx okx deleted a comment from github-actions bot Mar 20, 2026
@Vui-Chee
Copy link
Contributor Author

@claude check this pr

@github-actions
Copy link
Contributor

github-actions bot commented Mar 20, 2026

Claude finished @Vui-Chee's task in 1m 30s —— View job


PR Review: feat: upgrade op-reth with reth v1.11.3

  • Gather context
  • Analyze changed files
  • Provide review feedback

Summary

This PR upgrades all paradigmxyz/reth dependencies from v1.11.0 to v1.11.3, bumps the deps/optimism submodule to the matching op-reth commit, regenerates the lockfile, and includes a critical engine bug fix.

Changed files:

  • Cargo.toml — version bump across all 43 reth crates
  • deps/optimism — submodule bump (6679f0b681867a)
  • Cargo.lock — regenerated
  • bin/node/src/main.rs — engine config fix

What's Good

Consistent dependency upgrade. All 43 paradigmxyz/reth crates are uniformly updated from v1.11.0 to v1.11.3. No mixed versions left behind.

Correct submodule pairing. The deps/optimism submodule is bumped to 681867a2ed9707a976da302c488440ed76851242, which corresponds to the op-reth v1.11.3-compatible commit per the PR description.

Important engine bug fix included (1cfcc78). The old code constructed TreeConfig manually, only forwarding 2 of many engine CLI flags:

// Before — silently ignores most engine flags
let engine_tree_config = TreeConfig::default()
    .with_persistence_threshold(builder.config().engine.persistence_threshold)
    .with_memory_block_buffer_target(...);

// After — propagates all engine CLI arguments correctly
let engine_tree_config = builder.config().engine.tree_config();

This fixes a real runtime panic ("wait_cloned must not be called from a rayon worker thread") when --engine.legacy-state-root is passed, since tree_config() correctly sets legacy_state_root=true which switches the state root strategy to avoid ProofWorkerHandle.


Notes

Alloy version pins remain unchanged. alloy-primitives is still pinned to ~1.5 (not ~1.6) to avoid a secp256k1 version conflict. This is intentional and documented inline — no concern here.

PR title vs commit prefix mismatch. The PR title uses feat: but the core upgrade commit uses chore:. Minor nit — chore: is more accurate for a version bump.

Minimal PR description. The PR body only links to the upstream op-reth v1.11.3 commits. It would be helpful to mention the TreeConfig bug fix explicitly, since that's a behavioral change (not just a version bump) that could affect production nodes using engine CLI flags.

Extra CI commits on branch. The branch includes several CI-related commits (fix(ci): switch from dependabot API to cargo audit, reverts, etc.) that appear to be in-flight work from main. These will land with the merge — confirm these are intentional or rebase before merging.


Verdict

The core upgrade is clean and correct. The TreeConfig fix is a meaningful improvement. Ready to merge after confirming the CI commit situation.

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