Merge pull request #6099 from ebfull/release-v5.2.0

Release v5.2.0
This commit is contained in:
Kris Nuttycombe 2022-07-26 09:03:35 -06:00 committed by GitHub
commit d6d2093beb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
13 changed files with 261 additions and 87 deletions

View File

@ -1,4 +1,4 @@
Zcash 5.2.0-rc1 Zcash 5.2.0
<img align="right" width="120" height="80" src="doc/imgs/logo.png"> <img align="right" width="120" height="80" src="doc/imgs/logo.png">
=========== ===========

View File

@ -3,7 +3,7 @@ AC_PREREQ([2.60])
define(_CLIENT_VERSION_MAJOR, 5) define(_CLIENT_VERSION_MAJOR, 5)
define(_CLIENT_VERSION_MINOR, 2) define(_CLIENT_VERSION_MINOR, 2)
define(_CLIENT_VERSION_REVISION, 0) define(_CLIENT_VERSION_REVISION, 0)
define(_CLIENT_VERSION_BUILD, 25) define(_CLIENT_VERSION_BUILD, 50)
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(_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_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) define(_CLIENT_VERSION_IS_RELEASE, true)

View File

@ -1,3 +1,9 @@
zcash (5.2.0) stable; urgency=medium
* 5.2.0 release.
-- Electric Coin Company <team@electriccoin.co> Mon, 25 Jul 2022 12:42:25 -0600
zcash (5.2.0~rc1) stable; urgency=medium zcash (5.2.0~rc1) stable; urgency=medium
* 5.2.0-rc1 release. * 5.2.0-rc1 release.

View File

@ -1,5 +1,5 @@
--- ---
name: "zcash-5.2.0-rc1" name: "zcash-5.2.0"
enable_cache: true enable_cache: true
distro: "debian" distro: "debian"
suites: suites:

View File

