File tree Expand file tree Collapse file tree 2 files changed +13
-4
lines changed
Expand file tree Collapse file tree 2 files changed +13
-4
lines changed Original file line number Diff line number Diff line change @@ -786,8 +786,6 @@ pub fn get_tx_weights<S: StateReader>(
786786 add_maps ( & mut builtin_counters_without_casm_hash_computation, tx_builtin_counters) ;
787787 // The transaction builtin counters does not include the transaction overhead ('additional')
788788 // resources.
789- // TODO(AvivG): Builtins from `fee_transfer_call_info` are counted twice - in `os_vm_resources`
790- // and again in `tx_builtin_counters`. Remove the duplication.
791789 add_maps (
792790 & mut builtin_counters_without_casm_hash_computation,
793791 & tx_resources. computation . os_vm_resources . prover_builtins ( ) ,
Original file line number Diff line number Diff line change @@ -22,7 +22,12 @@ use starknet_api::transaction::{
2222
2323use crate :: abi:: constants as abi_constants;
2424use crate :: blockifier_versioned_constants:: VersionedConstants ;
25- use crate :: execution:: call_info:: { BuiltinCounterMap , CallInfo , SummaryWithBuiltins } ;
25+ use crate :: execution:: call_info:: {
26+ BuiltinCounterMap ,
27+ CallInfo ,
28+ ExecutionSummary ,
29+ SummaryWithBuiltins ,
30+ } ;
2631use crate :: execution:: stack_trace:: ErrorStack ;
2732use crate :: fee:: fee_checks:: FeeCheckError ;
2833use crate :: fee:: fee_utils:: get_fee_by_gas_vector;
@@ -208,6 +213,10 @@ impl TransactionExecutionInfo {
208213 . chain ( self . fee_transfer_call_info . iter ( ) )
209214 }
210215
216+ pub fn non_optional_call_infos_no_fee_transfer ( & self ) -> impl Iterator < Item = & CallInfo > {
217+ self . validate_call_info . iter ( ) . chain ( self . execute_call_info . iter ( ) )
218+ }
219+
211220 pub fn is_reverted ( & self ) -> bool {
212221 self . revert_error . is_some ( )
213222 }
@@ -222,7 +231,9 @@ impl TransactionExecutionInfo {
222231 }
223232
224233 pub fn summarize_builtins ( & self ) -> BuiltinCounterMap {
225- CallInfo :: summarize_many_builtins ( self . non_optional_call_infos ( ) )
234+ // Remove fee transfer builtins to avoid double-counting in `get_tx_weights`
235+ // in bouncer.rs (already included in os_vm_resources).
236+ CallInfo :: summarize_many_builtins ( self . non_optional_call_infos_no_fee_transfer ( ) )
226237 }
227238}
228239pub trait ExecutionResourcesTraits {
You can’t perform that action at this time.
0 commit comments