TransactionBuilder: Check that all anchors in a transaction are identical

This reduces the amount of information that is leaked by the choice of anchor.
In future we will make a protocol change to enforce that all inputs use the
same anchor.
This commit is contained in:
Jack Grigg
2018-07-27 09:46:38 +02:00
parent e691e21f40
commit e5dc5228ea
3 changed files with 18 additions and 5 deletions

View File

@@ -55,7 +55,9 @@ private:
public:
TransactionBuilder(const Consensus::Params& consensusParams, int nHeight);
void AddSaplingSpend(
// Returns false if the anchor does not match the anchor used by
// previously-added Sapling spends.
bool AddSaplingSpend(
libzcash::SaplingExpandedSpendingKey xsk,
libzcash::SaplingNote note,
uint256 anchor,