@@ -11,6 +11,7 @@ use apollo_mempool_types::communication::SharedMempoolClient;
1111use apollo_mempool_types:: mempool_types:: ValidationArgs ;
1212use apollo_proc_macros:: sequencer_latency_histogram;
1313use async_trait:: async_trait;
14+ use blockifier:: blockifier:: config:: NativeClassesWhitelist ;
1415use blockifier:: blockifier:: stateful_validator:: { StatefulValidator , StatefulValidatorTrait } ;
1516use blockifier:: blockifier_versioned_constants:: VersionedConstants ;
1617use blockifier:: bouncer:: BouncerConfig ;
@@ -46,6 +47,7 @@ pub trait StatefulTransactionValidatorFactoryTrait: Send + Sync {
4647
4748 async fn instantiate_validator (
4849 & self ,
50+ native_classes_whitelist : NativeClassesWhitelist ,
4951 ) -> StatefulTransactionValidatorResult < Box < Self :: Validator > > ;
5052}
5153
@@ -59,6 +61,7 @@ mockall::mock! {
5961
6062 async fn instantiate_validator(
6163 & self ,
64+ native_classes_whitelist: NativeClassesWhitelist ,
6265 ) -> StatefulTransactionValidatorResult <Box <MockStatefulTransactionValidatorTrait >>;
6366 }
6467}
@@ -82,6 +85,7 @@ impl<TStateReaderFactory: StateReaderFactory> StatefulTransactionValidatorFactor
8285
8386 async fn instantiate_validator (
8487 & self ,
88+ native_classes_whitelist : NativeClassesWhitelist ,
8589 ) -> StatefulTransactionValidatorResult < Box < Self :: Validator > > {
8690 // TODO(yael 6/5/2024): consider storing the block_info as part of the
8791 // StatefulTransactionValidator and update it only once a new block is created.
@@ -98,11 +102,13 @@ impl<TStateReaderFactory: StateReaderFactory> StatefulTransactionValidatorFactor
98102 e,
99103 )
100104 } ) ?;
101- let state_reader_and_contract_manager = StateReaderAndContractManager :: new (
102- blockifier_state_reader,
103- self . contract_class_manager . clone ( ) ,
104- Some ( GATEWAY_CLASS_CACHE_METRICS ) ,
105- ) ;
105+ let state_reader_and_contract_manager =
106+ StateReaderAndContractManager :: new_with_native_classes_whitelist (
107+ blockifier_state_reader,
108+ self . contract_class_manager . clone ( ) ,
109+ native_classes_whitelist,
110+ Some ( GATEWAY_CLASS_CACHE_METRICS ) ,
111+ ) ;
106112
107113 Ok ( Box :: new ( StatefulTransactionValidator :: new (
108114 self . config . clone ( ) ,
0 commit comments