chore(trie): simplify blinded provider (#13753)

This commit is contained in:
Roman Krasiuk
2025-01-09 14:23:31 +01:00
committed by GitHub
parent 017217f3eb
commit 66f934b8d0
6 changed files with 27 additions and 58 deletions

View File

@ -17,7 +17,7 @@ use reth_trie::{
use reth_trie_parallel::{proof::ParallelProof, root::ParallelStateRootError};
use reth_trie_sparse::{
blinded::{BlindedProvider, BlindedProviderFactory},
errors::{SparseStateTrieError, SparseStateTrieResult, SparseTrieError, SparseTrieErrorKind},
errors::{SparseStateTrieError, SparseStateTrieResult, SparseTrieErrorKind},
SparseStateTrie,
};
use revm_primitives::{keccak256, EvmState, B256};
@ -278,7 +278,7 @@ pub struct StateRootTask<'env, Factory, BPF: BlindedProviderFactory> {
thread_pool: &'env rayon::ThreadPool,
}
impl<'env, Factory, ABP, SBP, BPF> StateRootTask<'env, Factory, BPF>
impl<'env, Factory, BPF> StateRootTask<'env, Factory, BPF>
where
Factory: DatabaseProviderFactory<Provider: BlockReader>
+ StateCommitmentProvider
@ -286,12 +286,9 @@ where
+ Send
+ Sync
+ 'static,
ABP: BlindedProvider<Error = SparseTrieError> + Send + Sync + 'env,
SBP: BlindedProvider<Error = SparseTrieError> + Send + Sync + 'env,
BPF: BlindedProviderFactory<AccountNodeProvider = ABP, StorageNodeProvider = SBP>
+ Send
+ Sync
+ 'env,
BPF: BlindedProviderFactory + Send + Sync + 'env,
BPF::AccountNodeProvider: BlindedProvider + Send + Sync + 'env,
BPF::StorageNodeProvider: BlindedProvider + Send + Sync + 'env,
{
/// Creates a new state root task with the unified message channel
pub fn new(
@ -759,16 +756,17 @@ where
/// Updates the sparse trie with the given proofs and state, and returns the updated trie and the
/// time it took.
fn update_sparse_trie<
ABP: BlindedProvider<Error = SparseTrieError> + Send + Sync,
SBP: BlindedProvider<Error = SparseTrieError> + Send + Sync,
BPF: BlindedProviderFactory<AccountNodeProvider = ABP, StorageNodeProvider = SBP> + Send + Sync,
>(
fn update_sparse_trie<BPF>(
mut trie: Box<SparseStateTrie<BPF>>,
multiproof: MultiProof,
targets: MultiProofTargets,
state: HashedPostState,
) -> SparseStateTrieResult<(Box<SparseStateTrie<BPF>>, Duration)> {
) -> SparseStateTrieResult<(Box<SparseStateTrie<BPF>>, Duration)>
where
BPF: BlindedProviderFactory + Send + Sync,
BPF::AccountNodeProvider: BlindedProvider + Send + Sync,
BPF::StorageNodeProvider: BlindedProvider + Send + Sync,
{
trace!(target: "engine::root::sparse", "Updating sparse trie");
let started_at = Instant::now();