Skip to content

fix: reduce default proofs pruning interval#560

Merged
dhyaniarun1993 merged 1 commit intounstablefrom
arun/fix/default-prune-interval
Jan 8, 2026
Merged

fix: reduce default proofs pruning interval#560
dhyaniarun1993 merged 1 commit intounstablefrom
arun/fix/default-prune-interval

Conversation

@dhyaniarun1993
Copy link
Copy Markdown
Collaborator

@dhyaniarun1993 dhyaniarun1993 commented Jan 8, 2026

Closes #559

@dhyaniarun1993 dhyaniarun1993 self-assigned this Jan 8, 2026
@dhyaniarun1993 dhyaniarun1993 added A-pruning Area: pruning W-historical-proofs Workstream: historical-proofs labels Jan 8, 2026
@codecov
Copy link
Copy Markdown

codecov bot commented Jan 8, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 38.34%. Comparing base (b04cd46) to head (ad355e2).
⚠️ Report is 2 commits behind head on unstable.

Additional details and impacted files

Impacted file tree graph

Files with missing lines Coverage Δ
crates/optimism/bin/src/main.rs 91.35% <ø> (ø)

... and 6 files with indirect coverage changes

Flag Coverage Δ
e2e 35.74% <ø> (+<0.01%) ⬆️
unit 26.88% <ø> (ø)

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

Components Coverage Δ
reth binary 53.14% <ø> (ø)
op historical proof 89.94% <ø> (ø)
🚀 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.

@dhyaniarun1993 dhyaniarun1993 marked this pull request as ready for review January 8, 2026 11:34
Copilot AI review requested due to automatic review settings January 8, 2026 11:34
Copy link
Copy Markdown

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 pull request reduces the default proofs pruning interval from 1 hour to 15 seconds to better align with the recommendation for smaller, more frequent prune runs that don't stall writes for too long.

  • Updated the default value from "1h" to "15s" in both code and documentation
  • Updated all related documentation comments to reflect the new default

Reviewed changes

Copilot reviewed 1 out of 2 changed files in this pull request and generated no comments.

File Description
crates/optimism/bin/src/main.rs Updated the default_value attribute and documentation comment for proofs_history_prune_interval from "1h" to "15s"
docs/vocs/docs/pages/cli/op-reth/node.mdx Updated the CLI documentation to reflect the new default value of "15s" for the proofs-history.prune-interval option

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

