From 31ea91ced8c9d047f0c1bcb10f5076e91703bfb4 Mon Sep 17 00:00:00 2001 From: Kris Nuttycombe Date: Tue, 8 Jun 2021 11:33:52 -0600 Subject: [PATCH] Ensure tze digest is only included if TZEs are in the consensus rules. --- zcash_primitives/src/transaction/txid.rs | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/zcash_primitives/src/transaction/txid.rs b/zcash_primitives/src/transaction/txid.rs index 464143947..04044b17b 100644 --- a/zcash_primitives/src/transaction/txid.rs +++ b/zcash_primitives/src/transaction/txid.rs @@ -572,13 +572,7 @@ impl TransactionDigest for BlockTxCommitmentDigester { orchard_digest: Self::OrchardDigest, #[cfg(feature = "zfuture")] tze_digest: Self::TzeDigest, ) -> Self::Digest { - let digests = [ - transparent_digest, - sapling_digest, - orchard_digest, - #[cfg(feature = "zfuture")] - tze_digest, - ]; + let digests = [transparent_digest, sapling_digest, orchard_digest]; let mut personal = [0; 16]; (&mut personal[..12]).copy_from_slice(ZCASH_AUTH_PERSONALIZATION_PREFIX); @@ -591,6 +585,11 @@ impl TransactionDigest for BlockTxCommitmentDigester { h.write_all(digest.as_bytes()).unwrap(); } + #[cfg(feature = "zfuture")] + if TxVersion::suggested_for_branch(consensus_branch_id).has_tze() { + h.write_all(tze_digest.as_bytes()).unwrap(); + } + h.finalize() } }