From 0ff03e96939af4e6656d329b77fc2a49fe8f5eee Mon Sep 17 00:00:00 2001 From: Jack Grigg Date: Mon, 23 Jan 2023 22:58:20 +0000 Subject: [PATCH 1/8] depends: Postpone cxx update --- qa/zcash/postponed-updates.txt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/qa/zcash/postponed-updates.txt b/qa/zcash/postponed-updates.txt index 211cba31c..227e63e54 100644 --- a/qa/zcash/postponed-updates.txt +++ b/qa/zcash/postponed-updates.txt @@ -4,13 +4,15 @@ # bdb 18.1.40 2020-09-01 # -# cxx 1.0.84-1.0.86 didn't update third-party/Cargo.lock +# cxx 1.0.84-1.0.87 didn't update third-party/Cargo.lock native_cxxbridge 1.0.84 2024-02-01 native_cxxbridge 1.0.85 2024-02-01 native_cxxbridge 1.0.86 2024-02-01 +native_cxxbridge 1.0.87 2024-02-01 rustcxx 1.0.84 2024-02-01 rustcxx 1.0.85 2024-02-01 rustcxx 1.0.86 2024-02-01 +rustcxx 1.0.87 2024-02-01 # CCache 4.7 appears to drop support for Ubuntu 18.04 native_ccache 4.7 2023-03-01 From 5b74dbfddd9b64289746fe1bb401147d133cd754 Mon Sep 17 00:00:00 2001 From: Jack Grigg Date: Mon, 23 Jan 2023 23:45:01 +0000 Subject: [PATCH 2/8] metrics: Update `zcash.pool.value.zatoshis` gauge for transparent pool --- src/main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main.cpp b/src/main.cpp index 9b25cf7a8..5a5bd9e95 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -3896,7 +3896,7 @@ struct PoolMetrics { static PoolMetrics Transparent(CBlockIndex *pindex, CCoinsViewCache *view) { PoolMetrics stats; - // TODO: Collect transparent pool value. + stats.value = pindex->nChainTransparentValue; // TODO: Figure out a way to efficiently collect UTXO set metrics // (view->GetStats() is too slow to call during block verification). From 8f4fff45295d262997e3a0769122ead5562aa9a3 Mon Sep 17 00:00:00 2001 From: Jack Grigg Date: Mon, 23 Jan 2023 23:58:58 +0000 Subject: [PATCH 3/8] Update release notes with notable changes for v5.4.0 --- doc/release-notes.md | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/doc/release-notes.md b/doc/release-notes.md index 27a1abb85..43887e095 100644 --- a/doc/release-notes.md +++ b/doc/release-notes.md @@ -11,6 +11,37 @@ This release fixes an issue that could potentially cause a node to crash with th log message "The wallet's best block hash `` was not detected in restored chain state. Giving up; please restart with `-rescan`." +Transparent pool and chain supply tracking +------------------------------------------ + +Since v2.0.0, `zcashd` has tracked the change in value within the Sprout and +Sapling shielded pools for each block; v5.0.0 added the Orchard pool. This +release completes the set, by tracking the change in value within the +"transparent" pool (more precisely, the value stored in Bitcoin-style UTXOs). + +`zcashd` also now tracks the change in "chain supply" for each block, defined as +the sum of coinbase output values, minus unclaimed fees. This is precisely equal +to the sum of the value in the transparent and shielded pools, and equivalent to +the sum of all unspent coins/notes on the chain. It is bounded above by the +theoretical maximum supply, but in practice is lower due to, for example, miners +not claiming transaction fees. + +> Bitcoin-style consensus rules implement fees as an imbalance between spent +> coins/notes and newly-created coins/notes. The consensus rules require that a +> coinbase transaction's outputs have a total value no greater than the sum of +> that block's subsidy and the fees made available by the transactions in the +> block. However, the consensus rules do not require that all of the available +> funds are claimed, and a miner can create coinbase transactions with lower +> value in the outputs (though in the case of Zcash, the consensus rules do +> require the transaction to include [ZIP 1014](https://zips.z.cash/zip-1014) +> Funding Stream outputs). + +After upgrading to v5.4.0, `zcashd` will start tracking changes in transparent +pool value and chain supply from the height at which it is restarted. Block +heights prior to this will not have any information recorded. To track changes +from genesis, and thus monitor the total transparent pool size and chain supply, +you will need to restart your node with the `-reindex` option. + RPC Changes ----------- @@ -20,6 +51,18 @@ RPC Changes case, they would (properly) require that the transaction didn’t have any change, but this could be confusing, as the documentation stated that these two conditions (using "ANY\_TADDR" and disallowing change) wouldn’t coincide. +- A new value pool object with `"id": "transparent"` has been added to the + `valuePools` list in `getblockchaininfo` and `getblock`. +- A new `chainSupply` key has been added to `getblockchaininfo` and `getblock` + to report the total chain supply as of that block height (if tracked), and the + change in chain supply caused by the block (for `getblock`, if measured). + +Mining +------- + +- Changes to `getblocktemplate` have been backported from upstream Bitcoin Core, + to significantly improve its performance by doing more work ahead of time in + the mempool (and reusing the work across multiple `getblocktemplate` calls). [Deprecations](https://zcash.github.io/zcash/user/deprecation.html) -------------- From ae7c2c742d2c96c2da957bb2f34c2be3119c7299 Mon Sep 17 00:00:00 2001 From: Jack Grigg Date: Tue, 24 Jan 2023 00:00:58 +0000 Subject: [PATCH 4/8] make-release.py: Versioning changes for 5.4.0-rc2. --- README.md | 2 +- configure.ac | 2 +- contrib/gitian-descriptors/gitian-linux-parallel.yml | 2 +- contrib/gitian-descriptors/gitian-linux.yml | 2 +- src/clientversion.h | 2 +- src/deprecation.h | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 4c9148206..e10f4322c 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -Zcash 5.4.0-rc1 +Zcash 5.4.0-rc2 =========== diff --git a/configure.ac b/configure.ac index 28a4f43d1..e5c5b7d8e 100644 --- a/configure.ac +++ b/configure.ac @@ -3,7 +3,7 @@ AC_PREREQ([2.60]) define(_CLIENT_VERSION_MAJOR, 5) define(_CLIENT_VERSION_MINOR, 4) define(_CLIENT_VERSION_REVISION, 0) -define(_CLIENT_VERSION_BUILD, 25) +define(_CLIENT_VERSION_BUILD, 26) define(_ZC_BUILD_VAL, m4_if(m4_eval(_CLIENT_VERSION_BUILD < 25), 1, m4_incr(_CLIENT_VERSION_BUILD), m4_eval(_CLIENT_VERSION_BUILD < 50), 1, m4_eval(_CLIENT_VERSION_BUILD - 24), m4_eval(_CLIENT_VERSION_BUILD == 50), 1, , m4_eval(_CLIENT_VERSION_BUILD - 50))) define(_CLIENT_VERSION_SUFFIX, m4_if(m4_eval(_CLIENT_VERSION_BUILD < 25), 1, _CLIENT_VERSION_REVISION-beta$1, m4_eval(_CLIENT_VERSION_BUILD < 50), 1, _CLIENT_VERSION_REVISION-rc$1, m4_eval(_CLIENT_VERSION_BUILD == 50), 1, _CLIENT_VERSION_REVISION, _CLIENT_VERSION_REVISION-$1))) define(_CLIENT_VERSION_IS_RELEASE, true) diff --git a/contrib/gitian-descriptors/gitian-linux-parallel.yml b/contrib/gitian-descriptors/gitian-linux-parallel.yml index 731795032..01c064b98 100644 --- a/contrib/gitian-descriptors/gitian-linux-parallel.yml +++ b/contrib/gitian-descriptors/gitian-linux-parallel.yml @@ -1,5 +1,5 @@ --- -name: "zcash-5.4.0-rc1" +name: "zcash-5.4.0-rc2" enable_cache: true distro: "debian" suites: diff --git a/contrib/gitian-descriptors/gitian-linux.yml b/contrib/gitian-descriptors/gitian-linux.yml index eef222c96..92fd10425 100644 --- a/contrib/gitian-descriptors/gitian-linux.yml +++ b/contrib/gitian-descriptors/gitian-linux.yml @@ -1,5 +1,5 @@ --- -name: "zcash-5.4.0-rc1" +name: "zcash-5.4.0-rc2" enable_cache: true distro: "debian" suites: diff --git a/src/clientversion.h b/src/clientversion.h index f6e47b8c1..0ef3057ae 100644 --- a/src/clientversion.h +++ b/src/clientversion.h @@ -18,7 +18,7 @@ #define CLIENT_VERSION_MAJOR 5 #define CLIENT_VERSION_MINOR 4 #define CLIENT_VERSION_REVISION 0 -#define CLIENT_VERSION_BUILD 25 +#define CLIENT_VERSION_BUILD 26 //! Set to true for release, false for prerelease or test build #define CLIENT_VERSION_IS_RELEASE true diff --git a/src/deprecation.h b/src/deprecation.h index 24e1f4c73..49a51bf92 100644 --- a/src/deprecation.h +++ b/src/deprecation.h @@ -10,7 +10,7 @@ // Per https://zips.z.cash/zip-0200 // Shut down nodes running this version of code, 16 weeks' worth of blocks after the estimated // release block height. A warning is shown during the 14 days' worth of blocks prior to shut down. -static const int APPROX_RELEASE_HEIGHT = 1954500; +static const int APPROX_RELEASE_HEIGHT = 1959200; static const int RELEASE_TO_DEPRECATION_WEEKS = 16; static const int EXPECTED_BLOCKS_PER_HOUR = 3600 / Consensus::POST_BLOSSOM_POW_TARGET_SPACING; static_assert(EXPECTED_BLOCKS_PER_HOUR == 48, "The value of Consensus::POST_BLOSSOM_POW_TARGET_SPACING was chosen such that this assertion holds."); From ad24667c1a72987e5f08aedfbd0f7b7bb9af36de Mon Sep 17 00:00:00 2001 From: Jack Grigg Date: Tue, 24 Jan 2023 00:04:35 +0000 Subject: [PATCH 5/8] make-release.py: Updated manpages for 5.4.0-rc2. --- doc/man/zcash-cli.1 | 10 +++++----- doc/man/zcash-tx.1 | 10 +++++----- doc/man/zcashd-wallet-tool.1 | 6 +++--- doc/man/zcashd.1 | 10 +++++----- 4 files changed, 18 insertions(+), 18 deletions(-) diff --git a/doc/man/zcash-cli.1 b/doc/man/zcash-cli.1 index dd1595fbc..5bebc9ab7 100644 --- a/doc/man/zcash-cli.1 +++ b/doc/man/zcash-cli.1 @@ -1,9 +1,9 @@ .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.1. -.TH ZCASH-CLI "1" "January 2023" "zcash-cli v5.4.0-rc1" "User Commands" +.TH ZCASH-CLI "1" "January 2023" "zcash-cli v5.4.0-rc2" "User Commands" .SH NAME -zcash-cli \- manual page for zcash-cli v5.4.0-rc1 +zcash-cli \- manual page for zcash-cli v5.4.0-rc2 .SH DESCRIPTION -Zcash RPC client version v5.4.0\-rc1 +Zcash RPC client version v5.4.0\-rc2 .PP In order to ensure you are adequately protecting your privacy when using Zcash, please see . @@ -80,8 +80,8 @@ Timeout in seconds during HTTP requests, or 0 for no timeout. (default: In order to ensure you are adequately protecting your privacy when using Zcash, please see . -Copyright (C) 2009-2022 The Bitcoin Core Developers -Copyright (C) 2015-2022 The Zcash Developers +Copyright (C) 2009-2023 The Bitcoin Core Developers +Copyright (C) 2015-2023 The Zcash Developers This is experimental software. diff --git a/doc/man/zcash-tx.1 b/doc/man/zcash-tx.1 index b550f101a..7f320ec7f 100644 --- a/doc/man/zcash-tx.1 +++ b/doc/man/zcash-tx.1 @@ -1,9 +1,9 @@ .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.1. -.TH ZCASH-TX "1" "January 2023" "zcash-tx v5.4.0-rc1" "User Commands" +.TH ZCASH-TX "1" "January 2023" "zcash-tx v5.4.0-rc2" "User Commands" .SH NAME -zcash-tx \- manual page for zcash-tx v5.4.0-rc1 +zcash-tx \- manual page for zcash-tx v5.4.0-rc2 .SH DESCRIPTION -Zcash zcash\-tx utility version v5.4.0\-rc1 +Zcash zcash\-tx utility version v5.4.0\-rc2 .SS "Usage:" .TP zcash\-tx [options] [commands] @@ -91,8 +91,8 @@ Set register NAME to given JSON\-STRING In order to ensure you are adequately protecting your privacy when using Zcash, please see . -Copyright (C) 2009-2022 The Bitcoin Core Developers -Copyright (C) 2015-2022 The Zcash Developers +Copyright (C) 2009-2023 The Bitcoin Core Developers +Copyright (C) 2015-2023 The Zcash Developers This is experimental software. diff --git a/doc/man/zcashd-wallet-tool.1 b/doc/man/zcashd-wallet-tool.1 index b85e6e1e6..7f63a409f 100644 --- a/doc/man/zcashd-wallet-tool.1 +++ b/doc/man/zcashd-wallet-tool.1 @@ -1,7 +1,7 @@ .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.1. -.TH ZCASHD-WALLET-TOOL "1" "January 2023" "zcashd-wallet-tool v5.4.0-rc1" "User Commands" +.TH ZCASHD-WALLET-TOOL "1" "January 2023" "zcashd-wallet-tool v5.4.0-rc2" "User Commands" .SH NAME -zcashd-wallet-tool \- manual page for zcashd-wallet-tool v5.4.0-rc1 +zcashd-wallet-tool \- manual page for zcashd-wallet-tool v5.4.0-rc2 .SH SYNOPSIS .B zcashd-wallet-tool [\fI\,OPTIONS\/\fR] @@ -45,7 +45,7 @@ The environment variable RUST_LOG controls debug output, e.g. In order to ensure you are adequately protecting your privacy when using Zcash, please see . -Copyright (C) 2015-2022 The Zcash Developers +Copyright (C) 2015-2023 The Zcash Developers This is experimental software. diff --git a/doc/man/zcashd.1 b/doc/man/zcashd.1 index 3a491a90a..ed90eaea4 100644 --- a/doc/man/zcashd.1 +++ b/doc/man/zcashd.1 @@ -1,9 +1,9 @@ .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.1. -.TH ZCASHD "1" "January 2023" "zcashd v5.4.0-rc1" "User Commands" +.TH ZCASHD "1" "January 2023" "zcashd v5.4.0-rc2" "User Commands" .SH NAME -zcashd \- manual page for zcashd v5.4.0-rc1 +zcashd \- manual page for zcashd v5.4.0-rc2 .SH DESCRIPTION -Zcash Daemon version v5.4.0\-rc1 +Zcash Daemon version v5.4.0\-rc2 .PP In order to ensure you are adequately protecting your privacy when using Zcash, please see . @@ -608,8 +608,8 @@ possible (default: 4) In order to ensure you are adequately protecting your privacy when using Zcash, please see . -Copyright (C) 2009-2022 The Bitcoin Core Developers -Copyright (C) 2015-2022 The Zcash Developers +Copyright (C) 2009-2023 The Bitcoin Core Developers +Copyright (C) 2015-2023 The Zcash Developers This is experimental software. From f5b123e49491c2ad9673b74b7b3f14c2812d2b65 Mon Sep 17 00:00:00 2001 From: Jack Grigg Date: Tue, 24 Jan 2023 00:04:35 +0000 Subject: [PATCH 6/8] make-release.py: Updated release notes and changelog for 5.4.0-rc2. --- contrib/debian/changelog | 6 + doc/release-notes/release-notes-5.4.0-rc2.md | 262 +++++++++++++++++++ 2 files changed, 268 insertions(+) create mode 100644 doc/release-notes/release-notes-5.4.0-rc2.md diff --git a/contrib/debian/changelog b/contrib/debian/changelog index e2e01b1b6..ed1d4bf67 100644 --- a/contrib/debian/changelog +++ b/contrib/debian/changelog @@ -1,3 +1,9 @@ +zcash (5.4.0~rc2) stable; urgency=medium + + * 5.4.0-rc2 release. + + -- Electric Coin Company Tue, 24 Jan 2023 00:04:35 +0000 + zcash (5.4.0~rc1) stable; urgency=medium * 5.4.0-rc1 release. diff --git a/doc/release-notes/release-notes-5.4.0-rc2.md b/doc/release-notes/release-notes-5.4.0-rc2.md new file mode 100644 index 000000000..879629cf0 --- /dev/null +++ b/doc/release-notes/release-notes-5.4.0-rc2.md @@ -0,0 +1,262 @@ +Notable changes +=============== + +Fixes +----- + +This release fixes an issue that could potentially cause a node to crash with the +log message "The wallet's best block hash `` was not detected in restored +chain state. Giving up; please restart with `-rescan`." + +Transparent pool and chain supply tracking +------------------------------------------ + +Since v2.0.0, `zcashd` has tracked the change in value within the Sprout and +Sapling shielded pools for each block; v5.0.0 added the Orchard pool. This +release completes the set, by tracking the change in value within the +"transparent" pool (more precisely, the value stored in Bitcoin-style UTXOs). + +`zcashd` also now tracks the change in "chain supply" for each block, defined as +the sum of coinbase output values, minus unclaimed fees. This is precisely equal +to the sum of the value in the transparent and shielded pools, and equivalent to +the sum of all unspent coins/notes on the chain. It is bounded above by the +theoretical maximum supply, but in practice is lower due to, for example, miners +not claiming transaction fees. + +> Bitcoin-style consensus rules implement fees as an imbalance between spent +> coins/notes and newly-created coins/notes. The consensus rules require that a +> coinbase transaction's outputs have a total value no greater than the sum of +> that block's subsidy and the fees made available by the transactions in the +> block. However, the consensus rules do not require that all of the available +> funds are claimed, and a miner can create coinbase transactions with lower +> value in the outputs (though in the case of Zcash, the consensus rules do +> require the transaction to include [ZIP 1014](https://zips.z.cash/zip-1014) +> Funding Stream outputs). + +After upgrading to v5.4.0, `zcashd` will start tracking changes in transparent +pool value and chain supply from the height at which it is restarted. Block +heights prior to this will not have any information recorded. To track changes +from genesis, and thus monitor the total transparent pool size and chain supply, +you will need to restart your node with the `-reindex` option. + +RPC Changes +----------- + +- `z_sendmany` will no longer select transparent coinbase when "ANY\_TADDR" is + used as the `fromaddress`. It was already documented to do this, but the + previous behavior didn’t match. When coinbase notes were selected in this + case, they would (properly) require that the transaction didn’t have any + change, but this could be confusing, as the documentation stated that these + two conditions (using "ANY\_TADDR" and disallowing change) wouldn’t coincide. +- A new value pool object with `"id": "transparent"` has been added to the + `valuePools` list in `getblockchaininfo` and `getblock`. +- A new `chainSupply` key has been added to `getblockchaininfo` and `getblock` + to report the total chain supply as of that block height (if tracked), and the + change in chain supply caused by the block (for `getblock`, if measured). + +Mining +------- + +- Changes to `getblocktemplate` have been backported from upstream Bitcoin Core, + to significantly improve its performance by doing more work ahead of time in + the mempool (and reusing the work across multiple `getblocktemplate` calls). + +[Deprecations](https://zcash.github.io/zcash/user/deprecation.html) +-------------- + +The following features have been deprecated, but remain available by default. +These features may be disabled by setting `-allowdeprecated=none`. 18 weeks +after this release, these features will be disabled by default and the following +flags to `-allowdeprecated` will be required to permit their continued use: + +- `gbt_oldhashes`: the `finalsaplingroothash`, `lightclientroothash`, and + `blockcommitmentshash` fields in the output of `getblocktemplate` have been + replaced by the `defaultroots` field. + +The following previously-deprecated features have been disabled by default, and +will be removed in 18 weeks: + +- `legacy_privacy` +- `getnewaddress` +- `getrawchangeaddress` +- `z_getbalance` +- `z_gettotalbalance` +- `z_getnewaddress` +- `z_listaddresses` +- `addrtype` +- `wallettxvjoinsplit` + +The following previously-deprecated features have been removed: + +- `dumpwallet` +- `zcrawreceive` +- `zcrawjoinsplit` +- `zcrawkeygen` + +Platform Support +---------------- + +- CentOS 8 has been removed from the list of supported platforms. It reached EoL + on December 31st 2021, and does not satisfy our Tier 2 policy requirements. + +Changelog +========= + +Alex Morcos (3): + Make accessing mempool parents and children public + Expose FormatStateMessage + Rewrite CreateNewBlock + +Alfredo Garcia (1): + Add chain supply and transparent value to block index. + +Carl Dong (4): + depends: More robust cmake invocation + depends: Cleanup CMake invocation + depends: Prepend CPPFLAGS to C{,XX}FLAGS for CMake + depends: Specify LDFLAGS to cmake as well + +Daira Hopwood (6): + Add tl::expected. refs #4816 + The std::expected proposal has unnecessary instances of undefined behaviour for operator->, operator*, and error(). Make these into assertion failures (this still conforms to the proposal). + Refactor HaveShieldedRequirements to use tl::expected (example with a void T) and rename it to CheckShieldedRequirements. + tl::expected follow-up to address @str4d's comments. + Cleanup after removing dumpwallet. + Change the time that the wallet will wait for the block index to load from 5 minutes to 2 hours. + +Dimitris Apostolou (2): + Fix typos + Fix typos + +Greg Pfeil (22): + Add PrivacyPolicyMeet + Remove trailing whitespace in fetch-params.sh + Migrate fetch-params.sh to bash + Scope the fetch-params lock file to the user + Update comments to match changed tests + Put utf8.h in the correct place + Don’t select transparent coinbase with ANY_TADDR + Update failing tests after fixing ANY_TADDR behavior + Apply suggestions from code review + Apply suggestions from code review + Appease ShellCheck + Defer fixing docker/entrypoint.sh lint failure + Apply suggestions from code review + Fix a minor bug in docker/entrypoint.sh + Improve PrivacyPolicy comments + Apply suggestions from code review + Add release notes + Update src/wallet/asyncrpcoperation_sendmany.cpp + Fix a missing newline in the RPC docs + No longer test_received_sprout + Use cached sprout addresses rather than funding + Update overwinter test to not shield to Sprout + +Jack Grigg (45): + test: Handle mining slow start inside `CreateNewBlock_validity` + test: Improve CreateNewBlock_validity exception checks + txdb: Remove const annotation from blockinfo iterator type + Remove `dumpwallet` RPC method + qa: Refactor `wallet_deprecation` test to simplify deprecation changes + Remove `zcraw*` RPC methods + txdb: Clean up for loop syntax in `WriteBatchSync` + Disable previously-deprecated features by default + Deprecate old hash fields of `getblocktemplate` + qa: Change show_help RPC test to print out differences + qa: Update mempool_packages RPC test after deprecation ratcheting + qa: Import Rust crate audits from Firefox + qa: Import Rust crate audits from the Bytecode Alliance + qa: Import Rust crate audits from Embark Studios + qa: Remove audit-as-crates-io for non-third-party crates + cargo update + zcash_primitives 0.9 + clearscreen 2.0 + depends: googletest 1.12.1 + Remove CentOS 8 as a supported platform + depends: native_zstd 1.5.2 + depends: native_ccache 4.6.3 + depends: Add package for native_cmake 3.25.1 + depends: Force cmake to install libzstd in lib/ + build-aux: Update Boost macros to latest serials + build: Bump required Boost version + depends: Force Boost library to be installed in lib/ + depends: Add tl_expected to update checker + depends: Boost 1.81.0 + depends: utfcpp 3.2.3 + qa: Postpone LLVM 15 and CCache 4.7 updates + depends: Update cxx to 1.0.83 + cargo update + Document -clockoffset option + qa: Update show_help RPC test + doc: Fix arguments to make-release.py in hotfix process + depends: CMake 3.25.2 + make-release.py: Versioning changes for 5.4.0-rc1. + make-release.py: Updated manpages for 5.4.0-rc1. + make-release.py: Updated release notes and changelog for 5.4.0-rc1. + depends: Update cxx to 1.0.87 + metrics: Update `zcash.pool.value.zatoshis` gauge for transparent pool + Update release notes with notable changes for v5.4.0 + make-release.py: Versioning changes for 5.4.0-rc2. + make-release.py: Updated manpages for 5.4.0-rc2. + +James O'Beirne (2): + Clarify help messages for path args to mention datadir prefix + Add AbsPathForConfigVal to consolidate datadir prefixing for path args + +Kris Nuttycombe (14): + Add TransactionStrategy::IsCompatibleWith + Modify TransactionBuilder to use the standard default fee. + Factor out memo parsing from asyncrpcoperation_sendmany + Remove mergetoaddress_sprout test as sending to Sprout is no longer supported. + Remove wallet_shieldcoinbase_sprout test. + Update `mergetoaddress_mixednotes.py` to no longer send to Sprout. + Verify sum of pool balances against chain total supply. + Apply suggestions from code review + Add script for verifying block rewards and fees not claimed by miners. + Apply suggestions from code review + Remove unnecessary delta_count variable. + Replace fix-copyright-headers.py with a script that creates a scripted-diff git commit. + scripted-diff: Update Zcash copyrights to 2023 + Apply suggestions from code review + +Marco Falke (4): + [init] Add missing help for args + [init] Help Msg: Use Params(CBaseChainParams::MAIN) + Clarify mocktime help message + init: Fix help message for checkblockindex + +Marius Kjærstad (5): + Hardened checkpoint update at block 1860000 for mainnet + Update src/chainparams.cpp + Some more formatting changes to chainparams.cpp + Forgot to add 0x + Add some more historical checkpoints + +Mark Friedenbach (1): + Prevent block.nTime from decreasing + +Marshall Gaucher (4): + Update zcash-build-bench.yml + Update README.md + Update contrib/ci-builders/tekton/tekton-labs/tasks/zcash-build.yml + Update contrib/ci-builders/tekton/tekton-labs/tasks/zcash-build-test.yml + +Michał Janiszewski (1): + Update debian/compat to version 13 + +Russell Yanofsky (2): + depends: Add CMake helper for building packages + depends: Set CMAKE_INSTALL_RPATH for native packages + +Suhas Daftuar (3): + Track transaction packages in CTxMemPoolEntry + Add test showing bug in mempool packages + Fix mempool package tracking edge case + +Wladimir J. van der Laan (1): + rpc: Write authcookie atomically + +Marshall Gaucher (2): + add basic tekton zcash env + update memory targets with heaptrack + From 214c3007f523db875b1953269f14b03caa899ee3 Mon Sep 17 00:00:00 2001 From: Kris Nuttycombe Date: Mon, 23 Jan 2023 18:23:41 -0700 Subject: [PATCH 7/8] Enable tests of chain supply & transparent pool balance. --- qa/rpc-tests/wallet_persistence.py | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/qa/rpc-tests/wallet_persistence.py b/qa/rpc-tests/wallet_persistence.py index 11828fd19..f0b9f8be8 100755 --- a/qa/rpc-tests/wallet_persistence.py +++ b/qa/rpc-tests/wallet_persistence.py @@ -86,9 +86,8 @@ class WalletPersistenceTest (BitcoinTestFramework): # Verify size of pools after restarting chainInfo = self.nodes[0].getblockchaininfo() pools = chainInfo['valuePools'] - # Reenable these test in v5.4.0-rc2 - # check_chain_value(chainInfo['chainSupply'], None, expected_supply) # Supply - # check_chain_value(pools[0], 'transparent', expected_supply) + check_chain_value(chainInfo['chainSupply'], None, expected_supply) # Supply + check_chain_value(pools[0], 'transparent', expected_supply) check_chain_value(pools[1], 'sprout', Decimal('0')) check_chain_value(pools[2], 'sapling', Decimal('0')) check_chain_value(pools[3], 'orchard', Decimal('0')) @@ -111,9 +110,8 @@ class WalletPersistenceTest (BitcoinTestFramework): # Verify size of pools chainInfo = self.nodes[0].getblockchaininfo() pools = chainInfo['valuePools'] - # Reenable these tests in v5.4.0-rc2 - # check_chain_value(chainInfo['chainSupply'], None, expected_supply) # Supply - # check_chain_value(pools[0], 'transparent', expected_supply - Decimal('20')) # Transparent + check_chain_value(chainInfo['chainSupply'], None, expected_supply) # Supply + check_chain_value(pools[0], 'transparent', expected_supply - Decimal('20')) # Transparent check_chain_value(pools[1], 'sprout', Decimal('0')) check_chain_value(pools[2], 'sapling', Decimal('20')) check_chain_value(pools[3], 'orchard', Decimal('0')) @@ -126,9 +124,8 @@ class WalletPersistenceTest (BitcoinTestFramework): # Verify size of pools chainInfo = self.nodes[0].getblockchaininfo() pools = chainInfo['valuePools'] - # Reenable these tests in v5.4.0-rc2 - # check_chain_value(chainInfo['chainSupply'], None, expected_supply) # Supply - # check_chain_value(pools[0], 'transparent', expected_supply - Decimal('20')) # Transparent + check_chain_value(chainInfo['chainSupply'], None, expected_supply) # Supply + check_chain_value(pools[0], 'transparent', expected_supply - Decimal('20')) # Transparent check_chain_value(pools[1], 'sprout', Decimal('0')) check_chain_value(pools[2], 'sapling', Decimal('20')) check_chain_value(pools[3], 'orchard', Decimal('0')) From 6d182d7ae70847e186dd5efeb299d77314d350dd Mon Sep 17 00:00:00 2001 From: Kris Nuttycombe Date: Mon, 23 Jan 2023 19:15:35 -0700 Subject: [PATCH 8/8] Update doc/release-notes.md Minor wording correction. Co-authored-by: Daira Hopwood --- doc/release-notes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/release-notes.md b/doc/release-notes.md index 43887e095..562420b55 100644 --- a/doc/release-notes.md +++ b/doc/release-notes.md @@ -40,7 +40,7 @@ After upgrading to v5.4.0, `zcashd` will start tracking changes in transparent pool value and chain supply from the height at which it is restarted. Block heights prior to this will not have any information recorded. To track changes from genesis, and thus monitor the total transparent pool size and chain supply, -you will need to restart your node with the `-reindex` option. +you would need to restart your node with the `-reindex` option. RPC Changes -----------