@dhyaniarun1993 dhyaniarun1993 merged commit dd438f8 into unstable Jan 8, 2026
56 of 58 checks passed
@dhyaniarun1993 dhyaniarun1993 deleted the arun/fix/default-prune-interval branch January 8, 2026 15:56
emhane pushed a commit that referenced this pull request Jan 13, 2026
emhane pushed a commit that referenced this pull request Jan 15, 2026
emhane pushed a commit that referenced this pull request Jan 20, 2026
emhane pushed a commit that referenced this pull request Jan 26, 2026
emhane pushed a commit that referenced this pull request Jan 29, 2026
emhane pushed a commit that referenced this pull request Jan 29, 2026
theochap pushed a commit to ethereum-optimism/optimism that referenced this pull request Feb 19, 2026
theochap pushed a commit to ethereum-optimism/optimism that referenced this pull request Mar 10, 2026
theochap pushed a commit to ethereum-optimism/optimism that referenced this pull request Mar 12, 2026
github-merge-queue bot pushed a commit to ethereum-optimism/optimism that referenced this pull request Mar 12, 2026
* feat: add binary entry point for external proofs in OP (op-rs/op-reth#222)

Closes op-rs/op-reth#164

---------

Co-authored-by: Arun Dhyani <dhyaniarun7@gmail.com>

* feat: add support for `eth_getProof` (op-rs/op-reth#257)

Adds support for `eth_getProof` RPC method. This required reworking the
launch command to still work with an alternative DB provider.

Closes op-rs/op-reth#173

---------

Co-authored-by: Emilia Hane <elsaemiliaevahane@gmail.com>

* perf(trie): feature gate `reth-optimism-trie` metrics (op-rs/op-reth#282)

Closes https://github.com/op-rs/bin/issues/281

- Feature gates `reth-optimism-trie` metrics
- Moves cursor impls out of proofs module into new module `cursor`
- Moves cursor factory impls into new module `cursor_factory`
- Updates cursor factory impls to return cursor types with metrics
wrapper if metrics feature is enabled

* fix(test): Enable live collector tests with metrics feature (op-rs/op-reth#291)

Closes https://github.com/op-rs/bin/issues/283

Enable live collector tests when metrics feature is enabled

* feat: implement `debug_executePayload` (op-rs/op-reth#276)

Closes https://github.com/op-rs/bin/issues/189

---------

Co-authored-by: Emilia Hane <elsaemiliaevahane@gmail.com>

* feat: live collector integration (op-rs/op-reth#306)

Closes op-rs/op-reth#296

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Emilia Hane <elsaemiliaevahane@gmail.com>

* fix: rebase conflicts (op-rs/op-reth#367)

Fix conflicts rebasing onto latest upstream main

* feat: implemented `OpProofStorage` Database metrics (op-rs/op-reth#407)

Closes op-rs/op-reth#224
Closes op-rs/op-reth#387

---------

Co-authored-by: Arun Dhyani <dhyaniarun7@gmail.com>

* feat: Implemented `OpProofStoragePrunerTask` (op-rs/op-reth#375)

Closes op-rs/op-reth#361
Closes op-rs/op-reth#395

---------

Co-authored-by: Emilia Hane <elsaemiliaevahane@gmail.com>

* chore: inmem proof storage removed (op-rs/op-reth#465)

This PR removes the CLI support for in-memory proof storage
(proofs_history_storage_in_mem). The in-memory storage implementation
was primarily intended for unit testing and is not feasible for running
a node due to the large memory requirements of storing historical trie
nodes.

Closes op-rs/op-reth#466

* chore(exex): Add metrics feature in `reth-optimism-exex` (op-rs/op-reth#438)

Closes https://github.com/op-rs/bin/issues/427

---------

Co-authored-by: itschaindev <jagrutk@protonmail.com>

* feat: prune cli added (op-rs/op-reth#507)

Closes op-rs/op-reth#452

* refactor(trie): return `OpProofsStorageError` from `execute_and_store_block_updates` (op-rs/op-reth#535)

Closes op-rs/op-reth#523

---------

Co-authored-by: Emilia Hane <elsaemiliaevahane@gmail.com>

* fix: reduce default proofs pruning interval (op-rs/op-reth#560)

Closes op-rs/op-reth#559

* feat: add verification interval for integrity check (op-rs/op-reth#577)

Closes op-rs/op-reth#449

The approach used is to perform full block verification after every N
blocks to ensure the state is still correct.

---------

Co-authored-by: Arun Dhyani <dhyaniarun7@gmail.com>

* chore: getProof benchmark utility added (op-rs/op-reth#550)

Utility for op-rs/op-reth#446

* chore: mv proof args to rollup node (op-rs/op-reth#625)

Closes op-rs/op-reth#613

* chore: ExEx config builder (op-rs/op-reth#642)

Closes op-rs/op-reth#641

---------

Co-authored-by: Himess <semihcvlk53@gmail.com>

* chore: moved proof initialization to `reth-optimism-node` (op-rs/op-reth#640)

Closes op-rs/op-reth#612

---------

Co-authored-by: Arun Dhyani <dhyaniarun7@gmail.com>

* chore(rust): fix compilation errors

* docs(op-reth): add historical proofs README to exex crate

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* chore(op-reth): move proof-bench to rust/op-reth/bin/proof-bench

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix(op-reth): fix go-lint and rust-clippy CI failures

- Replace big.Int.Uint64() calls with bigs.Uint64Strict() in proof tests
- Fix goimports ordering in proof test files (move ethereum-optimism/* before ethereum/go-ethereum/*)
- Fix const alignment in preset.go
- Fix uninlined_format_args clippy lint in proof-bench report.rs

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

fix(op-reth): update proofs preset to use stack.ComponentID

Replace removed type aliases (L1NetworkID, L1ELNodeID, L2CLNodeID, etc.)
with unified stack.ComponentID type. Also fix L2NodeMatcher generics and
match.Not calls to use stack.ByID wrapper.

fix(op-reth): remove duplicate crates/tests/proofs preset

This was a partial copy of rust/op-reth/tests/proofs/utils with no
go.mod, no test files, and no other sources. It caused go-lint CI
failures due to stale type references.

---------

Co-authored-by: jagroot <4516586+itschaindev@users.noreply.github.com>
Co-authored-by: Arun Dhyani <dhyaniarun7@gmail.com>
Co-authored-by: Julian Meyer <julianmeyer2000@gmail.com>
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: itschaindev <jagrutk@protonmail.com>
Co-authored-by: Himess <95512809+Himess@users.noreply.github.com>
Co-authored-by: Himess <semihcvlk53@gmail.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
github-merge-queue bot pushed a commit to ethereum-optimism/optimism that referenced this pull request Mar 12, 2026
* feat: add binary entry point for external proofs in OP (op-rs/op-reth#222)

Closes op-rs/op-reth#164

---------

Co-authored-by: Arun Dhyani <dhyaniarun7@gmail.com>

* feat: add support for `eth_getProof` (op-rs/op-reth#257)

Adds support for `eth_getProof` RPC method. This required reworking the
launch command to still work with an alternative DB provider.

Closes op-rs/op-reth#173

---------

Co-authored-by: Emilia Hane <elsaemiliaevahane@gmail.com>

* perf(trie): feature gate `reth-optimism-trie` metrics (op-rs/op-reth#282)

Closes https://github.com/op-rs/bin/issues/281

- Feature gates `reth-optimism-trie` metrics
- Moves cursor impls out of proofs module into new module `cursor`
- Moves cursor factory impls into new module `cursor_factory`
- Updates cursor factory impls to return cursor types with metrics
wrapper if metrics feature is enabled

* fix(test): Enable live collector tests with metrics feature (op-rs/op-reth#291)

Closes https://github.com/op-rs/bin/issues/283

Enable live collector tests when metrics feature is enabled

* feat: implement `debug_executePayload` (op-rs/op-reth#276)

Closes https://github.com/op-rs/bin/issues/189

---------

Co-authored-by: Emilia Hane <elsaemiliaevahane@gmail.com>

* feat: live collector integration (op-rs/op-reth#306)

Closes op-rs/op-reth#296

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Emilia Hane <elsaemiliaevahane@gmail.com>

* fix: rebase conflicts (op-rs/op-reth#367)

Fix conflicts rebasing onto latest upstream main

* feat: implemented `OpProofStorage` Database metrics (op-rs/op-reth#407)

Closes op-rs/op-reth#224
Closes op-rs/op-reth#387

---------

Co-authored-by: Arun Dhyani <dhyaniarun7@gmail.com>

* feat: Implemented `OpProofStoragePrunerTask` (op-rs/op-reth#375)

Closes op-rs/op-reth#361
Closes op-rs/op-reth#395

---------

Co-authored-by: Emilia Hane <elsaemiliaevahane@gmail.com>

* chore: inmem proof storage removed (op-rs/op-reth#465)

This PR removes the CLI support for in-memory proof storage
(proofs_history_storage_in_mem). The in-memory storage implementation
was primarily intended for unit testing and is not feasible for running
a node due to the large memory requirements of storing historical trie
nodes.

Closes op-rs/op-reth#466

* chore(exex): Add metrics feature in `reth-optimism-exex` (op-rs/op-reth#438)

Closes https://github.com/op-rs/bin/issues/427

---------

Co-authored-by: itschaindev <jagrutk@protonmail.com>

* feat: prune cli added (op-rs/op-reth#507)

Closes op-rs/op-reth#452

* refactor(trie): return `OpProofsStorageError` from `execute_and_store_block_updates` (op-rs/op-reth#535)

Closes op-rs/op-reth#523

---------

Co-authored-by: Emilia Hane <elsaemiliaevahane@gmail.com>

* fix: reduce default proofs pruning interval (op-rs/op-reth#560)

Closes op-rs/op-reth#559

* feat: add verification interval for integrity check (op-rs/op-reth#577)

Closes op-rs/op-reth#449

The approach used is to perform full block verification after every N
blocks to ensure the state is still correct.

---------

Co-authored-by: Arun Dhyani <dhyaniarun7@gmail.com>

* chore: getProof benchmark utility added (op-rs/op-reth#550)

Utility for op-rs/op-reth#446

* chore: mv proof args to rollup node (op-rs/op-reth#625)

Closes op-rs/op-reth#613

* chore: ExEx config builder (op-rs/op-reth#642)

Closes op-rs/op-reth#641

---------

Co-authored-by: Himess <semihcvlk53@gmail.com>

* chore: moved proof initialization to `reth-optimism-node` (op-rs/op-reth#640)

Closes op-rs/op-reth#612

---------

Co-authored-by: Arun Dhyani <dhyaniarun7@gmail.com>

* chore(rust): fix compilation errors

* docs(op-reth): add historical proofs README to exex crate

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* chore(op-reth): move proof-bench to rust/op-reth/bin/proof-bench

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix(op-reth): fix go-lint and rust-clippy CI failures

- Replace big.Int.Uint64() calls with bigs.Uint64Strict() in proof tests
- Fix goimports ordering in proof test files (move ethereum-optimism/* before ethereum/go-ethereum/*)
- Fix const alignment in preset.go
- Fix uninlined_format_args clippy lint in proof-bench report.rs

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

fix(op-reth): update proofs preset to use stack.ComponentID

Replace removed type aliases (L1NetworkID, L1ELNodeID, L2CLNodeID, etc.)
with unified stack.ComponentID type. Also fix L2NodeMatcher generics and
match.Not calls to use stack.ByID wrapper.

fix(op-reth): remove duplicate crates/tests/proofs preset

This was a partial copy of rust/op-reth/tests/proofs/utils with no
go.mod, no test files, and no other sources. It caused go-lint CI
failures due to stale type references.

---------

Co-authored-by: jagroot <4516586+itschaindev@users.noreply.github.com>
Co-authored-by: Arun Dhyani <dhyaniarun7@gmail.com>
Co-authored-by: Julian Meyer <julianmeyer2000@gmail.com>
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: itschaindev <jagrutk@protonmail.com>
Co-authored-by: Himess <95512809+Himess@users.noreply.github.com>
Co-authored-by: Himess <semihcvlk53@gmail.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
github-merge-queue bot pushed a commit to ethereum-optimism/optimism that referenced this pull request Mar 12, 2026
* feat: add binary entry point for external proofs in OP (op-rs/op-reth#222)

Closes op-rs/op-reth#164

---------

Co-authored-by: Arun Dhyani <dhyaniarun7@gmail.com>

* feat: add support for `eth_getProof` (op-rs/op-reth#257)

Adds support for `eth_getProof` RPC method. This required reworking the
launch command to still work with an alternative DB provider.

Closes op-rs/op-reth#173

---------

Co-authored-by: Emilia Hane <elsaemiliaevahane@gmail.com>

* perf(trie): feature gate `reth-optimism-trie` metrics (op-rs/op-reth#282)

Closes https://github.com/op-rs/bin/issues/281

- Feature gates `reth-optimism-trie` metrics
- Moves cursor impls out of proofs module into new module `cursor`
- Moves cursor factory impls into new module `cursor_factory`
- Updates cursor factory impls to return cursor types with metrics
wrapper if metrics feature is enabled

* fix(test): Enable live collector tests with metrics feature (op-rs/op-reth#291)

Closes https://github.com/op-rs/bin/issues/283

Enable live collector tests when metrics feature is enabled

* feat: implement `debug_executePayload` (op-rs/op-reth#276)

Closes https://github.com/op-rs/bin/issues/189

---------

Co-authored-by: Emilia Hane <elsaemiliaevahane@gmail.com>

* feat: live collector integration (op-rs/op-reth#306)

Closes op-rs/op-reth#296

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Emilia Hane <elsaemiliaevahane@gmail.com>

* fix: rebase conflicts (op-rs/op-reth#367)

Fix conflicts rebasing onto latest upstream main

* feat: implemented `OpProofStorage` Database metrics (op-rs/op-reth#407)

Closes op-rs/op-reth#224
Closes op-rs/op-reth#387

---------

Co-authored-by: Arun Dhyani <dhyaniarun7@gmail.com>

* feat: Implemented `OpProofStoragePrunerTask` (op-rs/op-reth#375)

Closes op-rs/op-reth#361
Closes op-rs/op-reth#395

---------

Co-authored-by: Emilia Hane <elsaemiliaevahane@gmail.com>

* chore: inmem proof storage removed (op-rs/op-reth#465)

This PR removes the CLI support for in-memory proof storage
(proofs_history_storage_in_mem). The in-memory storage implementation
was primarily intended for unit testing and is not feasible for running
a node due to the large memory requirements of storing historical trie
nodes.

Closes op-rs/op-reth#466

* chore(exex): Add metrics feature in `reth-optimism-exex` (op-rs/op-reth#438)

Closes https://github.com/op-rs/bin/issues/427

---------

Co-authored-by: itschaindev <jagrutk@protonmail.com>

* feat: prune cli added (op-rs/op-reth#507)

Closes op-rs/op-reth#452

* refactor(trie): return `OpProofsStorageError` from `execute_and_store_block_updates` (op-rs/op-reth#535)

Closes op-rs/op-reth#523

---------

Co-authored-by: Emilia Hane <elsaemiliaevahane@gmail.com>

* fix: reduce default proofs pruning interval (op-rs/op-reth#560)

Closes op-rs/op-reth#559

* feat: add verification interval for integrity check (op-rs/op-reth#577)

Closes op-rs/op-reth#449

The approach used is to perform full block verification after every N
blocks to ensure the state is still correct.

---------

Co-authored-by: Arun Dhyani <dhyaniarun7@gmail.com>

* chore: getProof benchmark utility added (op-rs/op-reth#550)

Utility for op-rs/op-reth#446

* chore: mv proof args to rollup node (op-rs/op-reth#625)

Closes op-rs/op-reth#613

* chore: ExEx config builder (op-rs/op-reth#642)

Closes op-rs/op-reth#641

---------

Co-authored-by: Himess <semihcvlk53@gmail.com>

* chore: moved proof initialization to `reth-optimism-node` (op-rs/op-reth#640)

Closes op-rs/op-reth#612

---------

Co-authored-by: Arun Dhyani <dhyaniarun7@gmail.com>

* chore(rust): fix compilation errors

* docs(op-reth): add historical proofs README to exex crate

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* chore(op-reth): move proof-bench to rust/op-reth/bin/proof-bench

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix(op-reth): fix go-lint and rust-clippy CI failures

- Replace big.Int.Uint64() calls with bigs.Uint64Strict() in proof tests
- Fix goimports ordering in proof test files (move ethereum-optimism/* before ethereum/go-ethereum/*)
- Fix const alignment in preset.go
- Fix uninlined_format_args clippy lint in proof-bench report.rs

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

fix(op-reth): update proofs preset to use stack.ComponentID

Replace removed type aliases (L1NetworkID, L1ELNodeID, L2CLNodeID, etc.)
with unified stack.ComponentID type. Also fix L2NodeMatcher generics and
match.Not calls to use stack.ByID wrapper.

fix(op-reth): remove duplicate crates/tests/proofs preset

This was a partial copy of rust/op-reth/tests/proofs/utils with no
go.mod, no test files, and no other sources. It caused go-lint CI
failures due to stale type references.

---------

Co-authored-by: jagroot <4516586+itschaindev@users.noreply.github.com>
Co-authored-by: Arun Dhyani <dhyaniarun7@gmail.com>
Co-authored-by: Julian Meyer <julianmeyer2000@gmail.com>
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: itschaindev <jagrutk@protonmail.com>
Co-authored-by: Himess <95512809+Himess@users.noreply.github.com>
Co-authored-by: Himess <semihcvlk53@gmail.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
theochap pushed a commit to ethereum-optimism/optimism that referenced this pull request Mar 13, 2026
github-merge-queue bot pushed a commit to ethereum-optimism/optimism that referenced this pull request Mar 13, 2026
* feat: add binary entry point for external proofs in OP (op-rs/op-reth#222)

Closes op-rs/op-reth#164

---------

Co-authored-by: Arun Dhyani <dhyaniarun7@gmail.com>

* feat: add support for `eth_getProof` (op-rs/op-reth#257)

Adds support for `eth_getProof` RPC method. This required reworking the
launch command to still work with an alternative DB provider.

Closes op-rs/op-reth#173

---------

Co-authored-by: Emilia Hane <elsaemiliaevahane@gmail.com>

* perf(trie): feature gate `reth-optimism-trie` metrics (op-rs/op-reth#282)

Closes https://github.com/op-rs/bin/issues/281

- Feature gates `reth-optimism-trie` metrics
- Moves cursor impls out of proofs module into new module `cursor`
- Moves cursor factory impls into new module `cursor_factory`
- Updates cursor factory impls to return cursor types with metrics
wrapper if metrics feature is enabled

* fix(test): Enable live collector tests with metrics feature (op-rs/op-reth#291)

Closes https://github.com/op-rs/bin/issues/283

Enable live collector tests when metrics feature is enabled

* feat: implement `debug_executePayload` (op-rs/op-reth#276)

Closes https://github.com/op-rs/bin/issues/189

---------

Co-authored-by: Emilia Hane <elsaemiliaevahane@gmail.com>

* feat: live collector integration (op-rs/op-reth#306)

Closes op-rs/op-reth#296

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Emilia Hane <elsaemiliaevahane@gmail.com>

* fix: rebase conflicts (op-rs/op-reth#367)

Fix conflicts rebasing onto latest upstream main

* feat: implemented `OpProofStorage` Database metrics (op-rs/op-reth#407)

Closes op-rs/op-reth#224
Closes op-rs/op-reth#387

---------

Co-authored-by: Arun Dhyani <dhyaniarun7@gmail.com>

* feat: Implemented `OpProofStoragePrunerTask` (op-rs/op-reth#375)

Closes op-rs/op-reth#361
Closes op-rs/op-reth#395

---------

Co-authored-by: Emilia Hane <elsaemiliaevahane@gmail.com>

* chore: inmem proof storage removed (op-rs/op-reth#465)

This PR removes the CLI support for in-memory proof storage
(proofs_history_storage_in_mem). The in-memory storage implementation
was primarily intended for unit testing and is not feasible for running
a node due to the large memory requirements of storing historical trie
nodes.

Closes op-rs/op-reth#466

* chore(exex): Add metrics feature in `reth-optimism-exex` (op-rs/op-reth#438)

Closes https://github.com/op-rs/bin/issues/427

---------

Co-authored-by: itschaindev <jagrutk@protonmail.com>

* feat: prune cli added (op-rs/op-reth#507)

Closes op-rs/op-reth#452

* refactor(trie): return `OpProofsStorageError` from `execute_and_store_block_updates` (op-rs/op-reth#535)

Closes op-rs/op-reth#523

---------

Co-authored-by: Emilia Hane <elsaemiliaevahane@gmail.com>

* fix: reduce default proofs pruning interval (op-rs/op-reth#560)

Closes op-rs/op-reth#559

* feat: add verification interval for integrity check (op-rs/op-reth#577)

Closes op-rs/op-reth#449

The approach used is to perform full block verification after every N
blocks to ensure the state is still correct.

---------

Co-authored-by: Arun Dhyani <dhyaniarun7@gmail.com>

* chore: getProof benchmark utility added (op-rs/op-reth#550)

Utility for op-rs/op-reth#446

* chore: mv proof args to rollup node (op-rs/op-reth#625)

Closes op-rs/op-reth#613

* chore: ExEx config builder (op-rs/op-reth#642)

Closes op-rs/op-reth#641

---------

Co-authored-by: Himess <semihcvlk53@gmail.com>

* chore: moved proof initialization to `reth-optimism-node` (op-rs/op-reth#640)

Closes op-rs/op-reth#612

---------

Co-authored-by: Arun Dhyani <dhyaniarun7@gmail.com>

* chore(rust): fix compilation errors

* docs(op-reth): add historical proofs README to exex crate

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* chore(op-reth): move proof-bench to rust/op-reth/bin/proof-bench

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix(op-reth): fix go-lint and rust-clippy CI failures

- Replace big.Int.Uint64() calls with bigs.Uint64Strict() in proof tests
- Fix goimports ordering in proof test files (move ethereum-optimism/* before ethereum/go-ethereum/*)
- Fix const alignment in preset.go
- Fix uninlined_format_args clippy lint in proof-bench report.rs

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

fix(op-reth): update proofs preset to use stack.ComponentID

Replace removed type aliases (L1NetworkID, L1ELNodeID, L2CLNodeID, etc.)
with unified stack.ComponentID type. Also fix L2NodeMatcher generics and
match.Not calls to use stack.ByID wrapper.

fix(op-reth): remove duplicate crates/tests/proofs preset

This was a partial copy of rust/op-reth/tests/proofs/utils with no
go.mod, no test files, and no other sources. It caused go-lint CI
failures due to stale type references.

---------

Co-authored-by: jagroot <4516586+itschaindev@users.noreply.github.com>
Co-authored-by: Arun Dhyani <dhyaniarun7@gmail.com>
Co-authored-by: Julian Meyer <julianmeyer2000@gmail.com>
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: itschaindev <jagrutk@protonmail.com>
Co-authored-by: Himess <95512809+Himess@users.noreply.github.com>
Co-authored-by: Himess <semihcvlk53@gmail.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
github-merge-queue bot pushed a commit to ethereum-optimism/optimism that referenced this pull request Mar 13, 2026
* feat: add binary entry point for external proofs in OP (op-rs/op-reth#222)

Closes op-rs/op-reth#164

---------

Co-authored-by: Arun Dhyani <dhyaniarun7@gmail.com>

* feat: add support for `eth_getProof` (op-rs/op-reth#257)

Adds support for `eth_getProof` RPC method. This required reworking the
launch command to still work with an alternative DB provider.

Closes op-rs/op-reth#173

---------

Co-authored-by: Emilia Hane <elsaemiliaevahane@gmail.com>

* perf(trie): feature gate `reth-optimism-trie` metrics (op-rs/op-reth#282)

Closes https://github.com/op-rs/bin/issues/281

- Feature gates `reth-optimism-trie` metrics
- Moves cursor impls out of proofs module into new module `cursor`
- Moves cursor factory impls into new module `cursor_factory`
- Updates cursor factory impls to return cursor types with metrics
wrapper if metrics feature is enabled

* fix(test): Enable live collector tests with metrics feature (op-rs/op-reth#291)

Closes https://github.com/op-rs/bin/issues/283

Enable live collector tests when metrics feature is enabled

* feat: implement `debug_executePayload` (op-rs/op-reth#276)

Closes https://github.com/op-rs/bin/issues/189

---------

Co-authored-by: Emilia Hane <elsaemiliaevahane@gmail.com>

* feat: live collector integration (op-rs/op-reth#306)

Closes op-rs/op-reth#296

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Emilia Hane <elsaemiliaevahane@gmail.com>

* fix: rebase conflicts (op-rs/op-reth#367)

Fix conflicts rebasing onto latest upstream main

* feat: implemented `OpProofStorage` Database metrics (op-rs/op-reth#407)

Closes op-rs/op-reth#224
Closes op-rs/op-reth#387

---------

Co-authored-by: Arun Dhyani <dhyaniarun7@gmail.com>

* feat: Implemented `OpProofStoragePrunerTask` (op-rs/op-reth#375)

Closes op-rs/op-reth#361
Closes op-rs/op-reth#395

---------

Co-authored-by: Emilia Hane <elsaemiliaevahane@gmail.com>

* chore: inmem proof storage removed (op-rs/op-reth#465)

This PR removes the CLI support for in-memory proof storage
(proofs_history_storage_in_mem). The in-memory storage implementation
was primarily intended for unit testing and is not feasible for running
a node due to the large memory requirements of storing historical trie
nodes.

Closes op-rs/op-reth#466

* chore(exex): Add metrics feature in `reth-optimism-exex` (op-rs/op-reth#438)

Closes https://github.com/op-rs/bin/issues/427

---------

Co-authored-by: itschaindev <jagrutk@protonmail.com>

* feat: prune cli added (op-rs/op-reth#507)

Closes op-rs/op-reth#452

* refactor(trie): return `OpProofsStorageError` from `execute_and_store_block_updates` (op-rs/op-reth#535)

Closes op-rs/op-reth#523

---------

Co-authored-by: Emilia Hane <elsaemiliaevahane@gmail.com>

* fix: reduce default proofs pruning interval (op-rs/op-reth#560)

Closes op-rs/op-reth#559

* feat: add verification interval for integrity check (op-rs/op-reth#577)

Closes op-rs/op-reth#449

The approach used is to perform full block verification after every N
blocks to ensure the state is still correct.

---------

Co-authored-by: Arun Dhyani <dhyaniarun7@gmail.com>

* chore: getProof benchmark utility added (op-rs/op-reth#550)

Utility for op-rs/op-reth#446

* chore: mv proof args to rollup node (op-rs/op-reth#625)

Closes op-rs/op-reth#613

* chore: ExEx config builder (op-rs/op-reth#642)

Closes op-rs/op-reth#641

---------

Co-authored-by: Himess <semihcvlk53@gmail.com>

* chore: moved proof initialization to `reth-optimism-node` (op-rs/op-reth#640)

Closes op-rs/op-reth#612

---------

Co-authored-by: Arun Dhyani <dhyaniarun7@gmail.com>

* chore(rust): fix compilation errors

* docs(op-reth): add historical proofs README to exex crate

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* chore(op-reth): move proof-bench to rust/op-reth/bin/proof-bench

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix(op-reth): fix go-lint and rust-clippy CI failures

- Replace big.Int.Uint64() calls with bigs.Uint64Strict() in proof tests
- Fix goimports ordering in proof test files (move ethereum-optimism/* before ethereum/go-ethereum/*)
- Fix const alignment in preset.go
- Fix uninlined_format_args clippy lint in proof-bench report.rs

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

fix(op-reth): update proofs preset to use stack.ComponentID

Replace removed type aliases (L1NetworkID, L1ELNodeID, L2CLNodeID, etc.)
with unified stack.ComponentID type. Also fix L2NodeMatcher generics and
match.Not calls to use stack.ByID wrapper.

fix(op-reth): remove duplicate crates/tests/proofs preset

This was a partial copy of rust/op-reth/tests/proofs/utils with no
go.mod, no test files, and no other sources. It caused go-lint CI
failures due to stale type references.

---------

Co-authored-by: jagroot <4516586+itschaindev@users.noreply.github.com>
Co-authored-by: Arun Dhyani <dhyaniarun7@gmail.com>
Co-authored-by: Julian Meyer <julianmeyer2000@gmail.com>
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: itschaindev <jagrutk@protonmail.com>
Co-authored-by: Himess <95512809+Himess@users.noreply.github.com>
Co-authored-by: Himess <semihcvlk53@gmail.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
ClaytonNorthey92 pushed a commit to hemilabs/optimism that referenced this pull request Mar 19, 2026
…ptimism#19252)

* feat: add binary entry point for external proofs in OP (op-rs/op-reth#222)

Closes op-rs/op-reth#164

---------

Co-authored-by: Arun Dhyani <dhyaniarun7@gmail.com>

* feat: add support for `eth_getProof` (op-rs/op-reth#257)

Adds support for `eth_getProof` RPC method. This required reworking the
launch command to still work with an alternative DB provider.

Closes op-rs/op-reth#173

---------

Co-authored-by: Emilia Hane <elsaemiliaevahane@gmail.com>

* perf(trie): feature gate `reth-optimism-trie` metrics (op-rs/op-reth#282)

Closes https://github.com/op-rs/bin/issues/281

- Feature gates `reth-optimism-trie` metrics
- Moves cursor impls out of proofs module into new module `cursor`
- Moves cursor factory impls into new module `cursor_factory`
- Updates cursor factory impls to return cursor types with metrics
wrapper if metrics feature is enabled

* fix(test): Enable live collector tests with metrics feature (op-rs/op-reth#291)

Closes https://github.com/op-rs/bin/issues/283

Enable live collector tests when metrics feature is enabled

* feat: implement `debug_executePayload` (op-rs/op-reth#276)

Closes https://github.com/op-rs/bin/issues/189

---------

Co-authored-by: Emilia Hane <elsaemiliaevahane@gmail.com>

* feat: live collector integration (op-rs/op-reth#306)

Closes op-rs/op-reth#296

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Emilia Hane <elsaemiliaevahane@gmail.com>

* fix: rebase conflicts (op-rs/op-reth#367)

Fix conflicts rebasing onto latest upstream main

* feat: implemented `OpProofStorage` Database metrics (op-rs/op-reth#407)

Closes op-rs/op-reth#224
Closes op-rs/op-reth#387

---------

Co-authored-by: Arun Dhyani <dhyaniarun7@gmail.com>

* feat: Implemented `OpProofStoragePrunerTask` (op-rs/op-reth#375)

Closes op-rs/op-reth#361
Closes op-rs/op-reth#395

---------

Co-authored-by: Emilia Hane <elsaemiliaevahane@gmail.com>

* chore: inmem proof storage removed (op-rs/op-reth#465)

This PR removes the CLI support for in-memory proof storage
(proofs_history_storage_in_mem). The in-memory storage implementation
was primarily intended for unit testing and is not feasible for running
a node due to the large memory requirements of storing historical trie
nodes.

Closes op-rs/op-reth#466

* chore(exex): Add metrics feature in `reth-optimism-exex` (op-rs/op-reth#438)

Closes https://github.com/op-rs/bin/issues/427

---------

Co-authored-by: itschaindev <jagrutk@protonmail.com>

* feat: prune cli added (op-rs/op-reth#507)

Closes op-rs/op-reth#452

* refactor(trie): return `OpProofsStorageError` from `execute_and_store_block_updates` (op-rs/op-reth#535)

Closes op-rs/op-reth#523

---------

Co-authored-by: Emilia Hane <elsaemiliaevahane@gmail.com>

* fix: reduce default proofs pruning interval (op-rs/op-reth#560)

Closes op-rs/op-reth#559

* feat: add verification interval for integrity check (op-rs/op-reth#577)

Closes op-rs/op-reth#449

The approach used is to perform full block verification after every N
blocks to ensure the state is still correct.

---------

Co-authored-by: Arun Dhyani <dhyaniarun7@gmail.com>

* chore: getProof benchmark utility added (op-rs/op-reth#550)

Utility for op-rs/op-reth#446

* chore: mv proof args to rollup node (op-rs/op-reth#625)

Closes op-rs/op-reth#613

* chore: ExEx config builder (op-rs/op-reth#642)

Closes op-rs/op-reth#641

---------

Co-authored-by: Himess <semihcvlk53@gmail.com>

* chore: moved proof initialization to `reth-optimism-node` (op-rs/op-reth#640)

Closes op-rs/op-reth#612

---------

Co-authored-by: Arun Dhyani <dhyaniarun7@gmail.com>

* chore(rust): fix compilation errors

* docs(op-reth): add historical proofs README to exex crate

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* chore(op-reth): move proof-bench to rust/op-reth/bin/proof-bench

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix(op-reth): fix go-lint and rust-clippy CI failures

- Replace big.Int.Uint64() calls with bigs.Uint64Strict() in proof tests
- Fix goimports ordering in proof test files (move ethereum-optimism/* before ethereum/go-ethereum/*)
- Fix const alignment in preset.go
- Fix uninlined_format_args clippy lint in proof-bench report.rs

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

fix(op-reth): update proofs preset to use stack.ComponentID

Replace removed type aliases (L1NetworkID, L1ELNodeID, L2CLNodeID, etc.)
with unified stack.ComponentID type. Also fix L2NodeMatcher generics and
match.Not calls to use stack.ByID wrapper.

fix(op-reth): remove duplicate crates/tests/proofs preset

This was a partial copy of rust/op-reth/tests/proofs/utils with no
go.mod, no test files, and no other sources. It caused go-lint CI
failures due to stale type references.

---------

Co-authored-by: jagroot <4516586+itschaindev@users.noreply.github.com>
Co-authored-by: Arun Dhyani <dhyaniarun7@gmail.com>
Co-authored-by: Julian Meyer <julianmeyer2000@gmail.com>
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: itschaindev <jagrutk@protonmail.com>
Co-authored-by: Himess <95512809+Himess@users.noreply.github.com>
Co-authored-by: Himess <semihcvlk53@gmail.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
ClaytonNorthey92 pushed a commit to hemilabs/optimism that referenced this pull request Mar 23, 2026
…ptimism#19252)

* feat: add binary entry point for external proofs in OP (op-rs/op-reth#222)

Closes op-rs/op-reth#164

---------

Co-authored-by: Arun Dhyani <dhyaniarun7@gmail.com>

* feat: add support for `eth_getProof` (op-rs/op-reth#257)

Adds support for `eth_getProof` RPC method. This required reworking the
launch command to still work with an alternative DB provider.

Closes op-rs/op-reth#173

---------

Co-authored-by: Emilia Hane <elsaemiliaevahane@gmail.com>

* perf(trie): feature gate `reth-optimism-trie` metrics (op-rs/op-reth#282)

Closes https://github.com/op-rs/bin/issues/281

- Feature gates `reth-optimism-trie` metrics
- Moves cursor impls out of proofs module into new module `cursor`
- Moves cursor factory impls into new module `cursor_factory`
- Updates cursor factory impls to return cursor types with metrics
wrapper if metrics feature is enabled

* fix(test): Enable live collector tests with metrics feature (op-rs/op-reth#291)

Closes https://github.com/op-rs/bin/issues/283

Enable live collector tests when metrics feature is enabled

* feat: implement `debug_executePayload` (op-rs/op-reth#276)

Closes https://github.com/op-rs/bin/issues/189

---------

Co-authored-by: Emilia Hane <elsaemiliaevahane@gmail.com>

* feat: live collector integration (op-rs/op-reth#306)

Closes op-rs/op-reth#296

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Emilia Hane <elsaemiliaevahane@gmail.com>

* fix: rebase conflicts (op-rs/op-reth#367)

Fix conflicts rebasing onto latest upstream main

* feat: implemented `OpProofStorage` Database metrics (op-rs/op-reth#407)

Closes op-rs/op-reth#224
Closes op-rs/op-reth#387

---------

Co-authored-by: Arun Dhyani <dhyaniarun7@gmail.com>

* feat: Implemented `OpProofStoragePrunerTask` (op-rs/op-reth#375)

Closes op-rs/op-reth#361
Closes op-rs/op-reth#395

---------

Co-authored-by: Emilia Hane <elsaemiliaevahane@gmail.com>

* chore: inmem proof storage removed (op-rs/op-reth#465)

This PR removes the CLI support for in-memory proof storage
(proofs_history_storage_in_mem). The in-memory storage implementation
was primarily intended for unit testing and is not feasible for running
a node due to the large memory requirements of storing historical trie
nodes.

Closes op-rs/op-reth#466

* chore(exex): Add metrics feature in `reth-optimism-exex` (op-rs/op-reth#438)

Closes https://github.com/op-rs/bin/issues/427

---------

Co-authored-by: itschaindev <jagrutk@protonmail.com>

* feat: prune cli added (op-rs/op-reth#507)

Closes op-rs/op-reth#452

* refactor(trie): return `OpProofsStorageError` from `execute_and_store_block_updates` (op-rs/op-reth#535)

Closes op-rs/op-reth#523

---------

Co-authored-by: Emilia Hane <elsaemiliaevahane@gmail.com>

* fix: reduce default proofs pruning interval (op-rs/op-reth#560)

Closes op-rs/op-reth#559

* feat: add verification interval for integrity check (op-rs/op-reth#577)

Closes op-rs/op-reth#449

The approach used is to perform full block verification after every N
blocks to ensure the state is still correct.

---------

Co-authored-by: Arun Dhyani <dhyaniarun7@gmail.com>

* chore: getProof benchmark utility added (op-rs/op-reth#550)

Utility for op-rs/op-reth#446

* chore: mv proof args to rollup node (op-rs/op-reth#625)

Closes op-rs/op-reth#613

* chore: ExEx config builder (op-rs/op-reth#642)

Closes op-rs/op-reth#641

---------

Co-authored-by: Himess <semihcvlk53@gmail.com>

* chore: moved proof initialization to `reth-optimism-node` (op-rs/op-reth#640)

Closes op-rs/op-reth#612

---------

Co-authored-by: Arun Dhyani <dhyaniarun7@gmail.com>

* chore(rust): fix compilation errors

* docs(op-reth): add historical proofs README to exex crate

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* chore(op-reth): move proof-bench to rust/op-reth/bin/proof-bench

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix(op-reth): fix go-lint and rust-clippy CI failures

- Replace big.Int.Uint64() calls with bigs.Uint64Strict() in proof tests
- Fix goimports ordering in proof test files (move ethereum-optimism/* before ethereum/go-ethereum/*)
- Fix const alignment in preset.go
- Fix uninlined_format_args clippy lint in proof-bench report.rs

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

fix(op-reth): update proofs preset to use stack.ComponentID

Replace removed type aliases (L1NetworkID, L1ELNodeID, L2CLNodeID, etc.)
with unified stack.ComponentID type. Also fix L2NodeMatcher generics and
match.Not calls to use stack.ByID wrapper.

fix(op-reth): remove duplicate crates/tests/proofs preset

This was a partial copy of rust/op-reth/tests/proofs/utils with no
go.mod, no test files, and no other sources. It caused go-lint CI
failures due to stale type references.

---------

Co-authored-by: jagroot <4516586+itschaindev@users.noreply.github.com>
Co-authored-by: Arun Dhyani <dhyaniarun7@gmail.com>
Co-authored-by: Julian Meyer <julianmeyer2000@gmail.com>
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: itschaindev <jagrutk@protonmail.com>
Co-authored-by: Himess <95512809+Himess@users.noreply.github.com>
Co-authored-by: Himess <semihcvlk53@gmail.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-pruning Area: pruning W-historical-proofs Workstream: historical-proofs

Projects

None yet

Development

Successfully merging this pull request may close these issues.

reduce default proofs pruning interval

3 participants