Skip to content

Commit 1aeb828

Browse files
authored
Remove duplicated resources from UsedResources (#3778)
[Refactor only] We do not need to additionally store VM resources and gas consumed as they are already present in `ExecutionSummary`.
1 parent c851f3f commit 1aeb828

File tree

5 files changed

+15
-13
lines changed

5 files changed

+15
-13
lines changed

crates/cheatnet/src/runtime_extensions/call_to_blockifier_runtime_extension/rpc.rs

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,9 @@ use blockifier::execution::{
1515
entry_point::CallEntryPoint, syscalls::vm_syscall_utils::SyscallUsageMap,
1616
};
1717
use blockifier::state::errors::StateError;
18-
use cairo_vm::vm::runners::cairo_runner::ExecutionResources;
1918
use conversions::{byte_array::ByteArray, serde::serialize::CairoSerialize, string::IntoHexStr};
2019
use shared::utils::build_readable_text;
2120
use starknet_api::core::EntryPointSelector;
22-
use starknet_api::execution_resources::GasAmount;
2321
use starknet_api::{
2422
contract_class::EntryPointType,
2523
core::{ClassHash, ContractAddress},
@@ -29,8 +27,6 @@ use starknet_types_core::felt::Felt;
2927
#[derive(Clone, Debug, Default)]
3028
pub struct UsedResources {
3129
pub syscall_usage: SyscallUsageMap,
32-
pub execution_resources: ExecutionResources,
33-
pub gas_consumed: GasAmount,
3430
pub execution_summary: ExecutionSummary,
3531
pub l1_handler_payload_lengths: Vec<usize>,
3632
}

crates/cheatnet/src/runtime_extensions/forge_runtime_extension/mod.rs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,6 @@ use runtime::{
4242
};
4343
use scarb_oracle_hint_service::OracleHintService;
4444
use starknet::signers::SigningKey;
45-
use starknet_api::execution_resources::GasAmount;
4645
use starknet_api::{contract_class::EntryPointType::L1Handler, core::ClassHash};
4746
use starknet_types_core::felt::Felt;
4847
use std::cell::RefCell;
@@ -785,12 +784,11 @@ pub fn get_all_used_resources(
785784

786785
let l1_handler_payload_lengths = get_l1_handlers_payloads_lengths(&call_info.inner_calls);
787786

787+
// Syscalls are used only for `--detailed-resources` output.
788788
let top_call_syscalls = trace.borrow().get_total_used_syscalls();
789789

790790
UsedResources {
791791
syscall_usage: top_call_syscalls,
792-
execution_resources: call_info.resources.clone(),
793-
gas_consumed: GasAmount::from(call_info.execution.gas_consumed),
794792
execution_summary: summary,
795793
l1_handler_payload_lengths,
796794
}

crates/forge-runner/src/gas.rs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,13 +40,17 @@ pub fn calculate_used_gas(
4040
state: state_resources,
4141
};
4242
let computation_resources = ComputationResources {
43-
tx_vm_resources: resources.execution_resources.clone(),
43+
tx_vm_resources: resources
44+
.execution_summary
45+
.charged_resources
46+
.vm_resources
47+
.clone(),
4448
// OS resources (transaction type related costs) and fee transfer resources are not included
4549
// as they are not relevant for test execution (see documentation for details):
4650
// https://github.com/foundry-rs/starknet-foundry/blob/979caf23c5d1085349e253d75682dd0e2527e321/docs/src/testing/gas-and-resource-estimation.md?plain=1#L75
4751
os_vm_resources: ExecutionResources::default(),
4852
n_reverted_steps: 0, // TODO(#3681)
49-
sierra_gas: resources.gas_consumed,
53+
sierra_gas: resources.execution_summary.charged_resources.gas_consumed,
5054
reverted_sierra_gas: GasAmount::ZERO, // TODO(#3681)
5155
};
5256

crates/forge-runner/src/messages.rs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,9 @@ fn format_detailed_resources(
176176
};
177177

178178
let syscalls = format_items(&syscall_usage);
179-
let vm_resources_output = format_vm_resources(&used_resources.execution_resources);
179+
180+
let charged_resources = &used_resources.execution_summary.charged_resources;
181+
let vm_resources_output = format_vm_resources(&charged_resources.vm_resources);
180182

181183
match tracked_resource {
182184
ForgeTrackedResource::CairoSteps => {
@@ -191,10 +193,10 @@ fn format_detailed_resources(
191193
"
192194
sierra_gas_consumed: {}
193195
syscalls: ({syscalls})",
194-
used_resources.gas_consumed.0
196+
charged_resources.gas_consumed.0
195197
);
196198

197-
if used_resources.execution_resources != ExecutionResources::default() {
199+
if charged_resources.vm_resources != ExecutionResources::default() {
198200
output.push_str(&vm_resources_output);
199201
}
200202
output.push('\n');

crates/forge/test_utils/src/runner.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -395,7 +395,9 @@ pub fn assert_builtin(
395395
AnyTestCaseSummary::Single(case) => match case {
396396
TestCaseSummary::Passed { used_resources, .. } => {
397397
used_resources
398-
.execution_resources
398+
.execution_summary
399+
.charged_resources
400+
.vm_resources
399401
.builtin_instance_counter
400402
.get(&builtin)
401403
.unwrap_or(&0)

0 commit comments

Comments
 (0)