Refactor transaction builder to create separate builders for each section.

This commit is contained in:
Kris Nuttycombe 2021-04-01 14:08:17 -06:00
parent 010a5377a9
commit 8267d06846
3 changed files with 674 additions and 509 deletions

View File

@ -8,7 +8,7 @@ use zcash_primitives::{
transaction::{
builder::Builder,
components::{amount::DEFAULT_FEE, Amount},
Transaction,
Transaction, TxVersion,
},
zip32::{ExtendedFullViewingKey, ExtendedSpendingKey},
};
@ -230,7 +230,7 @@ where
let consensus_branch_id = BranchId::for_height(params, height);
let (tx, tx_metadata) = builder
.build(consensus_branch_id, &prover)
.build(TxVersion::Sapling, consensus_branch_id, &prover)
.map_err(Error::Builder)?;
let output_index = match to {

View File

@ -479,7 +479,7 @@ mod tests {
amount::{Amount, DEFAULT_FEE},
TzeIn, TzeOut, TzeOutPoint,
},
Transaction, TransactionData,
Transaction, TransactionData, TxVersion,
},
zip32::ExtendedSpendingKey,
};
@ -693,7 +693,7 @@ mod tests {
//
let mut rng = OsRng;
let mut builder_a = Builder::new_with_rng_zfuture(TEST_NETWORK, H0, rng);
let mut builder_a = Builder::new(TEST_NETWORK, H0);
// create some inputs to spend
let extsk = ExtendedSpendingKey::master(&[]);
@ -723,7 +723,7 @@ mod tests {
.map_err(|e| format!("open failure: {:?}", e))
.unwrap();
let (tx_a, _) = builder_a
.build(BranchId::Canopy, &prover)
.build(TxVersion::ZFuture, BranchId::ZFuture, &prover)
.map_err(|e| format!("build failure: {:?}", e))
.unwrap();
@ -731,7 +731,7 @@ mod tests {
// Transfer
//
let mut builder_b = Builder::new_with_rng_zfuture(TEST_NETWORK, H0, rng);
let mut builder_b = Builder::new(TEST_NETWORK, H0);
let mut db_b = DemoBuilder {
txn_builder: &mut builder_b,
extension_id: 0,
@ -745,7 +745,7 @@ mod tests {
.map_err(|e| format!("transfer failure: {:?}", e))
.unwrap();
let (tx_b, _) = builder_b
.build(BranchId::Canopy, &prover)
.build(TxVersion::ZFuture, BranchId::ZFuture, &prover)
.map_err(|e| format!("build failure: {:?}", e))
.unwrap();
@ -753,7 +753,7 @@ mod tests {
// Closing transaction
//
let mut builder_c = Builder::new_with_rng_zfuture(TEST_NETWORK, H0, rng);
let mut builder_c = Builder::new(TEST_NETWORK, H0);
let mut db_c = DemoBuilder {
txn_builder: &mut builder_c,
extension_id: 0,
@ -774,7 +774,7 @@ mod tests {
.unwrap();
let (tx_c, _) = builder_c
.build(BranchId::Canopy, &prover)
.build(TxVersion::ZFuture, BranchId::ZFuture, &prover)
.map_err(|e| format!("build failure: {:?}", e))
.unwrap();

File diff suppressed because it is too large Load Diff