@ -1,39 +1,39 @@
Zcash Contributors Zcash Contributors
================== ==================
Jack Grigg (1188) Jack Grigg (1190)
Kris Nuttycombe (552) Kris Nuttycombe (570)
Simon Liu (460) Simon Liu (460)
Sean Bowe (387) Sean Bowe (389)
Daira Hopwood (329) Daira Hopwood (334)
Eirik Ogilvie-Wigley (216) Eirik Ogilvie-Wigley (216)
Wladimir J. van der Laan (150) Wladimir J. van der Laan (152)
Pieter Wuille (142)
Alfredo Garcia (119) Alfredo Garcia (119)
Taylor Hornby (118) Taylor Hornby (118)
Marshall Gaucher (114) Marshall Gaucher (116)
Pieter Wuille (108)
Ying Tong Lai (90) Ying Tong Lai (90)
Jonas Schnelli (90) Jonas Schnelli (90)
Jay Graber (89) Jay Graber (89)
Larry Ruane (88) Larry Ruane (88)
Marco Falke (85) Marco Falke (85)
Cory Fields (76) Cory Fields (78)
Matt Corallo (60) Matt Corallo (60)
sasha (58)
Nathan Wilcox (56) Nathan Wilcox (56)
sasha (54) practicalswift (42)
practicalswift (41)
Kevin Gallagher (38) Kevin Gallagher (38)
Dimitris Apostolou (38) Dimitris Apostolou (38)
fanquake (36) fanquake (36)
Carl Dong (26) Carl Dong (26)
Luke Dashjr (24)
Gregory Maxwell (24)
John Newbery (23) John Newbery (23)
Gregory Maxwell (23)
Jorge Timón (22) Jorge Timón (22)
Luke Dashjr (21) furszy (18)
Jonathan "Duke" Leto (18) Jonathan "Duke" Leto (18)
syd (16) syd (16)
Patick Strateman (16) Patick Strateman (16)
furszy (15)
Charlie O'Keefe (15) Charlie O'Keefe (15)
avnish (14) avnish (14)
Per Grön (14) Per Grön (14)
@ -41,6 +41,7 @@ Benjamin Winston (13)
Steven Smith (12) Steven Smith (12)
Pavel Janík (12) Pavel Janík (12)
Patrick Strateman (12) Patrick Strateman (12)
Jeremy Rubin (12)
Ariel Gabizon (12) Ariel Gabizon (12)
Suhas Daftuar (11) Suhas Daftuar (11)
Paige Peterson (11) Paige Peterson (11)
@ -53,14 +54,13 @@ Marius Kjærstad (10)
ying tong (9) ying tong (9)
teor (9) teor (9)
nomnombtc (9) nomnombtc (9)
Zancas Wilcox (9)
Russell Yanofsky (9) Russell Yanofsky (9)
kozyilmaz (8) kozyilmaz (8)
Zancas Wilcox (8)
Jeremy Rubin (8)
Jeff Garzik (8) Jeff Garzik (8)
Chun Kuan Lee (8)
Ben Wilson (8) Ben Wilson (8)
Karl-Johan Alm (7) Karl-Johan Alm (7)
Chun Kuan Lee (7)
James O'Beirne (6) James O'Beirne (6)
David Mercer (6) David Mercer (6)
Daniel Kraft (6) Daniel Kraft (6)
@ -80,6 +80,7 @@ gladcow (4)
WO (4) WO (4)
Sjors Provoost (4) Sjors Provoost (4)
Nate Wilcox (4) Nate Wilcox (4)
Jim Posen (4)
mruddy (3) mruddy (3)
lpescher (3) lpescher (3)
isle2983 (3) isle2983 (3)
@ -88,20 +89,22 @@ Thomas Snider (3)
NikVolf (3) NikVolf (3)
Martin Ankerl (3) Martin Ankerl (3)
Julian Fleischer (3) Julian Fleischer (3)
Jim Posen (3)
Jason Davies (3) Jason Davies (3)
Evan Klitzke (3) Evan Klitzke (3)
Ethan Heilman (3) Ethan Heilman (3)
Eric Lombrozo (3) Eric Lombrozo (3)
Danny Willems (3) Danny Willems (3)
Ben Woosley (3)
Anthony Towns (3) Anthony Towns (3)
Alfie John (3) Alfie John (3)
Aditya Kulkarni (3)
whythat (2) whythat (2)
rofl0r (2) rofl0r (2)
ptschip (2) ptschip (2)
noname45688@gmail.com (2) noname45688@gmail.com (2)
kpcyrd (2) kpcyrd (2)
kobake (2) kobake (2)
instagibbs (2)
hexabot (2) hexabot (2)
face (2) face (2)
aniemerg (2) aniemerg (2)
@ -125,17 +128,17 @@ Jesse Cohen (2)
Jeffrey Czyz (2) Jeffrey Czyz (2)
Jack Gavigan (2) Jack Gavigan (2)
ITH4Coinomia (2) ITH4Coinomia (2)
Hennadii Stepanov (2)
Dan Raviv (2)
Dagur Valberg Johannsson (2) Dagur Valberg Johannsson (2)
Conrado Gouvea (2) Conrado Gouvea (2)
Bryant Eisenbach (2) Bryant Eisenbach (2)
Brian Stafford (2) Brian Stafford (2)
Brad Miller (2) Brad Miller (2)
Bjorn Hjortsberg (2) Bjorn Hjortsberg (2)
Ben Woosley (2)
Amgad Abdelhafez (2) Amgad Abdelhafez (2)
Alex Tsankov (2) Alex Tsankov (2)
Akio Nakamura (2) Akio Nakamura (2)
Aditya Kulkarni (2)
ロハン ダル (1) ロハン ダル (1)
zathras-crypto (1) zathras-crypto (1)
vim88 (1) vim88 (1)
@ -145,13 +148,13 @@ tpantin (1)
sgmoore (1) sgmoore (1)
randy-waterhouse (1) randy-waterhouse (1)
plutoforever (1) plutoforever (1)
nathannaveen (1)
murrayn (1) murrayn (1)
mrbandrews (1) mrbandrews (1)
kirkalx (1) kirkalx (1)
kazcw (1) kazcw (1)
jeff-liang (1) jeff-liang (1)
jc (1) jc (1)
instagibbs (1)
glowang (1) glowang (1)
ewillbefull@gmail.com (1) ewillbefull@gmail.com (1)
emilrus (1) emilrus (1)
@ -208,6 +211,7 @@ Karel Bilek (1)
Josh Lehan (1) Josh Lehan (1)
Josh Ellithorpe (1) Josh Ellithorpe (1)
Jonas Nick (1) Jonas Nick (1)
Jon Layton (1)
Jeffrey Walton (1) Jeffrey Walton (1)
Janito Vaqueiro Ferreira Filho (1) Janito Vaqueiro Ferreira Filho (1)
Jainan-Tandel (1) Jainan-Tandel (1)
@ -215,7 +219,6 @@ Igor Cota (1)
Ian T (1) Ian T (1)
Ian Munoz (1) Ian Munoz (1)
Ian Kelling (1) Ian Kelling (1)
Hennadii Stepanov (1)
Gregory Sanders (1) Gregory Sanders (1)
Gaurav Rana (1) Gaurav Rana (1)
Forrest Voight (1) Forrest Voight (1)
@ -226,7 +229,6 @@ Dimitris Tsapakidis (1)
DesWurstes (1) DesWurstes (1)
Denis Lukianov (1) Denis Lukianov (1)
David Llop (1) David Llop (1)
Dan Raviv (1)
Christian von Roques (1) Christian von Roques (1)
Chirag Davé (1) Chirag Davé (1)
Cameron Boehmer (1) Cameron Boehmer (1)

