diff --git a/.cargo/config.toml.offline b/.cargo/config.toml.offline
index 516366cec86..8b7762d20bf 100644
--- a/.cargo/config.toml.offline
+++ b/.cargo/config.toml.offline
@@ -4,10 +4,5 @@ linker = "aarch64-linux-gnu-gcc"
[source.crates-io]
replace-with = "vendored-sources"
-[source."https://github.com/zcash/librustzcash.git"]
-git = "https://github.com/zcash/librustzcash.git"
-rev = "f69316e5bd940d5e4760c1ee0b0f3bef56d71534"
-replace-with = "vendored-sources"
-
[source.vendored-sources]
# The directory for this source is set to RUST_VENDORED_SOURCES by src/Makefile.am
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index bec369cb54b..df715b4b10f 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -78,18 +78,18 @@ jobs:
test_os: ubuntu-22.04
host: x86_64-pc-linux-gnu
- - name: macos-12
- tier: 3
- platform: macOS 12 Monterey
- build_os: macos-12
- test_os: macos-12
- brew_deps: >
- autoconf
- automake
- coreutils
- libtool
- pkgconfig
- host: x86_64-apple-darwin
+ # - name: macos-12
+ # tier: 3
+ # platform: macOS 12 Monterey
+ # build_os: macos-12
+ # test_os: macos-12
+ # brew_deps: >
+ # autoconf
+ # automake
+ # coreutils
+ # libtool
+ # pkgconfig
+ # host: x86_64-apple-darwin
- name: mingw32
tier: 3
diff --git a/Cargo.lock b/Cargo.lock
index 0c9aea4c264..8a784dd7bef 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -471,9 +471,9 @@ dependencies = [
[[package]]
name = "cxx"
-version = "1.0.124"
+version = "1.0.126"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "273dcfd3acd4e1e276af13ed2a43eea7001318823e7a726a6b3ed39b4acc0b82"
+checksum = "3c4eae4b7fc8dcb0032eb3b1beee46b38d371cdeaf2d0c64b9944f6f69ad7755"
dependencies = [
"cc",
"cxxbridge-flags",
@@ -483,15 +483,15 @@ dependencies = [
[[package]]
name = "cxxbridge-flags"
-version = "1.0.124"
+version = "1.0.126"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "839fcd5e43464614ffaa989eaf1c139ef1f0c51672a1ed08023307fa1b909ccd"
+checksum = "719d6197dc016c88744aff3c0d0340a01ecce12e8939fc282e7c8f583ee64bc6"
[[package]]
name = "cxxbridge-macro"
-version = "1.0.124"
+version = "1.0.126"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4b2c1c1776b986979be68bb2285da855f8d8a35851a769fca8740df7c3d07877"
+checksum = "35de3b547387863c8f82013c4f79f1c2162edee956383e4089e1d04c18c4f16c"
dependencies = [
"proc-macro2",
"quote",
@@ -2534,9 +2534,9 @@ checksum = "213b7324336b53d2414b2db8537e56544d981803139155afa84f76eeebb7a546"
[[package]]
name = "zcash_address"
-version = "0.4.0"
+version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a6d26f21381dc220836dd8d2a9a10dbe85928a26232b011bc6a42b611789b743"
+checksum = "14bccd6cefb76f87b6d15a9e7b02b6c0515648c6de8e806c4e2d6f0f6ae640c5"
dependencies = [
"bech32",
"bs58",
@@ -2581,9 +2581,9 @@ dependencies = [
[[package]]
name = "zcash_primitives"
-version = "0.16.0"
+version = "0.17.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5f044bc9cf2887ec408196fbafb44749e5581f57cc18d8da7aabaeb60cc40c64"
+checksum = "4d87ab6a55591a8cf1866749fdc739ae1bbd06e6cec07ab0bbe5d57ee3390eb2"
dependencies = [
"aes",
"bip32",
@@ -2621,9 +2621,9 @@ dependencies = [
[[package]]
name = "zcash_proofs"
-version = "0.16.0"
+version = "0.17.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c579a5893ac140fab49cf73023ace91d51b441f37094bba5969c775526d8c1e"
+checksum = "5b9fc0032b3d90f000f50dba7a996ad6556b7dba5b5145f93ab67b6eb74d3a48"
dependencies = [
"bellman",
"blake2b_simd",
@@ -2644,9 +2644,9 @@ dependencies = [
[[package]]
name = "zcash_protocol"
-version = "0.2.0"
+version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f35eac659fdbba614333d119217c5963c0d7cea43aee33176c4f2f95e5460d8d"
+checksum = "7b1ff002bd41ba76b42d42a02ee11de06790b7fdbc904bdea4486b9a93b2a5e4"
dependencies = [
"document-features",
"incrementalmerkletree",
diff --git a/Cargo.toml b/Cargo.toml
index 3681d724f20..f770d59fbc1 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -59,20 +59,20 @@ redjubjub = "0.7"
tracing = "0.1"
tracing-core = "0.1"
tracing-appender = "0.2"
-zcash_address = "0.4"
+zcash_address = "0.5"
zcash_encoding = "0.2.1"
zcash_history = "0.4"
zcash_note_encryption = "0.4"
-zcash_primitives = { version = "0.16", features = ["temporary-zcashd", "transparent-inputs"] }
-zcash_proofs = { version = "0.16", features = ["directories"] }
-zcash_protocol = { version = "0.2", features = ["local-consensus"] }
+zcash_primitives = { version = "0.17", features = ["temporary-zcashd", "transparent-inputs"] }
+zcash_proofs = { version = "0.17", features = ["directories"] }
+zcash_protocol = { version = "0.3", features = ["local-consensus"] }
ed25519-zebra = "4"
zeroize = "1.4.2"
wagyu-zcash-parameters = "0.2"
# Rust/C++ interop
# The version needs to match depends/packages/native_cxxbridge.mk
-cxx = { version = "=1.0.124", features = ["c++17"] }
+cxx = { version = "=1.0.126", features = ["c++17"] }
# Rust threading
rayon = "1.5"
@@ -100,7 +100,7 @@ time = { version = "0.3", features = ["formatting", "macros"] }
[dev-dependencies]
incrementalmerkletree = { version = "0.6", features = ["test-dependencies"] }
proptest = "1.0.0"
-zcash_primitives = { version = "0.16", features = ["temporary-zcashd", "transparent-inputs", "test-dependencies"] }
+zcash_primitives = { version = "0.17", features = ["temporary-zcashd", "transparent-inputs", "test-dependencies"] }
[dependencies.tracing-subscriber]
version = "0.3"
diff --git a/README.md b/README.md
index ee2856cd179..72101ec4ea5 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-Zcash 5.9.1
+Zcash 5.10.0
===========
diff --git a/configure.ac b/configure.ac
index 059780f99e8..e5ee383a0d4 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,8 +1,8 @@
dnl require autoconf 2.60 (AS_ECHO/AS_ECHO_N)
AC_PREREQ([2.60])
define(_CLIENT_VERSION_MAJOR, 5)
-define(_CLIENT_VERSION_MINOR, 9)
-define(_CLIENT_VERSION_REVISION, 1)
+define(_CLIENT_VERSION_MINOR, 10)
+define(_CLIENT_VERSION_REVISION, 0)
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(_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)))
diff --git a/contrib/debian/changelog b/contrib/debian/changelog
index 25438abdca6..346f7a36baf 100644
--- a/contrib/debian/changelog
+++ b/contrib/debian/changelog
@@ -1,3 +1,15 @@
+zcash (5.10.0) stable; urgency=medium
+
+ * 5.10.0 release.
+
+ -- Electric Coin Company Tue, 27 Aug 2024 10:40:33 -0600
+
+zcash (5.10.0~rc1) stable; urgency=medium
+
+ * 5.10.0-rc1 release.
+
+ -- Electric Coin Company Wed, 21 Aug 2024 22:55:30 -0600
+
zcash (5.9.1) stable; urgency=medium
* 5.9.1 release.
diff --git a/contrib/gitian-descriptors/gitian-linux-parallel.yml b/contrib/gitian-descriptors/gitian-linux-parallel.yml
index 3d35daabb0e..ce08fef9f8c 100644
--- a/contrib/gitian-descriptors/gitian-linux-parallel.yml
+++ b/contrib/gitian-descriptors/gitian-linux-parallel.yml
@@ -1,5 +1,5 @@
---
-name: "zcash-5.9.1"
+name: "zcash-5.10.0"
enable_cache: true
distro: "debian"
suites:
diff --git a/contrib/gitian-descriptors/gitian-linux.yml b/contrib/gitian-descriptors/gitian-linux.yml
index fea6de1b2f9..044b3e33a5c 100644
--- a/contrib/gitian-descriptors/gitian-linux.yml
+++ b/contrib/gitian-descriptors/gitian-linux.yml
@@ -1,5 +1,5 @@
---
-name: "zcash-5.9.1"
+name: "zcash-5.10.0"
enable_cache: true
distro: "debian"
suites:
diff --git a/deny.toml b/deny.toml
index db8e3caf220..d79f3ab35e3 100644
--- a/deny.toml
+++ b/deny.toml
@@ -25,18 +25,9 @@ allow = [
exceptions = [
{ name = "arrayref", allow = ["BSD-2-Clause"] },
{ name = "curve25519-dalek", allow = ["BSD-3-Clause"] },
- { name = "ring", allow = ["LicenseRef-ring"] },
{ name = "secp256k1", allow = ["CC0-1.0"] },
{ name = "secp256k1-sys", allow = ["CC0-1.0"] },
{ name = "subtle", allow = ["BSD-3-Clause"] },
{ name = "terminfo", allow = ["WTFPL"] },
{ name = "unicode-ident", allow = ["Unicode-DFS-2016"] },
- { name = "untrusted", allow = ["ISC"] },
-]
-
-[[licenses.clarify]]
-name = "ring"
-expression = "LicenseRef-ring"
-license-files = [
- { path = "LICENSE", hash = 0xbd0eed23 },
]
diff --git a/depends/packages/native_cxxbridge.mk b/depends/packages/native_cxxbridge.mk
index 3fe22eebe8d..bb91c1bc0b7 100644
--- a/depends/packages/native_cxxbridge.mk
+++ b/depends/packages/native_cxxbridge.mk
@@ -1,10 +1,10 @@
package=native_cxxbridge
# The version needs to match cxx in Cargo.toml
-$(package)_version=1.0.124
+$(package)_version=1.0.126
$(package)_download_path=https://github.com/dtolnay/cxx/archive/refs/tags
$(package)_file_name=native_cxxbridge-$($(package)_version).tar.gz
$(package)_download_file=$($(package)_version).tar.gz
-$(package)_sha256_hash=ee25ea9b2157de797a087cee7fe02e92af53eba435b009b5e42317ea47fc8551
+$(package)_sha256_hash=9ad1aecb0dae3e9419c240a5acc1ab5a19194b6eee15c53c2b4a941192ba1a18
$(package)_build_subdir=gen/cmd
$(package)_dependencies=native_rust
# This file is somewhat annoying to update, but can be done like so from the repo base:
diff --git a/depends/packages/native_rust.mk b/depends/packages/native_rust.mk
index f04334931e9..310aa2d3ee0 100644
--- a/depends/packages/native_rust.mk
+++ b/depends/packages/native_rust.mk
@@ -3,16 +3,16 @@ package=native_rust
# ./contrib/devtools/update-rust-hashes.sh
# The Rust compiler should use the same LLVM version as the Clang compiler; you
# can check this with `rustc --version -v`.
-$(package)_version=1.80.0
+$(package)_version=1.80.1
$(package)_download_path=https://static.rust-lang.org/dist
$(package)_file_name_linux=rust-$($(package)_version)-x86_64-unknown-linux-gnu.tar.gz
-$(package)_sha256_hash_linux=702d3b60816eb9410c84947895c0188e20f588cb91b3aee8d84cec23ddb63582
+$(package)_sha256_hash_linux=9eedaea9719914a0f4673899aa11693607f25486569913fcca5905ef1da784ec
$(package)_file_name_darwin=rust-$($(package)_version)-x86_64-apple-darwin.tar.gz
-$(package)_sha256_hash_darwin=18352bc5802e117189c029b6ed63bf83bfbcde7141f33eee69f037acd1767676
+$(package)_sha256_hash_darwin=4fcc0dad8b47066e13877e2839760ef1f40754a90a8fe83ecd4a1f14bf63c71a
$(package)_file_name_freebsd=rust-$($(package)_version)-x86_64-unknown-freebsd.tar.gz
-$(package)_sha256_hash_freebsd=d9eb6a65ee2b51ce982999c093a9f1f2e37f65c3a3d47dff2e0e74b7e01f534c
+$(package)_sha256_hash_freebsd=d7f4f66c3cc97616bcd37d9f63ed14c3c22c72a467f308453df2f1b128ffe0bc
$(package)_file_name_aarch64_linux=rust-$($(package)_version)-aarch64-unknown-linux-gnu.tar.gz
-$(package)_sha256_hash_aarch64_linux=0aa0f0327c8054f3805cc4d83be2c17d1e846d23292aa872ecd6f78d86f84ce5
+$(package)_sha256_hash_aarch64_linux=4ae791da82be6e7223f4f6cd477799624481aa1011e17c37753a57d257f89198
# Mapping from GCC canonical hosts to Rust targets
# If a mapping is not present, we assume they are identical, unless $host_os is
@@ -21,10 +21,10 @@ $(package)_rust_target_x86_64-pc-linux-gnu=x86_64-unknown-linux-gnu
$(package)_rust_target_x86_64-w64-mingw32=x86_64-pc-windows-gnu
# Mapping from Rust targets to SHA-256 hashes
-$(package)_rust_std_sha256_hash_aarch64-unknown-linux-gnu=6cdbe8c2b502ca90f42c581b8906b725ccc55bbb3427a332379236bf22be59b3
-$(package)_rust_std_sha256_hash_x86_64-apple-darwin=069dcd20861c1031a2e1484ef4085503b1e239fdca6b7c6dd4d834c9cc8aff70
-$(package)_rust_std_sha256_hash_x86_64-pc-windows-gnu=0d6a58268bd94d66280812c042c41521f65acd773e3aae3219eb8a088654be72
-$(package)_rust_std_sha256_hash_x86_64-unknown-freebsd=c53712accc2d631b6afcf50c090752de01be2e92dd9e013fb9b036fe2cafae71
+$(package)_rust_std_sha256_hash_aarch64-unknown-linux-gnu=2465f0df2ee35d32bd9690e05dd84d9c38bf81e8a5e9fd940d7347b66447c97f
+$(package)_rust_std_sha256_hash_x86_64-apple-darwin=8fe1bd5ac9fb8741d3049b753a6eabec0e88d9c2c0276fdff34f868b35edda41
+$(package)_rust_std_sha256_hash_x86_64-pc-windows-gnu=4fb82d57b0422ad31894529d3b45f84c41dec92009e643aa66fc4f418178b475
+$(package)_rust_std_sha256_hash_x86_64-unknown-freebsd=b293f4ad4baa7298b2ccff0da3224b1e9bb64e34d5d1158d0a03fea37adb0402
define rust_target
$(if $($(1)_rust_target_$(2)),$($(1)_rust_target_$(2)),$(if $(findstring darwin,$(3)),x86_64-apple-darwin,$(if $(findstring freebsd,$(3)),x86_64-unknown-freebsd,$(2))))
diff --git a/depends/patches/native_cxxbridge/Cargo.lock b/depends/patches/native_cxxbridge/Cargo.lock
index f8f34744659..309993c6799 100644
--- a/depends/patches/native_cxxbridge/Cargo.lock
+++ b/depends/patches/native_cxxbridge/Cargo.lock
@@ -3,25 +3,26 @@
version = 3
[[package]]
-name = "adler"
-version = "1.0.2"
+name = "adler2"
+version = "2.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
+checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627"
[[package]]
name = "anstyle"
-version = "1.0.7"
+version = "1.0.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "038dfcf04a5feb68e9c60b21c9625a54c2c0616e79b72b0fd87075a056ae1d1b"
+checksum = "1bec1de6f59aedf83baf9ff929c98f2ad654b97c9510f4e70cf6f661d49fd5b1"
[[package]]
name = "cc"
-version = "1.1.5"
+version = "1.1.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "324c74f2155653c90b04f25b2a47a8a631360cb908f92a772695f430c7e31052"
+checksum = "72db2f7947ecee9b03b510377e8bb9077afa27176fdbff55c51027e976fdcc48"
dependencies = [
"jobserver",
"libc",
+ "shlex",
]
[[package]]
@@ -32,9 +33,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
[[package]]
name = "clang-ast"
-version = "0.1.25"
+version = "0.1.26"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d1c4a15ee0d6a4f79bf67cedd8323d9e97ae93953c7bd56b7a14f09ada04235c"
+checksum = "577457f7ace079a595017e4307c6e480902664ede6e4a0760747c4f498b7c996"
dependencies = [
"rustc-hash",
"serde",
@@ -42,18 +43,18 @@ dependencies = [
[[package]]
name = "clap"
-version = "4.5.9"
+version = "4.5.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "64acc1846d54c1fe936a78dc189c34e28d3f5afc348403f28ecf53660b9b8462"
+checksum = "ed6719fffa43d0d87e5fd8caeab59be1554fb028cd30edc88fc4369b17971019"
dependencies = [
"clap_builder",
]
[[package]]
name = "clap_builder"
-version = "4.5.9"
+version = "4.5.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6fb8393d67ba2e7bfaf28a23458e4e2b543cc73a99595511eb207fdb8aede942"
+checksum = "216aec2b177652e3846684cbfe25c9964d18ec45234f0f5da5157b207ed1aab6"
dependencies = [
"anstyle",
"clap_lex",
@@ -62,9 +63,9 @@ dependencies = [
[[package]]
name = "clap_lex"
-version = "0.7.1"
+version = "0.7.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4b82cf0babdbd58558212896d1a4272303a57bdb245c2bf1147185fb45640e70"
+checksum = "1462739cb27611015575c0c11df5df7601141071f07518d56fcc1be504cbec97"
[[package]]
name = "codespan-reporting"
@@ -87,7 +88,7 @@ dependencies = [
[[package]]
name = "cxx"
-version = "1.0.124"
+version = "1.0.126"
dependencies = [
"cc",
"cxx-build",
@@ -102,7 +103,7 @@ dependencies = [
[[package]]
name = "cxx-build"
-version = "1.0.124"
+version = "1.0.126"
dependencies = [
"cc",
"codespan-reporting",
@@ -118,7 +119,7 @@ dependencies = [
[[package]]
name = "cxx-gen"
-version = "0.7.124"
+version = "0.7.126"
dependencies = [
"codespan-reporting",
"proc-macro2",
@@ -137,7 +138,7 @@ dependencies = [
[[package]]
name = "cxxbridge-cmd"
-version = "1.0.124"
+version = "1.0.126"
dependencies = [
"clap",
"codespan-reporting",
@@ -148,11 +149,11 @@ dependencies = [
[[package]]
name = "cxxbridge-flags"
-version = "1.0.124"
+version = "1.0.126"
[[package]]
name = "cxxbridge-macro"
-version = "1.0.124"
+version = "1.0.126"
dependencies = [
"clang-ast",
"cxx",
@@ -188,9 +189,9 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
[[package]]
name = "flate2"
-version = "1.0.30"
+version = "1.0.32"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5f54427cfd1c7829e2a139fcefea601bf088ebca651d2bf53ebc600eac295dae"
+checksum = "9c0596c1eac1f9e04ed902702e9878208b336edc9d6fddc8a48387349bab3666"
dependencies = [
"crc32fast",
"miniz_oxide",
@@ -210,9 +211,9 @@ checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1"
[[package]]
name = "indexmap"
-version = "2.2.6"
+version = "2.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26"
+checksum = "93ead53efc7ea8ed3cfb0c79fc8023fbb782a5432b52830b6518941cebe6505c"
dependencies = [
"equivalent",
"hashbrown",
@@ -226,18 +227,18 @@ checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b"
[[package]]
name = "jobserver"
-version = "0.1.31"
+version = "0.1.32"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d2b099aaa34a9751c5bf0878add70444e1ed2dd73f347be99003d4577277de6e"
+checksum = "48d1dbcbbeb6a7fec7e059840aa538bd62aaccf972c7346c4d9d2059312853d0"
dependencies = [
"libc",
]
[[package]]
name = "libc"
-version = "0.2.155"
+version = "0.2.158"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c"
+checksum = "d8adc4bb1803a324070e64a98ae98f38934d91957a99cfb3a43dcbc01bc56439"
[[package]]
name = "link-cplusplus"
@@ -266,11 +267,11 @@ dependencies = [
[[package]]
name = "miniz_oxide"
-version = "0.7.4"
+version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b8a240ddb74feaf34a79a7add65a741f3167852fba007066dcac1ca548d89c08"
+checksum = "e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1"
dependencies = [
- "adler",
+ "adler2",
]
[[package]]
@@ -329,18 +330,18 @@ checksum = "a3cf7c11c38cb994f3d40e8a8cde3bbd1f72a435e4c49e85d6553d8312306152"
[[package]]
name = "serde"
-version = "1.0.204"
+version = "1.0.208"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bc76f558e0cbb2a839d37354c575f1dc3fdc6546b5be373ba43d95f231bf7c12"
+checksum = "cff085d2cb684faa248efb494c39b68e522822ac0de72ccf08109abde717cfb2"
dependencies = [
"serde_derive",
]
[[package]]
name = "serde_derive"
-version = "1.0.204"
+version = "1.0.208"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e0cd7e117be63d3c3678776753929474f3b04a43a080c744d6b0ae2a8c28e222"
+checksum = "24008e81ff7613ed8e5ba0cfaf24e2c2f1e5b8a0495711e44fcd4882fca62bcf"
dependencies = [
"proc-macro2",
"quote",
@@ -349,24 +350,31 @@ dependencies = [
[[package]]
name = "serde_json"
-version = "1.0.120"
+version = "1.0.125"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4e0d21c9a8cae1235ad58a00c11cb40d4b1e5c784f1ef2c537876ed6ffd8b7c5"
+checksum = "83c8e735a073ccf5be70aa8066aa984eaf2fa000db6c8d0100ae605b366d31ed"
dependencies = [
"itoa",
+ "memchr",
"ryu",
"serde",
]
[[package]]
name = "serde_spanned"
-version = "0.6.6"
+version = "0.6.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "79e674e01f999af37c49f70a6ede167a8a60b2503e56c5599532a65baa5969a0"
+checksum = "eb5b1b31579f3811bf615c144393417496f152e12ac8b7663bf664f4a815306d"
dependencies = [
"serde",
]
+[[package]]
+name = "shlex"
+version = "1.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
+
[[package]]
name = "strsim"
version = "0.11.1"
@@ -375,9 +383,9 @@ checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f"
[[package]]
name = "syn"
-version = "2.0.71"
+version = "2.0.75"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b146dcf730474b4bcd16c311627b31ede9ab149045db4d6088b3becaea046462"
+checksum = "f6af063034fc1935ede7be0122941bafa9bacb949334d090b77ca98b5817c7d9"
dependencies = [
"proc-macro2",
"quote",
@@ -395,9 +403,9 @@ dependencies = [
[[package]]
name = "toml"
-version = "0.8.15"
+version = "0.8.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ac2caab0bf757388c6c0ae23b3293fdb463fee59434529014f85e3263b995c28"
+checksum = "a1ed1f98e3fdc28d6d910e6737ae6ab1a93bf1985935a1193e68f93eeb68d24e"
dependencies = [
"serde",
"serde_spanned",
@@ -407,18 +415,18 @@ dependencies = [
[[package]]
name = "toml_datetime"
-version = "0.6.6"
+version = "0.6.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4badfd56924ae69bcc9039335b2e017639ce3f9b001c393c1b2d1ef846ce2cbf"
+checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41"
dependencies = [
"serde",
]
[[package]]
name = "toml_edit"
-version = "0.22.16"
+version = "0.22.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "278f3d518e152219c994ce877758516bca5e118eaed6996192a774fb9fbf0788"
+checksum = "583c44c02ad26b0c3f3066fe629275e50627026c51ac2e595cca4c230ce1ce1d"
dependencies = [
"indexmap",
"serde",
@@ -429,9 +437,9 @@ dependencies = [
[[package]]
name = "trybuild"
-version = "1.0.97"
+version = "1.0.99"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5b1e5645f2ee8025c2f1d75e1138f2dd034d74e6ba54620f3c569ba2a2a1ea06"
+checksum = "207aa50d36c4be8d8c6ea829478be44a372c6a77669937bb39c698e52f1491e8"
dependencies = [
"dissimilar",
"glob",
@@ -472,9 +480,9 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
[[package]]
name = "winapi-util"
-version = "0.1.8"
+version = "0.1.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4d4cc384e1e73b93bafa6fb4f1df8c41695c8a91cf9c4c64358067d15a7b6c6b"
+checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb"
dependencies = [
"windows-sys",
]
@@ -487,9 +495,9 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
[[package]]
name = "windows-sys"
-version = "0.52.0"
+version = "0.59.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
+checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b"
dependencies = [
"windows-targets",
]
@@ -560,9 +568,9 @@ checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
[[package]]
name = "winnow"
-version = "0.6.13"
+version = "0.6.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "59b5e5f6c299a3c7890b876a2a587f3115162487e704907d9b6cd29473052ba1"
+checksum = "68a9bda4691f099d435ad181000724da8e5899daa10713c2d432552b9ccd3a6f"
dependencies = [
"memchr",
]
diff --git a/doc/authors.md b/doc/authors.md
index 77b80e1e13f..977adc2e67b 100644
--- a/doc/authors.md
+++ b/doc/authors.md
@@ -1,26 +1,26 @@
Zcash Contributors
==================
-* Jack Grigg (2137)
-* Kris Nuttycombe (714)
+* Jack Grigg (2157)
+* Kris Nuttycombe (750)
+* Daira-Emma Hopwood (483)
* Simon Liu (464)
-* Daira-Emma Hopwood (464)
* Sean Bowe (413)
* Eirik Ogilvie-Wigley (273)
* Greg Pfeil (208)
+* Pieter Wuille (161)
* Wladimir J. van der Laan (160)
-* Pieter Wuille (157)
* Marshall Gaucher (125)
* Alfredo Garcia (120)
* Taylor Hornby (118)
* Ying Tong Lai (99)
* Marco Falke (91)
* Jonas Schnelli (90)
+* Larry Ruane (89)
* Jay Graber (89)
-* Larry Ruane (88)
* sasha (80)
* Cory Fields (78)
-* Matt Corallo (62)
+* Matt Corallo (63)
* Nate Wilcox (61)
* practicalswift (43)
* Dimitris Apostolou (43)
@@ -28,14 +28,14 @@ Zcash Contributors
* Kevin Gallagher (38)
* Carl Dong (30)
* Patrick Strateman (28)
+* Gregory Maxwell (28)
* Alex Morcos (28)
* Luke Dashjr (27)
* Jorge Timón (25)
-* Gregory Maxwell (24)
-* John Newbery (23)
+* John Newbery (24)
* Yasser Isa (21)
* Suhas Daftuar (20)
-* Marius Kjærstad (19)
+* Marius Kjærstad (20)
* Jonathan "Duke" Leto (19)
* furszy (18)
* syd (16)
@@ -109,12 +109,15 @@ Zcash Contributors
* ptschip (2)
* noname45688@gmail.com (2)
* murrayn (2)
+* mrbandrews (2)
* kpcyrd (2)
* kobake (2)
* hexabot (2)
* face (2)
+* dismad (2)
* aniemerg (2)
* Yuri Zhykin (2)
+* Yass (2)
* UdjinM6 (2)
* Tim Ruffing (2)
* Solar Designer (2)
@@ -149,6 +152,7 @@ Zcash Contributors
* Akio Nakamura (2)
* ロハン ダル (1)
* zathras-crypto (1)
+* y4ssi (1)
* vim88 (1)
* user (1)
* unsystemizer (1)
@@ -158,15 +162,14 @@ Zcash Contributors
* randy-waterhouse (1)
* plutoforever (1)
* nathannaveen (1)
-* mrbandrews (1)
* kirkalx (1)
* kazcw (1)
+* jimmycathy (1)
* jeff-liang (1)
* jc (1)
* idm (1)
* glowang (1)
* emilrus (1)
-* dismad (1)
* dexX7 (1)
* daniel (1)
* cronicc (1)
@@ -230,6 +233,7 @@ Zcash Contributors
* Ian Munoz (1)
* Ian Kelling (1)
* Gregory Sanders (1)
+* Greg Griffith (1)
* Gaurav Rana (1)
* Forrest Voight (1)
* Florian Schmaus (1)
@@ -265,3 +269,4 @@ Zcash Contributors
* 4ZEC (1)
* 251 (1)
* 21E14 (1)
+* 0xPierre (1)
diff --git a/doc/book/src/user/release-support.md b/doc/book/src/user/release-support.md
index 0d7fbb1df6a..4b95d87fe6e 100644
--- a/doc/book/src/user/release-support.md
+++ b/doc/book/src/user/release-support.md
@@ -42,8 +42,8 @@ time, and may shift due to changes in network solution power.
| `zcashd` version | Release date | Halt height | End of Support |
| ---------------- | ------------ | ----------- | -------------- |
-| 5.9.0-rc1 | 2024-04-17 | 2603900 | 2024-08-07 |
-| 5.9.0 | 2024-04-19 | 2606000 | 2024-08-09 |
| 5.9.1-rc1 | 2024-05-22 | 2643624 | 2024-09-11 |
| 5.9.1 | 2024-05-23 | 2644900 | 2024-09-12 |
+| 5.10.0-rc1 | 2024-08-22 | 2700600 | 2024-10-31 |
+| 5.10.0 | 2024-08-27 | 2706540 | 2024-11-05 |
diff --git a/doc/man/zcash-cli.1 b/doc/man/zcash-cli.1
index 0d98486b0ed..0d1aac63f6c 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.3.
-.TH ZCASH-CLI "1" "May 2024" "zcash-cli v5.9.1" "User Commands"
+.TH ZCASH-CLI "1" "August 2024" "zcash-cli v5.10.0" "User Commands"
.SH NAME
-zcash-cli \- manual page for zcash-cli v5.9.1
+zcash-cli \- manual page for zcash-cli v5.10.0
.SH DESCRIPTION
-Zcash RPC client version v5.9.1
+Zcash RPC client version v5.10.0
.PP
In order to ensure you are adequately protecting your privacy when using Zcash,
please see .
diff --git a/doc/man/zcash-tx.1 b/doc/man/zcash-tx.1
index 404d25ea48a..d45b998c8ac 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.3.
-.TH ZCASH-TX "1" "May 2024" "zcash-tx v5.9.1" "User Commands"
+.TH ZCASH-TX "1" "August 2024" "zcash-tx v5.10.0" "User Commands"
.SH NAME
-zcash-tx \- manual page for zcash-tx v5.9.1
+zcash-tx \- manual page for zcash-tx v5.10.0
.SH DESCRIPTION
-Zcash zcash\-tx utility version v5.9.1
+Zcash zcash\-tx utility version v5.10.0
.SS "Usage:"
.TP
zcash\-tx [options] [commands]
diff --git a/doc/man/zcashd-wallet-tool.1 b/doc/man/zcashd-wallet-tool.1
index 48473e4c127..60df43dad85 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.3.
-.TH ZCASHD-WALLET-TOOL "1" "May 2024" "zcashd-wallet-tool v5.9.1" "User Commands"
+.TH ZCASHD-WALLET-TOOL "1" "August 2024" "zcashd-wallet-tool v5.10.0" "User Commands"
.SH NAME
-zcashd-wallet-tool \- manual page for zcashd-wallet-tool v5.9.1
+zcashd-wallet-tool \- manual page for zcashd-wallet-tool v5.10.0
.SH SYNOPSIS
.B zcashd-wallet-tool
[\fI\,OPTIONS\/\fR]
diff --git a/doc/man/zcashd.1 b/doc/man/zcashd.1
index 7bbef9c4df8..79a9ea0a446 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.3.
-.TH ZCASHD "1" "May 2024" "zcashd v5.9.1" "User Commands"
+.TH ZCASHD "1" "August 2024" "zcashd v5.10.0" "User Commands"
.SH NAME
-zcashd \- manual page for zcashd v5.9.1
+zcashd \- manual page for zcashd v5.10.0
.SH DESCRIPTION
-Zcash Daemon version v5.9.1
+Zcash Daemon version v5.10.0
.PP
In order to ensure you are adequately protecting your privacy when using Zcash,
please see .
diff --git a/doc/release-notes.md b/doc/release-notes.md
index 8fc2c968299..a29094b5174 100644
--- a/doc/release-notes.md
+++ b/doc/release-notes.md
@@ -4,16 +4,3 @@ release-notes at release time)
Notable changes
===============
-Platform Support
-----------------
-
-- Debian 10 (Buster) has been removed from the list of supported platforms.
- It reached EoL on June 30th 2024, and does not satisfy our Tier 2 policy
- requirements.
-
-Other
------
-
-- The `zcash-inspect` tool (which was never distributed, and was present in this
- repository for debugging purposes) has been moved to the `devtools` subfolder
- of the https://github.com/zcash/librustzcash repository.
diff --git a/doc/release-notes/release-notes-5.10.0-rc1.md b/doc/release-notes/release-notes-5.10.0-rc1.md
new file mode 100644
index 00000000000..21464c808d7
--- /dev/null
+++ b/doc/release-notes/release-notes-5.10.0-rc1.md
@@ -0,0 +1,151 @@
+Notable changes
+===============
+
+RPC Changes
+-----------
+
+- A bug in parameter handling has been fixed for the `getaddresstxids` and
+ `getaddressdeltas` RPC methods. Previously, leaving the end height unset
+ would cause the start height to be set to zero and therefore ignored.
+ The end height is now also automatically bounded to the chain tip; passing
+ an end height greater than the chain tip height no longer results in an
+ error; values up to and including the chain tip are returned instead.
+
+Platform Support
+----------------
+
+- Debian 10 (Buster) has been removed from the list of supported platforms.
+ It reached EoL on June 30th 2024, and does not satisfy our Tier 2 policy
+ requirements.
+
+Other
+-----
+
+- The `zcash-inspect` tool (which was never distributed, and was present in this
+ repository for debugging purposes) has been moved to the `devtools` subfolder
+ of the https://github.com/zcash/librustzcash repository.
+
+Fixes
+-----
+
+- Security fixes for vulnerabilities disclosed in
+ https://bitcoincore.org/en/2024/07/03/disclose-orphan-dos/
+ and https://bitcoincore.org/en/2024/07/03/disclose-inv-buffer-blowup/ have
+ been backported to `zcashd`.
+
+Changelog
+=========
+
+0xPierre (1):
+ Update README.md: fix discord link
+
+Daira-Emma Hopwood (16):
+ depends: Show the URLs from which dependencies are being downloaded.
+ Update Python code to work, and avoid deprecation warnings, on Python 3.12.
+ Make use of the 'filter' option to `tarfile.extractall` conditional on the version of Python that added it (3.11.4).
+ Work around one of the race conditions in the `wallet_deprecation` test.
+ Implement "ZIP 236: Blocks must balance exactly" for NU6.
+ Add `test_framework.mininode.uint256_from_reversed_hex`.
+ Ensure that `create_coinbase` can work on regtest after various network upgrades: * after Blossom, there is an extra halving of the block reward; * after NU5, `nExpiryHeight` must be equal to the block height; * after NU6, we need to take into account the lockbox value.
+ Extend `coinbase_funding_streams` to also test ZIP 236.
+ test_validation gtest: also test more recent upgrades in `ContextualCheckInputsDetectsOldBranchId`.
+ test_validation gtest: make it more concise and readable.
+ test_validation gtest: also test initialization of the other chain value pool balances (Sapling, Orchard, and Lockbox). This is not a very thorough test but it will do for now.
+ test_validation gtest: calls to internal functions (`SetChainPoolValues` and `ReceivedBlockTransactions`) are required to take a lock on `cs_main` in order to work when compiled with `--enable-debug`.
+ test_validation gtest: ensure that there can be no UB as a result of fake `CBlockIndex` objects still being referenced at the end of the test.
+ Try to reduce the incidence of some RPC test race conditions.
+ Update RPC test Python dependencies: base58 is required; simplejson is not.
+ Mark mempool_nu_activation as a flaky RPC test.
+
+Greg Griffith (1):
+ removed unused code in INV message
+
+Gregory Maxwell (4):
+ This eliminates the primary leak that causes the orphan map to always grow to its maximum size.
+ Adds an expiration time for orphan tx.
+ Treat orphans as implicit inv for parents, discard when parents rejected.
+ Increase maximum orphan size to 100,000 bytes.
+
+Jack Grigg (20):
+ qa: Simplify description for `license-reviewed` audit criteria
+ CI: Migrate from `macos-11` runner to `macos-12` runner
+ docs: Document removal of support for Debian 10
+ qa: Update libsodium tag detection in `updatecheck.py`
+ depends: Update Rust to 1.79.0
+ rust: Silence Rust 1.79 clippy lints
+ depends: native_cmake 3.30.1
+ depends: native_ccache 4.10.1
+ depends: Update Clang / libcxx to LLVM 18.1.8
+ depends: cxx 1.0.124
+ depends: libsodium 1.0.20
+ qa: Postpone Boost and LevelDB updates
+ cargo vet prune
+ cargo update
+ rust: clearscreen 3
+ depends: native_ccache 4.10.2
+ depends: Update Rust to 1.80.0
+ rust: Remove `zcash-inspect` binary
+ rust: Silence new lints
+ depends: native_cmake 3.30.2
+
+John Newbery (1):
+ [net processing] Only send a getheaders for one block in an INV
+
+Kris Nuttycombe (25):
+ Add constants & configuration for NU6.
+ Add `lockbox` funding stream type.
+ Update `getblocksubsidy` to take lockbox funding streams into account.
+ Make `GetBlockSubsidy` a method of `Consensus::Params`
+ Fix inverted relationship between `consensus/params.h` and `consensus/funding.h`
+ cleanup: Factor out rendundant `chainparams.GetConsensus()` calls from `ConnectBlock`
+ Add convenience overload of `Params::GetActiveFundingStreamElements`
+ Add `nLockboxValue` and `nChainLockboxValue` to block index state.
+ Add `lockbox` to value pool balance reporting.
+ Add tests for lockbox funding streams.
+ Add NU6 funding streams to the consensus parameters.
+ Add const modifer to the `blockIndex` argument to `GetTransaction`
+ Use __func__ for substitution in `ConnectBlock` error messages.
+ Improve logging of miner block construction.
+ Compute chain value earlier in block processing.
+ Fix comments and RPC documentation for `getaddresstxids` and `getaddressdeltas`
+ Apply suggestions from code review
+ Update to latest `librustzcash` release versions
+ Remove the invalid `librustzcash` entry from .cargo/config.toml.offline
+ Update native_rust to version 1.80.1
+ Update native_cxxbridge to version 1.0.126
+ Update release notes for v5.10.0-rc1
+ Update `RELEASE_TO_DEPRECATION_WEEKS` to ensure v5.10.0-rc1 EOS halts before the halving.
+ make-release.py: Versioning changes for 5.10.0-rc1.
+ make-release.py: Updated manpages for 5.10.0-rc1.
+
+Larry Ruane (1):
+ fix getaddresstxids and getaddressdeltas range parsing
+
+Marius Kjærstad (1):
+ New checkpoint at block 2600000 for mainnet
+
+Matt Corallo (1):
+ Remove block-request logic from INV message processing
+
+Pieter Wuille (4):
+ Track orphan by prev COutPoint rather than prev hash
+ Simplify orphan processing in preparation for interruptibility
+ [MOVEONLY] Move processing of orphan queue to ProcessOrphanTx
+ Interrupt orphan processing after every transaction
+
+Yass (2):
+ Adding automake in secp256k1 - MacOS's CI
+ Adding coreutils in univalue - MacOS's CI
+
+dismad (1):
+ Update README.md, ZecHub URL update
+
+jimmycathy (1):
+ chore: remove repetitive words
+
+mrbandrews (1):
+ [qa] Make comptool push blocks instead of relying on inv-fetch
+
+y4ssi (1):
+ deprecating buster
+
diff --git a/doc/release-notes/release-notes-5.10.0.md b/doc/release-notes/release-notes-5.10.0.md
new file mode 100644
index 00000000000..a65a6ca5597
--- /dev/null
+++ b/doc/release-notes/release-notes-5.10.0.md
@@ -0,0 +1,171 @@
+Notable changes
+===============
+
+Network Upgrade
+---------------
+
+- This release includes support for NU6 on Testnet. A further upgrade will be
+ needed for NU6 on Mainnet.
+
+RPC Changes
+-----------
+
+- A bug in parameter handling has been fixed for the `getaddresstxids` and
+ `getaddressdeltas` RPC methods. Previously, leaving the end height unset
+ would cause the start height to be set to zero and therefore ignored.
+ The end height is now also automatically bounded to the chain tip; passing
+ an end height greater than the chain tip height no longer results in an
+ error; values up to and including the chain tip are returned instead.
+
+Platform Support
+----------------
+
+- Debian 10 (Buster) has been removed from the list of supported platforms.
+ It reached EoL on June 30th 2024, and does not satisfy our Tier 2 policy
+ requirements.
+
+Other
+-----
+
+- The `zcash-inspect` tool (which was never distributed, and was present in this
+ repository for debugging purposes) has been moved to the `devtools` subfolder
+ of the https://github.com/zcash/librustzcash repository.
+
+Fixes
+-----
+
+- Security fixes for vulnerabilities disclosed in
+ https://bitcoincore.org/en/2024/07/03/disclose-orphan-dos/
+ and https://bitcoincore.org/en/2024/07/03/disclose-inv-buffer-blowup/ have
+ been backported to `zcashd`.
+
+Changelog
+=========
+
+0xPierre (1):
+ Update README.md: fix discord link
+
+Daira-Emma Hopwood (19):
+ depends: Show the URLs from which dependencies are being downloaded.
+ Update Python code to work, and avoid deprecation warnings, on Python 3.12.
+ Make use of the 'filter' option to `tarfile.extractall` conditional on the version of Python that added it (3.11.4).
+ Work around one of the race conditions in the `wallet_deprecation` test.
+ Implement "ZIP 236: Blocks must balance exactly" for NU6.
+ Add `test_framework.mininode.uint256_from_reversed_hex`.
+ Ensure that `create_coinbase` can work on regtest after various network upgrades: * after Blossom, there is an extra halving of the block reward; * after NU5, `nExpiryHeight` must be equal to the block height; * after NU6, we need to take into account the lockbox value.
+ Extend `coinbase_funding_streams` to also test ZIP 236.
+ test_validation gtest: also test more recent upgrades in `ContextualCheckInputsDetectsOldBranchId`.
+ test_validation gtest: make it more concise and readable.
+ test_validation gtest: also test initialization of the other chain value pool balances (Sapling, Orchard, and Lockbox). This is not a very thorough test but it will do for now.
+ test_validation gtest: calls to internal functions (`SetChainPoolValues` and `ReceivedBlockTransactions`) are required to take a lock on `cs_main` in order to work when compiled with `--enable-debug`.
+ test_validation gtest: ensure that there can be no UB as a result of fake `CBlockIndex` objects still being referenced at the end of the test.
+ Try to reduce the incidence of some RPC test race conditions.
+ Update RPC test Python dependencies: base58 is required; simplejson is not.
+ Mark mempool_nu_activation as a flaky RPC test.
+ Add some diff audits to avoid exemptions for arrayref, cc, and tempfile.
+ Change constant names for funding streams added in NU6 to match ZIP 214.
+ Delete protocol version constants that are no longer used.
+
+Greg Griffith (1):
+ removed unused code in INV message
+
+Gregory Maxwell (4):
+ This eliminates the primary leak that causes the orphan map to always grow to its maximum size.
+ Adds an expiration time for orphan tx.
+ Treat orphans as implicit inv for parents, discard when parents rejected.
+ Increase maximum orphan size to 100,000 bytes.
+
+Jack Grigg (20):
+ qa: Simplify description for `license-reviewed` audit criteria
+ CI: Migrate from `macos-11` runner to `macos-12` runner
+ docs: Document removal of support for Debian 10
+ qa: Update libsodium tag detection in `updatecheck.py`
+ depends: Update Rust to 1.79.0
+ rust: Silence Rust 1.79 clippy lints
+ depends: native_cmake 3.30.1
+ depends: native_ccache 4.10.1
+ depends: Update Clang / libcxx to LLVM 18.1.8
+ depends: cxx 1.0.124
+ depends: libsodium 1.0.20
+ qa: Postpone Boost and LevelDB updates
+ cargo vet prune
+ cargo update
+ rust: clearscreen 3
+ depends: native_ccache 4.10.2
+ depends: Update Rust to 1.80.0
+ rust: Remove `zcash-inspect` binary
+ rust: Silence new lints
+ depends: native_cmake 3.30.2
+
+John Newbery (1):
+ [net processing] Only send a getheaders for one block in an INV
+
+Kris Nuttycombe (36):
+ Add constants & configuration for NU6.
+ Add `lockbox` funding stream type.
+ Update `getblocksubsidy` to take lockbox funding streams into account.
+ Make `GetBlockSubsidy` a method of `Consensus::Params`
+ Fix inverted relationship between `consensus/params.h` and `consensus/funding.h`
+ cleanup: Factor out rendundant `chainparams.GetConsensus()` calls from `ConnectBlock`
+ Add convenience overload of `Params::GetActiveFundingStreamElements`
+ Add `nLockboxValue` and `nChainLockboxValue` to block index state.
+ Add `lockbox` to value pool balance reporting.
+ Add tests for lockbox funding streams.
+ Add NU6 funding streams to the consensus parameters.
+ Add const modifer to the `blockIndex` argument to `GetTransaction`
+ Use __func__ for substitution in `ConnectBlock` error messages.
+ Improve logging of miner block construction.
+ Compute chain value earlier in block processing.
+ Fix comments and RPC documentation for `getaddresstxids` and `getaddressdeltas`
+ Apply suggestions from code review
+ Update to latest `librustzcash` release versions
+ Remove the invalid `librustzcash` entry from .cargo/config.toml.offline
+ Update native_rust to version 1.80.1
+ Update native_cxxbridge to version 1.0.126
+ Update release notes for v5.10.0-rc1
+ Update `RELEASE_TO_DEPRECATION_WEEKS` to ensure v5.10.0-rc1 EOS halts before the halving.
+ make-release.py: Versioning changes for 5.10.0-rc1.
+ make-release.py: Updated manpages for 5.10.0-rc1.
+ make-release.py: Updated release notes and changelog for 5.10.0-rc1.
+ make-release.py: Updated book for 5.10.0-rc1.
+ Update audit metadata for Rust crates.
+ Update documentation related to changing the end-of-service halt.
+ Remove unnecessary audit-as-crates-io from qa/supply-chain/config.toml
+ ZIP 214: Configure Testnet funding & lockbox streams for NU6
+ Update `librustzcash` rust dependencies.
+ Update supply-chain audits for Rust version bumps.
+ Disable macos CI runners.
+ make-release.py: Versioning changes for 5.10.0.
+ make-release.py: Updated manpages for 5.10.0.
+
+Larry Ruane (1):
+ fix getaddresstxids and getaddressdeltas range parsing
+
+Marius Kjærstad (1):
+ New checkpoint at block 2600000 for mainnet
+
+Matt Corallo (1):
+ Remove block-request logic from INV message processing
+
+Pieter Wuille (4):
+ Track orphan by prev COutPoint rather than prev hash
+ Simplify orphan processing in preparation for interruptibility
+ [MOVEONLY] Move processing of orphan queue to ProcessOrphanTx
+ Interrupt orphan processing after every transaction
+
+Yass (2):
+ Adding automake in secp256k1 - MacOS's CI
+ Adding coreutils in univalue - MacOS's CI
+
+dismad (1):
+ Update README.md, ZecHub URL update
+
+jimmycathy (1):
+ chore: remove repetitive words
+
+mrbandrews (1):
+ [qa] Make comptool push blocks instead of relying on inv-fetch
+
+y4ssi (1):
+ deprecating buster
+
diff --git a/doc/release-process.md b/doc/release-process.md
index c7290f9ac50..09e9d1b39d8 100644
--- a/doc/release-process.md
+++ b/doc/release-process.md
@@ -145,6 +145,11 @@ Examples:
Ordinarily, we choose a release height that is a couple hundred blocks in
the future in order to give time for CI to run.
+If it is necessary that the version you are building reach its end-of-service
+halt in less time than the ordinary 16 weeks, it may be necessary to modify
+the value of the `RELEASE_TO_DEPRECATION_WEEKS` constant in `deprecation.h`
+prior to running `make-release.py`.
+
### Create, Review, and Merge the release branch pull request
Review the automated changes in git:
diff --git a/qa/rpc-tests/coinbase_funding_streams.py b/qa/rpc-tests/coinbase_funding_streams.py
index a07d4ec95dc..0de695f0240 100755
--- a/qa/rpc-tests/coinbase_funding_streams.py
+++ b/qa/rpc-tests/coinbase_funding_streams.py
@@ -96,8 +96,8 @@ def run_test(self):
fundingstream(0, 3, 4, [fs_sapling]), # FS_ZIP214_BP: 7%
fundingstream(1, 3, 4, [fs_sapling]), # FS_ZIP214_ZF: 5%
fundingstream(2, 3, 4, [fs_sapling]), # FS_ZIP214_MG: 8%
- fundingstream(3, 4, 8, [fs_transparent, fs_transparent]), # FS_ZIPTBD_ZCG: 8%
- fundingstream(4, 4, 8, ["DEFERRED_POOL", "DEFERRED_POOL"]), # FS_ZIPTBD_LOCKBOX: 12%
+ fundingstream(3, 4, 8, [fs_transparent, fs_transparent]), # FS_FPF_ZCG: 8%
+ fundingstream(4, 4, 8, ["DEFERRED_POOL", "DEFERRED_POOL"]), # FS_DEFERRED: 12%
]
self.nodes[0] = self.start_node_with(0, new_args)
self.nodes[1] = self.start_node_with(1, new_args)
diff --git a/qa/rpc-tests/feature_zip239.py b/qa/rpc-tests/feature_zip239.py
index 130805b0fe8..b7b611990fd 100755
--- a/qa/rpc-tests/feature_zip239.py
+++ b/qa/rpc-tests/feature_zip239.py
@@ -171,6 +171,7 @@ def run_test(self):
[x.wait_for_verack() for x in test_nodes]
net_version = self.nodes[0].getnetworkinfo()["protocolversion"]
+ print("Net version: {}".format(net_version))
if net_version < NU5_PROTO_VERSION:
# Sending a getdata message containing a MSG_WTX CInv message type
# results in a reject message.
diff --git a/qa/rpc-tests/test_framework/mininode.py b/qa/rpc-tests/test_framework/mininode.py
index a60a4a81937..d56fb8bf79c 100755
--- a/qa/rpc-tests/test_framework/mininode.py
+++ b/qa/rpc-tests/test_framework/mininode.py
@@ -54,6 +54,7 @@
SAPLING_PROTO_VERSION = 170006
BLOSSOM_PROTO_VERSION = 170008
NU5_PROTO_VERSION = 170050
+# NU6_PROTO_VERSION = 170110
MY_SUBVERSION = b"/python-mininode-tester:0.0.3/"
diff --git a/qa/supply-chain/audits.toml b/qa/supply-chain/audits.toml
index 52ba039c23a..f7a52f2f858 100644
--- a/qa/supply-chain/audits.toml
+++ b/qa/supply-chain/audits.toml
@@ -135,6 +135,11 @@ who = "Sean Bowe "
criteria = "safe-to-deploy"
delta = "0.3.6 -> 0.3.7"
+[[audits.arrayref]]
+who = "Daira-Emma Hopwood "
+criteria = "safe-to-deploy"
+delta = "0.3.6 -> 0.3.8"
+
[[audits.backtrace]]
who = "Jack Grigg "
criteria = "safe-to-deploy"
@@ -318,6 +323,11 @@ This crate executes commands, and my review is likely not sufficient to detect s
I did not review the use of library handles in the `com` package on Windows.
"""
+[[audits.cc]]
+who = "Daira-Emma Hopwood "
+criteria = "safe-to-deploy"
+delta = "1.1.6 -> 1.1.13"
+
[[audits.chacha20]]
who = "Jack Grigg "
criteria = ["crypto-reviewed", "safe-to-deploy"]
@@ -2442,6 +2452,11 @@ criteria = "safe-to-deploy"
delta = "3.5.0 -> 3.6.0"
notes = "New `build.rs` file uses `autocfg` crate to conditionally enable new trait impls."
+[[audits.tempfile]]
+who = "Daira-Emma Hopwood "
+criteria = "safe-to-run"
+delta = "3.5.0 -> 3.12.0"
+
[[audits.tempfile]]
who = "Jack Grigg "
criteria = "safe-to-deploy"
@@ -2966,7 +2981,7 @@ delta = "1.4.1 -> 1.4.2"
[[trusted.bridgetree]]
criteria = "safe-to-deploy"
-user-id = 6289 # str4d
+user-id = 6289 # Jack Grigg (str4d)
start = "2023-09-08"
end = "2024-09-21"
@@ -2978,13 +2993,13 @@ end = "2024-09-21"
[[trusted.equihash]]
criteria = "safe-to-deploy"
-user-id = 6289 # str4d
+user-id = 6289 # Jack Grigg (str4d)
start = "2020-06-26"
end = "2024-09-21"
[[trusted.f4jumble]]
criteria = ["safe-to-deploy", "crypto-reviewed"]
-user-id = 6289 # str4d
+user-id = 6289 # Jack Grigg (str4d)
start = "2021-09-22"
end = "2024-09-21"
@@ -3008,7 +3023,7 @@ end = "2024-09-21"
[[trusted.incrementalmerkletree]]
criteria = "safe-to-deploy"
-user-id = 6289 # str4d
+user-id = 6289 # Jack Grigg (str4d)
start = "2021-12-17"
end = "2024-09-21"
@@ -3026,7 +3041,7 @@ end = "2024-09-21"
[[trusted.orchard]]
criteria = ["safe-to-deploy", "crypto-reviewed", "license-reviewed"]
-user-id = 6289 # str4d
+user-id = 6289 # Jack Grigg (str4d)
start = "2021-01-07"
end = "2024-09-21"
@@ -3038,7 +3053,7 @@ end = "2024-09-21"
[[trusted.sapling-crypto]]
criteria = ["safe-to-deploy", "crypto-reviewed", "license-reviewed"]
-user-id = 6289 # str4d
+user-id = 6289 # Jack Grigg (str4d)
start = "2024-01-26"
end = "2025-03-18"
@@ -3110,10 +3125,16 @@ end = "2024-09-21"
[[trusted.zcash_address]]
criteria = "safe-to-deploy"
-user-id = 6289 # str4d
+user-id = 6289 # Jack Grigg (str4d)
start = "2021-03-07"
end = "2025-03-18"
+[[trusted.zcash_address]]
+criteria = "safe-to-deploy"
+user-id = 169181 # Kris Nuttycombe (nuttycom)
+start = "2024-08-20"
+end = "2025-08-26"
+
[[trusted.zcash_encoding]]
criteria = "safe-to-deploy"
user-id = 1244 # ebfull
@@ -3128,7 +3149,7 @@ end = "2024-09-21"
[[trusted.zcash_history]]
criteria = "safe-to-deploy"
-user-id = 6289 # str4d
+user-id = 6289 # Jack Grigg (str4d)
start = "2024-03-01"
end = "2025-03-18"
@@ -3140,7 +3161,7 @@ end = "2024-09-21"
[[trusted.zcash_primitives]]
criteria = ["safe-to-deploy", "crypto-reviewed", "license-reviewed"]
-user-id = 6289 # str4d
+user-id = 6289 # Jack Grigg (str4d)
start = "2021-03-26"
end = "2024-09-21"
@@ -3150,12 +3171,24 @@ user-id = 1244 # ebfull
start = "2019-10-08"
end = "2024-09-21"
+[[trusted.zcash_primitives]]
+criteria = "safe-to-deploy"
+user-id = 169181 # Kris Nuttycombe (nuttycom)
+start = "2024-08-20"
+end = "2025-08-26"
+
[[trusted.zcash_proofs]]
criteria = ["safe-to-deploy", "crypto-reviewed", "license-reviewed"]
-user-id = 6289 # str4d
+user-id = 6289 # Jack Grigg (str4d)
start = "2021-03-26"
end = "2024-09-21"
+[[trusted.zcash_proofs]]
+criteria = "safe-to-deploy"
+user-id = 169181 # Kris Nuttycombe (nuttycom)
+start = "2024-08-20"
+end = "2025-08-26"
+
[[trusted.zcash_protocol]]
criteria = "safe-to-deploy"
user-id = 169181 # Kris Nuttycombe (nuttycom)
@@ -3164,12 +3197,12 @@ end = "2025-04-16"
[[trusted.zcash_spec]]
criteria = ["safe-to-deploy", "crypto-reviewed", "license-reviewed"]
-user-id = 6289 # str4d
+user-id = 6289 # Jack Grigg (str4d)
start = "2023-12-07"
end = "2025-03-18"
[[trusted.zip32]]
criteria = "safe-to-deploy"
-user-id = 6289 # str4d
+user-id = 6289 # Jack Grigg (str4d)
start = "2023-12-06"
end = "2025-03-18"
diff --git a/qa/supply-chain/config.toml b/qa/supply-chain/config.toml
index c077d35e8e6..a4f2fe96d8c 100644
--- a/qa/supply-chain/config.toml
+++ b/qa/supply-chain/config.toml
@@ -22,36 +22,6 @@ url = "https://raw.githubusercontent.com/mozilla/supply-chain/main/audits.toml"
[imports.zcash]
url = "https://raw.githubusercontent.com/zcash/rust-ecosystem/main/supply-chain/audits.toml"
-[policy.bridgetree]
-audit-as-crates-io = true
-
-[policy.equihash]
-audit-as-crates-io = true
-
-[policy.f4jumble]
-audit-as-crates-io = true
-
-[policy.incrementalmerkletree]
-audit-as-crates-io = true
-
-[policy.zcash_address]
-audit-as-crates-io = true
-
-[policy.zcash_encoding]
-audit-as-crates-io = true
-
-[policy.zcash_history]
-audit-as-crates-io = true
-
-[policy.zcash_primitives]
-audit-as-crates-io = true
-
-[policy.zcash_proofs]
-audit-as-crates-io = true
-
-[policy.zcash_protocol]
-audit-as-crates-io = true
-
[[exemptions.addr2line]]
version = "0.17.0"
criteria = "safe-to-deploy"
@@ -81,7 +51,7 @@ version = "1.0.86"
criteria = "safe-to-deploy"
[[exemptions.arrayvec]]
-version = "0.7.4"
+version = "0.7.6"
criteria = "safe-to-deploy"
[[exemptions.backtrace]]
@@ -104,8 +74,8 @@ criteria = "safe-to-deploy"
version = "0.9.0"
criteria = "safe-to-deploy"
-[[exemptions.bitflags]]
-version = "1.3.2"
+[[exemptions.bip32]]
+version = "0.5.2"
criteria = "safe-to-deploy"
[[exemptions.bitvec]]
@@ -124,10 +94,6 @@ criteria = "safe-to-deploy"
version = "0.7.0"
criteria = "safe-to-deploy"
-[[exemptions.bridgetree]]
-version = "0.4.0@git:337f59179eda51261e9ddfc6b18e8fb84ea277c9"
-criteria = "safe-to-deploy"
-
[[exemptions.bs58]]
version = "0.5.0"
criteria = "safe-to-deploy"
@@ -137,7 +103,7 @@ version = "1.4.3"
criteria = "safe-to-deploy"
[[exemptions.bytes]]
-version = "1.6.1"
+version = "1.7.1"
criteria = "safe-to-deploy"
[[exemptions.cbc]]
@@ -165,7 +131,7 @@ version = "0.9.6"
criteria = "safe-to-deploy"
[[exemptions.cpufeatures]]
-version = "0.2.8"
+version = "0.2.13"
criteria = "safe-to-deploy"
[[exemptions.crossbeam-channel]]
@@ -193,11 +159,11 @@ version = "0.1.0"
criteria = "safe-to-deploy"
[[exemptions.cxx]]
-version = "1.0.95"
+version = "1.0.126"
criteria = "safe-to-deploy"
[[exemptions.cxxbridge-macro]]
-version = "1.0.95"
+version = "1.0.126"
criteria = "safe-to-deploy"
[[exemptions.der]]
@@ -224,14 +190,6 @@ criteria = "safe-to-deploy"
version = "3.0.0"
criteria = "safe-to-deploy"
-[[exemptions.equihash]]
-version = "0.2.0@git:5a4a3e06dcd2cf5bdf79a7cd48709b58693c65f0"
-criteria = "safe-to-deploy"
-
-[[exemptions.f4jumble]]
-version = "0.1.0@git:5a4a3e06dcd2cf5bdf79a7cd48709b58693c65f0"
-criteria = "safe-to-deploy"
-
[[exemptions.ff]]
version = "0.12.0"
criteria = "safe-to-deploy"
@@ -308,10 +266,6 @@ criteria = "safe-to-deploy"
version = "0.14.30"
criteria = "safe-to-deploy"
-[[exemptions.incrementalmerkletree]]
-version = "0.5.1@git:337f59179eda51261e9ddfc6b18e8fb84ea277c9"
-criteria = "safe-to-deploy"
-
[[exemptions.indexmap]]
version = "1.8.1"
criteria = "safe-to-deploy"
@@ -321,15 +275,19 @@ version = "2.5.0"
criteria = "safe-to-deploy"
[[exemptions.js-sys]]
-version = "0.3.60"
+version = "0.3.70"
criteria = "safe-to-deploy"
[[exemptions.jubjub]]
version = "0.9.0"
criteria = "safe-to-deploy"
+[[exemptions.known-folders]]
+version = "1.2.0"
+criteria = "safe-to-deploy"
+
[[exemptions.libc]]
-version = "0.2.155"
+version = "0.2.158"
criteria = "safe-to-deploy"
[[exemptions.libm]]
@@ -376,12 +334,8 @@ criteria = "safe-to-deploy"
version = "0.2.1"
criteria = "safe-to-deploy"
-[[exemptions.miniz_oxide]]
-version = "0.7.4"
-criteria = "safe-to-deploy"
-
[[exemptions.mio]]
-version = "0.8.10"
+version = "1.0.2"
criteria = "safe-to-deploy"
[[exemptions.nix]]
@@ -401,13 +355,17 @@ version = "1.13.1"
criteria = "safe-to-deploy"
[[exemptions.object]]
-version = "0.36.1"
+version = "0.36.3"
criteria = "safe-to-deploy"
[[exemptions.once_cell]]
version = "1.17.0"
criteria = "safe-to-deploy"
+[[exemptions.orchard]]
+version = "0.9.0"
+criteria = "safe-to-deploy"
+
[[exemptions.pairing]]
version = "0.22.0"
criteria = "safe-to-deploy"
@@ -449,11 +407,11 @@ version = "0.7.2"
criteria = "safe-to-deploy"
[[exemptions.portable-atomic]]
-version = "1.6.0"
+version = "1.7.0"
criteria = "safe-to-deploy"
[[exemptions.ppv-lite86]]
-version = "0.2.16"
+version = "0.2.20"
criteria = "safe-to-deploy"
[[exemptions.primitive-types]]
@@ -489,11 +447,11 @@ version = "0.3.0"
criteria = "safe-to-deploy"
[[exemptions.redox_users]]
-version = "0.4.3"
+version = "0.4.6"
criteria = "safe-to-deploy"
[[exemptions.regex]]
-version = "1.9.5"
+version = "1.10.6"
criteria = "safe-to-deploy"
[[exemptions.regex-automata]]
@@ -524,6 +482,10 @@ criteria = "safe-to-deploy"
version = "0.3.0"
criteria = "safe-to-deploy"
+[[exemptions.sapling-crypto]]
+version = "0.2.0"
+criteria = "safe-to-deploy"
+
[[exemptions.secp256k1]]
version = "0.26.0"
criteria = "safe-to-deploy"
@@ -536,10 +498,22 @@ criteria = "safe-to-deploy"
version = "0.8.0"
criteria = "safe-to-deploy"
+[[exemptions.serde]]
+version = "1.0.208"
+criteria = "safe-to-deploy"
+
+[[exemptions.serde_derive]]
+version = "1.0.208"
+criteria = "safe-to-deploy"
+
[[exemptions.sha2]]
version = "0.10.8"
criteria = "safe-to-deploy"
+[[exemptions.shlex]]
+version = "1.3.0"
+criteria = "safe-to-deploy"
+
[[exemptions.siphasher]]
version = "0.3.10"
criteria = "safe-to-deploy"
@@ -569,11 +543,11 @@ version = "1.0.102"
criteria = "safe-to-deploy"
[[exemptions.syn]]
-version = "2.0.71"
+version = "2.0.75"
criteria = "safe-to-deploy"
[[exemptions.tempfile]]
-version = "3.3.0"
+version = "3.12.0"
criteria = "safe-to-deploy"
[[exemptions.terminfo]]
@@ -585,11 +559,11 @@ version = "0.3.30"
criteria = "safe-to-deploy"
[[exemptions.tokio]]
-version = "1.38.1"
+version = "1.39.3"
criteria = "safe-to-deploy"
[[exemptions.tower-service]]
-version = "0.3.2"
+version = "0.3.3"
criteria = "safe-to-deploy"
[[exemptions.tracing]]
@@ -620,6 +594,14 @@ criteria = "safe-to-deploy"
version = "0.1.4"
criteria = "safe-to-deploy"
+[[exemptions.version_check]]
+version = "0.9.5"
+criteria = "safe-to-deploy"
+
+[[exemptions.visibility]]
+version = "0.1.1"
+criteria = "safe-to-deploy"
+
[[exemptions.wait-timeout]]
version = "0.2.0"
criteria = "safe-to-deploy"
@@ -629,23 +611,31 @@ version = "0.11.0+wasi-snapshot-preview1"
criteria = "safe-to-deploy"
[[exemptions.wasm-bindgen]]
-version = "0.2.92"
+version = "0.2.93"
criteria = "safe-to-deploy"
[[exemptions.wasm-bindgen-backend]]
-version = "0.2.89"
+version = "0.2.93"
criteria = "safe-to-deploy"
[[exemptions.wasm-bindgen-macro]]
-version = "0.2.87"
+version = "0.2.93"
+criteria = "safe-to-deploy"
+
+[[exemptions.wasm-bindgen-macro-support]]
+version = "0.2.93"
+criteria = "safe-to-deploy"
+
+[[exemptions.wasm-bindgen-shared]]
+version = "0.2.93"
criteria = "safe-to-deploy"
[[exemptions.web-sys]]
-version = "0.3.66"
+version = "0.3.70"
criteria = "safe-to-deploy"
[[exemptions.which]]
-version = "4.3.0"
+version = "6.0.3"
criteria = "safe-to-deploy"
[[exemptions.winapi]]
@@ -660,6 +650,10 @@ criteria = "safe-to-deploy"
version = "0.4.0"
criteria = "safe-to-deploy"
+[[exemptions.windows-sys]]
+version = "0.59.0"
+criteria = "safe-to-deploy"
+
[[exemptions.winsafe]]
version = "0.0.19"
criteria = "safe-to-deploy"
@@ -672,28 +666,8 @@ criteria = "safe-to-deploy"
version = "2.5.0"
criteria = "safe-to-deploy"
-[[exemptions.zcash_address]]
-version = "0.3.2@git:5a4a3e06dcd2cf5bdf79a7cd48709b58693c65f0"
-criteria = "safe-to-deploy"
-
[[exemptions.zcash_encoding]]
-version = "0.2.0@git:5a4a3e06dcd2cf5bdf79a7cd48709b58693c65f0"
-criteria = "safe-to-deploy"
-
-[[exemptions.zcash_history]]
-version = "0.4.0@git:5a4a3e06dcd2cf5bdf79a7cd48709b58693c65f0"
-criteria = "safe-to-deploy"
-
-[[exemptions.zcash_primitives]]
-version = "0.15.1@git:5a4a3e06dcd2cf5bdf79a7cd48709b58693c65f0"
-criteria = "safe-to-deploy"
-
-[[exemptions.zcash_proofs]]
-version = "0.15.0@git:5a4a3e06dcd2cf5bdf79a7cd48709b58693c65f0"
-criteria = "safe-to-deploy"
-
-[[exemptions.zcash_protocol]]
-version = "0.1.1@git:5a4a3e06dcd2cf5bdf79a7cd48709b58693c65f0"
+version = "0.2.1"
criteria = "safe-to-deploy"
[[exemptions.zerocopy]]
diff --git a/qa/supply-chain/imports.lock b/qa/supply-chain/imports.lock
index 634906c53e4..934c031e582 100644
--- a/qa/supply-chain/imports.lock
+++ b/qa/supply-chain/imports.lock
@@ -1,6 +1,13 @@
# cargo-vet imports lock
+[[publisher.bridgetree]]
+version = "0.5.0"
+when = "2024-08-12"
+user-id = 169181
+user-login = "nuttycom"
+user-name = "Kris Nuttycombe"
+
[[publisher.bumpalo]]
version = "3.16.0"
when = "2024-04-08"
@@ -8,6 +15,20 @@ user-id = 696
user-login = "fitzgen"
user-name = "Nick Fitzgerald"
+[[publisher.equihash]]
+version = "0.2.0"
+when = "2022-06-24"
+user-id = 6289
+user-login = "str4d"
+user-name = "Jack Grigg"
+
+[[publisher.f4jumble]]
+version = "0.1.0"
+when = "2022-05-10"
+user-id = 6289
+user-login = "str4d"
+user-name = "Jack Grigg"
+
[[publisher.halo2_gadgets]]
version = "0.3.0"
when = "2023-03-22"
@@ -27,17 +48,12 @@ when = "2023-03-22"
user-id = 1244
user-login = "ebfull"
-[[publisher.orchard]]
-version = "0.8.0"
-when = "2024-03-25"
-user-id = 6289
-user-login = "str4d"
-
-[[publisher.sapling-crypto]]
-version = "0.1.3"
-when = "2024-03-25"
-user-id = 6289
-user-login = "str4d"
+[[publisher.incrementalmerkletree]]
+version = "0.6.0"
+when = "2024-08-12"
+user-id = 169181
+user-login = "nuttycom"
+user-name = "Kris Nuttycombe"
[[publisher.unicode-normalization]]
version = "0.1.23"
@@ -46,13 +62,6 @@ user-id = 1139
user-login = "Manishearth"
user-name = "Manish Goregaokar"
-[[publisher.windows-sys]]
-version = "0.48.0"
-when = "2023-03-31"
-user-id = 64539
-user-login = "kennykerr"
-user-name = "Kenny Kerr"
-
[[publisher.windows-sys]]
version = "0.52.0"
when = "2023-11-15"
@@ -60,13 +69,6 @@ user-id = 64539
user-login = "kennykerr"
user-name = "Kenny Kerr"
-[[publisher.windows-targets]]
-version = "0.48.5"
-when = "2023-08-18"
-user-id = 64539
-user-login = "kennykerr"
-user-name = "Kenny Kerr"
-
[[publisher.windows-targets]]
version = "0.52.6"
when = "2024-07-03"
@@ -74,13 +76,6 @@ user-id = 64539
user-login = "kennykerr"
user-name = "Kenny Kerr"
-[[publisher.windows_aarch64_gnullvm]]
-version = "0.48.5"
-when = "2023-08-18"
-user-id = 64539
-user-login = "kennykerr"
-user-name = "Kenny Kerr"
-
[[publisher.windows_aarch64_gnullvm]]
version = "0.52.6"
when = "2024-07-03"
@@ -88,13 +83,6 @@ user-id = 64539
user-login = "kennykerr"
user-name = "Kenny Kerr"
-[[publisher.windows_aarch64_msvc]]
-version = "0.48.5"
-when = "2023-08-18"
-user-id = 64539
-user-login = "kennykerr"
-user-name = "Kenny Kerr"
-
[[publisher.windows_aarch64_msvc]]
version = "0.52.6"
when = "2024-07-03"
@@ -102,13 +90,6 @@ user-id = 64539
user-login = "kennykerr"
user-name = "Kenny Kerr"
-[[publisher.windows_i686_gnu]]
-version = "0.48.5"
-when = "2023-08-18"
-user-id = 64539
-user-login = "kennykerr"
-user-name = "Kenny Kerr"
-
[[publisher.windows_i686_gnu]]
version = "0.52.6"
when = "2024-07-03"
@@ -123,13 +104,6 @@ user-id = 64539
user-login = "kennykerr"
user-name = "Kenny Kerr"
-[[publisher.windows_i686_msvc]]
-version = "0.48.5"
-when = "2023-08-18"
-user-id = 64539
-user-login = "kennykerr"
-user-name = "Kenny Kerr"
-
[[publisher.windows_i686_msvc]]
version = "0.52.6"
when = "2024-07-03"
@@ -137,13 +111,6 @@ user-id = 64539
user-login = "kennykerr"
user-name = "Kenny Kerr"
-[[publisher.windows_x86_64_gnu]]
-version = "0.48.5"
-when = "2023-08-18"
-user-id = 64539
-user-login = "kennykerr"
-user-name = "Kenny Kerr"
-
[[publisher.windows_x86_64_gnu]]
version = "0.52.6"
when = "2024-07-03"
@@ -151,13 +118,6 @@ user-id = 64539
user-login = "kennykerr"
user-name = "Kenny Kerr"
-[[publisher.windows_x86_64_gnullvm]]
-version = "0.48.5"
-when = "2023-08-18"
-user-id = 64539
-user-login = "kennykerr"
-user-name = "Kenny Kerr"
-
[[publisher.windows_x86_64_gnullvm]]
version = "0.52.6"
when = "2024-07-03"
@@ -165,13 +125,6 @@ user-id = 64539
user-login = "kennykerr"
user-name = "Kenny Kerr"
-[[publisher.windows_x86_64_msvc]]
-version = "0.48.5"
-when = "2023-08-18"
-user-id = 64539
-user-login = "kennykerr"
-user-name = "Kenny Kerr"
-
[[publisher.windows_x86_64_msvc]]
version = "0.52.6"
when = "2024-07-03"
@@ -179,6 +132,20 @@ user-id = 64539
user-login = "kennykerr"
user-name = "Kenny Kerr"
+[[publisher.zcash_address]]
+version = "0.5.0"
+when = "2024-08-26"
+user-id = 169181
+user-login = "nuttycom"
+user-name = "Kris Nuttycombe"
+
+[[publisher.zcash_history]]
+version = "0.4.0"
+when = "2024-03-01"
+user-id = 6289
+user-login = "str4d"
+user-name = "Jack Grigg"
+
[[publisher.zcash_note_encryption]]
version = "0.4.0"
when = "2023-06-06"
@@ -186,17 +153,40 @@ user-id = 169181
user-login = "nuttycom"
user-name = "Kris Nuttycombe"
+[[publisher.zcash_primitives]]
+version = "0.17.0"
+when = "2024-08-26"
+user-id = 169181
+user-login = "nuttycom"
+user-name = "Kris Nuttycombe"
+
+[[publisher.zcash_proofs]]
+version = "0.17.0"
+when = "2024-08-26"
+user-id = 169181
+user-login = "nuttycom"
+user-name = "Kris Nuttycombe"
+
+[[publisher.zcash_protocol]]
+version = "0.3.0"
+when = "2024-08-26"
+user-id = 169181
+user-login = "nuttycom"
+user-name = "Kris Nuttycombe"
+
[[publisher.zcash_spec]]
version = "0.1.0"
when = "2023-12-07"
user-id = 6289
user-login = "str4d"
+user-name = "Jack Grigg"
[[publisher.zip32]]
version = "0.1.1"
when = "2024-03-14"
user-id = 6289
user-login = "str4d"
+user-name = "Jack Grigg"
[[audits.bytecode-alliance.wildcard-audits.bumpalo]]
who = "Nick Fitzgerald "
@@ -389,11 +379,6 @@ criteria = "safe-to-deploy"
version = "1.1.0"
notes = "No dependencies and completely a compile-time crate as advertised. Uses `unsafe` in one module as a compile-time check only: `mem::transmute` and `ptr::write` are wrapped in an impossible-to-run closure."
-[[audits.bytecode-alliance.audits.tempfile]]
-who = "Pat Hickey "
-criteria = "safe-to-deploy"
-delta = "3.3.0 -> 3.5.0"
-
[[audits.bytecode-alliance.audits.thread_local]]
who = "Pat Hickey "
criteria = "safe-to-deploy"
@@ -504,6 +489,22 @@ and nothing changed from the baseline audit of 1.1.0. Skimmed through the
'''
aggregated-from = "https://chromium.googlesource.com/chromium/src/+/main/third_party/rust/chromium_crates_io/supply-chain/audits.toml?format=TEXT"
+[[audits.google.audits.bitflags]]
+who = "Lukasz Anforowicz "
+criteria = "safe-to-deploy"
+version = "1.3.2"
+notes = """
+Security review of earlier versions of the crate can be found at
+(Google-internal, sorry): go/image-crate-chromium-security-review
+
+The crate exposes a function marked as `unsafe`, but doesn't use any
+`unsafe` blocks (except for tests of the single `unsafe` function). I
+think this justifies marking this crate as `ub-risk-1`.
+
+Additional review comments can be found at https://crrev.com/c/4723145/31
+"""
+aggregated-from = "https://chromium.googlesource.com/chromium/src/+/main/third_party/rust/chromium_crates_io/supply-chain/audits.toml?format=TEXT"
+
[[audits.google.audits.bitflags]]
who = "Lukasz Anforowicz "
criteria = "safe-to-deploy"
@@ -554,6 +555,13 @@ delta = "1.0.123 -> 1.0.124"
notes = "No changes in this delta"
aggregated-from = "https://chromium.googlesource.com/chromium/src/+/main/third_party/rust/chromium_crates_io/supply-chain/audits.toml?format=TEXT"
+[[audits.google.audits.cxxbridge-flags]]
+who = "Lukasz Anforowicz "
+criteria = "safe-to-deploy"
+delta = "1.0.124 -> 1.0.126"
+notes = "No changes in this delta"
+aggregated-from = "https://chromium.googlesource.com/chromium/src/+/main/third_party/rust/chromium_crates_io/supply-chain/audits.toml?format=TEXT"
+
[[audits.google.audits.fastrand]]
who = "George Burgess IV "
criteria = "safe-to-deploy"
@@ -630,6 +638,22 @@ are made about the safety of either of those libraries. :)
"""
aggregated-from = "https://chromium.googlesource.com/chromiumos/third_party/rust_crates/+/refs/heads/main/cargo-vet/audits.toml?format=TEXT"
+[[audits.google.audits.miniz_oxide]]
+who = "Lukasz Anforowicz "
+criteria = "safe-to-deploy"
+version = "0.7.4"
+notes = '''
+Grepped for `-i cipher`, `-i crypto`, `'\bfs\b'`, `'\bnet\b'`, `'\bunsafe\b'`
+and there were no hits, except for some mentions of "unsafe" in the `README.md`
+and in a comment in `src/deflate/core.rs`. The comment discusses whether a
+function should be treated as unsafe, but there is no actual `unsafe` code, so
+the crate meets the `ub-risk-0` criteria.
+
+Note that some additional, internal notes about an older version of this crate
+can be found at go/image-crate-chromium-security-review.
+'''
+aggregated-from = "https://chromium.googlesource.com/chromium/src/+/main/third_party/rust/chromium_crates_io/supply-chain/audits.toml?format=TEXT"
+
[[audits.google.audits.nom]]
who = "danakj@chromium.org"
criteria = "safe-to-deploy"
@@ -732,93 +756,6 @@ criteria = "safe-to-deploy"
delta = "1.0.35 -> 1.0.36"
aggregated-from = "https://chromium.googlesource.com/chromium/src/+/main/third_party/rust/chromium_crates_io/supply-chain/audits.toml?format=TEXT"
-[[audits.google.audits.serde]]
-who = "Lukasz Anforowicz "
-criteria = "safe-to-deploy"
-version = "1.0.197"
-notes = """
-Grepped for `-i cipher`, `-i crypto`, `'\bfs\b'`, `'\bnet\b'`, `'\bunsafe\b'`.
-
-There were some hits for `net`, but they were related to serialization and
-not actually opening any connections or anything like that.
-
-There were 2 hits of `unsafe` when grepping:
-* In `fn as_str` in `impl Buf`
-* In `fn serialize` in `impl Serialize for net::Ipv4Addr`
-
-Unsafe review comments can be found in https://crrev.com/c/5350573/2 (this
-review also covered `serde_json_lenient`).
-
-Version 1.0.130 of the crate has been added to Chromium in
-https://crrev.com/c/3265545. The CL description contains a link to a
-(Google-internal, sorry) document with a mini security review.
-"""
-aggregated-from = "https://chromium.googlesource.com/chromium/src/+/main/third_party/rust/chromium_crates_io/supply-chain/audits.toml?format=TEXT"
-
-[[audits.google.audits.serde]]
-who = "Dustin J. Mitchell "
-criteria = "safe-to-deploy"
-delta = "1.0.197 -> 1.0.198"
-aggregated-from = "https://chromium.googlesource.com/chromium/src/+/main/third_party/rust/chromium_crates_io/supply-chain/audits.toml?format=TEXT"
-
-[[audits.google.audits.serde]]
-who = "danakj "
-criteria = "safe-to-deploy"
-delta = "1.0.198 -> 1.0.201"
-aggregated-from = "https://chromium.googlesource.com/chromium/src/+/main/third_party/rust/chromium_crates_io/supply-chain/audits.toml?format=TEXT"
-
-[[audits.google.audits.serde]]
-who = "Dustin J. Mitchell "
-criteria = "safe-to-deploy"
-delta = "1.0.201 -> 1.0.202"
-notes = "Trivial changes"
-aggregated-from = "https://chromium.googlesource.com/chromium/src/+/main/third_party/rust/chromium_crates_io/supply-chain/audits.toml?format=TEXT"
-
-[[audits.google.audits.serde]]
-who = "Lukasz Anforowicz "
-criteria = "safe-to-deploy"
-delta = "1.0.202 -> 1.0.203"
-notes = "s/doc_cfg/docsrs/ + tuple_impls/tuple_impl_body-related changes"
-aggregated-from = "https://chromium.googlesource.com/chromium/src/+/main/third_party/rust/chromium_crates_io/supply-chain/audits.toml?format=TEXT"
-
-[[audits.google.audits.serde]]
-who = "Adrian Taylor "
-criteria = "safe-to-deploy"
-delta = "1.0.203 -> 1.0.204"
-aggregated-from = "https://chromium.googlesource.com/chromium/src/+/main/third_party/rust/chromium_crates_io/supply-chain/audits.toml?format=TEXT"
-
-[[audits.google.audits.serde_derive]]
-who = "Lukasz Anforowicz "
-criteria = "safe-to-deploy"
-version = "1.0.197"
-notes = "Grepped for \"unsafe\", \"crypt\", \"cipher\", \"fs\", \"net\" - there were no hits"
-aggregated-from = "https://chromium.googlesource.com/chromium/src/+/main/third_party/rust/chromium_crates_io/supply-chain/audits.toml?format=TEXT"
-
-[[audits.google.audits.serde_derive]]
-who = "danakj "
-criteria = "safe-to-deploy"
-delta = "1.0.197 -> 1.0.201"
-aggregated-from = "https://chromium.googlesource.com/chromium/src/+/main/third_party/rust/chromium_crates_io/supply-chain/audits.toml?format=TEXT"
-
-[[audits.google.audits.serde_derive]]
-who = "Dustin J. Mitchell "
-criteria = "safe-to-deploy"
-delta = "1.0.201 -> 1.0.202"
-aggregated-from = "https://chromium.googlesource.com/chromium/src/+/main/third_party/rust/chromium_crates_io/supply-chain/audits.toml?format=TEXT"
-
-[[audits.google.audits.serde_derive]]
-who = "Lukasz Anforowicz "
-criteria = "safe-to-deploy"
-delta = "1.0.202 -> 1.0.203"
-notes = "Grepped for \"unsafe\", \"crypt\", \"cipher\", \"fs\", \"net\" - there were no hits"
-aggregated-from = "https://chromium.googlesource.com/chromium/src/+/main/third_party/rust/chromium_crates_io/supply-chain/audits.toml?format=TEXT"
-
-[[audits.google.audits.serde_derive]]
-who = "Adrian Taylor "
-criteria = "safe-to-deploy"
-delta = "1.0.203 -> 1.0.204"
-aggregated-from = "https://chromium.googlesource.com/chromium/src/+/main/third_party/rust/chromium_crates_io/supply-chain/audits.toml?format=TEXT"
-
[[audits.google.audits.tinyvec]]
who = "Adrian Taylor "
criteria = "safe-to-deploy"
@@ -837,12 +774,6 @@ criteria = "safe-to-deploy"
delta = "1.7.0 -> 1.8.0"
aggregated-from = "https://chromium.googlesource.com/chromium/src/+/main/third_party/rust/chromium_crates_io/supply-chain/audits.toml?format=TEXT"
-[[audits.google.audits.version_check]]
-who = "George Burgess IV "
-criteria = "safe-to-deploy"
-version = "0.9.4"
-aggregated-from = "https://chromium.googlesource.com/chromiumos/third_party/rust_crates/+/refs/heads/main/cargo-vet/audits.toml?format=TEXT"
-
[[audits.isrg.audits.base64]]
who = "Tim Geoghegan "
criteria = "safe-to-deploy"
@@ -1074,11 +1005,6 @@ who = "David Cook "
criteria = "safe-to-deploy"
delta = "0.5.0 -> 0.5.1"
-[[audits.isrg.audits.wasm-bindgen-shared]]
-who = "David Cook "
-criteria = "safe-to-deploy"
-version = "0.2.83"
-
[[audits.mozilla.wildcard-audits.unicode-normalization]]
who = "Manish Goregaokar "
criteria = "safe-to-deploy"
@@ -1325,12 +1251,6 @@ yet, but it's all valid. Otherwise it's a pretty simple crate.
"""
aggregated-from = "https://hg.mozilla.org/mozilla-central/raw-file/tip/supply-chain/audits.toml"
-[[audits.mozilla.audits.ppv-lite86]]
-who = "Mike Hommey "
-criteria = "safe-to-deploy"
-delta = "0.2.16 -> 0.2.17"
-aggregated-from = "https://hg.mozilla.org/mozilla-central/raw-file/tip/supply-chain/audits.toml"
-
[[audits.mozilla.audits.rand_core]]
who = "Mike Hommey "
criteria = "safe-to-deploy"
@@ -1405,16 +1325,6 @@ criteria = "safe-to-deploy"
delta = "1.2.0 -> 1.3.0"
aggregated-from = "https://raw.githubusercontent.com/zcash/librustzcash/main/supply-chain/audits.toml"
-[[audits.zcash.audits.bip32]]
-who = "Jack Grigg "
-criteria = "safe-to-deploy"
-version = "0.5.1"
-notes = """
-- Crate has no unsafe code, and sets `#![forbid(unsafe_code)]`.
-- Crate has no powerful imports. Only filesystem acces is via `include_str!`, and is safe.
-"""
-aggregated-from = "https://raw.githubusercontent.com/zcash/librustzcash/main/supply-chain/audits.toml"
-
[[audits.zcash.audits.either]]
who = "Jack Grigg "
criteria = "safe-to-deploy"
diff --git a/qa/zcash/postponed-updates.txt b/qa/zcash/postponed-updates.txt
index eafa0f1063b..ec135b6b820 100644
--- a/qa/zcash/postponed-updates.txt
+++ b/qa/zcash/postponed-updates.txt
@@ -7,8 +7,10 @@
# Boost 1.84.0 causes gtests to fail on macOS.
boost 1.84.0 2024-09-15
boost 1.85.0 2024-09-15
+boost 1.86.0 2024-09-15
native_b2 1.84.0 2024-09-15
native_b2 1.85.0 2024-09-15
+native_b2 1.86.0 2024-09-15
# Clang and Rust are currently pinned to LLVM 18
diff --git a/src/chainparams.cpp b/src/chainparams.cpp
index e9dce7a4f4b..93dc41343a0 100644
--- a/src/chainparams.cpp
+++ b/src/chainparams.cpp
@@ -440,8 +440,7 @@ class CTestNetParams : public CChainParams {
consensus.vUpgrades[Consensus::UPGRADE_NU5].hashActivationBlock =
uint256S("0006d75c60b3093d1b671ff7da11c99ea535df9927c02e6ed9eb898605eb7381");
consensus.vUpgrades[Consensus::UPGRADE_NU6].nProtocolVersion = 170110;
- consensus.vUpgrades[Consensus::UPGRADE_NU6].nActivationHeight =
- Consensus::NetworkUpgrade::NO_ACTIVATION_HEIGHT;
+ consensus.vUpgrades[Consensus::UPGRADE_NU6].nActivationHeight = 2976000;
consensus.vUpgrades[Consensus::UPGRADE_ZFUTURE].nProtocolVersion = 0x7FFFFFFF;
consensus.vUpgrades[Consensus::UPGRADE_ZFUTURE].nActivationHeight =
Consensus::NetworkUpgrade::NO_ACTIVATION_HEIGHT;
@@ -548,18 +547,19 @@ class CTestNetParams : public CChainParams {
consensus.vUpgrades[Consensus::UPGRADE_CANOPY].nActivationHeight, 2796000,
mg_addresses);
- //auto nu6Activation = consensus.vUpgrades[Consensus::UPGRADE_NU6].nActivationHeight;
- //consensus.AddZIP207FundingStream(
- // keyConstants,
- // Consensus::FS_ZIPTBD_ZCG,
- // nu6Activation,
- // nu6Activation + (12 * consensus.nFundingPeriodLength,
- // );
- //consensus.AddZIP207LockboxStream(
- // keyConstants,
- // Consensus::FS_ZIPTBD_LOCKBOX,
- // nu6Activation,
- // nu6Activation + (12 * consensus.nFundingPeriodLength);
+ auto nu6Activation = consensus.vUpgrades[Consensus::UPGRADE_NU6].nActivationHeight;
+ std::vector zcg_addresses(13, "t2HifwjUj9uyxr9bknR8LFuQbc98c3vkXtu");
+ consensus.AddZIP207FundingStream(
+ keyConstants,
+ Consensus::FS_FPF_ZCG,
+ nu6Activation,
+ 3396000,
+ zcg_addresses);
+ consensus.AddZIP207LockboxStream(
+ keyConstants,
+ Consensus::FS_DEFERRED,
+ nu6Activation,
+ 3396000);
}
// On testnet we activate this rule 6 blocks after Blossom activation. From block 299188 and
diff --git a/src/clientversion.h b/src/clientversion.h
index 8fbf7412de3..8b5352addd9 100644
--- a/src/clientversion.h
+++ b/src/clientversion.h
@@ -16,8 +16,8 @@
//! These need to be macros, as clientversion.cpp's and bitcoin*-res.rc's voodoo requires it
#define CLIENT_VERSION_MAJOR 5
-#define CLIENT_VERSION_MINOR 9
-#define CLIENT_VERSION_REVISION 1
+#define CLIENT_VERSION_MINOR 10
+#define CLIENT_VERSION_REVISION 0
#define CLIENT_VERSION_BUILD 50
//! Set to true for release, false for prerelease or test build
diff --git a/src/consensus/params.h b/src/consensus/params.h
index e33402cbe39..efcdfcaa59d 100644
--- a/src/consensus/params.h
+++ b/src/consensus/params.h
@@ -123,8 +123,8 @@ enum FundingStreamIndex : uint32_t {
FS_ZIP214_BP,
FS_ZIP214_ZF,
FS_ZIP214_MG,
- FS_ZIPTBD_ZCG,
- FS_ZIPTBD_LOCKBOX,
+ FS_FPF_ZCG,
+ FS_DEFERRED,
MAX_FUNDING_STREAMS,
};
const auto FIRST_FUNDING_STREAM = FS_ZIP214_BP;
diff --git a/src/deprecation.h b/src/deprecation.h
index 86ebbf90ff4..c342ff844e2 100644
--- a/src/deprecation.h
+++ b/src/deprecation.h
@@ -11,10 +11,11 @@
// Deprecation policy:
// 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 = 2515876;
-static const int RELEASE_TO_DEPRECATION_WEEKS = 16;
+// Shut down nodes running this version of code, `RELEASE_TO_DEPRECATION_WEEKS` 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 = 2625900;
+static const int RELEASE_TO_DEPRECATION_WEEKS = 10;
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 const int ACTIVATION_TO_DEPRECATION_BLOCKS = (RELEASE_TO_DEPRECATION_WEEKS * 7 * 24 * EXPECTED_BLOCKS_PER_HOUR);
diff --git a/src/version.h b/src/version.h
index b561874e031..1cf9cb7711e 100644
--- a/src/version.h
+++ b/src/version.h
@@ -10,27 +10,22 @@
* network protocol versioning
*/
-static const int PROTOCOL_VERSION = 170100;
+static const int PROTOCOL_VERSION = 170110;
//! initial proto version, to be increased after version/verack negotiation
static const int INIT_PROTO_VERSION = 209;
-//! In this version, 'getheaders' was introduced.
-static const int GETHEADERS_VERSION = 31800;
-
//! disconnect from peers older than this proto version
static const int MIN_PEER_PROTO_VERSION = 170002;
-//! nTime field added to CAddress, starting with this version;
-//! if possible, avoid requesting addresses nodes older than this
+//! nTime field added to CAddress, starting with this version.
+//! This can't be removed because it affects the encoding of the
+//! `addrFrom` field in a "version" message.
static const int CADDR_TIME_VERSION = 31402;
//! BIP 0031, pong message, is enabled for all versions AFTER this one
static const int BIP0031_VERSION = 60000;
-//! "mempool" command, enhanced "getdata" behavior starts with this version
-static const int MEMPOOL_GD_VERSION = 60002;
-
//! "filter*" commands are disabled without NODE_BLOOM after and including this version
static const int NO_BLOOM_VERSION = 170004;