Commit Graph

13772 Commits

Author SHA1 Message Date
Homu f39e4dbaf1 Auto merge of #4627 - LarryRuane:issue4596-flush-wallet-db, r=str4d
flush witness cache (SetBestChain()) on clean shutdown

Closes #4596, follow-on to #4573. In addition to flushing witness data on shutdown, fix the RPC test that was preventing this change from being part of #4573.
2020-07-29 13:12:04 +00:00
Homu 615efd2a52 Auto merge of #4584 - defuse:update-ignore, r=str4d
Block release when we haven't checked dependency updates for security fixes
2020-07-29 10:45:44 +00:00
Homu 24f3bcf275 Auto merge of #4623 - str4d:metrics-locking, r=str4d
metrics: Collect general stats before clearing screen

This prevents the metrics screen from flashing if locks are being held
by long-running processes, specifically cs_main during block validation.

We split up locking on cs_main and cs_vNodes to make obtaining the locks
easier, at the expense of potentially having slightly out-of-sync
statistics (which doesn't really matter, as all we are fetching from the
latter lock is the number of connected peers).
2020-07-29 09:33:07 +00:00
Homu 91cb52adc5 Auto merge of #4606 - str4d:safe-mode-alert-for-pre-heartwood-nodes, r=str4d
Send alert to put pre-Heartwood nodes into safe mode.

The alert targets nodes running protocol version <= 170010.
Heartwood-compatible nodes run protocol version >= 170011.
2020-07-29 07:59:59 +00:00
Homu b1b65121ae Auto merge of #4590 - cwsaunders:master, r=str4d
Update two dev tool files from Python 2 to Python 3
2020-07-29 06:45:45 +00:00
Homu e789632c32 Auto merge of #4640 - therealyingtong:v3.1.0-release-notes-update, r=str4d
Add Debian8 deprecation to release notes
2020-07-29 05:39:22 +00:00
ying tong f7b3a55505
Update doc/release-notes/release-notes-3.1.0.md
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2020-07-29 07:21:25 +08:00
therealyingtong b5ee15b781
Add Debian8 deprecation to release notes 2020-07-29 05:42:12 +08:00
Homu 65f0a4736a Auto merge of #4638 - therealyingtong:release-v3.1.0, r=daira
Release v3.1.0
2020-07-28 12:11:27 +00:00
therealyingtong 369c16ef44
Set APPROX_RELEASE_HEIGHT to 917000 and update release-notes-3.1.0.md 2020-07-28 07:57:58 +08:00
therealyingtong 228b17c9e0
make-release.py: Updated release notes and changelog for 3.1.0. 2020-07-28 07:02:06 +08:00
therealyingtong f25e86a460
make-release.py: Updated manpages for 3.1.0. 2020-07-28 07:02:06 +08:00
therealyingtong e4963385a4
make-release.py: Versioning changes for 3.1.0. 2020-07-28 06:54:02 +08:00
Homu d08883263f Auto merge of #4636 - daira:disable-mining-regression, r=daira
Fix "--disable-mining" build regression

closes #4634

Test by building with:
* `CONFIGURE_FLAGS="--disable-tests --disable-mining --disable-bench" zcutil/build.sh`
* `zcutil/distclean.sh`
* `CONFIGURE_FLAGS="--disable-mining" zcutil/build.sh`

After the second build, run `qa/zcash/full-test-suite.py`. Stop when it gets to the RPC tests, which will hang. The preceding parts of the test suite are all expected to pass.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-07-27 21:41:25 +00:00
Homu 162d5a50ee Auto merge of #4610 - ebfull:testnet-dev-fund, r=str4d
Add dev fund addresses and set activation height for testnet NU4 activation.
2020-07-27 09:05:53 +00:00
Daira Hopwood 40b9cbf0b1 Allow Equihash validation tests to be compiled with --disable-mining.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-07-25 16:33:02 +01:00
Daira Hopwood c99a00596f Fix --disable-mining build regression. closes #4634
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-07-25 15:41:39 +01:00
therealyingtong 283287ab5b
Use 51 Testnet Dev Fund addresses, and adjust the end heights.
Co-authored-by: Ying Tong Lai <yingtong@electriccoin.co>
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-07-25 09:45:30 +08:00
therealyingtong 62c3613816
Delay testnet activation height by one week 2020-07-24 08:15:35 +08:00
Homu de52eed974 Auto merge of #4628 - therealyingtong:block-903002-bug, r=str4d
Pass HistoryNode through Rust FFI as a C array

`std::array<T>` is guaranteed to store `T` contiguously. However, there is
no guarantee that `sizeof(std::array<unsigned char, N>) == N`, which
prevents us from interpreting `std::array<std::array<unsigned char, N>, 32>`
as `&[[u8; N]]` on the Rust side of the FFI.

Instead, we define `HistoryNode` as a struct wrapping a C array, which
(as checked by `static_assert`) contains no padding.

This is equivalent to 82fe37d22b, which
fixed this issue when passing a slice of `HistoryEntry`s from C++ to Rust;
the bug fixed here is writing `HistoryNodes` from Rust into C++ memory.
2020-07-23 22:40:42 +00:00
Kris Nuttycombe 04b4d42767 Zero-initialize HistoryNode values. 2020-07-23 16:24:48 -06:00
therealyingtong 13aa74aa45
Pass HistoryNode struct to librustzcash FFI 2020-07-21 17:56:47 +08:00
Larry Ruane a65ecaad54 flush wallet db (SetBestChain()) on clean shutdown 2020-07-20 20:04:48 -06:00
Jack Grigg 5d15ee1f22 metrics: Collect general stats before clearing screen
This prevents the metrics screen from flashing if locks are being held
by long-running processes, specifically cs_main during block validation.

