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;