View File

@ -1,9 +1,9 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.1. .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.2.
.TH ZCASH-CLI "1" "July 2022" "zcash-cli v5.2.0-rc1" "User Commands" .TH ZCASH-CLI "1" "July 2022" "zcash-cli v5.2.0" "User Commands"
.SH NAME .SH NAME
zcash-cli \- manual page for zcash-cli v5.2.0-rc1 zcash-cli \- manual page for zcash-cli v5.2.0
.SH DESCRIPTION .SH DESCRIPTION
Zcash RPC client version v5.2.0\-rc1 Zcash RPC client version v5.2.0
.PP .PP
In order to ensure you are adequately protecting your privacy when using Zcash, In order to ensure you are adequately protecting your privacy when using Zcash,
please see <https://z.cash/support/security/>. please see <https://z.cash/support/security/>.

View File

@ -1,9 +1,9 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.1. .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.2.
.TH ZCASH-TX "1" "July 2022" "zcash-tx v5.2.0-rc1" "User Commands" .TH ZCASH-TX "1" "July 2022" "zcash-tx v5.2.0" "User Commands"
.SH NAME .SH NAME
zcash-tx \- manual page for zcash-tx v5.2.0-rc1 zcash-tx \- manual page for zcash-tx v5.2.0
.SH DESCRIPTION .SH DESCRIPTION
Zcash zcash\-tx utility version v5.2.0\-rc1 Zcash zcash\-tx utility version v5.2.0
.SS "Usage:" .SS "Usage:"
.TP .TP
zcash\-tx [options] <hex\-tx> [commands] zcash\-tx [options] <hex\-tx> [commands]

View File

@ -1,7 +1,7 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.1. .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.2.
.TH ZCASHD-WALLET-TOOL "1" "July 2022" "zcashd-wallet-tool v5.2.0-rc1" "User Commands" .TH ZCASHD-WALLET-TOOL "1" "July 2022" "zcashd-wallet-tool v5.2.0" "User Commands"
.SH NAME .SH NAME
zcashd-wallet-tool \- manual page for zcashd-wallet-tool v5.2.0-rc1 zcashd-wallet-tool \- manual page for zcashd-wallet-tool v5.2.0
.SH SYNOPSIS .SH SYNOPSIS
.B zcashd-wallet-tool .B zcashd-wallet-tool
[\fI\,OPTIONS\/\fR] [\fI\,OPTIONS\/\fR]

