diff --git a/src/contract/test-harness/src/dao_exec.rs b/src/contract/test-harness/src/dao_exec.rs index 4ecb3f97a..9eae646ce 100644 --- a/src/contract/test-harness/src/dao_exec.rs +++ b/src/contract/test-harness/src/dao_exec.rs @@ -18,7 +18,10 @@ use std::time::Instant; -use darkfi::{tx::Transaction, Result}; +use darkfi::{ + tx::{ContractCallLeaf, Transaction, TransactionBuilder}, + Result, +}; use darkfi_dao_contract::{ client::DaoExecCall, model::{Dao, DaoBulla, DaoExecParams, DaoProposal}, @@ -161,11 +164,13 @@ impl TestHarness { exec_params.encode(&mut data)?; let exec_call = ContractCall { contract_id: *DAO_CONTRACT_ID, data }; - let mut tx = Transaction { - calls: vec![xfer_call, exec_call], - proofs: vec![xfer_secrets.proofs, exec_proofs], - signatures: vec![], - }; + let mut tx_builder = TransactionBuilder::new( + ContractCallLeaf { call: exec_call, proofs: exec_proofs }, + vec![], + ); + tx_builder + .append(ContractCallLeaf { call: xfer_call, proofs: xfer_secrets.proofs }, vec![])?; + let mut tx = tx_builder.build()?; let xfer_sigs = tx.create_sigs(&mut OsRng, &xfer_secrets.signature_secrets)?; let exec_sigs = tx.create_sigs(&mut OsRng, &[exec_signature_secret])?; tx.signatures = vec![xfer_sigs, exec_sigs]; diff --git a/src/contract/test-harness/src/dao_mint.rs b/src/contract/test-harness/src/dao_mint.rs index 361289d1e..a29f6124a 100644 --- a/src/contract/test-harness/src/dao_mint.rs +++ b/src/contract/test-harness/src/dao_mint.rs @@ -18,7 +18,10 @@ use std::time::Instant; -use darkfi::{tx::Transaction, Result}; +use darkfi::{ + tx::{ContractCallLeaf, Transaction, TransactionBuilder}, + Result, +}; use darkfi_dao_contract::{ client, model::{Dao, DaoMintParams}, @@ -50,9 +53,9 @@ impl TestHarness { let mut data = vec![DaoFunction::Mint as u8]; params.encode(&mut data)?; - let calls = vec![ContractCall { contract_id: *DAO_CONTRACT_ID, data }]; - let proofs = vec![proofs]; - let mut tx = Transaction { calls, proofs, signatures: vec![] }; + let call = ContractCall { contract_id: *DAO_CONTRACT_ID, data }; + let mut tx_builder = TransactionBuilder::new(ContractCallLeaf { call, proofs }, vec![]); + let mut tx = tx_builder.build()?; let sigs = tx.create_sigs(&mut OsRng, &[dao_kp.secret])?; tx.signatures = vec![sigs]; tx_action_benchmark.creation_times.push(timer.elapsed()); diff --git a/src/contract/test-harness/src/dao_propose.rs b/src/contract/test-harness/src/dao_propose.rs index b4a354f6d..81587a7a1 100644 --- a/src/contract/test-harness/src/dao_propose.rs +++ b/src/contract/test-harness/src/dao_propose.rs @@ -18,7 +18,10 @@ use std::time::Instant; -use darkfi::{tx::Transaction, Result}; +use darkfi::{ + tx::{ContractCallLeaf, Transaction, TransactionBuilder}, + Result, +}; use darkfi_dao_contract::{ client::{DaoProposeCall, DaoProposeStakeInput}, model::{Dao, DaoBulla, DaoProposal, DaoProposeParams}, @@ -110,9 +113,9 @@ impl TestHarness { let mut data = vec![DaoFunction::Propose as u8]; params.encode(&mut data)?; - let calls = vec![ContractCall { contract_id: *DAO_CONTRACT_ID, data }]; - let proofs = vec![proofs]; - let mut tx = Transaction { calls, proofs, signatures: vec![] }; + let call = ContractCall { contract_id: *DAO_CONTRACT_ID, data }; + let mut tx_builder = TransactionBuilder::new(ContractCallLeaf { call, proofs }, vec![]); + let mut tx = tx_builder.build()?; let sigs = tx.create_sigs(&mut OsRng, &[signature_secret])?; tx.signatures = vec![sigs]; tx_action_benchmark.creation_times.push(timer.elapsed()); diff --git a/src/contract/test-harness/src/dao_vote.rs b/src/contract/test-harness/src/dao_vote.rs index be35cdf15..f2e2b5fef 100644 --- a/src/contract/test-harness/src/dao_vote.rs +++ b/src/contract/test-harness/src/dao_vote.rs @@ -18,7 +18,10 @@ use std::time::Instant; -use darkfi::{tx::Transaction, Result}; +use darkfi::{ + tx::{ContractCallLeaf, Transaction, TransactionBuilder}, + Result, +}; use darkfi_dao_contract::{ client::{DaoVoteCall, DaoVoteInput}, model::{Dao, DaoProposal, DaoProposalBulla, DaoVoteParams}, @@ -93,9 +96,9 @@ impl TestHarness { let mut data = vec![DaoFunction::Vote as u8]; params.encode(&mut data)?; - let calls = vec![ContractCall { contract_id: *DAO_CONTRACT_ID, data }]; - let proofs = vec![proofs]; - let mut tx = Transaction { calls, proofs, signatures: vec![] }; + let call = ContractCall { contract_id: *DAO_CONTRACT_ID, data }; + let mut tx_builder = TransactionBuilder::new(ContractCallLeaf { call, proofs }, vec![]); + let mut tx = tx_builder.build()?; let sigs = tx.create_sigs(&mut OsRng, &[signature_secret])?; tx.signatures = vec![sigs]; tx_action_benchmark.creation_times.push(timer.elapsed());