reth
reth copied to clipboard
Modular, contributor-friendly and blazing-fast implementation of the Ethereum protocol, in Rust
This PR - converts `DatabaseStateRoot` into a regular stateful trait that takes in `&self`. - moves the `from_tx` method to a new trait `StateRootFromTx` implemented by `StateRoot` - transfers the...
- Refactored DatabaseTrieWitness trait to be stateful, removing the associated TX type and lifetime parameters. - Simplified methods to use &self instead of taking &'a TX for every method Closes...
### Describe the bug Over the last few days we've had issues with Base Archive nodes being unable to get back to head from snapshot. I've read a few threads...
potentially closes #15778
Fixes: #15329 Avoids the unnecessary `hashed_cursor.seek(key)` operation within TrieNodeIter that could occur if the immediately preceding `hashed_cursor.next()` call had already positioned the cursor at the `key`. It checks the `last_next_result`...
### Describe the feature https://github.com/paradigmxyz/reth/blob/32e36133c68ab9061fa8389257fce4eff2588433/crates/trie/trie/src/node_iter.rs#L437-L442 Relevant logs: ```console 2025-03-27T12:14:09.484319Z TRACE trie::walker_metrics: Sought the trie table key=Nibbles(0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002) entry=Some((Nibbles(0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002), BranchNodeCompact { state_mask: TrieMask(0000000000000111), tree_mask: TrieMask(0000000000000000), hash_mask: TrieMask(0000000000000010), hashes: [0xd029498d69e20c4121be9f9e08e361e04400c7c067090b8c988e778da2fe7d02], root_hash: None }))...
### Describe the feature Currently, every time we have a new block, we create an empty `SparseTrie` for the accounts trie to reveal new proofs and apply updates in there....
### Describe the feature Currently, we can't request a proof for a storage slot without requesting a proof for an account. This is suboptimal for the state root calculation, because...
### Describe the feature On higher-end and lower-end machines with Samply to understand what takes time to finish the state root calculation. It's the time since we finished execution until...
We should refine this: https://github.com/paradigmxyz/reth/blob/main/examples/stateful-precompile/src/main.rs Into our evm config, so that we can experiment with precompile caching