@@ -711,10 +711,6 @@ def _get_group_execution_info(
711711 f"Required for transactions: { ', ' .join (str (i ) for i in app_call_indexes_without_max_fees )} "
712712 )
713713
714- # Get fee parameters
715- per_byte_txn_fee = suggested_params .fee if suggested_params else 0
716- min_txn_fee = int (suggested_params .min_fee ) if suggested_params else 1000 # type: ignore[unused-ignore]
717-
718714 # Simulate transactions
719715 result = empty_signer_atc .simulate (algod , simulate_request )
720716
@@ -739,8 +735,8 @@ def _get_group_execution_info(
739735 required_fee_delta = _calculate_required_fee_delta (
740736 original_txn ,
741737 txn_result ,
742- per_byte_txn_fee = per_byte_txn_fee ,
743- min_txn_fee = min_txn_fee ,
738+ per_byte_txn_fee = suggested_params . fee if suggested_params else 0 ,
739+ min_txn_fee = int ( suggested_params . min_fee ) if suggested_params else 1000 ,
744740 )
745741
746742 txn_results .append (
@@ -791,14 +787,18 @@ def _handle_simulation_error(
791787
792788
793789def _calculate_required_fee_delta (
794- original_txn : transaction .Transaction , txn_result : dict [str , Any ], * , per_byte_txn_fee : int , min_txn_fee : int
790+ txn : transaction .Transaction , txn_result : dict [str , Any ], * , per_byte_txn_fee : int , min_txn_fee : int
795791) -> int :
796792 # Calculate parent transaction fee
797- parent_per_byte_fee = per_byte_txn_fee * (original_txn .estimate_size () + 75 )
793+ original_txn_size = txn .estimate_size ()
794+ assert isinstance (original_txn_size , int ), "expected txn size to be an int"
795+ parent_per_byte_fee = per_byte_txn_fee * (original_txn_size + 75 )
798796 parent_min_fee = max (parent_per_byte_fee , min_txn_fee )
799- parent_fee_delta = parent_min_fee - original_txn .fee
797+ original_txn_fee = txn .fee
798+ assert isinstance (original_txn_fee , int ), "expected original txn fee to be an int"
799+ parent_fee_delta = parent_min_fee - original_txn_fee
800800
801- if isinstance (original_txn , algosdk .transaction .ApplicationCallTxn ):
801+ if isinstance (txn , algosdk .transaction .ApplicationCallTxn ):
802802 # Calculate inner transaction fees recursively
803803 def calculate_inner_fee_delta (inner_txns : list [dict ], acc : int = 0 ) -> int :
804804 for inner_txn in reversed (inner_txns ):
0 commit comments