We split up locking on cs_main and cs_vNodes to make obtaining the locks
easier, at the expense of potentially having slightly out-of-sync
statistics (which doesn't really matter, as all we are fetching from the
latter lock is the number of connected peers).
2020-07-18 23:35:19 +12:00
Homu d058568e0a Auto merge of #4617 - daira:release-notes-3.0.0-formatting, r=daira
Fix the formatting of the 3.0.0 release notes

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-07-17 20:18:26 +00:00
Homu 6631f218d3 Auto merge of #4616 - daira:4615/hashrate-display, r=daira
Use SI prefixes for hash rates on the metrics screen

fixes #4615
2020-07-17 19:11:36 +00:00
therealyingtong ab4d2ede40
Set PROTOCOL_VERSION to 170012 2020-07-18 00:29:03 +08:00
therealyingtong 8a4c51508a
Set Canopy testnet activation height to 1020500 2020-07-18 00:28:45 +08:00
Daira Hopwood f7c7c76bee Fix the formatting of the 3.0.0 release notes.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-07-17 15:15:06 +01:00
Daira Hopwood d9307ddd83 Add unit tests for DisplayDuration, DisplaySize, and DisplayHashRate.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-07-17 13:59:27 +01:00
Daira Hopwood 460a601e9b Metrics screen: display hash rates using SI prefixes rather than as powers of 2.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-07-17 13:56:33 +01:00
Daira Hopwood 976dce7696 src/metrics.cpp: cosmetic whitespace changes.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-07-17 13:54:58 +01:00
ewillbefull@gmail.com c0a19854bf Add dev fund addresses for testnet NU4 activation. 2020-07-15 20:09:39 -06:00
Homu d292376176 Auto merge of #4609 - therealyingtong:release-v3.1.0-rc2, r=daira
Release v3.1.0-rc2
2020-07-15 21:25:37 +00:00
Homu 2ba4f16590 Auto merge of #4605 - daira:more-iterator-cleanups, r=daira
More iterator cleanups

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-07-15 20:09:37 +00:00
Daira Hopwood 3383c4855f More iterator cleanups.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-07-15 19:18:57 +01:00
Homu b4ec903ac4 Auto merge of #4608 - str4d:post-heartwood-cleanups, r=nuttycom
Post-Heartwood cleanups

The C++ Equihash validator is removed; the Rust validator is now used unconditionally for the entire chain.

Changes made to enable contextually switching between the two validators have been reverted.

Also fixes a segfault that could occur on reindex during consensus-related development.
2020-07-15 14:59:15 +00:00
therealyingtong 07fb092b12
Edit release notes to specify that rc2 does not enable Canopy support on the testnet 2020-07-15 22:11:22 +08:00
therealyingtong 4af884d267
make-release.py: Updated release notes and changelog for 3.1.0-rc2. 2020-07-15 21:51:09 +08:00
therealyingtong 5769654975
make-release.py: Updated manpages for 3.1.0-rc2. 2020-07-15 21:51:08 +08:00
therealyingtong 170ea7bda0
make-release.py: Versioning changes for 3.1.0-rc2. 2020-07-15 21:50:12 +08:00
Homu cf034d4594 Auto merge of #4594 - nuttycom:ed25519-zebra-2.0.0, r=therealyingtong
Use ed25519-zebra from crates.io.

Closes #4592
2020-07-15 12:38:07 +00:00
Jack Grigg 42f98aaccb Send alert to put pre-Heartwood nodes into safe mode.
The alert targets nodes running protocol version <= 170010.
Heartwood-compatible nodes run protocol version >= 170011.
2020-07-15 19:45:49 +12:00
Jack Grigg 3611f68811 Revert "Pass the block height through to CheckEquihashSolution()"
This reverts commit 49f9584613.

Now that we are depending unconditionally on the Rust Equihash
validator, CheckEquihashSolution() can revert to being a non-contextual
check.

This also fixes a segfault that would occur during reindexing if the
consensus rules were altered such that a previously-valid block would
become invalid, and the node's block files contained blocks in a
specific order. It was encountered while testing the Canopy NU on
testnet (due to a bug in the implementation of ZIP 212 that was
separately fixed in zcash/zcash#4604).
2020-07-15 16:16:40 +12:00
Jack Grigg 96920e952d Remove C++ Equihash validator 2020-07-15 14:03:45 +12:00
Jack Grigg 79846ac1f3 Use Rust Equihash validator unconditionally
It correctly validates all blocks prior to Heartwood activation.
2020-07-15 13:59:32 +12:00
Homu 54180fbce5 Auto merge of #4604 - daira:fix-unintended-consensus-change, r=str4d
Fix an unintended consensus change in decryption of coinbase outputs

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-07-14 23:25:35 +00:00
Daira Hopwood 2336259c1e Fix an unintended consensus change in decryption of coinbase outputs.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-07-14 22:59:34 +01:00
Homu d09cedb63a Auto merge of #4602 - daira:makefile-key-constants, r=daira
Add key_constants.h to src/Makefile.am

This should fix Gitian builds.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-07-14 17:07:32 +00:00
Daira Hopwood 239ea1270e Add key_constants.h to src/Makefile.am.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-07-14 17:44:54 +01:00