Simplify DisconnectBlock arguments/return value
DisconnectBlock currently has a complicated interface:
Situation Return value
pfClean != nullptr pfClean == nullptr
All good: true true
Failure: false false
Unclean rewind: true false
with *pfClean=false
Change this to return a tristate enum instead. As an added bonus,
remove the ValidationState& argument which was unused.
DisconnectBlock currently has a complicated interface:
Situation Return value
pfClean != nullptr pfClean == nullptr
All good: true true
Failure: false false
Unclean rewind: true false
with *pfClean=false
Change this to return a tristate enum instead. As an added bonus,
remove the ValidationState& argument which was unused.
Update zcbenchmarks to include sapling data
Closes#3395
This PR adds a benchmark named `trydecryptsaplingnotes` which is intended to be similar to `trydecryptnotes`. It also adds a benchmark `incnotewitnessessapling` which is similar to `incnotewitnesses`.
As a side note, while looking for examples to follow I ran in to a fair amount of setup, which I wanted to be able to reuse, repeated across several tests. I pulled some of that logic in to a utility functions and refactored the existing tests using that setup.
redirect and update source docs
also, update Zcash logo source.
User guide related documentation in the `/doc` folder should really live in RTDs. I've left policy and process related docs as is for now.
This **should not** be merged until https://gitlab.com/zcash-docs/zcash-docs/merge_requests/90 is for associated redirect links to work.
Dependency Updates
This updates:
- Boost from 1.66.0 to 1.69.0
- OpenSSL From 1.1.0h to 1.1.1a
- Proton from 0.17.0 to 0.26.0
- Rust from 1.28.0 to 1.32.0
zmq: add flag to publish all checked blocks
This change adds a hook for the BlockChecked signal to the zmq publisher. This is useful for light wallet daemon initialization (see https://github.com/zcash/zcash/issues/3638 for context, and [lightwalletd](https://github.com/zcash-hackworks/lightwalletd) for implementation).
The new flag is `-zmqpubcheckedblock=address`, in keeping with the established style.
Return more information when building a transaction fails
This PR is intended to make it easier to diagnose what went wrong when building a transaction using `TransactionBuilder` fails.