Skip to content

Comments

chore(rust/op-reth): update reth to rev 2c5d00f and bump alloy deps#19194

Merged
sebastianst merged 169 commits intodevelopfrom
theo/pull-reth-2
Feb 18, 2026
Merged

chore(rust/op-reth): update reth to rev 2c5d00f and bump alloy deps#19194
sebastianst merged 169 commits intodevelopfrom
theo/pull-reth-2

Conversation

@theochap
Copy link
Member

@theochap theochap commented Feb 13, 2026

Summary

I verified that the diff with the earlier version of this PR is null. See earlier version here: #19162

Test plan

  • cargo check --workspace --all-features passes
  • cargo clippy --workspace --all-features passes with zero warnings
  • CI passes

🤖 Generated with Claude Code

@codecov
Copy link

codecov bot commented Feb 13, 2026

Codecov Report

❌ Patch coverage is 74.14495% with 1270 lines in your changes missing coverage. Please review.
✅ Project coverage is 76.1%. Comparing base (5eea96d) to head (39ec1d9).
⚠️ Report is 8 commits behind head on develop.

Files with missing lines Patch % Lines
rust/op-reth/crates/trie/src/in_memory.rs 66.2% 186 Missing ⚠️
rust/op-reth/crates/trie/src/proof.rs 7.7% 179 Missing ⚠️
rust/op-reth/crates/rpc/src/debug.rs 0.0% 141 Missing ⚠️
rust/op-reth/crates/exex/src/lib.rs 79.3% 127 Missing ⚠️
rust/op-reth/crates/trie/src/provider.rs 16.2% 98 Missing ⚠️
rust/op-reth/crates/trie/src/metrics.rs 67.9% 97 Missing ⚠️
...p-reth/crates/cli/src/commands/op_proofs/unwind.rs 0.0% 43 Missing ⚠️
rust/op-reth/crates/node/src/proof_history.rs 0.0% 43 Missing ⚠️
rust/op-reth/crates/rpc/src/metrics.rs 0.0% 38 Missing ⚠️
rust/op-reth/crates/trie/src/initialize.rs 94.8% 38 Missing ⚠️
... and 28 more
Additional details and impacted files
@@             Coverage Diff             @@
##           develop   #19194      +/-   ##
===========================================
- Coverage     76.2%    76.1%    -0.2%     
===========================================
  Files          189      722     +533     
  Lines        10960    78676   +67716     
===========================================
+ Hits          8359    59921   +51562     
- Misses        2455    18611   +16156     
+ Partials       146      144       -2     
Flag Coverage Δ
cannon-go-tests-64 66.4% <ø> (-0.9%) ⬇️
contracts-bedrock-tests 81.5% <ø> (+<0.1%) ⬆️
unit 76.1% <74.1%> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
rust/op-reth/crates/evm/src/lib.rs 99.7% <100.0%> (ø)
rust/op-reth/crates/flashblocks/src/lib.rs 0.0% <ø> (ø)
rust/op-reth/crates/flashblocks/src/sequence.rs 99.2% <ø> (ø)
rust/op-reth/crates/flashblocks/src/ws/stream.rs 79.3% <ø> (ø)
rust/op-reth/crates/hardforks/src/lib.rs 100.0% <100.0%> (ø)
rust/op-reth/crates/node/src/args.rs 100.0% <100.0%> (ø)
rust/op-reth/crates/node/src/rpc.rs 100.0% <ø> (ø)
rust/op-reth/crates/node/src/utils.rs 100.0% <100.0%> (ø)
rust/op-reth/crates/primitives/src/receipt.rs 92.1% <100.0%> (ø)
rust/op-reth/crates/rpc/src/historical.rs 25.5% <ø> (ø)
... and 43 more

... and 486 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@theochap theochap force-pushed the theo/pull-reth-2 branch 2 times, most recently from 9c9a500 to 1c0a88b Compare February 17, 2026 17:15
Copy link
Member

@sebastianst sebastianst left a comment

Choose a reason for hiding this comment

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

LGTM. Locally checked out latest reth, then formatted it with our rustfmt config, then diff -r'd reth/crates/optimism with monorepo/rust/op-reth/crates and confirmed this diff is minimal clippy or other changes.

