trie: init storage blinded provider with account (#13058)

This commit is contained in:
Roman Krasiuk
2024-12-02 13:09:39 +01:00
committed by GitHub
parent 8d5668a23a
commit df4673ef80
2 changed files with 5 additions and 5 deletions

View File

@ -1,7 +1,7 @@
//! Traits and default implementations related to retrieval of blinded trie nodes.
use crate::SparseTrieError;
use alloy_primitives::Bytes;
use alloy_primitives::{Bytes, B256};
use reth_trie_common::Nibbles;
/// Factory for instantiating blinded node providers.
@ -15,7 +15,7 @@ pub trait BlindedProviderFactory {
fn account_node_provider(&self) -> Self::AccountNodeProvider;
/// Returns blinded storage node provider.
fn storage_node_provider(&self) -> Self::StorageNodeProvider;
fn storage_node_provider(&self, account: B256) -> Self::StorageNodeProvider;
}
/// Trie node provider for retrieving blinded nodes.
@ -39,7 +39,7 @@ impl BlindedProviderFactory for DefaultBlindedProviderFactory {
DefaultBlindedProvider
}
fn storage_node_provider(&self) -> Self::StorageNodeProvider {
fn storage_node_provider(&self, _account: B256) -> Self::StorageNodeProvider {
DefaultBlindedProvider
}
}

View File

@ -129,7 +129,7 @@ impl<F: BlindedProviderFactory> SparseStateTrie<F> {
// Reveal root node if it wasn't already.
let trie = self.storages.entry(account).or_default().reveal_root_with_provider(
self.provider_factory.storage_node_provider(),
self.provider_factory.storage_node_provider(account),
root_node,
self.retain_updates,
)?;
@ -179,7 +179,7 @@ impl<F: BlindedProviderFactory> SparseStateTrie<F> {
if let Some(root_node) = self.validate_root_node(&mut storage_nodes)? {
// Reveal root node if it wasn't already.
let trie = self.storages.entry(account).or_default().reveal_root_with_provider(
self.provider_factory.storage_node_provider(),
self.provider_factory.storage_node_provider(account),
root_node,
self.retain_updates,
)?;