From 2d30c29d0651556f9be8fbe08414e7b51fa529bf Mon Sep 17 00:00:00 2001 From: Jack Grigg Date: Sat, 8 Feb 2020 00:37:31 +0000 Subject: [PATCH] Pass &impl TxProver to Builder::build This allows the caller to build multiple transactions with a single proving backend. --- zcash_primitives/src/transaction/builder.rs | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/zcash_primitives/src/transaction/builder.rs b/zcash_primitives/src/transaction/builder.rs index ba2be5b38..9acb996d4 100644 --- a/zcash_primitives/src/transaction/builder.rs +++ b/zcash_primitives/src/transaction/builder.rs @@ -435,7 +435,7 @@ impl Builder { pub fn build( mut self, consensus_branch_id: consensus::BranchId, - prover: impl TxProver, + prover: &impl TxProver, ) -> Result<(Transaction, TransactionMetadata), Error> { let mut tx_metadata = TransactionMetadata::new(); @@ -558,7 +558,7 @@ impl Builder { // Record the post-randomized output location tx_metadata.output_indices[pos] = i; - output.build(&prover, &mut ctx, &mut self.rng) + output.build(prover, &mut ctx, &mut self.rng) } else { // This is a dummy output let (dummy_to, dummy_note) = { @@ -718,7 +718,7 @@ mod tests { { let builder = Builder::new(0); assert_eq!( - builder.build(consensus::BranchId::Sapling, MockTxProver), + builder.build(consensus::BranchId::Sapling, &MockTxProver), Err(Error::ChangeIsNegative(Amount::from_i64(-10000).unwrap())) ); } @@ -740,7 +740,7 @@ mod tests { ) .unwrap(); assert_eq!( - builder.build(consensus::BranchId::Sapling, MockTxProver), + builder.build(consensus::BranchId::Sapling, &MockTxProver), Err(Error::ChangeIsNegative(Amount::from_i64(-60000).unwrap())) ); } @@ -756,7 +756,7 @@ mod tests { ) .unwrap(); assert_eq!( - builder.build(consensus::BranchId::Sapling, MockTxProver), + builder.build(consensus::BranchId::Sapling, &MockTxProver), Err(Error::ChangeIsNegative(Amount::from_i64(-60000).unwrap())) ); } @@ -796,7 +796,7 @@ mod tests { ) .unwrap(); assert_eq!( - builder.build(consensus::BranchId::Sapling, MockTxProver), + builder.build(consensus::BranchId::Sapling, &MockTxProver), Err(Error::ChangeIsNegative(Amount::from_i64(-1).unwrap())) ); } @@ -835,7 +835,7 @@ mod tests { ) .unwrap(); assert_eq!( - builder.build(consensus::BranchId::Sapling, MockTxProver), + builder.build(consensus::BranchId::Sapling, &MockTxProver), Err(Error::BindingSig) ) }