Skip to content

Commit fe25035

Browse files
blockifier: add CallInfo::new (#14007)
1 parent 10a76d2 commit fe25035

3 files changed

Lines changed: 42 additions & 18 deletions

File tree

crates/apollo_consensus_orchestrator/src/cende/central_objects_test.rs

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -532,8 +532,8 @@ fn build_call_info(include_opcodes: bool) -> CallInfo {
532532
let extended_execution_resources = extended_execution_resources(include_opcodes);
533533
let builtin_counters = extended_execution_resources.prover_cairo_primitives();
534534

535-
CallInfo {
536-
call: CallEntryPoint {
535+
CallInfo::new(
536+
CallEntryPoint {
537537
class_hash: Some(ClassHash(felt!("0x80020000"))),
538538
code_address: Some(contract_address!("0x40070000")),
539539
entry_point_type: EntryPointType::External,
@@ -551,7 +551,7 @@ fn build_call_info(include_opcodes: bool) -> CallInfo {
551551
call_type: CallType::Call,
552552
initial_gas: 100_000_000,
553553
},
554-
execution: CallExecution {
554+
CallExecution {
555555
retdata: Retdata(vec![felt!("0x56414c4944")]),
556556
events: vec![OrderedEvent {
557557
order: 2,
@@ -571,10 +571,10 @@ fn build_call_info(include_opcodes: bool) -> CallInfo {
571571
gas_consumed: 11_690,
572572
cairo_native: false,
573573
},
574-
inner_calls: Vec::new(),
575-
resources: extended_execution_resources,
576-
tracked_resource: TrackedResource::SierraGas,
577-
storage_access_tracker: StorageAccessTracker {
574+
Vec::new(),
575+
extended_execution_resources,
576+
TrackedResource::SierraGas,
577+
StorageAccessTracker {
578578
storage_read_values: felt_vector(),
579579
accessed_storage_keys: HashSet::from([StorageKey::from(1_u128)]),
580580
read_class_hash_values: vec![ClassHash(felt!("0x80020000"))],
@@ -583,14 +583,13 @@ fn build_call_info(include_opcodes: bool) -> CallInfo {
583583
accessed_blocks: HashSet::from([BlockNumber(100)]),
584584
},
585585
builtin_counters,
586-
syscalls_usage: HashMap::from([
586+
HashMap::from([
587587
(SyscallSelector::CallContract, SyscallUsage { call_count: 7, linear_factor: 0 }),
588588
(SyscallSelector::StorageRead, SyscallUsage { call_count: 4, linear_factor: 0 }),
589589
(SyscallSelector::StorageWrite, SyscallUsage { call_count: 4, linear_factor: 0 }),
590590
(SyscallSelector::EmitEvent, SyscallUsage { call_count: 2, linear_factor: 0 }),
591591
]),
592-
..Default::default()
593-
}
592+
)
594593
}
595594

596595
fn transaction_execution_info() -> TransactionExecutionInfo {

crates/blockifier/src/execution/call_info.rs

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -462,6 +462,32 @@ pub struct CallInfo {
462462
}
463463

464464
impl CallInfo {
465+
/// Utility method to create an instance with a default Self::time field, if it exists.
466+
#[expect(clippy::too_many_arguments)]
467+
pub fn new(
468+
call: CallEntryPoint,
469+
execution: CallExecution,
470+
inner_calls: Vec<CallInfo>,
471+
resources: ExtendedExecutionResources,
472+
tracked_resource: TrackedResource,
473+
storage_access_tracker: StorageAccessTracker,
474+
builtin_counters: CairoPrimitiveCounterMap,
475+
syscalls_usage: SyscallUsageMap,
476+
) -> Self {
477+
Self {
478+
call,
479+
execution,
480+
inner_calls,
481+
resources,
482+
tracked_resource,
483+
storage_access_tracker,
484+
builtin_counters,
485+
syscalls_usage,
486+
#[cfg(feature = "benchmarking")]
487+
time: Default::default(),
488+
}
489+
}
490+
465491
pub fn iter(&self) -> CallInfoIter<'_> {
466492
let call_infos = vec![self];
467493
CallInfoIter { call_infos }

crates/starknet_committer_and_os_cli/src/block_hash_cli/tests/objects.rs

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -213,20 +213,19 @@ fn create_call_info(
213213
execution: CallExecution,
214214
inner_calls: Vec<CallInfo>,
215215
) -> CallInfo {
216-
CallInfo {
216+
CallInfo::new(
217217
call,
218218
execution,
219219
inner_calls,
220-
resources: create_execution_resources(1000, 0, 10, 5, 3),
221-
tracked_resource: blockifier::execution::contract_class::TrackedResource::CairoSteps,
222-
storage_access_tracker: Default::default(),
223-
builtin_counters: cairo_primitive_counter_map([
220+
create_execution_resources(1000, 0, 10, 5, 3),
221+
blockifier::execution::contract_class::TrackedResource::CairoSteps,
222+
Default::default(),
223+
cairo_primitive_counter_map([
224224
(cairo_vm::types::builtin_name::BuiltinName::range_check, 10),
225225
(cairo_vm::types::builtin_name::BuiltinName::pedersen, 5),
226226
]),
227-
syscalls_usage: HashMap::new(),
228-
..Default::default()
229-
}
227+
HashMap::new(),
228+
)
230229
}
231230

232231
/// Helper function to create [TransactionResources].

0 commit comments

Comments
 (0)