Skip to content

Commit 09ac487

Browse files
decofeklkvr
andauthored
deps: update reth from main (2026-07-21) (tempoxyz#6746)
Automated nightly update of reth dependencies from `paradigmxyz/reth` main branch. ## Upstream reth changes [`1bf2384...01d3400`](paradigmxyz/reth@1bf2384...01d3400) 🔗 Amp thread: https://ampcode.com/threads/T-019f82db-9b08-71f2-9518-e78daad00565 **Engine** - Added SSZ containers for payloads, forkchoice status, proxy communication, and REST-SSZ blob body witnesses ([#26133](paradigmxyz/reth#26133), [#26271](paradigmxyz/reth#26271), [#26335](paradigmxyz/reth#26335), [#26328](paradigmxyz/reth#26328)). - Improved sparse-trie proof handling with stalled-proof errors and diagnostics, correct prune retention, preserved anchors, and reduced cursor overlays ([#26325](paradigmxyz/reth#26325), [#26327](paradigmxyz/reth#26327), [#26332](paradigmxyz/reth#26332), [#26422](paradigmxyz/reth#26422), [#25952](paradigmxyz/reth#25952)). - Extended post-execution hooks with parent state and header context, passing state updates by value ([#26330](paradigmxyz/reth#26330), [#26420](paradigmxyz/reth#26420), [#26398](paradigmxyz/reth#26398)). - Made state-root update stream ownership explicit and exposed the payload state-root receiver ([#26329](paradigmxyz/reth#26329), [#26431](paradigmxyz/reth#26431)). - Added configurable development finality depth ([#26451](paradigmxyz/reth#26451)). **Trie** - Simplified state-root execution by removing `ParallelStateRoot`, renaming its error type, and refactoring strategy selection and defaults ([#26121](paradigmxyz/reth#26121), [#26132](paradigmxyz/reth#26132), [#26085](paradigmxyz/reth#26085), [#26355](paradigmxyz/reth#26355), [#26358](paradigmxyz/reth#26358)). - Fixed sparse-trie correctness and concurrency issues involving late hints, branch-child pruning, and exact-subtrie proof target grouping ([#26356](paradigmxyz/reth#26356), [#26376](paradigmxyz/reth#26376), [#26357](paradigmxyz/reth#26357)). - Simplified trie internals by consolidating lazy data, splitting multiproof logic, removing changed-path tracking, and eliding empty new accounts from hashed state ([#26139](paradigmxyz/reth#26139), [#26353](paradigmxyz/reth#26353), [#26403](paradigmxyz/reth#26403), [#26367](paradigmxyz/reth#26367)). - Improved tracing and span propagation for parallel sparse-trie work and pruning ([#26273](paradigmxyz/reth#26273), [#26331](paradigmxyz/reth#26331)). **Network** - Added a Snap client, inbound `snap/2` serving, real account/storage range responses, and initial end-to-end coverage ([#26049](paradigmxyz/reth#26049), [#26324](paradigmxyz/reth#26324), [#26339](paradigmxyz/reth#26339), [#26368](paradigmxyz/reth#26368)). - Reduced ECIES allocation and copying, cached AES key schedules, and raised the write flush boundary to 64 KiB ([#26120](paradigmxyz/reth#26120), [#26119](paradigmxyz/reth#26119), [#26346](paradigmxyz/reth#26346), [#26348](paradigmxyz/reth#26348)). - Reduced session and stream overhead through static ping/pong encoding, less idle polling, timer change tracking, batched flushing, and reusable Snappy buffers ([#26122](paradigmxyz/reth#26122), [#26123](paradigmxyz/reth#26123), [#26124](paradigmxyz/reth#26124), [#26125](paradigmxyz/reth#26125), [#26349](paradigmxyz/reth#26349), [#26347](paradigmxyz/reth#26347)). - Optimized pooled transaction recovery and preallocated pooled hash metadata decoding ([#26304](paradigmxyz/reth#26304), [#26145](paradigmxyz/reth#26145)). - Fixed discovery advertisement and peer management: advertise the bound RLPx port, share one UDP port across discv4/discv5, publish fork ENR data for custom chains, and reset reputation after admin unban ([#26265](paradigmxyz/reth#26265), [#26089](paradigmxyz/reth#26089), [#26449](paradigmxyz/reth#26449), [#26334](paradigmxyz/reth#26334)). **RPC** - Added the `EthSubscriptions` trait for log and header streams ([#22155](paradigmxyz/reth#22155)). - Improved testing RPC behavior by accepting positional block parameters and rejecting invalid block transactions by default ([#25750](paradigmxyz/reth#25750), [#26372](paradigmxyz/reth#26372)). - Aligned BAL lookup errors with the specification and added a BAL debug method ([#26441](paradigmxyz/reth#26441), [#26438](paradigmxyz/reth#26438)). **Pruning & Storage** - Added row-budgeted dupsort pruning and optimized pruning with static-file transaction hash ranges ([#26287](paradigmxyz/reth#26287), [#26312](paradigmxyz/reth#26312)). - Corrected receipts static-file sizing to derive it from prune distance ([#26108](paradigmxyz/reth#26108)). - Removed the unused prune database crate ([#26391](paradigmxyz/reth#26391)). **Transaction Pool** - Reduced validator allocations, forwarded same-origin validation batches, specialized small discard lookups, and deduplicated blob fallback reads ([#26343](paradigmxyz/reth#26343), [#26341](paradigmxyz/reth#26341), [#26345](paradigmxyz/reth#26345), [#26255](paradigmxyz/reth#26255)). **Wire & Metrics Performance** - Preallocated Ethereum wire transaction-list decoding ([#26164](paradigmxyz/reth#26164)). - Moved metric rendering off the main execution path ([#26180](paradigmxyz/reth#26180)). **Download & Import** - Added file-archive support for modular snapshots and exposed snapshot environment access ([#26078](paradigmxyz/reth#26078), [#25285](paradigmxyz/reth#25285)). - Rejected incomplete blocks encountered at end-of-file during import ([#26363](paradigmxyz/reth#26363)). **Builder & Stages** - Refactored builder resource ownership around leases and paused JIT execution while constructing payloads ([#26427](paradigmxyz/reth#26427), [#26429](paradigmxyz/reth#26429)). - Added a partial-persistence finish checkpoint for stages ([#26447](paradigmxyz/reth#26447)). ## Migrations 🔗 Amp thread: https://ampcode.com/threads/T-019f82dc-2079-7249-9940-8e00022f9c94 - Bumped all Reth git dependencies from `1bf2384` to `01d3400`. - Added handling for the new `IncomingEthRequest::GetSnap` variant by dropping its response sender because the P2P proxy does not support snap sync. - Implemented the newly required `EthSubscriptions` helper trait for `TempoEthApi`. - Renamed payload-builder `trie_handle` usage to `state_root_handle` and migrated state hooks to the consuming `take_state_hook()` API. - Migrated hashed-state retrieval to `try_take_hashed_state_rx()`, preserving the new shared `Arc<HashedPostState>` representation and cloning only when fallback root computation requires ownership. - Removed `changed_paths` from payload state-root handling and `BuiltPayloadExecutedBlock` construction because the updated Reth payload API no longer exposes that field. [GitHub Workflow](https://github.com/tempoxyz/tempo/actions/runs/29800127526) --------- Co-authored-by: Arsenii Kulikov <klkvrr@gmail.com>
1 parent d7e9f40 commit 09ac487

5 files changed

Lines changed: 310 additions & 319 deletions

File tree

0 commit comments

Comments
 (0)