View File

@ -1,9 +1,9 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.1. .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.2.
.TH ZCASHD "1" "July 2022" "zcashd v5.2.0-rc1" "User Commands" .TH ZCASHD "1" "July 2022" "zcashd v5.2.0" "User Commands"
.SH NAME .SH NAME
zcashd \- manual page for zcashd v5.2.0-rc1 zcashd \- manual page for zcashd v5.2.0
.SH DESCRIPTION .SH DESCRIPTION
Zcash Daemon version v5.2.0\-rc1 Zcash Daemon version v5.2.0
.PP .PP
In order to ensure you are adequately protecting your privacy when using Zcash, In order to ensure you are adequately protecting your privacy when using Zcash,
please see <https://z.cash/support/security/>. please see <https://z.cash/support/security/>.

View File

@ -4,48 +4,3 @@ release-notes at release time)
Notable changes Notable changes
=============== ===============
Node Performance Improvements
-----------------------------
This release makes several changes to improve the performance of node operations.
These include:
- Backported CuckooCache from upstream to improve the performance of signature
caching.
- Added caching of proof and signature validation results for Sapling and
Orchard to eliminate redundant computation.
- Backported SHA-256 assembly optimizations from upstream.
Wallet Performance Improvements
-------------------------------
This release makes several changes to improve the performance of wallet operations.
These include:
- We now parallelize and batch trial decryption of Sapling outputs.
- We now prune witness data in the wallet for notes spent more than 100 blocks
in the past, so that we can avoid unnecessarily updating those witnesses.
In order to take advantage of this performance improvement, users will need
to start their nodes with `-rescan` one time, in order to ensure that witnesses
for spent notes are in the wallet are properly pruned.
- The process for incrementing the witnesses for notes the wallet is tracking
has been optimized to avoid redundant passes over the wallet.
- Removed an assertion that was causing a slowdown in wallet scanning post-NU5.
RPC Interface Changes
=====================
- A `version` field was added to the result for the `gettransaction` RPC call to
avoid the need to make an extra call to `getrawtransaction` just to retrieve
the version.
Fixes
=====
- Fixed a regression that caused an incorrect process name to appear in the
process list.

View File

