@@ -771,9 +771,6 @@ impl_tx_builder_trait!(UpgradeTransactionBuilder, UpgradeTransaction);
771771
772772impl ScriptTransactionBuilder {
773773 async fn build ( mut self , provider : impl DryRunner ) -> Result < ScriptTransaction > {
774- let consensus_parameters = provider. consensus_parameters ( ) . await ?;
775- self . intercept_burn ( consensus_parameters. base_asset_id ( ) ) ?;
776-
777774 let is_using_predicates = self . is_using_predicates ( ) ;
778775
779776 let tx = match self . build_strategy {
@@ -792,13 +789,8 @@ impl ScriptTransactionBuilder {
792789 fee_index,
793790 } => {
794791 let required_balances = std:: mem:: take ( required_balances) ;
795- self . assemble_tx (
796- required_balances,
797- fee_index,
798- & consensus_parameters,
799- provider,
800- )
801- . await ?
792+ self . assemble_tx ( required_balances, fee_index, provider)
793+ . await ?
802794 }
803795 } ;
804796
@@ -812,9 +804,10 @@ impl ScriptTransactionBuilder {
812804 self ,
813805 required_balances : Vec < RequiredBalance > ,
814806 fee_index : u16 ,
815- consensus_parameters : & ConsensusParameters ,
816807 dry_runner : impl DryRunner ,
817808 ) -> Result < Script > {
809+ let consensus_parameters = dry_runner. consensus_parameters ( ) . await ?;
810+
818811 let tx = FuelTransaction :: script (
819812 0 , // default value - will be overwritten
820813 self . script . clone ( ) ,
@@ -897,6 +890,9 @@ impl ScriptTransactionBuilder {
897890 }
898891
899892 async fn resolve_fuel_tx ( self , dry_runner : impl DryRunner ) -> Result < Script > {
893+ let consensus_parameters = dry_runner. consensus_parameters ( ) . await ?;
894+ self . intercept_burn ( consensus_parameters. base_asset_id ( ) ) ?;
895+
900896 let predefined_witnesses = self . witnesses . clone ( ) ;
901897 let mut script_tx_estimator = self . script_tx_estimator ( predefined_witnesses, & dry_runner) ;
902898
@@ -949,6 +945,9 @@ impl ScriptTransactionBuilder {
949945 }
950946
951947 async fn resolve_fuel_tx_for_state_reading ( self , dry_runner : impl DryRunner ) -> Result < Script > {
948+ let consensus_parameters = dry_runner. consensus_parameters ( ) . await ?;
949+ self . intercept_burn ( consensus_parameters. base_asset_id ( ) ) ?;
950+
952951 let predefined_witnesses = self . witnesses . clone ( ) ;
953952 let mut script_tx_estimator = self . script_tx_estimator ( predefined_witnesses, & dry_runner) ;
954953
@@ -1207,9 +1206,6 @@ fn add_variable_outputs(tx: &mut fuel_tx::Script, variable_outputs: usize) {
12071206
12081207impl CreateTransactionBuilder {
12091208 pub async fn build ( mut self , provider : impl DryRunner ) -> Result < CreateTransaction > {
1210- let consensus_parameters = provider. consensus_parameters ( ) . await ?;
1211- self . intercept_burn ( consensus_parameters. base_asset_id ( ) ) ?;
1212-
12131209 let is_using_predicates = self . is_using_predicates ( ) ;
12141210
12151211 let tx = match self . build_strategy {
@@ -1224,13 +1220,8 @@ impl CreateTransactionBuilder {
12241220 fee_index,
12251221 } => {
12261222 let required_balances = std:: mem:: take ( required_balances) ;
1227- self . assemble_tx (
1228- required_balances,
1229- fee_index,
1230- & consensus_parameters,
1231- provider,
1232- )
1233- . await ?
1223+ self . assemble_tx ( required_balances, fee_index, provider)
1224+ . await ?
12341225 }
12351226 } ;
12361227
@@ -1244,9 +1235,9 @@ impl CreateTransactionBuilder {
12441235 self ,
12451236 required_balances : Vec < RequiredBalance > ,
12461237 fee_index : u16 ,
1247- consensus_parameters : & ConsensusParameters ,
12481238 dry_runner : impl DryRunner ,
12491239 ) -> Result < Create > {
1240+ let consensus_parameters = dry_runner. consensus_parameters ( ) . await ?;
12501241 let num_witnesses = self . num_witnesses ( ) ?;
12511242
12521243 let tx = FuelTransaction :: create (
@@ -1311,7 +1302,10 @@ impl CreateTransactionBuilder {
13111302 }
13121303
13131304 async fn resolve_fuel_tx ( self , provider : impl DryRunner ) -> Result < Create > {
1314- let chain_id = provider. consensus_parameters ( ) . await ?. chain_id ( ) ;
1305+ let consensus_parameters = provider. consensus_parameters ( ) . await ?;
1306+ self . intercept_burn ( consensus_parameters. base_asset_id ( ) ) ?;
1307+
1308+ let chain_id = consensus_parameters. chain_id ( ) ;
13151309 let num_witnesses = self . num_witnesses ( ) ?;
13161310 let policies = self . generate_fuel_policies ( ) ?;
13171311 let is_using_predicates = self . is_using_predicates ( ) ;
@@ -1406,9 +1400,6 @@ impl CreateTransactionBuilder {
14061400
14071401impl UploadTransactionBuilder {
14081402 pub async fn build ( mut self , provider : impl DryRunner ) -> Result < UploadTransaction > {
1409- let consensus_parameters = provider. consensus_parameters ( ) . await ?;
1410- self . intercept_burn ( consensus_parameters. base_asset_id ( ) ) ?;
1411-
14121403 let is_using_predicates = self . is_using_predicates ( ) ;
14131404
14141405 let tx = match self . build_strategy {
@@ -1423,13 +1414,8 @@ impl UploadTransactionBuilder {
14231414 fee_index,
14241415 } => {
14251416 let required_balances = std:: mem:: take ( required_balances) ;
1426- self . assemble_tx (
1427- required_balances,
1428- fee_index,
1429- & consensus_parameters,
1430- provider,
1431- )
1432- . await ?
1417+ self . assemble_tx ( required_balances, fee_index, provider)
1418+ . await ?
14331419 }
14341420 } ;
14351421
@@ -1443,9 +1429,10 @@ impl UploadTransactionBuilder {
14431429 self ,
14441430 required_balances : Vec < RequiredBalance > ,
14451431 fee_index : u16 ,
1446- consensus_parameters : & ConsensusParameters ,
14471432 dry_runner : impl DryRunner ,
14481433 ) -> Result < Upload > {
1434+ let consensus_parameters = dry_runner. consensus_parameters ( ) . await ?;
1435+
14491436 let num_witnesses = self . num_witnesses ( ) ?;
14501437 let policies = self . generate_fuel_policies_assemble ( ) ;
14511438
@@ -1515,7 +1502,10 @@ impl UploadTransactionBuilder {
15151502 }
15161503
15171504 async fn resolve_fuel_tx ( self , provider : impl DryRunner ) -> Result < Upload > {
1518- let chain_id = provider. consensus_parameters ( ) . await ?. chain_id ( ) ;
1505+ let consensus_parameters = provider. consensus_parameters ( ) . await ?;
1506+ self . intercept_burn ( consensus_parameters. base_asset_id ( ) ) ?;
1507+
1508+ let chain_id = consensus_parameters. chain_id ( ) ;
15191509 let num_witnesses = self . num_witnesses ( ) ?;
15201510 let policies = self . generate_fuel_policies ( ) ?;
15211511 let is_using_predicates = self . is_using_predicates ( ) ;
@@ -1621,10 +1611,8 @@ impl UploadTransactionBuilder {
16211611
16221612impl UpgradeTransactionBuilder {
16231613 pub async fn build ( mut self , provider : impl DryRunner ) -> Result < UpgradeTransaction > {
1624- let consensus_parameters = provider. consensus_parameters ( ) . await ?;
1625- self . intercept_burn ( consensus_parameters. base_asset_id ( ) ) ?;
1626-
16271614 let is_using_predicates = self . is_using_predicates ( ) ;
1615+
16281616 let tx = match self . build_strategy {
16291617 Strategy :: Complete => self . resolve_fuel_tx ( & provider) . await ?,
16301618 Strategy :: NoSignatures => {
@@ -1637,13 +1625,8 @@ impl UpgradeTransactionBuilder {
16371625 fee_index,
16381626 } => {
16391627 let required_balances = std:: mem:: take ( required_balances) ;
1640- self . assemble_tx (
1641- required_balances,
1642- fee_index,
1643- & consensus_parameters,
1644- provider,
1645- )
1646- . await ?
1628+ self . assemble_tx ( required_balances, fee_index, provider)
1629+ . await ?
16471630 }
16481631 } ;
16491632 Ok ( UpgradeTransaction {
@@ -1656,9 +1639,10 @@ impl UpgradeTransactionBuilder {
16561639 self ,
16571640 required_balances : Vec < RequiredBalance > ,
16581641 fee_index : u16 ,
1659- consensus_parameters : & ConsensusParameters ,
16601642 dry_runner : impl DryRunner ,
16611643 ) -> Result < Upgrade > {
1644+ let consensus_parameters = dry_runner. consensus_parameters ( ) . await ?;
1645+
16621646 let num_witnesses = self . num_witnesses ( ) ?;
16631647 let policies = self . generate_fuel_policies_assemble ( ) ;
16641648
@@ -1687,7 +1671,7 @@ impl UpgradeTransactionBuilder {
16871671 _ => {
16881672 return Err ( error_transaction ! (
16891673 Builder ,
1690- "`asseble_tx` did not return the right transaction type. Expected `upgrade`"
1674+ "`asseble_tx` did not return the right transactio type. Expected `upgrade`"
16911675 ) ) ;
16921676 }
16931677 } ;
@@ -1722,7 +1706,10 @@ impl UpgradeTransactionBuilder {
17221706 }
17231707
17241708 async fn resolve_fuel_tx ( self , provider : impl DryRunner ) -> Result < Upgrade > {
1725- let chain_id = provider. consensus_parameters ( ) . await ?. chain_id ( ) ;
1709+ let consensus_parameters = provider. consensus_parameters ( ) . await ?;
1710+ self . intercept_burn ( consensus_parameters. base_asset_id ( ) ) ?;
1711+
1712+ let chain_id = consensus_parameters. chain_id ( ) ;
17261713 let num_witnesses = self . num_witnesses ( ) ?;
17271714 let policies = self . generate_fuel_policies ( ) ?;
17281715 let is_using_predicates = self . is_using_predicates ( ) ;
0 commit comments