contract/test-harness: integrated new TransactionBuilder to dao builders

This commit is contained in:
aggstam
2023-12-18 15:07:01 +02:00
parent 9d8fdb0c3a
commit 11657ca7bb
4 changed files with 32 additions and 18 deletions

View File

@@ -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];

View File

@@ -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());

View File

@@ -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());

View File

@@ -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());