Skip to content

Commit e972597

Browse files
blockifier: add constructor logic to state reader and contract manager (#10301)
1 parent 8629853 commit e972597

File tree

5 files changed

+33
-23
lines changed

5 files changed

+33
-23
lines changed

crates/apollo_batcher/src/block_builder.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -725,11 +725,11 @@ impl BlockBuilderFactory {
725725
let class_reader = Some(ClassReader { reader: self.class_manager_client.clone(), runtime });
726726
let apollo_reader =
727727
ApolloReader::new_with_class_reader(self.storage_reader.clone(), height, class_reader);
728-
let state_reader = StateReaderAndContractManager {
729-
state_reader: apollo_reader,
730-
contract_class_manager: self.contract_class_manager.clone(),
731-
class_cache_metrics: BATCHER_CLASS_CACHE_METRICS,
732-
};
728+
let state_reader = StateReaderAndContractManager::new(
729+
apollo_reader,
730+
self.contract_class_manager.clone(),
731+
BATCHER_CLASS_CACHE_METRICS,
732+
);
733733

734734
let executor = ConcurrentTransactionExecutor::start_block(
735735
state_reader,

crates/apollo_gateway/src/stateful_transaction_validator.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -80,11 +80,11 @@ impl StatefulTransactionValidatorFactoryTrait for StatefulTransactionValidatorFa
8080
})?;
8181
let latest_block_info = get_latest_block_info(&state_reader)?;
8282

83-
let state_reader_and_contract_manager = StateReaderAndContractManager {
83+
let state_reader_and_contract_manager = StateReaderAndContractManager::new(
8484
state_reader,
85-
contract_class_manager: self.contract_class_manager.clone(),
86-
class_cache_metrics: GATEWAY_CLASS_CACHE_METRICS,
87-
};
85+
self.contract_class_manager.clone(),
86+
GATEWAY_CLASS_CACHE_METRICS,
87+
);
8888

8989
let state = CachedState::new(state_reader_and_contract_manager);
9090
let mut versioned_constants = VersionedConstants::get_versioned_constants(

crates/blockifier/src/state/state_reader_and_contract_manager.rs

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,18 @@ pub trait FetchCompiledClasses: StateReader {
2020

2121
pub struct StateReaderAndContractManager<S: FetchCompiledClasses> {
2222
pub state_reader: S,
23-
pub contract_class_manager: ContractClassManager,
24-
pub class_cache_metrics: CacheMetrics,
23+
contract_class_manager: ContractClassManager,
24+
class_cache_metrics: CacheMetrics,
25+
}
26+
27+
impl<S: FetchCompiledClasses> StateReaderAndContractManager<S> {
28+
pub fn new(
29+
state_reader: S,
30+
contract_class_manager: ContractClassManager,
31+
class_cache_metrics: CacheMetrics,
32+
) -> Self {
33+
Self { state_reader, contract_class_manager, class_cache_metrics }
34+
}
2535
}
2636

2737
impl<S: FetchCompiledClasses> StateReaderAndContractManager<S> {

crates/blockifier/src/test_utils/initial_test_state.rs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -200,12 +200,12 @@ pub fn test_state_inner_with_contract_manager(
200200
}
201201

202202
pub fn state_reader_and_contract_manager_for_testing<Reader: FetchCompiledClasses>(
203-
reader: Reader,
204-
manager: ContractClassManager,
203+
state_reader: Reader,
204+
contract_class_manager: ContractClassManager,
205205
) -> StateReaderAndContractManager<Reader> {
206-
StateReaderAndContractManager {
207-
state_reader: reader,
208-
contract_class_manager: manager,
209-
class_cache_metrics: BLOCKIFIER_CLASS_CACHE_METRICS,
210-
}
206+
StateReaderAndContractManager::new(
207+
state_reader,
208+
contract_class_manager,
209+
BLOCKIFIER_CLASS_CACHE_METRICS,
210+
)
211211
}

crates/native_blockifier/src/py_block_executor.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -428,11 +428,11 @@ impl PyBlockExecutor {
428428
self.storage.validate_aligned(next_block_number.0);
429429
let apollo_reader = ApolloReader::new(self.storage.reader().clone(), next_block_number);
430430

431-
StateReaderAndContractManager {
432-
state_reader: apollo_reader,
433-
contract_class_manager: self.contract_class_manager.clone(),
434-
class_cache_metrics: NATIVE_BLOCKIFIER_CLASS_CACHE_METRICS,
435-
}
431+
StateReaderAndContractManager::new(
432+
apollo_reader,
433+
self.contract_class_manager.clone(),
434+
NATIVE_BLOCKIFIER_CLASS_CACHE_METRICS,
435+
)
436436
}
437437

438438
pub fn create_for_testing_with_storage(storage: impl Storage + Send + 'static) -> Self {

0 commit comments

Comments
 (0)