feat(trie/engine): add persistence service and prune_with_provider#25
Draft
dhyaniarun1993 wants to merge 13 commits intofeat/engine-pr1-bufferfrom
Draft
feat(trie/engine): add persistence service and prune_with_provider#25dhyaniarun1993 wants to merge 13 commits intofeat/engine-pr1-bufferfrom
dhyaniarun1993 wants to merge 13 commits intofeat/engine-pr1-bufferfrom
Conversation
…reum-optimism#20560) OpPayloadAttributes::transactions is Option<Vec<Bytes>>. Option::iter yields at most one inner &Vec<Bytes>; the prior check used Vec::first on that slice and therefore only inspected the first encoded tx, wrongly treating [deposit, non-deposit] as deposits-only. Flatten the inner iterator so every Bytes is checked. Add regression test is_deposits_only_iterates_all_transactions.
…ay) (ethereum-optimism#20411) * feat(trie): add engine buffer layer (TrieBufferState + MemoryOverlay) * review fixes * restrict visibility of buffer to engine * restrict visibility of buffer to engine
…der (ethereum-optimism#20576) * feat(kona-proof): cache L1 block-number lookups in OracleL1ChainProvider `OracleL1ChainProvider::block_info_by_number` previously walked from `l1_head` back to the target block on every call. Each lookup paid the cost of N hint+preimage round trips even when the same (or nearby) blocks had already been resolved earlier in the same proof execution. Add a `BTreeMap<u64, BlockInfo>` cache that: - returns cached entries directly, - resumes the walk from the closest cached ancestor instead of always restarting at `l1_head`, and - caches every block visited along the way so subsequent calls are free for blocks already touched. Cache invalidation is unnecessary: the L1 chain seen by this provider is fixed and canonical (rooted at `l1_head`). * fix(kona-proof): place test module last and guard block_number overflow Move the `TrieProvider` impl above `mod tests` to satisfy clippy's `items-after-test-module` lint. Replace `block_number + 1` with `checked_add(1)` so a `u64::MAX` request falls through to the head check (which returns `BlockNumberPastHead`) instead of panicking. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * test(kona-proof): cover u64::MAX block_number in OracleL1ChainProvider Locks in the no-panic guarantee for the `checked_add(1)` guard so a future "simplification" back to `block_number + 1` is caught by tests. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Paul Dowman <paul@pauldowman.com> Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Note: Just for reviewing changes