Will merge tomorrow morning.

emhane and others added 17 commits February 17, 2026 15:43
…e` (op-rs/op-reth#204)

- Adds new crates `reth-optimism-exex` and `reth_optimism_trie`
- Moves `reth_exex::external_proofs` -> `reth_optimism_exex`
- Moves `reth_exex::external_proofs::storage` -> `reth_optimism_trie`
Seems like when `reth-optimism-trie` depends on `reth-db-api`
indirectly, the doctest crate couldn’t resolve `reth_db_api::…` and
failing.

Closes op-rs/op-reth#233

Co-authored-by: Emilia Hane <elsaemiliaevahane@gmail.com>
This PR separates storage and account cursors which makes sense because
these two cursors may have very different seek/next implementations. In
the case of in-memory, a single cursor impl can still handle both, but
for MDBX, it makes sense to implement separate cursors.

Closes op-rs/op-reth#236

---------

Co-authored-by: Arun Dhyani <dhyaniarun7@gmail.com>
Based on op-rs/op-reth#203 ,
op-rs/op-reth#204

This PR implements `StateProvider` given a `OpProofsStorage` instance.
It reads most data from the external database, but falls back on the
latest provider for block hashes and code by hash similar to the
existing historical provider in Reth.

This is an important part to implementing live syncing since we're
running the sync process on the DB being created.

In the Reth implementation, `proof.rs` is contained in `trie/db`, so I
think it makes sense to go in our DB crate. The `provider.rs` is in the
`reth-provider` crate, but I don't think a separate provider crate helps
us here, so I think we should also include that in the trie crate as
well.

---------

Co-authored-by: Emilia Hane <elsaemiliaevahane@gmail.com>
Based on op-rs/op-reth#229

Adds tests to ensure that storing TrieUpdates that include deletions
actually deletes the nodes at that block height, and that updates take
precedence over deletions (same as `write_trie_updates` in Reth).

Closes op-rs/op-reth#238
…p-reth#198)

Based on op-rs/op-reth#197

This PR implements the live state collector on top of the
`OpProofsStateProvider` created in the previous PR. This sync process
tries to re-execute all blocks from the current block of the external
database to tip.

---------

Co-authored-by: Emilia Hane <elsaemiliaevahane@gmail.com>
…#222)

Closes op-rs/op-reth#164

---------

Co-authored-by: Arun Dhyani <dhyaniarun7@gmail.com>
Fixes op-rs/op-reth#225 (does not track errors as these are fatal currently)
…#251)

Fixes op-rs/op-reth#237

Adds more concrete error variants for `OpProofsStorageError`

Co-authored-by: Arun Dhyani <dhyaniarun7@gmail.com>
…eth#248)

Fixes op-rs/op-reth#247

Removes the `block_number` parameter from:
- store_account_branches
-  store_storage_branches
-  store_hashed_accounts
-  store_hashed_storages

Co-authored-by: Arun Dhyani <dhyaniarun7@gmail.com>
…op-reth#250)

Ref op-rs/op-reth#241

- Fixes comment from deps fix in
op-rs/op-reth#229 (fix correct but comment
misleading)
- `serde-bincode-compat` is a feature which must be enabled when the
`bincode` dependency is used. Asides for dev-deps, this only happens in
`reth-stages`. `reth-exex` runs in `reth-stages`. In this wokrstream we
use the `TrieUpdate` in exex. `serde-bincode-compat` is already
implemented for `TrieUpdates` in `reth-trie-common`, this PR simply
makes that feature accessible via `reth-trie` and in turn
`reth-optimism-trie`, in order to enable it in `reth-optimism-exex`.
Closes op-rs/op-reth#212

---------

Co-authored-by: Emilia Hane <elsaemiliaevahane@gmail.com>
Ref op-rs/op-reth#205

Removes redundant dep `reth-db-api` from `reth-optimism-trie`, since
used types are re-exported via `reth-db`

---------

Co-authored-by: Arun Dhyani <dhyaniarun7@gmail.com>
dhyaniarun1993 and others added 17 commits February 17, 2026 15:43
Closes op-rs/op-reth#621

This PR updates the workspace configuration to use reth as a git
dependency instead of a local crate, including necessary fixes for the
compiler, CI workflows, and test configurations.

---------

Co-authored-by: Emilia Hane <elsaemiliaevahane@gmail.com>
Lint fix. Clippy is catching since yesterday's new nightly release.
op-rs/op-reth#632)

Ref op-rs/op-reth#631

- Changes nested database tx type to owned type as has no need to be ref
- Uses `AsyncFnOnce`(new in Rust 1.85) instead of generic future return
type
…/op-reth#635)

Ref op-rs/op-reth#631

- Removes `safe_fn` closure as arg from `initialize` by making
`initialize` a method of `InitializationJob`
- Moves save functions out of `InitializationJob` into impls of trait
method of new trait `InitTable::save_entries`
- Uses `size_hint` to avoid cost of heap re-allocations
- Removes redundant clone
This PR improves the robustness of the OP-Reth Proofs ExEx by process
notifications asynchronously(to avoid WAL backpressure) when the gap
between proof storage and the tip is big. This change ensures that
notification pipeline is able to keep up and gracefully handle the gap.

Closes op-rs/op-reth#597

---------

Co-authored-by: Emilia Hane <elsaemiliaevahane@gmail.com>
Closes: op-rs/op-reth#634

Blocked on: op-rs/op-reth#637

---------

Co-authored-by: Himess <semihcvlk53@gmail.com>
Closes op-rs/op-reth#641

---------

Co-authored-by: Himess <semihcvlk53@gmail.com>
Fixes lint `clippy::redundant_type_annotations`
op-rs/op-reth#644)

Closes op-rs/op-reth#631

- Puts off assigning variables until right when needed
- Optimizes away redundant clone of entries on batch insertion
- Updates symbol name to better show initialising is a batching
algorithm
…eth#640)

Closes op-rs/op-reth#612

---------

Co-authored-by: Arun Dhyani <dhyaniarun7@gmail.com>
…h#650)

This PR added support to run op-reth in sequencer and op-reth(with
proof) in validator for the e2e test.

Note: In this setup pruning test isn't supported(at this moment) since
this test is falling outside the proof window of reth.

---------

Co-authored-by: Emilia Hane <elsaemiliaevahane@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Closes op-rs/op-reth#528

---------

Co-authored-by: Emilia Hane <elsaemiliaevahane@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Sadiqur Rahman <sadiqurr8@gmail.com>
Co-authored-by: Emilia Hane <elsaemiliaevahane@gmail.com>
Co-authored-by: Himess <95512809+Himess@users.noreply.github.com>
Co-authored-by: Himess <semihcvlk53@gmail.com>
Co-authored-by: jagroot <4516586+itschaindev@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Julian Meyer <julianmeyer2000@gmail.com>
@sebastianst sebastianst added this pull request to the merge queue Feb 18, 2026
@sebastianst sebastianst removed this pull request from the merge queue due to a manual request Feb 18, 2026
…-proofs

feat(op-reth): port historical proofs from op-rs/op-reth
@wiz-inc-a178a98b5d
Copy link

Wiz Scan Summary

Scanner Findings
Vulnerability Finding Vulnerabilities 2 High 12 Medium 1 Low
Data Finding Sensitive Data -
Secret Finding Secrets -
IaC Misconfiguration IaC Misconfigurations -
SAST Finding SAST Findings -
Software Management Finding Software Management Findings -
Total 2 High 12 Medium 1 Low

View scan details in Wiz

To detect these findings earlier in the dev lifecycle, try using Wiz Code VS Code Extension.

@sebastianst sebastianst added this pull request to the merge queue Feb 18, 2026
Merged via the queue into develop with commit 0c326a4 Feb 18, 2026
118 checks passed
@sebastianst sebastianst deleted the theo/pull-reth-2 branch February 18, 2026 10:25
@sebastianst sebastianst restored the theo/pull-reth-2 branch February 18, 2026 11:21
@sebastianst sebastianst deleted the theo/pull-reth-2 branch February 18, 2026 12:49
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.