When using this special string as the from address, UTXOs from any
transparent addresses within the wallet will be used to fund the
transaction. Change outputs will be sent to a new transparent address,
as with any other spend of transparent funds.
Closeszcash/zcash#3640.
Increase code readability, make DEPRECATION use Single Source of Truth for Blocks/Hour
Fixes: #4312
It includes:
* a link reference to ZIP 200;
* EXPECTED_BLOCKS_PER_HOUR: names the value and makes explicit probabilistic nature;
* ACTIVATION_TO_DEPRECATION_BLOCKS: name an intermediate value for readability.
This also includes the following:
commit b12adf605640abba4cef6ddab1a2797b12cbf454
Author: Kris Nuttycombe <kris.nuttycombe@gmail.com>
Date: Mon Aug 24 16:01:18 2020 -0600
Add assertions to ensure that dependencies between active upgrades are respected.
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
This commit is intended to resolve#4312.
It includes:
* a link reference to zip-0200
* EXPECTED_BLOCKS_PER_HOUR: names the value and makes explicit
probabilistic nature
* ACTIVATION_TO_DEPRECATION_BLOCKS: name an intermediate value for
readability
* enforce correct value for EXPECTED_BLOCK_PER_HOUR
Application of reviewer comments
* move #include below #ifndef/#define macro guard
https://en.wikipedia.org/wiki/Include_guard
* remove code obfuscating // 48
* update zip URL
* remove code obfuscating // 14 days
test: Update ZIP 215 test cases from ed25519-zebra
This includes the changes and additions to the test cases following this ed25519-zebra commit:
65ba7f36cc
By the time we reach any of these rules, we have already rejected
transactions without fOverwintered set, so we can assume that it is set.
We replace the vague "overwinter is active" message with a more specific
"overwintered flag must be set" from one of the removed rules.
This replaces `if (!saplingActive && overwinterActive)` with the
logically-equivalent `if (overwinterActive && !saplingActive)`, but
means that the Overwinter-introduced rules are now clustered together.
Replace most libsodium usage with Rust crates
We currently use four components of libsodium:
- Random byte generation
- BLAKE2b
- Ed25519
- ChaCha20Poly1305
This PR replaces the first three with equivalent logic from Rust crates:
- `rand_core::OsRng`
- `blake2b_simd`
- `ed25519-zebra`
- `libsodium` is still used for Ed25519 verification in the consensus rules until Canopy activation.