mirror of
https://github.com/hl-archive-node/nanoreth.git
synced 2025-12-06 10:59:55 +00:00
perf(tree): re-use intermediate nodes (#9836)
This commit is contained in:
18
crates/rpc/rpc-eth-types/src/cache/db.rs
vendored
18
crates/rpc/rpc-eth-types/src/cache/db.rs
vendored
@ -25,6 +25,15 @@ impl<'a> reth_storage_api::StateRootProvider for StateProviderTraitObjWrapper<'a
|
||||
self.0.hashed_state_root(hashed_state)
|
||||
}
|
||||
|
||||
fn hashed_state_root_from_nodes(
|
||||
&self,
|
||||
nodes: reth_trie::updates::TrieUpdates,
|
||||
hashed_state: reth_trie::HashedPostState,
|
||||
prefix_sets: reth_trie::prefix_set::TriePrefixSetsMut,
|
||||
) -> reth_errors::ProviderResult<B256> {
|
||||
self.0.hashed_state_root_from_nodes(nodes, hashed_state, prefix_sets)
|
||||
}
|
||||
|
||||
fn hashed_state_root_with_updates(
|
||||
&self,
|
||||
hashed_state: reth_trie::HashedPostState,
|
||||
@ -32,6 +41,15 @@ impl<'a> reth_storage_api::StateRootProvider for StateProviderTraitObjWrapper<'a
|
||||
self.0.hashed_state_root_with_updates(hashed_state)
|
||||
}
|
||||
|
||||
fn hashed_state_root_from_nodes_with_updates(
|
||||
&self,
|
||||
nodes: reth_trie::updates::TrieUpdates,
|
||||
hashed_state: reth_trie::HashedPostState,
|
||||
prefix_sets: reth_trie::prefix_set::TriePrefixSetsMut,
|
||||
) -> reth_errors::ProviderResult<(B256, reth_trie::updates::TrieUpdates)> {
|
||||
self.0.hashed_state_root_from_nodes_with_updates(nodes, hashed_state, prefix_sets)
|
||||
}
|
||||
|
||||
fn hashed_storage_root(
|
||||
&self,
|
||||
address: Address,
|
||||
|
||||
Reference in New Issue
Block a user