@ -0,0 +1,211 @@
Notable changes
===============
Node Performance Improvements
-----------------------------
This release makes several changes to improve the performance of node operations.
These include:
- Backported CuckooCache from upstream to improve the performance of signature
caching.
- Added caching of proof and signature validation results for Sapling and
Orchard to eliminate redundant computation.
- Backported SHA-256 assembly optimizations from upstream.
Wallet Performance Improvements
-------------------------------
This release makes several changes to improve the performance of wallet operations.
These include:
- We now parallelize and batch trial decryption of Sapling outputs.
- We now prune witness data in the wallet for notes spent more than 100 blocks
in the past, so that we can avoid unnecessarily updating those witnesses.
In order to take advantage of this performance improvement, users will need
to start their nodes with `-rescan` one time, in order to ensure that witnesses
for spent notes are in the wallet are properly pruned.
- The process for incrementing the witnesses for notes the wallet is tracking
has been optimized to avoid redundant passes over the wallet.
- Removed an assertion that was causing a slowdown in wallet scanning post-NU5.
RPC Interface Changes
=====================
- A `version` field was added to the result for the `gettransaction` RPC call to
avoid the need to make an extra call to `getrawtransaction` just to retrieve
the version.
Fixes
=====
- Fixed a regression that caused an incorrect process name to appear in the
process list.
Changelog
=========
Aditya Kulkarni (1):
Add tx version
Ben Woosley (1):
build: Detect gmtime_* definitions via configure
Chun Kuan Lee (1):
Use __cpuid_count for gnu C to avoid gitian build fail.
Cory Fields (2):
time: add runtime sanity check
build: always attempt to enable targeted sse42 cxxflags
Daira Hopwood (5):
This reverts part of 1f1810c37d00cb46d00d8553e6de3c6fdb991010 in #5959. Leaving the main thread unnamed causes it to be displayed as the executable name (i.e. `zcashd`) or command line in process monitoring tools. fixes #6066
Apply doc suggestions from code review
Use crossbeam-channel instead of std::sync::mpsc.
Update cxx to 1.0.72.
Narrow the use of `#![allow(clippy::too_many_arguments)]` in src/rust/src/sapling.rs.
Dan Raviv (1):
Fix header guards using reserved identifiers
Gregory Maxwell (1):
Add an explanation of quickly hashing onto a non-power of two range.
Hennadii Stepanov (1):
Use correct C++11 header for std::swap()
Jack Grigg (16):
lint: Fix include guards
wallet: Prune witnesses for notes spent more than 100 blocks ago
wallet: Make `{Increment, Decrement}NoteWitnesses`-internal helpers static
Cache Sapling and Orchard bundle validation
Add bundle kind to `BundleValidityCache` initialization log message
wallet: Throw error if `ReadBlockFromDisk` fails
wallet: Improve documentation of `SproutNotData` and `SaplingNoteData`
Move explicit instantiations for `BundleValidityCache` into `zcash/cache.cpp`
bench: Fix ConnectBlock large block benchmarks
wallet: Add `BatchScanner` interface to `CValidationInterface`
wallet: Pass `Consensus::Params` into `CWallet::FindMySaplingNotes`
wallet: Migrate `CWallet` to `CValidationInterface::InitBatchScanner`
rust: Implement multithreaded batched trial decryption for Sapling
wallet: Use batch trial decryption for Sapling outputs
wallet: Enforce an assumption about how wallet data evolves
wallet: Domain-separate batched txids with a "block tag"
Jeremy Rubin (4):
Add CuckooCache implementation and replace the sigcache map_type with it
Add unit tests for the CuckooCache
Decrease testcase sizes in cuckoocache tests
Deduplicate SignatureCacheHasher
Jim Posen (1):
scripted-diff: Move util files to separate directory.
Jon Layton (1):
doc: Doxygen-friendly CuckooCache comments
Kris Nuttycombe (18):
scripted-diff: Move utiltest to src/util
Add a clock for testing with an offset from the system clock.
Apply suggestions from code review
Add persistent Sprout test data.
Remove the temporary test that was used for setup of the cached Sprout fixtures.
Add RPC test initialization using the persisted Sprout chains.
Update sprout_sapling_migration test to use persisted sprout chains.
Update feature_zip239 test to use persisted sprout chains.
Add missing <chrono> header to util/time.h
Update finalsaplingroot test to use persisted sprout chains.
Update getblocktemplate test to use persisted sprout chain
Replace setup_clean_chain with cache_behavior in rpc test init.
qa: Postpone recent native_rust, native_cxxbridge and rustcxx updates
Update release notes for v5.2.0.
make-release.py: Versioning changes for 5.2.0-rc1.
make-release.py: Updated manpages for 5.2.0-rc1.
make-release.py: Updated release notes and changelog for 5.2.0-rc1.
Fix incomplete release notes for witness pruning.
Luke Dashjr (3):
configure: Invert --enable-asm help string since default is now enabled
configure: Skip assembly support checks, when assembly is disabled
configure: Initialise assembly enable_* variables
Marshall Gaucher (2):
Update entrypoint.sh
Update contrib/docker/entrypoint.sh
Pieter Wuille (34):
Allow non-power-of-2 signature cache sizes
Do not store Merkle branches in the wallet.
Avoid duplicate CheckBlock checks
Add merkle.{h,cpp}, generic merkle root/branch algorithm
Switch blocks to a constant-space Merkle root/branch algorithm.
Add FastRandomContext::rand256() and ::randbytes()
scripted-diff: Rename cuckoo tests' local rand context
Merge test_random.h into test_bitcoin.h
Add various insecure_rand wrappers for tests
scripted-diff: use insecure_rand256/randrange more
Replace more rand() % NUM by randranges
Replace rand() & ((1 << N) - 1) with randbits(N)
Use randbits instead of ad-hoc emulation in prevector tests
scripted-diff: Use randbits/bool instead of randrange where possible
scripted-diff: Use new naming style for insecure_rand* functions
Support multi-block SHA256 transforms
Add SHA256 dispatcher
Add SSE4 based SHA256
Add selftest for SHA256 transform
Protect SSE4 code behind a compile-time flag
Benchmark Merkle root computation
Refactor SHA256 code
Specialized double sha256 for 64 byte inputs
Use SHA256D64 in Merkle root computation
4-way SSE4.1 implementation for double SHA256 on 64-byte inputs
8-way AVX2 implementation for double SHA256 on 64-byte inputs
[MOVEONLY] Move unused Merkle branch code to tests
Enable double-SHA256-for-64-byte code on 32-bit x86
Improve coverage of SHA256 SelfTest code
For AVX2 code, also check for AVX, XSAVE, and OS support
[Refactor] CPU feature detection logic for SHA256
Add SHA256 implementation using using Intel SHA intrinsics
Use immintrin.h everywhere for intrinsics
Avoid non-trivial global constants in SHA-NI code
Sean Bowe (2):
make-release.py: Versioning changes for 5.2.0.
make-release.py: Updated manpages for 5.2.0.
Wladimir J. van der Laan (2):
build: Rename --enable-experimental-asm to --enable-asm and enable by default
build: Mention use of asm in summary
furszy (3):
Fix missing vector include and vector type definition
Rework Sprout and Sapling witnesses increment and cache workflow, so it does not loop over the entire wallet txs map indiscriminately.
Use references instead of pointers where possible.
instagibbs (1):
Return useful error message on ATMP failure
nathannaveen (1):
chore: Set permissions for GitHub actions
practicalswift (1):
Use explicit casting in cuckoocache's compute_hashes(...) to clarify integer conversion
sasha (4):
Patch smoke_tests.py to properly handle changes in minconf behavior
Improve smoke_test.py wait_for_balance message in the minconf!=1 case
Patch smoke_tests.py to require 4 confirmations for z_mergetoaddress
Add cuckoocache.h to Makefile.am
Jack Grigg (2):
Improve bundlecache documentation
Minor fixes to documentation
Zancas Wilcox (1):
match the actual two hyphen flag

