The number of transactions since the last checkpoint block was set to
over 100K, but there were no checkpoint blocks other than genesis,
and the timestamp of last checkpoint block was incorrect as well. These
led to the progress indicator always being very close to zero.
This adds checkpoint blocks rougly every 10K blocks and corrects the
other metadata.
* Build verus-cli, get dependencies nailed down.
* Fiddling about with scripts.
* Clean READMEs up a bit.
* Update READMEs for 03.8-beta and fix some notes.
(rpc-test) accurately account for fee without rounding error
Fix for #2807, this test compares balances after doing key exports and imports, and expects these balances to be equal. But they are not exactly equal due to transaction fees, so the test makes them "equal" by rounding a value that has had fees taken out up to the nearest hundredth of a unit (which is much more than the default fee). This obviously is somewhat sloppy. It also converts a balance to float, which really should never be used due to loss of precision (use Decimal instead).
This change makes the test accurately account for the fee using precise comparisons, and removes the use of float. This test doesn't depend on the default fee (0.0001) but instead sets the fee (to that value). This way, if the default fee changes in the future, this test will continue to run. While testing these changes, I set the fee to various values (up to the max, 0.0190), and the test still passes.
Closes#3328. Send alert to put non-Overwinter nodes into safe mode.
The alert targets nodes running protocol version <= 170004.
Overwinter compatible nodes run protocol version >= 170005.
Sapling address encodings
This PR enables Sapling keys and addresses to be passed in anywhere Sprout keys
and addresses are used. Doing so will cause crashes until those places are updated
with Sapling support.
Includes code cherry-picked from the following upstream PRs:
- bitcoin/bitcoin#11167
- Only the `ConvertBits()` function.
- bitcoin/bitcoin#11630
Closes#3058.