Skip to content

update reth v1.10.2 → v1.11.0#406

Open
theochap wants to merge 2 commits intoflashbots:mainfrom
theochap:theo/update-reth
Open

update reth v1.10.2 → v1.11.0#406
theochap wants to merge 2 commits intoflashbots:mainfrom
theochap:theo/update-reth

Conversation

@theochap
Copy link
Contributor

@theochap theochap commented Feb 24, 2026

On top of #403

Summary

  • Updates core reth crates from v1.10.2 to v1.11.0 (paradigmxyz/reth)
  • Migrates reth-optimism-* crates to ethereum-optimism/optimism monorepo (op-reth/v1.11.0 tag), as op-reth was moved out of paradigmxyz/reth starting with v1.11.0
  • Bumps alloy (1.4.31.6.3), revm, and other dependency versions to match reth v1.11.0 requirements
  • Adds [patch.crates-io] overrides for op-alloy-* and alloy-op-* crates (TODO: remove once published to crates.io)
  • Adapts code to breaking API changes: ReceiptBuilderCtx field rename, task executor method renames, Launcher signature change, TaskManagerRuntime in tests

Test plan

  • cargo check passes with no errors or warnings
  • CI passes
  • Run local devnet to verify node starts and syncs correctly

🤖 Generated with Claude Code

theochap and others added 2 commits February 23, 2026 15:03
Core reth crates updated to v1.11.0 from paradigmxyz/reth. The
reth-optimism-* crates have moved to ethereum-optimism/optimism and
are now referenced via the op-reth/v1.11.0 tag. Alloy and revm
dependency versions bumped to match reth v1.11.0 requirements.

Breaking API changes addressed:
- ReceiptBuilderCtx field renamed tx → tx_type (now takes OpTxType)
- Task executor methods renamed: spawn → spawn_task,
  spawn_critical → spawn_critical_task,
  spawn_blocking → spawn_blocking_task
- Launcher entrypoint signature: Arc<DatabaseEnv> → DatabaseEnv
- Test framework: TaskManager replaced by Runtime::test()

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings February 24, 2026 01:49
vergen-git2 = "9.0.4"
opentelemetry = { version = "0.31", features = ["trace"] }

# TODO: Remove [patch.crates-io] overrides once updated op-alloy and alloy-op crates are published to crates.io
Copy link
Contributor Author

Choose a reason for hiding this comment

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

I will cut releases over the next few days

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR updates the reth framework from v1.10.2 to v1.11.0, including a migration of Optimism-specific crates to the ethereum-optimism/optimism monorepo. The changes adapt the codebase to breaking API changes in the new version, particularly around task execution and receipt building.

Changes:

  • Migrated from TaskManager to Runtime for test framework task management
  • Updated task executor method names (spawn_criticalspawn_critical_task, spawn_blockingspawn_blocking_task, spawnspawn_task)
  • Adapted ReceiptBuilderCtx from using tx field to tx_type field
  • Updated Launcher entrypoint signature to use DatabaseEnv instead of Arc<DatabaseEnv>
  • Removed Optimism-specific RESS protocol/provider components
  • Bumped alloy from 1.4.3 to 1.6.3 and updated other dependency versions
  • Modified Docker build flags by removing static linking options

Reviewed changes

Copilot reviewed 10 out of 11 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
crates/op-rbuilder/src/tests/framework/instance.rs Migrated from TaskManager to Runtime, updated shutdown logic
crates/op-rbuilder/src/launcher.rs Updated Launcher signature and task executor method names
crates/op-rbuilder/src/builders/standard/service.rs Updated task executor method name for payload builder service
crates/op-rbuilder/src/builders/generator.rs Updated spawn_blocking to spawn_blocking_task
crates/op-rbuilder/src/builders/flashblocks/service.rs Updated multiple task spawning calls to new API
crates/op-rbuilder/src/builders/flashblocks/payload_handler.rs Migrated ReceiptBuilderCtx from tx field to tx_type field
crates/op-rbuilder/src/builders/context.rs Applied ReceiptBuilderCtx field changes
crates/op-rbuilder/src/builders/builder_tx.rs Applied ReceiptBuilderCtx field changes
Dockerfile Removed crt-static and static-libgcc from RUSTFLAGS
Cargo.toml Updated reth to v1.11.0, migrated op-reth crates, updated alloy and revm versions
Cargo.lock Reflects all dependency version updates

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@@ -282,8 +282,8 @@ impl LocalInstance {

impl Drop for LocalInstance {
fn drop(&mut self) {
Copy link

Copilot AI Feb 24, 2026

Choose a reason for hiding this comment

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

The Drop implementation for LocalInstance now uses drop(runtime) instead of task_manager.graceful_shutdown_with_timeout(Duration::from_secs(3)). This removes the graceful shutdown with timeout that was previously in place.

Consider whether this change is intentional. If the Runtime type doesn't require explicit cleanup, this is fine. However, if tasks need to be properly shut down before dropping, you may need to call an appropriate shutdown method on the Runtime object.

Suggested change
fn drop(&mut self) {
fn drop(&mut self) {
if let Some(task_manager) = self.task_manager.take() {
task_manager.graceful_shutdown_with_timeout(std::time::Duration::from_secs(3));
}

Copilot uses AI. Check for mistakes.
@akundaz
Copy link
Contributor

akundaz commented Feb 24, 2026

Reth just released https://github.com/paradigmxyz/reth/releases/tag/v1.11.1, and they said it has critical fixes. Can you bump reth to this?

Copy link
Member

Choose a reason for hiding this comment

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

There's an issue with this new Runtime::test() that cause memory usage/threads accumulation and killed by os (atleast locally).

Copy link
Member

Choose a reason for hiding this comment

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

Probably better to keep this in its separate PR and not stack the changes

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.

4 participants