feat(op-reth): port historical proofs from op-rs/op-reth#19191
feat(op-reth): port historical proofs from op-rs/op-reth#19191sebastianst merged 162 commits intotheo/pull-reth-2from
Conversation
Wiz Scan Summary
To detect these findings earlier in the dev lifecycle, try using Wiz Code VS Code Extension. |
| github.com/mattn/go-colorable v0.1.14 // indirect | ||
| github.com/mattn/go-isatty v0.0.20 // indirect | ||
| github.com/mattn/go-runewidth v0.0.16 // indirect | ||
| github.com/mholt/archiver v3.1.1+incompatible // indirect |
There was a problem hiding this comment.
The following vulnerabilities impact github.com/mholt/archiver versions <3.3.2: CVE-2019-10743, CVE-2024-0406, CVE-2025-3445.
These can be remediated by updating to version 3.3.2 or higher.
To ignore this finding as an exception, reply to this conversation with #wiz_ignore reason
If you'd like to ignore this finding in all future scans, add an exception in the .wiz file (learn more) or create an Ignore Rule (learn more).
To get more details on how to remediate this issue using AI, reply to this conversation with #wiz remediate
| github.com/mholt/archiver v3.1.1+incompatible // indirect | |
| github.com/mholt/archiver v3.3.2 // indirect |
| github.com/prometheus/procfs v0.15.1 // indirect | ||
| github.com/protolambda/ctxlock v0.1.0 // indirect | ||
| github.com/quic-go/qpack v0.4.0 // indirect | ||
| github.com/quic-go/quic-go v0.46.0 // indirect |
There was a problem hiding this comment.
The following vulnerabilities impact github.com/quic-go/quic-go versions <0.57.0: CVE-2024-53259, CVE-2025-59530, CVE-2025-64702.
These can be remediated by updating to version 0.57.0 or higher.
To ignore this finding as an exception, reply to this conversation with #wiz_ignore reason
If you'd like to ignore this finding in all future scans, add an exception in the .wiz file (learn more) or create an Ignore Rule (learn more).
To get more details on how to remediate this issue using AI, reply to this conversation with #wiz remediate
| github.com/quic-go/quic-go v0.46.0 // indirect | |
| github.com/quic-go/quic-go v0.57.0 // indirect |
f698e5f to
7f5aaa0
Compare
Codecov Report✅ All modified and coverable lines are covered by tests.
Additional details and impacted files@@ Coverage Diff @@
## develop #19191 +/- ##
==========================================
- Coverage 75.9% 66.4% -9.6%
==========================================
Files 189 55 -134
Lines 10960 4030 -6930
==========================================
- Hits 8328 2677 -5651
+ Misses 2488 1209 -1279
Partials 144 144
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
e878a72 to
6e38c14
Compare
Codecov Report✅ All modified and coverable lines are covered by tests.
Additional details and impacted files@@ Coverage Diff @@
## develop #19191 +/- ##
==========================================
- Coverage 75.9% 66.4% -9.6%
==========================================
Files 189 55 -134
Lines 10960 4030 -6930
==========================================
- Hits 8328 2677 -5651
+ Misses 2488 1209 -1279
Partials 144 144
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## theo/pull-reth-2 #19191 +/- ##
====================================================
+ Coverage 75.5% 76.1% +0.6%
====================================================
Files 503 722 +219
Lines 60373 78676 +18303
====================================================
+ Hits 45614 59923 +14309
- Misses 14759 18609 +3850
- Partials 0 144 +144
Flags with carried forward coverage won't be shown. Click here to find out more.
🚀 New features to boost your workflow:
|
6e38c14 to
ae066cc
Compare
.circleci/continue/rust-ci.yml
Outdated
| @@ -907,23 +907,23 @@ jobs: | |||
| just build-<<parameters.target>> | |||
|
|
|||
| # Kona Build Benchmarks | |||
1e66f40 to
01441f2
Compare
…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>
Ref op-rs/op-reth#611 Uses getters instead of direct field access for trie updates to remove redundant diff with upstream
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
…rs/op-reth#637) Closes op-rs/op-reth#633 Co-authored-by: Emilia Hane <elsaemiliaevahane@gmail.com>
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>
ae066cc to
222bf72
Compare
There was a problem hiding this comment.
Diffed against reformatted latest https://github.com/op-rs/op-reth/tree/stable and changes are minor clippy etc. So LGTM. Will merge tomorrow morning.
7d91c4c to
f7bc813
Compare
b56a5af to
b664c90
Compare
Note
Rebased on #19194
How did I port the changes?
I cloned
op-rs/op-reth'sstablebranch. I filtered all the commits from last year that were not from paradigmxyz/reth. I squashed all the commits from paradigmxyz to the nearestop-rs/op-rethcommit and then I applied theop-rs/op-rethcommits on top ofrust/op-reth/crates.Follow-ups
testsfolder at the rust root (iekona+op-rs/op-reth). Add that to CISummary
reth-optimism-exex(execution extensions) andreth-optimism-trie(trie node storage for serving proofs)Changes
op-reth/crates/exex/andop-reth/crates/trie/op-reth/crates/node/,op-reth/crates/rpc/,op-reth/crates/evm/,op-reth/crates/consensus/, and othersrust/Cargo.tomlop-rs/op-reth#<PR>for traceabilityTest plan
cargo check --workspacecargo nextest run --workspace🤖 Generated with Claude Code