View File

@ -18,7 +18,7 @@
#define CLIENT_VERSION_MAJOR 5 #define CLIENT_VERSION_MAJOR 5
#define CLIENT_VERSION_MINOR 2 #define CLIENT_VERSION_MINOR 2
#define CLIENT_VERSION_REVISION 0 #define CLIENT_VERSION_REVISION 0
#define CLIENT_VERSION_BUILD 25 #define CLIENT_VERSION_BUILD 50
//! Set to true for release, false for prerelease or test build //! Set to true for release, false for prerelease or test build
#define CLIENT_VERSION_IS_RELEASE true #define CLIENT_VERSION_IS_RELEASE true

View File

@ -10,7 +10,7 @@
// Per https://zips.z.cash/zip-0200 // Per https://zips.z.cash/zip-0200
// Shut down nodes running this version of code, 16 weeks' worth of blocks after the estimated // 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. // release block height. A warning is shown during the 14 days' worth of blocks prior to shut down.
static const int APPROX_RELEASE_HEIGHT = 1747000; static const int APPROX_RELEASE_HEIGHT = 1750350;
static const int RELEASE_TO_DEPRECATION_WEEKS = 16; static const int RELEASE_TO_DEPRECATION_WEEKS = 16;
static const int EXPECTED_BLOCKS_PER_HOUR = 3600 / Consensus::POST_BLOSSOM_POW_TARGET_SPACING; 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."); static_assert(EXPECTED_BLOCKS_PER_HOUR == 48, "The value of Consensus::POST_BLOSSOM_POW_TARGET_SPACING was chosen such that this assertion holds.");