@@ -6,7 +6,6 @@ use crate::tree::{
66 prewarm:: { PrewarmCacheTask , PrewarmContext , PrewarmTaskEvent } ,
77 sparse_trie:: StateRootComputeOutcome ,
88 } ,
9- precompile_cache:: PrecompileCache ,
109 sparse_trie:: SparseTrieTask ,
1110 StateProviderBuilder , TreeConfig ,
1211} ;
@@ -39,6 +38,8 @@ use std::{
3938 } ,
4039} ;
4140
41+ use super :: precompile_cache:: PrecompileCacheMap ;
42+
4243pub mod executor;
4344pub mod multiproof;
4445pub mod prewarm;
@@ -61,8 +62,8 @@ pub struct PayloadProcessor<N, Evm> {
6162 evm_config : Evm ,
6263 /// whether precompile cache should be enabled.
6364 precompile_cache_enabled : bool ,
64- /// Precompile cache.
65- precompile_cache : PrecompileCache ,
65+ /// Precompile cache map .
66+ precompile_cache_map : PrecompileCacheMap ,
6667 _marker : std:: marker:: PhantomData < N > ,
6768}
6869
@@ -72,7 +73,7 @@ impl<N, Evm> PayloadProcessor<N, Evm> {
7273 executor : WorkloadExecutor ,
7374 evm_config : Evm ,
7475 config : & TreeConfig ,
75- precompile_cache : PrecompileCache ,
76+ precompile_cache_map : PrecompileCacheMap ,
7677 ) -> Self {
7778 Self {
7879 executor,
@@ -82,7 +83,7 @@ impl<N, Evm> PayloadProcessor<N, Evm> {
8283 disable_transaction_prewarming : config. disable_caching_and_prewarming ( ) ,
8384 evm_config,
8485 precompile_cache_enabled : config. precompile_cache_enabled ( ) ,
85- precompile_cache ,
86+ precompile_cache_map ,
8687 _marker : Default :: default ( ) ,
8788 }
8889 }
@@ -266,7 +267,7 @@ where
266267 metrics : PrewarmMetrics :: default ( ) ,
267268 terminate_execution : Arc :: new ( AtomicBool :: new ( false ) ) ,
268269 precompile_cache_enabled : self . precompile_cache_enabled ,
269- precompile_cache : self . precompile_cache . clone ( ) ,
270+ precompile_cache_map : self . precompile_cache_map . clone ( ) ,
270271 } ;
271272
272273 let prewarm_task = PrewarmCacheTask :: new (
@@ -434,13 +435,11 @@ impl ExecutionCache {
434435
435436#[ cfg( test) ]
436437mod tests {
437- use std:: sync:: Arc ;
438-
439438 use crate :: tree:: {
440439 payload_processor:: {
441440 evm_state_to_hashed_post_state, executor:: WorkloadExecutor , PayloadProcessor ,
442441 } ,
443- precompile_cache:: PrecompileCache ,
442+ precompile_cache:: PrecompileCacheMap ,
444443 StateProviderBuilder , TreeConfig ,
445444 } ;
446445 use alloy_evm:: block:: StateChangeSource ;
@@ -460,6 +459,7 @@ mod tests {
460459 use reth_trie:: { test_utils:: state_root, HashedPostState , TrieInput } ;
461460 use revm_primitives:: { Address , HashMap , B256 , KECCAK_EMPTY , U256 } ;
462461 use revm_state:: { AccountInfo , AccountStatus , EvmState , EvmStorageSlot } ;
462+ use std:: sync:: Arc ;
463463
464464 fn create_mock_state_updates ( num_accounts : usize , updates_per_account : usize ) -> Vec < EvmState > {
465465 let mut rng = generators:: rng ( ) ;
@@ -563,7 +563,7 @@ mod tests {
563563 WorkloadExecutor :: default ( ) ,
564564 EthEvmConfig :: new ( factory. chain_spec ( ) ) ,
565565 & TreeConfig :: default ( ) ,
566- PrecompileCache :: default ( ) ,
566+ PrecompileCacheMap :: default ( ) ,
567567 ) ;
568568 let provider = BlockchainProvider :: new ( factory) . unwrap ( ) ;
569569 let mut handle = payload_processor. spawn (
0 commit comments