TransactionBuilder for Sapling and transparent transactions
This PR includes zcash/librustzcash#24, and will create a testnet chain split once merged into master (and once a Sapling transaction is mined).
Ensure sum of valueBalance and all vpub_new's does not exceed MAX_MONEY
HT to @daira for noticing that we don't check this in `CheckTransactionWithoutProofVerification`. We actually do check it in `GetShieldedValueIn` (by throwing an exception) but these exceptions are not handled by `CheckTxInputs`, which may cause a remote DoS.
Not exploitable assuming our proving system is secure, but definitely worthy of a fix.
don't ban peers when loading pre-overwinter blocks
Addresses #3399. If we see an invalid transaction (from our peers who are up to date, post-overwinter) during initial block download, don't invoke DoS (logging messages, blocking these peers). Instead, simply ignore the transaction.
Update typo in rc-notes-1.0.13
Fix typo in rc-notes-1.0.13
Fix typo in rc-notes-1.0.13
Fix typo in rc-notes-1.1.0
Fix typo in rc-notes-1.1.0
Fix typo in make-release
Revert prior release note term to original auto-senescence
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.
Remove extra slash from lockfile path
Issue: https://github.com/zcash/zcash/issues/3415
After this change I can successfully run `fetch-params` in an msys2 environment.
Cache Sapling witnesses in the wallet
Closes#3062
I have not update the tests in test_wallet.cpp. Also, there are several other methods in the wallet that have to do with witnesses and note data which will need to be updated, but this PR focuses on IncrementNoteWitnesses and DecrementNoteWitnesses.
Before Sapling activates, hashFinalSaplingRoot is 0x0, which is
not a valid anchor. After Sapling activates, the empty root value
of 0x3e49... is a valid anchor.