mirror of
https://github.com/hl-archive-node/nanoreth.git
synced 2025-12-06 10:59:55 +00:00
chore(trie): clean up state root methods (#10598)
This commit is contained in:
@ -886,11 +886,11 @@ mod tests {
|
||||
}
|
||||
|
||||
impl StateRootProvider for MockStateProvider {
|
||||
fn hashed_state_root(&self, _hashed_state: HashedPostState) -> ProviderResult<B256> {
|
||||
fn state_root(&self, _hashed_state: HashedPostState) -> ProviderResult<B256> {
|
||||
Ok(B256::random())
|
||||
}
|
||||
|
||||
fn hashed_state_root_from_nodes(
|
||||
fn state_root_from_nodes(
|
||||
&self,
|
||||
_nodes: TrieUpdates,
|
||||
_post_state: HashedPostState,
|
||||
@ -899,14 +899,14 @@ mod tests {
|
||||
Ok(B256::random())
|
||||
}
|
||||
|
||||
fn hashed_state_root_with_updates(
|
||||
fn state_root_with_updates(
|
||||
&self,
|
||||
_hashed_state: HashedPostState,
|
||||
) -> ProviderResult<(B256, TrieUpdates)> {
|
||||
Ok((B256::random(), TrieUpdates::default()))
|
||||
}
|
||||
|
||||
fn hashed_state_root_from_nodes_with_updates(
|
||||
fn state_root_from_nodes_with_updates(
|
||||
&self,
|
||||
_nodes: TrieUpdates,
|
||||
_post_state: HashedPostState,
|
||||
@ -917,7 +917,7 @@ mod tests {
|
||||
}
|
||||
|
||||
impl StorageRootProvider for MockStateProvider {
|
||||
fn hashed_storage_root(
|
||||
fn storage_root(
|
||||
&self,
|
||||
_address: Address,
|
||||
_hashed_storage: HashedStorage,
|
||||
|
||||
@ -102,12 +102,12 @@ impl AccountReader for MemoryOverlayStateProvider {
|
||||
}
|
||||
|
||||
impl StateRootProvider for MemoryOverlayStateProvider {
|
||||
fn hashed_state_root(&self, hashed_state: HashedPostState) -> ProviderResult<B256> {
|
||||
fn state_root(&self, hashed_state: HashedPostState) -> ProviderResult<B256> {
|
||||
let prefix_sets = hashed_state.construct_prefix_sets();
|
||||
self.hashed_state_root_from_nodes(TrieUpdates::default(), hashed_state, prefix_sets)
|
||||
self.state_root_from_nodes(TrieUpdates::default(), hashed_state, prefix_sets)
|
||||
}
|
||||
|
||||
fn hashed_state_root_from_nodes(
|
||||
fn state_root_from_nodes(
|
||||
&self,
|
||||
nodes: TrieUpdates,
|
||||
state: HashedPostState,
|
||||
@ -116,22 +116,18 @@ impl StateRootProvider for MemoryOverlayStateProvider {
|
||||
let MemoryOverlayTrieState { mut trie_nodes, mut hashed_state } = self.trie_state().clone();
|
||||
trie_nodes.extend(nodes);
|
||||
hashed_state.extend(state);
|
||||
self.historical.hashed_state_root_from_nodes(trie_nodes, hashed_state, prefix_sets)
|
||||
self.historical.state_root_from_nodes(trie_nodes, hashed_state, prefix_sets)
|
||||
}
|
||||
|
||||
fn hashed_state_root_with_updates(
|
||||
fn state_root_with_updates(
|
||||
&self,
|
||||
hashed_state: HashedPostState,
|
||||
) -> ProviderResult<(B256, TrieUpdates)> {
|
||||
let prefix_sets = hashed_state.construct_prefix_sets();
|
||||
self.hashed_state_root_from_nodes_with_updates(
|
||||
TrieUpdates::default(),
|
||||
hashed_state,
|
||||
prefix_sets,
|
||||
)
|
||||
self.state_root_from_nodes_with_updates(TrieUpdates::default(), hashed_state, prefix_sets)
|
||||
}
|
||||
|
||||
fn hashed_state_root_from_nodes_with_updates(
|
||||
fn state_root_from_nodes_with_updates(
|
||||
&self,
|
||||
nodes: TrieUpdates,
|
||||
state: HashedPostState,
|
||||
@ -140,21 +136,13 @@ impl StateRootProvider for MemoryOverlayStateProvider {
|
||||
let MemoryOverlayTrieState { mut trie_nodes, mut hashed_state } = self.trie_state().clone();
|
||||
trie_nodes.extend(nodes);
|
||||
hashed_state.extend(state);
|
||||
self.historical.hashed_state_root_from_nodes_with_updates(
|
||||
trie_nodes,
|
||||
hashed_state,
|
||||
prefix_sets,
|
||||
)
|
||||
self.historical.state_root_from_nodes_with_updates(trie_nodes, hashed_state, prefix_sets)
|
||||
}
|
||||
}
|
||||
|
||||
impl StorageRootProvider for MemoryOverlayStateProvider {
|
||||
// TODO: Currently this does not reuse available in-memory trie nodes.
|
||||
fn hashed_storage_root(
|
||||
&self,
|
||||
address: Address,
|
||||
storage: HashedStorage,
|
||||
) -> ProviderResult<B256> {
|
||||
fn storage_root(&self, address: Address, storage: HashedStorage) -> ProviderResult<B256> {
|
||||
let mut hashed_storage = self
|
||||
.trie_state()
|
||||
.hashed_state
|
||||
@ -163,7 +151,7 @@ impl StorageRootProvider for MemoryOverlayStateProvider {
|
||||
.cloned()
|
||||
.unwrap_or_default();
|
||||
hashed_storage.extend(&storage);
|
||||
self.historical.hashed_storage_root(address, hashed_storage)
|
||||
self.historical.storage_root(address, hashed_storage)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user