Conversation
mattsse
left a comment
There was a problem hiding this comment.
makes sense, let's go with this
I'm a bit concerned about the invalidate impl
| /// storage slots. | ||
| storage_cache: Cache<Address, AccountStorageCache>, | ||
| /// Flattened storage cache: composite key of (`Address`, `StorageKey`) maps directly to values. | ||
| storage_cache: Cache<(Address, StorageKey), Option<StorageValue>>, |
There was a problem hiding this comment.
right, we can't really nest caches because this would mean that the weigher of the storage_cache would only consider new acc -> storage entries
this is better because it treats storage slots as individual entries, which I guess explains the higher hit rate
we likely have additional address overhead, but this should be okay, we could compress this to a u64 with a separate map, like we do in the pool, but perhaps not that useful
| let storage_entries = self | ||
| .storage_cache | ||
| .iter() | ||
| .filter_map(|entry| addresses.contains(&entry.key().0).then_some(*entry.key())); | ||
| for key in storage_entries { | ||
| self.storage_cache.invalidate(&key) | ||
| } |
There was a problem hiding this comment.
hmm, unsure this is sound because this feels problematic
dashmap iter
Locking behaviour: May deadlock if called when holding a mutable reference into the map.
and cache iter:
Locking behavior
This iterator relies on the iterator of dashmap::DashMap , which employs read-write locks. May deadlock if the thread holding an iterator attempts to update the cache.
tho I don't know if this is applicable here
unfortunately we don't have a retain here
should be perhaps collect then remove?
There was a problem hiding this comment.
hmm, yeah I think we should collect then remove here
There was a problem hiding this comment.
we should document this with a one liner because this is a prime candidate for a bot "optimization" pr that would look perfectly valid
0e36a74 to
eb8a43a
Compare
eb8a43a to
0f83128
Compare
| let storage_entries = self | ||
| .storage_cache | ||
| .iter() | ||
| .filter_map(|entry| addresses.contains(&entry.key().0).then_some(*entry.key())); | ||
| for key in storage_entries { | ||
| self.storage_cache.invalidate(&key) | ||
| } |
There was a problem hiding this comment.
we should document this with a one liner because this is a prime candidate for a bot "optimization" pr that would look perfectly valid
* docs: yellowpaper sections in consensus implementation (paradigmxyz#18881) * fix(era-utils): fix off-by-one for Excluded end bound in process_iter (paradigmxyz#18731) Co-authored-by: Roman Hodulák <roman.hodulak@polyglot-software.com> * refactor: eliminate redundant allocation in precompile cache example (paradigmxyz#18886) * chore: relax `ChainSpec` impls (paradigmxyz#18894) * chore: make clippy happy (paradigmxyz#18900) * fix(trie): Reveal extension child when extension is last remaining child of a branch (paradigmxyz#18891) * chore(node): simplify EngineApiExt bounds by removing redundant constraints (paradigmxyz#18905) * refactor(engine): separate concerns in on_forkchoice_updated for better maintainability (paradigmxyz#18661) Co-authored-by: Nathaniel Bajo <nathanielbajo@Nathaniels-MacBook-Pro.local> Co-authored-by: YK <chiayongkang@hotmail.com> Co-authored-by: Brian Picciano <me@mediocregopher.com> * feat(provider): add get_account_before_block to ChangesetReader (paradigmxyz#18898) * refactor: replace collect().is_empty() with next().is_none() in tests (paradigmxyz#18902) Co-authored-by: Alexey Shekhirin <5773434+shekhirin@users.noreply.github.com> * ci: cache hive simulator images to reduce prepare-hive job time (paradigmxyz#18899) * docs: duplicate comment in Eip4844PoolTransactionError (paradigmxyz#18858) * chore: align node_config threshold constant (paradigmxyz#18914) * feat: wait for new blocks when build is in progress (paradigmxyz#18831) Co-authored-by: Roman Hodulák <roman.hodulak@polyglot-software.com> * perf(tree): worker pooling for storage in multiproof generation (paradigmxyz#18887) Co-authored-by: Brian Picciano <me@mediocregopher.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: Alexey Shekhirin <5773434+shekhirin@users.noreply.github.com> * chore(grafana): use precompile address as legend (paradigmxyz#18913) * refactor: remove needless collect() calls in trie tests (paradigmxyz#18937) * fix(examples): change method to launch with debug capabilities (paradigmxyz#18946) * fix(example): launch with debug capabilities (paradigmxyz#18947) * fix(testsuite): Fix unused updates in e2e-test-utils (paradigmxyz#18953) * fix(payload): correct Debug label for PayloadTimestamp in PayloadServiceCommand (paradigmxyz#18954) * chore(rpc): Moves `SequencerMetrics` into `reth-optimism-rpc` (paradigmxyz#18921) * refactor: replace println! with structured logging in test_vectors (paradigmxyz#18956) * refactor(cli): use structured logging (tracing) in p2p command (paradigmxyz#18957) * perf(tree): add elapsed time to parallel state root completion log (paradigmxyz#18959) * fix(trie): Properly upsert into StoragesTrie in repair-trie (paradigmxyz#18941) * fix: misleading error message in db list: show actual table name (paradigmxyz#18896) * fix: remove noisy stderr prints in ERA1 cleanup (EraClient::delete_outside_range) (paradigmxyz#18895) * fix: use max B256 for upper bound in empty-storage check (paradigmxyz#18962) * ci: remove reproducible build from release.yml (paradigmxyz#18958) * chore(rpc): Remove redundant U256::from in suggested_priority_fee (paradigmxyz#18969) * chore(ci): update eest 7594 issue link in hive expected failures file (paradigmxyz#18976) * perf(tests): remove redundant format! in ef-tests run_only (paradigmxyz#18909) * feat(cli): enable traces export via `tracing-otlp` cli arg (paradigmxyz#18242) Co-authored-by: Dan Cline <6798349+Rjected@users.noreply.github.com> * feat: allow otlp level to be configurable (paradigmxyz#18981) * chore(optimism): remove unnecessary Debug bounds from header generics (paradigmxyz#18989) * refactor: convert satisfy_base_fee_ids to use closure (paradigmxyz#18979) * chore: bump otlp crates (paradigmxyz#18984) * fix(network): prevent metric leak in outgoing message queue on session teardown (paradigmxyz#18847) * chore: remove unused imports in blockchain_provider (paradigmxyz#18867) Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de> * fix(stateless): enforce BLOCKHASH ancestor header limit (paradigmxyz#18920) * chore(evm): mark ExecuteOutput as unused and slated for removal (paradigmxyz#18754) * refactor: unify `Pipeline` creation codepaths (paradigmxyz#18955) * fix(engine): flatten storage cache (paradigmxyz#18880) * perf(tree): worker pooling for account proofs (paradigmxyz#18901) Co-authored-by: Brian Picciano <me@mediocregopher.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: Alexey Shekhirin <5773434+shekhirin@users.noreply.github.com> * refactor(storage): fix ChainStateKey enum variant name (paradigmxyz#18992) * refactor(trie): remove proof task manager (paradigmxyz#18934) Co-authored-by: Brian Picciano <me@mediocregopher.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: Alexey Shekhirin <5773434+shekhirin@users.noreply.github.com> * fix: required optimism primitives features in db-api (paradigmxyz#19005) * refactor(engine): simplify InvalidBlockWitnessHook::on_invalid_block for better testability (paradigmxyz#18696) * chore: replace poll_next_unpin loop with poll_recv_many (paradigmxyz#18978) * fix: Set Era pipeline stage to last checkpoint when there is no target (paradigmxyz#19000) * ci: Add tests for Paris scenario in hive.yml (paradigmxyz#19013) * chore: bump book timeout (paradigmxyz#19016) * feat: add metrics for safe and finalized block heights (paradigmxyz#18987) * chore(privitives-traits): remove unused serde derives and camelCase attribute (paradigmxyz#19014) * chore: refactor loop in `add_new_transactions` (paradigmxyz#19006) * chore(ci): bump hive eest to v5.3.0 (paradigmxyz#19021) * feat(devp2p): make eth p2p networkId configurable (paradigmxyz#19020) Co-authored-by: frankudoags <frankudoags.com> * chore: remove unused Args struct from exex-subscription example (paradigmxyz#19019) * feat: add pending sequence as pub (paradigmxyz#19022) * chore: bump alloy-core (paradigmxyz#19026) * fix: unused warnings for tracing (paradigmxyz#19025) * fix: respect cli blob size setting (paradigmxyz#19024) * feat(engine): deprecate TestPipelineBuilder::with_executor_results (paradigmxyz#19017) * perf: background init of workers (paradigmxyz#19012) * chore(ci): update expected failures (paradigmxyz#19034) * fix: use header type generic for mask (paradigmxyz#19037) * fix: correct `Compact` impl for `Option` (paradigmxyz#19042) * chore: increase versioned hash index cache (paradigmxyz#19038) * chore(primitives-traits): relax SignerRecoverable bounds for Extended<B,T> (paradigmxyz#19045) * feat: bump revm (paradigmxyz#18999) * fix: resolve upstream merge Signed-off-by: Gregory Edison <gregory.edison1993@gmail.com> * bump revm * update deps and fix lints * update openvm deps * skip exex wal storage test * pin revm tag scroll-v91 * bump openvm compat --------- Signed-off-by: Gregory Edison <gregory.edison1993@gmail.com> Co-authored-by: josé v <52646071+Peponks9@users.noreply.github.com> Co-authored-by: Forostovec <ilonaforostovec22@gmail.com> Co-authored-by: Roman Hodulák <roman.hodulak@polyglot-software.com> Co-authored-by: Skylar Ray <137945430+sky-coderay@users.noreply.github.com> Co-authored-by: Arsenii Kulikov <klkvrr@gmail.com> Co-authored-by: Léa Narzis <78718413+lean-apple@users.noreply.github.com> Co-authored-by: Brian Picciano <me@mediocregopher.com> Co-authored-by: radik878 <radikpadik76@gmail.com> Co-authored-by: William Nwoke <willteey@gmail.com> Co-authored-by: Nathaniel Bajo <nathanielbajo@Nathaniels-MacBook-Pro.local> Co-authored-by: YK <chiayongkang@hotmail.com> Co-authored-by: Dan Cline <6798349+Rjected@users.noreply.github.com> Co-authored-by: Merkel Tranjes <140164174+rnkrtt@users.noreply.github.com> Co-authored-by: Alexey Shekhirin <5773434+shekhirin@users.noreply.github.com> Co-authored-by: Federico Gimenez <fgimenez@users.noreply.github.com> Co-authored-by: stevencartavia <112043913+stevencartavia@users.noreply.github.com> Co-authored-by: emmmm <155267286+eeemmmmmm@users.noreply.github.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: MIHAO PARK <wetkeyboard17@gmail.com> Co-authored-by: Tilak Madichetti <tilak.madichetti@gmail.com> Co-authored-by: Emilia Hane <elsaemiliaevahane@gmail.com> Co-authored-by: maradini77 <140460067+maradini77@users.noreply.github.com> Co-authored-by: sashaodessa <140454972+sashaodessa@users.noreply.github.com> Co-authored-by: Alvarez <140459501+prestoalvarez@users.noreply.github.com> Co-authored-by: MozirDmitriy <dmitriymozir@gmail.com> Co-authored-by: drhgencer <gancer16@gmail.com> Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de> Co-authored-by: anim001k <140460766+anim001k@users.noreply.github.com> Co-authored-by: Julian Meyer <julian.meyer@coinbase.com> Co-authored-by: Karl Yu <43113774+0xKarl98@users.noreply.github.com> Co-authored-by: Jennifer <jenpaff0@gmail.com> Co-authored-by: Ivan Wang <314130948@qq.com> Co-authored-by: GarmashAlex <garmasholeksii@gmail.com> Co-authored-by: Udoagwa Franklin <54338168+frankudoags@users.noreply.github.com> Co-authored-by: Luca Provini <luca.provini@usemerkle.com> Co-authored-by: Galoretka <galoretochka@gmail.com> Co-authored-by: sashass1315 <sashass1315@gmail.com> Co-authored-by: frisitano <francesco.risitano95@gmail.com>
* chore: lower ecies instrument calls to trace (paradigmxyz#19004) * fix: add revm-state to dev-dependencies of chain-state crate (paradigmxyz#19044) * fix(sim): clamp bundle timeout to max instead of falling back to default (paradigmxyz#18840) Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de> * fix(cli): remove redundant EthChainSpec bound in run_with_components (paradigmxyz#19106) * feat: convert blobs at RPC (paradigmxyz#19084) * fix: add bundle and transaction context to call_many errors (paradigmxyz#18127) Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de> * chore: add comment section for claude (paradigmxyz#19108) * feat: derive dev accounts from mnemonic in dev mode (paradigmxyz#18299) Co-authored-by: Arsenii Kulikov <klkvrr@gmail.com> * refactor: naming fix for multiproof dispatch (paradigmxyz#19102) * fix: Deduplicate hashed storage preparation in MemoryOverlayStateProvider (paradigmxyz#19087) * feat: convert pooled blobs transition (paradigmxyz#19095) * feat(engine): improve payload validator tracing spans (paradigmxyz#18960) Co-authored-by: Claude <noreply@anthropic.com> Co-authored-by: Dan Cline <6798349+Rjected@users.noreply.github.com> * feat: add capacity metrics for tries (paradigmxyz#19117) * feat(cli): Reuse a single StaticFileProducer across file import chunks (paradigmxyz#18964) Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de> * feat(stateless): make UncompressedPublicKey serializable (paradigmxyz#19115) Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com> * docs: fix wrong label for `--color=auto` (paradigmxyz#19110) Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de> * chore: fix clippy (paradigmxyz#19118) * fix(net): correct error messages for decrypt and header paths (paradigmxyz#19039) * chore: remove redundant collect in debug trace (paradigmxyz#19121) * chore(deps): weekly `cargo update` (paradigmxyz#19126) Co-authored-by: github-merge-queue <118344674+github-merge-queue@users.noreply.github.com> Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de> * fix: Remove duplicate debug log in write_blocks_to_rlp (paradigmxyz#19132) * feat: add helper apply fns (paradigmxyz#19122) * fix(e2e): gracefully wait for payload (paradigmxyz#19137) * fix: Add support for init-state for op-reth chains that are not op-mainnet… (paradigmxyz#19116) Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de> * chore(trie): Add lifetime to cursors returned from Trie/HashedCursorFactorys (paradigmxyz#19114) * chore: fix+update nix flake (paradigmxyz#19142) * Revert "refactor: unify `Pipeline` creation codepaths" (paradigmxyz#19143) * fix(prune): Disable pruning limits (paradigmxyz#19141) * fix: remove tautological assertions in validator tests (paradigmxyz#19134) * chore(config): clean up gas limit code (paradigmxyz#19144) * perf: batch byte for serialization (paradigmxyz#19096) Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de> * fix: Revert "feat(engine): improve payload validator tracing spans (paradigmxyz#18960)" (paradigmxyz#19145) * chore: rm high frequency otel-related debug logs (paradigmxyz#19147) * perf: fix redundant Arc clone in file_client tests (paradigmxyz#19170) * feat(storage): replace unreachable todo!() with explicit unreachable!() in compact derive (paradigmxyz#19152) * chore: remove total difficulty from `HeaderProvider` (paradigmxyz#19151) * fix(cli): prune config saving to file (paradigmxyz#19174) * refactor: remove `FullNodePrimitives` (paradigmxyz#19176) * refactor(ipc): simplify RpcServiceCfg from enum to struct (paradigmxyz#19180) * chore: fix incorrect hex value in comment (0x2A instead of 0x7E) (paradigmxyz#19181) * feat(e2e): add builder API for configuring test node setups (paradigmxyz#19146) * fix: remove unnecessary trait bounds in extend_sorted_vec helper (paradigmxyz#19154) * fix: drop support for total difficulty table (paradigmxyz#16660) Co-authored-by: Aditya Pandey <adityapandey@Adityas-MacBook-Air.local> Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de> Co-authored-by: joshieDo <93316087+joshieDo@users.noreply.github.com> * chore: fix misleading log message for body size check (paradigmxyz#19173) * feat: improve oversized data error message (paradigmxyz#19190) * chore: rm generic array dep from discv4 (paradigmxyz#19140) * docs: improve SealedBlockRecoveryError documentation (paradigmxyz#19120) * test: add node record parse test (paradigmxyz#19172) * fix: add arrayvec to dev-dependencies in reth-trie-common (paradigmxyz#19192) * feat(engine): improve payload validator tracing spans 2 (paradigmxyz#19155) * refactor: decouple max proof task concurrency from inflight proof limits (paradigmxyz#19171) * chore: remove rkrasiuk from codeowners (paradigmxyz#19206) * perf(net): convert Bytes to BytesMut to avoid reallocation (paradigmxyz#19204) * refactor(prune): remove receipts log filter segment (paradigmxyz#19184) * fix: small features fix (paradigmxyz#19212) * perf: check prewarm termination multiple times (paradigmxyz#19214) * chore: only alloc required capacity (paradigmxyz#19217) * fix: captured impl trait lifetime (paradigmxyz#19216) Signed-off-by: Gregory Edison <gregory.edison1993@gmail.com> * fix: OverlayStateProviderFactory: validating trie changeset range and revert target (paradigmxyz#19207) * feat: warning log when blocked on execution cache (paradigmxyz#19222) * fix(reth-bench): Lower block channel capacity and make it configurable (paradigmxyz#19226) * chore: use retrylayer for benchmarkcontext (paradigmxyz#19227) * fix: incorrect RPC namespace reference (paradigmxyz#19225) * chore: add elapsed info log (paradigmxyz#19211) * test(hive): Ignore new failures that are won't fix (paradigmxyz#19218) * fix: rename consume-* test suite (paradigmxyz#19230) * chore(storage): remove `UnifiedStorageWriterError` (paradigmxyz#19210) * chore(e2e): relax bounds (paradigmxyz#19231) * revert: "fix(engine): flatten storage cache (paradigmxyz#18880)" (paradigmxyz#19235) * fix(node): remove unused ConsensusLayerHealthEvent variants (paradigmxyz#19238) * chore: swap order for canon stream (paradigmxyz#19242) * feat(jovian): track da footprint block limit. Update basefee calculation (paradigmxyz#19048) Co-authored-by: Arsenii Kulikov <klkvrr@gmail.com> * fix(engine): payload processor tracing event targets (paradigmxyz#19223) * perf: rm pending queue from MultiproofManager (paradigmxyz#19178) * docs: correct Payment tx type from 0x7E to 0x2A (paradigmxyz#19255) * fix: use network id in p2p command (paradigmxyz#19252) * feat(prune): Add an empty `reth-prune-db` crate (paradigmxyz#19232) * fix: use known paris activation blocks in genesis parsing (paradigmxyz#19258) * chore: align env filter comment with configured directives (paradigmxyz#19237) * refactor(static-file): remove unused segments (paradigmxyz#19209) * docs: add usage examples and documentation to NoopConsensus (paradigmxyz#19194) * fix(cli): prune CLI argument names (paradigmxyz#19215) * fix(engine): shrink tries after clearing (paradigmxyz#19159) * feat(otlp-tracing): enable to export traces with grpc export with `tracing-otlp` and `tracing-otlp-protocol` arg (paradigmxyz#18985) * fix: return hashed peer key as id (paradigmxyz#19245) * chore: remove db pruning of header/txs segments (paradigmxyz#19260) * chore: rm `StaticFileReceipts` pruner (paradigmxyz#19265) * chore(net): remove unnecessary TODO (paradigmxyz#19268) * feat: eth_fillTransaction (paradigmxyz#19199) Co-authored-by: Arsenii Kulikov <klkvrr@gmail.com> Co-authored-by: jxom <7336481+jxom@users.noreply.github.com> * fix: no_std compatibility in reth-optimism-chainspec (paradigmxyz#19271) * chore: add `add_or_replace_if_module_configured` method (paradigmxyz#19266) * fix(engine): re-insert storage cache and use arc (paradigmxyz#18879) * feat: allow using SafeNoSync for MDBX (paradigmxyz#18945) Co-authored-by: Alexey Shekhirin <5773434+shekhirin@users.noreply.github.com> * fix(optimism): guard follow-up inserts by payload_id to prevent mixed sequences (paradigmxyz#19264) * perf: Eliminate spawn_blocking in multiproof manager (paradigmxyz#19203) * fix: hive tests consume test suite (paradigmxyz#19240) Co-authored-by: Federico Gimenez <federico.gimenez@gmail.com> * feat(trie): proof task tracing improvements (paradigmxyz#19276) * fix(trie): correct comment in sparse_trie_reveal_node_1 test (paradigmxyz#19193) * chore(trie): do not create a parent span for proof worker handle (paradigmxyz#19281) * feat(tracing): set default OTLP log level to WARN (paradigmxyz#19283) * fix(node): classify connect_async failures as WebSocket and use Url parse error (paradigmxyz#19286) * chore(deps): weekly `cargo update` (paradigmxyz#19300) Co-authored-by: github-merge-queue <118344674+github-merge-queue@users.noreply.github.com> * refactor(trie): rename queue_storage_proof to send_storage_proof (paradigmxyz#19310) * refactor: add more Snap response types (paradigmxyz#19303) Co-authored-by: suhas-sensei <suhas.ghosal2002@gmail.com> * chore(ethereum): remove redundant std::default::Default import (paradigmxyz#19299) * fix(fs): correct ReadLink error message and add missing read_link wra… (paradigmxyz#19287) * fix(engine): module doc to reflect schnellru::LruMap backend (paradigmxyz#19296) * chore(net): upgrade some noisy spans to TRACE (paradigmxyz#19312) * ci: pin Bun to v1.2.23 (paradigmxyz#19315) * fix(trie): Fix trie_reverts not returning sorted nodes (paradigmxyz#19280) * chore: remove redundant PhantomData from NodeHooks (paradigmxyz#19316) * docs: populate modify-node section with node-custom-rpc implementation guide (paradigmxyz#18672) * chore: use hex bytes type (paradigmxyz#19317) * docs(eth-wire): update docs to reflect eth-wire-types, alloy_rlp, version-aware decoding, and RLPx multiplexing (paradigmxyz#19319) * fix(prune): Add unused variants back to PruneSegment enum (paradigmxyz#19318) * refactor(trie): Unify proof return types (paradigmxyz#19311) * chore: remove dead OpL1BlockInfo.number field and writes (paradigmxyz#19325) * chore(trie): reduce sparse trie tracing (paradigmxyz#19321) * fix(trie): Rewrite InMemoryTrieOverlay (with proptests!) (paradigmxyz#19277) * feat(jovian/block-validation): fix block validation for jovian (paradigmxyz#19304) * docs: improve documentation for mock database and transactions (paradigmxyz#19302) * chore: remove trie capacity metrics (paradigmxyz#19327) * feat(metrics): add push gateway support for Prometheus metrics (paradigmxyz#19243) * chore(engine): Remove ConsistentDbView (paradigmxyz#19188) Co-authored-by: Alexey Shekhirin <5773434+shekhirin@users.noreply.github.com> * fix: update section name in expected failures, add more concise comments (paradigmxyz#19328) * chore: replace `CacheDB` with `State<DB>` in RPC crate (paradigmxyz#19330) Co-authored-by: Arsenii Kulikov <klkvrr@gmail.com> * chore: update Grafana dashboard with split pending multiproof metrics (paradigmxyz#19339) * feat(metrics): improve multiproof worker metrics (paradigmxyz#19337) * chore(deps): bump actions/upload-artifact from 4 to 5 (paradigmxyz#19335) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump actions/download-artifact from 5 to 6 (paradigmxyz#19336) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * fix(engine): Eliminates spurious warning logs in prewarm task (paradigmxyz#19133) Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de> * refactor: make DatabaseProof trait stateful (paradigmxyz#18753) * refactor(trie): reorder proof_task.rs for better code organization (paradigmxyz#19342) * fix(pipeline): ensure we dont pass an outdated target to header stage (paradigmxyz#19351) * chore: update docs for expected test failure (paradigmxyz#19343) * chore: dont write receipts to both storages on archive node (paradigmxyz#19361) * chore: add ChainHardforks::extend (paradigmxyz#19332) * feat(reth-optimism-node): Add OP E2E mineblock test with isthmus activated at genesis (paradigmxyz#19305) * feat: insert at timestamp (paradigmxyz#19365) * fix(op-reth/consensus): fixes header validation for jovian. decouple excess blob gas and blob gas used (paradigmxyz#19338) * refactor(trie): restructure proof task workers into structs (paradigmxyz#19344) * perf: wrap tx with Arc to avoid deep cloning (paradigmxyz#19350) * feat: impl a function to create new instance of TransactionEvents (paradigmxyz#19375) Co-authored-by: Neo Krypt <neo@canxium.org> Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de> * fix(trie): use block hash in OverlayStateProviderFactory (paradigmxyz#19353) * feat: add pruning of transactions from static-files (paradigmxyz#19241) * chore: bump 1.8.3 (paradigmxyz#19379) * fix: Don't always clone in-memory overlays in OverlayStateProviderFactory (paradigmxyz#19383) * fix(op-reth): use latest for runtime image (paradigmxyz#19331) * chore: Update nix flake (paradigmxyz#19386) * feat(jovian/timestamps): add jovian timestamps to op-reth (paradigmxyz#19290) * fix: add more context to expected hive failures (paradigmxyz#19363) Co-authored-by: rakita <rakita@users.noreply.github.com> * feat(rpc): implement `debug_dbGet` (paradigmxyz#19369) * feat(precompiles/jovian): add jovian precompiles to op-reth (paradigmxyz#19333) Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de> * fix(engine): align compute_trie_input docs with actual persistence behavior (paradigmxyz#19385) Co-authored-by: Brian Picciano <me@mediocregopher.com> * fix: remove PersistenceState from TreeCtx (paradigmxyz#19356) * docs: improve RESS protocol module documentation (paradigmxyz#19370) * docs: fix otlp flag in monioring docs (paradigmxyz#19394) * feat(jovian/rpc): update receipts to transmit over RPC with Jovian compatible fields (paradigmxyz#19368) Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de> * chore(primitives-traits): gate test-only modules (paradigmxyz#19393) * feat: display blob params alongside hardfork info (paradigmxyz#19358) * chore: fix unused dep (paradigmxyz#19397) * chore: fix unused warning (paradigmxyz#19395) * perf(codecs): avoid String allocation in proc macro type checking (paradigmxyz#19354) * chore: reuse gzip read buffer to avoid per-iteration allocation (paradigmxyz#19398) * chore: bump discv5 (paradigmxyz#19400) * perf: box ForkId in Peer struct to reduce size (paradigmxyz#19402) * fix(cli): Metrics log when passed metrics port 0 (paradigmxyz#19406) Co-authored-by: Varun Doshi <doshivarun202@gmail.com> * fix(engine): trigger live sync after backfill completes at finalized (paradigmxyz#19390) * fix: Prune checkpoint fixes (paradigmxyz#19407) * fix: accurate build features reporting in `reth --version` (paradigmxyz#19124) * chore(net): avoid cloning GetBlockBodies request (paradigmxyz#19404) * feat: Output the block execution outputs after validating (reth-stateless) (paradigmxyz#19360) * fix(engine): remove redundant parent_to_child cleanup in insert_executed (paradigmxyz#19380) * feat: add --rpc.evm-memory-limit flag (paradigmxyz#19279) Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de> * fix: highest_nonces update in PendingPool::remove_transaction (paradigmxyz#19301) Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de> * chore: add tracing features to node-core crate (paradigmxyz#19415) Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de> * chore: update superchain reg to c9881d543174ff00b8f3a9ad3f31bf4630b9743b (paradigmxyz#19418) * fix(compact): prevent bitflag overflow by using usize accumulator (paradigmxyz#19408) * fix: Properly set MerkleChangeSets checkpoint in stage's fast-path (paradigmxyz#19421) * chore: add count field to trace (paradigmxyz#19422) * fix(codecs): return remaining slice in EIP-1559 from_compact (paradigmxyz#19413) * feat(reth-bench): Default --wait-time to 250ms (paradigmxyz#19425) * perf: bias towards proof results (paradigmxyz#19426) * feat(node): CLI argument for sync state idle when backfill is idle (paradigmxyz#19429) * feat(op-reth): implement miner_setGasLimit RPC (paradigmxyz#19247) Co-authored-by: frankudoags <frankudoags.com> Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de> * perf: only chunk if more > 1 available (paradigmxyz#19427) * fix(beacon-api-sidecar): use correct block metadata for reorged blobs (paradigmxyz#19424) * chore(codecs): replace todo with unimplemented in Compact derive (paradigmxyz#19284) * fix(txpool): correct propagate field name in Debug output (paradigmxyz#19278) * perf: optimize SyncHeight event handling to avoid recursive calls (paradigmxyz#19372) Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de> * perf(tree): only chunk multiproof targets if needed (paradigmxyz#19326) * fix: rename variable in block_hash method from 'code' to 'hash' (paradigmxyz#19269) * chore(docker): remove apt-get upgrade to ensure reproducible and faster builds (paradigmxyz#19080) * fix: Inline value match in SparseTrie::find_leaf to remove redundant wrapper (paradigmxyz#19138) Co-authored-by: Alexey Shekhirin <5773434+shekhirin@users.noreply.github.com> * perf(cli): optimize StorageChangeSets import in merkle stage dump (paradigmxyz#18022) Co-authored-by: joshieDo <93316087+joshieDo@users.noreply.github.com> Co-authored-by: Alexey Shekhirin <5773434+shekhirin@users.noreply.github.com> * revert: "feat: Add building and publishing of *.deb packages (paradigmxyz#18615)" (paradigmxyz#19011) * feat(tasks): distinguish blocking and non-blocking tasks in metrics (paradigmxyz#18440) Co-authored-by: Nathaniel Bajo <nathanielbajo@Nathaniels-MacBook-Pro.local> Co-authored-by: Emilia Hane <emiliaha95@gmail.com> Co-authored-by: Alexey Shekhirin <5773434+shekhirin@users.noreply.github.com> * feat: support custom Download command defaults (paradigmxyz#19437) * chore: OverlayStateProviderFactory: don't query for reverts unless necessary (paradigmxyz#19412) * chore(deps): weekly `cargo update` (paradigmxyz#19443) Co-authored-by: github-merge-queue <118344674+github-merge-queue@users.noreply.github.com> Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de> * chore: add config_mut helpers (paradigmxyz#19436) * fix: avoid unnecessary self.clone() in OpNetworkBuilder::network_config (paradigmxyz#19451) * feat(op-reth): add FlashblocksListeners container and receipt helpers (paradigmxyz#19446) Co-authored-by: Claude <noreply@anthropic.com> * feat: add broadcast channel for received flashblocks (paradigmxyz#19459) Co-authored-by: Federico Gimenez <fgimenez@users.noreply.github.com> * refactor(prune): derive EnumIter instead of explicit array of segments (paradigmxyz#19465) * feat: schedule fusaka (paradigmxyz#19455) * chore: use name const for cli name (paradigmxyz#19466) * fix(db): OverlayStateProviderFactory: default validation lower bound to 0 (paradigmxyz#19468) * chore: bump revm 31 (paradigmxyz#19470) Co-authored-by: Arsenii Kulikov <klkvrr@gmail.com> * chore: add js-tracer feature to bins (paradigmxyz#19441) * chore(node): compact duration formatting in stage progress logs (paradigmxyz#18720) * fix: update `min_block` on `StaticFileProvider::update_index` (paradigmxyz#19469) * chore(grafana): deduce label by aggregate metrics (paradigmxyz#18550) * chore: Remove unused jsonrpsee tracing import in exex subscription example (paradigmxyz#19448) * chore: add --miner.gaslimit alias (paradigmxyz#19475) * chore: add queued reason to event (paradigmxyz#19476) * feat: add helper to disable discovery (paradigmxyz#19478) * fix(net): remove capacity inflation from buffered blocks size calculation (paradigmxyz#19481) * perf(rpc): use cache for latest block and receipts (paradigmxyz#19483) * perf: use latest hash directly (paradigmxyz#19486) * feat: support pending block tag in eth_getLogs for flashblocks (paradigmxyz#19388) Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de> * docs(trie): fix PrefixSetMut docs and freeze() comment (paradigmxyz#19467) * chore: Various cleanups after consistent DB view removal (paradigmxyz#19489) * feat(reth-bench-compare): upstream from personal repo (paradigmxyz#19488) Co-authored-by: Claude <noreply@anthropic.com> * fix: use cost when checking fee cap (paradigmxyz#19493) * fix: spawn block fetching blocking (paradigmxyz#19491) Co-authored-by: Alexey Shekhirin <5773434+shekhirin@users.noreply.github.com> * chore(op-reth/scr): update superchain-registry configs. Commit 9e3f71cee0e4e2acb4864cb00f5fbee3555d8e9f (paradigmxyz#19495) * perf: improve ethsendrawsync for op with flashblock (paradigmxyz#19462) Co-authored-by: Arsenii Kulikov <klkvrr@gmail.com> * docs(banlist): document timeout update behavior on re-ban (paradigmxyz#19497) * chore: add custom hardforks example (paradigmxyz#19391) Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de> * fix: skip code check in get_transaction_by_sender_and_nonce (paradigmxyz#19502) * chore: bump min ckzg (paradigmxyz#19504) * chore: bump version 1.8.4 (paradigmxyz#19503) * fix: dead link Sentry (paradigmxyz#19505) * chore: bump hardforks (paradigmxyz#19506) * chore: bump v1.9.0 (paradigmxyz#19507) * chore: bump revm v31.0.1 (paradigmxyz#19567) * chore: bump version * chore: bump version to 1.9.2 (paradigmxyz#19647) * chore: bump op-revm v12.0.2 patch (paradigmxyz#19629) * revert: "refactor(prune): remove receipts log filter segment (paradigmxyz#19184)" (paradigmxyz#19646) * ci: use macos-14 runner (paradigmxyz#19658) * fix: add minbasefee for jovian attributes (paradigmxyz#19726) * chore(op-reth/scr): update superchain-registry (paradigmxyz#19806) Co-authored-by: theo <80177219+theochap@users.noreply.github.com> * chore: bump version v1.9.3 (paradigmxyz#19831) * chore: bump to mantle-xyz/revm v2.1.0 * add limb support * bump: revm v2.1.2 --------- Signed-off-by: Ignacio Hagopian <jsign.uy@gmail.com> Signed-off-by: Gregory Edison <gregory.edison1993@gmail.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: Dan Cline <6798349+Rjected@users.noreply.github.com> Co-authored-by: futreall <86553580+futreall@users.noreply.github.com> Co-authored-by: maradini77 <140460067+maradini77@users.noreply.github.com> Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de> Co-authored-by: sashass1315 <sashass1315@gmail.com> Co-authored-by: Arsenii Kulikov <klkvrr@gmail.com> Co-authored-by: crazykissshout <crazykisss111@gmail.com> Co-authored-by: Dharm Singh <153282211+dharmvr1@users.noreply.github.com> Co-authored-by: YK <chiayongkang@hotmail.com> Co-authored-by: leopardracer <136604165+leopardracer@users.noreply.github.com> Co-authored-by: Alexey Shekhirin <5773434+shekhirin@users.noreply.github.com> Co-authored-by: Claude <noreply@anthropic.com> Co-authored-by: GarmashAlex <garmasholeksii@gmail.com> Co-authored-by: Ignacio Hagopian <jsign.uy@gmail.com> Co-authored-by: Dmitry <98899785+mdqst@users.noreply.github.com> Co-authored-by: Micke <155267459+reallesee@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: github-merge-queue <118344674+github-merge-queue@users.noreply.github.com> Co-authored-by: Andrew Huang <k.andrew.huang@gmail.com> Co-authored-by: Brian Picciano <me@mediocregopher.com> Co-authored-by: Skylar Ray <137945430+sky-coderay@users.noreply.github.com> Co-authored-by: 0xMushow <105550256+0xMushow@users.noreply.github.com> Co-authored-by: malik <aremumalik05@gmail.com> Co-authored-by: Alex Pikme <30472093+reject-i@users.noreply.github.com> Co-authored-by: MozirDmitriy <dmitriymozir@gmail.com> Co-authored-by: joshieDo <93316087+joshieDo@users.noreply.github.com> Co-authored-by: David Klank <155117116+davidjsonn@users.noreply.github.com> Co-authored-by: Brawn <nftdropped@gmail.com> Co-authored-by: Federico Gimenez <fgimenez@users.noreply.github.com> Co-authored-by: 0xsensei <prblmslvr.aditya@gmail.com> Co-authored-by: Aditya Pandey <adityapandey@Adityas-MacBook-Air.local> Co-authored-by: Merkel Tranjes <140164174+rnkrtt@users.noreply.github.com> Co-authored-by: Avory <avorycorelli@gmail.com> Co-authored-by: robinsdan <115981357+robinsdan@users.noreply.github.com> Co-authored-by: greg <82421016+greged93@users.noreply.github.com> Co-authored-by: wizard <112275929+famouswizard@users.noreply.github.com> Co-authored-by: Roman Hodulák <roman.hodulak@polyglot-software.com> Co-authored-by: Jennifer <jenpaff0@gmail.com> Co-authored-by: radik878 <radikpadik76@gmail.com> Co-authored-by: theo <80177219+theochap@users.noreply.github.com> Co-authored-by: Fallengirl <155266340+Fallengirl@users.noreply.github.com> Co-authored-by: Ragnar <rodiondenmark@gmail.com> Co-authored-by: Léa Narzis <78718413+lean-apple@users.noreply.github.com> Co-authored-by: Yash <72552910+kumaryash90@users.noreply.github.com> Co-authored-by: jxom <7336481+jxom@users.noreply.github.com> Co-authored-by: strmfos <155266597+strmfos@users.noreply.github.com> Co-authored-by: josé v <52646071+Peponks9@users.noreply.github.com> Co-authored-by: 0xeabz <eabz@kindynos.mx> Co-authored-by: Galoretka <galoretochka@gmail.com> Co-authored-by: Federico Gimenez <federico.gimenez@gmail.com> Co-authored-by: AJStonewee <ajston73@gmail.com> Co-authored-by: phrwlk <phrwlk7@gmail.com> Co-authored-by: guha-rahul <52607971+guha-rahul@users.noreply.github.com> Co-authored-by: suhas-sensei <suhas.ghosal2002@gmail.com> Co-authored-by: Maximilian Hubert <64627729+gap-editor@users.noreply.github.com> Co-authored-by: VolodymyrBg <aqdrgg19@gmail.com> Co-authored-by: Gengar <creeptogengar@gmail.com> Co-authored-by: Mablr <59505383+mablr@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Francis Li <lihuiyi0406@gmail.com> Co-authored-by: Karl Yu <43113774+0xKarl98@users.noreply.github.com> Co-authored-by: Đạt Nguyễn <datnguyencse@users.noreply.github.com> Co-authored-by: Neo Krypt <neo@canxium.org> Co-authored-by: emiliano-conduitxyz <emiliano@conduit.xyz> Co-authored-by: rakita <rakita@users.noreply.github.com> Co-authored-by: leniram159 <leniram159@gmail.com> Co-authored-by: Forostovec <ilonaforostovec22@gmail.com> Co-authored-by: Emilia Hane <elsaemiliaevahane@gmail.com> Co-authored-by: Varun Doshi <doshivarun202@gmail.com> Co-authored-by: Lancelot de Ferrière <wraitii@users.noreply.github.com> Co-authored-by: Wojtek Łopata <wojtek@0xproject.com> Co-authored-by: Eric Woolsey <ewoolsey@ualberta.ca> Co-authored-by: Udoagwa Franklin <54338168+frankudoags@users.noreply.github.com> Co-authored-by: bigbear <155267841+aso20455@users.noreply.github.com> Co-authored-by: oooLowNeoNooo <ooolowneonooo@gmail.com> Co-authored-by: FT <140458077+zeevick10@users.noreply.github.com> Co-authored-by: anim001k <140460766+anim001k@users.noreply.github.com> Co-authored-by: MIHAO PARK <wetkeyboard17@gmail.com> Co-authored-by: William Nwoke <willteey@gmail.com> Co-authored-by: Nathaniel Bajo <nathanielbajo@Nathaniels-MacBook-Pro.local> Co-authored-by: Emilia Hane <emiliaha95@gmail.com> Co-authored-by: Doryu <anna.shuraeva16@gmail.com> Co-authored-by: Block Wizard <satorukuame@gmail.com> Co-authored-by: Cypher Pepe <125112044+cypherpepe@users.noreply.github.com>
This fixes memory growth caused by growing execution caches, an alternative to #18879
This instead removes the cache hierarchy, so cache updates are always picked up by the moka weigher.
Previous memory usage:

New memory usage:

This also has slightly higher cache hitrate than #18879