From d5b3ec222d1f93f413b7f4419ed05cd9f311ae1d Mon Sep 17 00:00:00 2001 From: Blake Emerson Date: Sat, 11 Jul 2026 18:15:00 +0000 Subject: [PATCH 1/2] deps: move librustzcash + incrementalmerkletree to upstream, drop zecrocks forks --- Cargo.lock | 69 ++++++++++---------- Cargo.toml | 108 +++++++++++++++++--------------- crates/zkv/src/internal/send.rs | 7 ++- deny.toml | 20 +++--- 4 files changed, 108 insertions(+), 96 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 3a7e278..880d9df 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -141,7 +141,7 @@ version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc" dependencies = [ - "windows-sys 0.60.2", + "windows-sys 0.61.2", ] [[package]] @@ -152,7 +152,7 @@ checksum = "291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d" dependencies = [ "anstyle", "once_cell_polyfill", - "windows-sys 0.60.2", + "windows-sys 0.61.2", ] [[package]] @@ -1361,7 +1361,7 @@ dependencies = [ "libc", "option-ext", "redox_users", - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] @@ -1553,7 +1553,7 @@ dependencies = [ [[package]] name = "equihash" version = "0.3.0" -source = "git+https://github.com/zecrocks/librustzcash?rev=71da9dddc194f8adf003b14c7957d03a4836c3cd#71da9dddc194f8adf003b14c7957d03a4836c3cd" +source = "git+https://github.com/zcash/librustzcash?rev=d700a59ac19be4c8292348acfcda3e8353c93ab6#d700a59ac19be4c8292348acfcda3e8353c93ab6" dependencies = [ "blake2b_simd", "corez", @@ -1583,7 +1583,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" dependencies = [ "libc", - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] @@ -1610,7 +1610,7 @@ dependencies = [ [[package]] name = "f4jumble" version = "0.1.1" -source = "git+https://github.com/zecrocks/librustzcash?rev=71da9dddc194f8adf003b14c7957d03a4836c3cd#71da9dddc194f8adf003b14c7957d03a4836c3cd" +source = "git+https://github.com/zcash/librustzcash?rev=d700a59ac19be4c8292348acfcda3e8353c93ab6#d700a59ac19be4c8292348acfcda3e8353c93ab6" dependencies = [ "blake2b_simd", ] @@ -2832,7 +2832,7 @@ dependencies = [ [[package]] name = "incrementalmerkletree" version = "0.8.2" -source = "git+https://github.com/zecrocks/incrementalmerkletree?rev=6e083a49ef44385cad6b15d4ae1fa9e5e3f6b25d#6e083a49ef44385cad6b15d4ae1fa9e5e3f6b25d" +source = "git+https://github.com/zcash/incrementalmerkletree?rev=7b23adb67044d2a9f4a68759f1e6340c3fc4735a#7b23adb67044d2a9f4a68759f1e6340c3fc4735a" dependencies = [ "either", ] @@ -3110,7 +3110,7 @@ version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7a1886916523694cd6ea3d175f03a1e5010699a2a4cc13696d83d7bea1d80638" dependencies = [ - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] @@ -3350,7 +3350,7 @@ dependencies = [ "png 0.18.1", "serde", "thiserror 2.0.18", - "windows-sys 0.60.2", + "windows-sys 0.61.2", ] [[package]] @@ -3420,7 +3420,7 @@ version = "0.50.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5" dependencies = [ - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] @@ -3730,8 +3730,7 @@ checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" [[package]] name = "orchard" version = "0.15.0-pre.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d77752de9c2865ca4a0d962b201b473d60bbe438d53a964a8707ec4bd401d631" +source = "git+https://github.com/zcash/orchard?rev=475ef0ff77d45aebff93cb039d639250d82518a3#475ef0ff77d45aebff93cb039d639250d82518a3" dependencies = [ "aes", "bitvec", @@ -3876,7 +3875,7 @@ dependencies = [ [[package]] name = "pczt" version = "0.7.0" -source = "git+https://github.com/zecrocks/librustzcash?rev=71da9dddc194f8adf003b14c7957d03a4836c3cd#71da9dddc194f8adf003b14c7957d03a4836c3cd" +source = "git+https://github.com/zcash/librustzcash?rev=d700a59ac19be4c8292348acfcda3e8353c93ab6#d700a59ac19be4c8292348acfcda3e8353c93ab6" dependencies = [ "blake2b_simd", "bls12_381", @@ -4241,7 +4240,7 @@ version = "0.14.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "03da047801ff44bb6a4d407d4860c05fd70bb81714e6b2f3812603d5b145b042" dependencies = [ - "heck 0.4.1", + "heck 0.5.0", "itertools", "log", "multimap", @@ -4344,7 +4343,7 @@ dependencies = [ "once_cell", "socket2", "tracing", - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] @@ -4780,7 +4779,7 @@ dependencies = [ "errno", "libc", "linux-raw-sys", - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] @@ -4838,7 +4837,7 @@ dependencies = [ "security-framework", "security-framework-sys", "webpki-root-certs", - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] @@ -5361,7 +5360,7 @@ dependencies = [ [[package]] name = "shardtree" version = "0.6.2" -source = "git+https://github.com/zecrocks/incrementalmerkletree?rev=6e083a49ef44385cad6b15d4ae1fa9e5e3f6b25d#6e083a49ef44385cad6b15d4ae1fa9e5e3f6b25d" +source = "git+https://github.com/zcash/incrementalmerkletree?rev=7b23adb67044d2a9f4a68759f1e6340c3fc4735a#7b23adb67044d2a9f4a68759f1e6340c3fc4735a" dependencies = [ "bitflags 2.13.0", "either", @@ -5443,7 +5442,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "52d1cfed4120b4d927bf7c0f86d2087a4a7d6027c906d9f9d525a80573b9be51" dependencies = [ "libc", - "windows-sys 0.60.2", + "windows-sys 0.61.2", ] [[package]] @@ -5979,10 +5978,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bd" dependencies = [ "fastrand", - "getrandom 0.3.4", + "getrandom 0.4.3", "once_cell", "rustix", - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] @@ -6001,7 +6000,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "230a1b821ccbd75b185820a1f1ff7b14d21da1e442e22c0863ea5f08771a8874" dependencies = [ "rustix", - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] @@ -6512,7 +6511,7 @@ dependencies = [ "png 0.18.1", "serde", "thiserror 2.0.18", - "windows-sys 0.60.2", + "windows-sys 0.61.2", ] [[package]] @@ -6550,7 +6549,7 @@ checksum = "f2f6fb2847f6742cd76af783a2a2c49e9375d0a111c7bef6f71cd9e738c72d6e" dependencies = [ "memoffset", "tempfile", - "windows-sys 0.60.2", + "windows-sys 0.61.2", ] [[package]] @@ -7079,7 +7078,7 @@ version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" dependencies = [ - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] @@ -7685,7 +7684,7 @@ dependencies = [ [[package]] name = "zcash_address" version = "0.13.0-pre.0" -source = "git+https://github.com/zecrocks/librustzcash?rev=71da9dddc194f8adf003b14c7957d03a4836c3cd#71da9dddc194f8adf003b14c7957d03a4836c3cd" +source = "git+https://github.com/zcash/librustzcash?rev=d700a59ac19be4c8292348acfcda3e8353c93ab6#d700a59ac19be4c8292348acfcda3e8353c93ab6" dependencies = [ "bech32 0.11.1", "bs58", @@ -7698,7 +7697,7 @@ dependencies = [ [[package]] name = "zcash_client_backend" version = "0.23.0" -source = "git+https://github.com/zecrocks/librustzcash?rev=71da9dddc194f8adf003b14c7957d03a4836c3cd#71da9dddc194f8adf003b14c7957d03a4836c3cd" +source = "git+https://github.com/zcash/librustzcash?rev=d700a59ac19be4c8292348acfcda3e8353c93ab6#d700a59ac19be4c8292348acfcda3e8353c93ab6" dependencies = [ "base64 0.22.1", "bech32 0.11.1", @@ -7751,7 +7750,7 @@ dependencies = [ [[package]] name = "zcash_client_sqlite" version = "0.21.1" -source = "git+https://github.com/zecrocks/librustzcash?rev=71da9dddc194f8adf003b14c7957d03a4836c3cd#71da9dddc194f8adf003b14c7957d03a4836c3cd" +source = "git+https://github.com/zcash/librustzcash?rev=d700a59ac19be4c8292348acfcda3e8353c93ab6#d700a59ac19be4c8292348acfcda3e8353c93ab6" dependencies = [ "bip32", "bitflags 2.13.0", @@ -7797,7 +7796,7 @@ dependencies = [ [[package]] name = "zcash_encoding" version = "0.4.0" -source = "git+https://github.com/zecrocks/librustzcash?rev=71da9dddc194f8adf003b14c7957d03a4836c3cd#71da9dddc194f8adf003b14c7957d03a4836c3cd" +source = "git+https://github.com/zcash/librustzcash?rev=d700a59ac19be4c8292348acfcda3e8353c93ab6#d700a59ac19be4c8292348acfcda3e8353c93ab6" dependencies = [ "corez", "hex", @@ -7807,7 +7806,7 @@ dependencies = [ [[package]] name = "zcash_keys" version = "0.15.0-pre.0" -source = "git+https://github.com/zecrocks/librustzcash?rev=71da9dddc194f8adf003b14c7957d03a4836c3cd#71da9dddc194f8adf003b14c7957d03a4836c3cd" +source = "git+https://github.com/zcash/librustzcash?rev=d700a59ac19be4c8292348acfcda3e8353c93ab6#d700a59ac19be4c8292348acfcda3e8353c93ab6" dependencies = [ "bech32 0.11.1", "bip32", @@ -7849,7 +7848,7 @@ dependencies = [ [[package]] name = "zcash_primitives" version = "0.29.0-pre.0" -source = "git+https://github.com/zecrocks/librustzcash?rev=71da9dddc194f8adf003b14c7957d03a4836c3cd#71da9dddc194f8adf003b14c7957d03a4836c3cd" +source = "git+https://github.com/zcash/librustzcash?rev=d700a59ac19be4c8292348acfcda3e8353c93ab6#d700a59ac19be4c8292348acfcda3e8353c93ab6" dependencies = [ "blake2b_simd", "block-buffer 0.11.0-rc.3", @@ -7879,7 +7878,7 @@ dependencies = [ [[package]] name = "zcash_proofs" version = "0.29.0-pre.0" -source = "git+https://github.com/zecrocks/librustzcash?rev=71da9dddc194f8adf003b14c7957d03a4836c3cd#71da9dddc194f8adf003b14c7957d03a4836c3cd" +source = "git+https://github.com/zcash/librustzcash?rev=d700a59ac19be4c8292348acfcda3e8353c93ab6#d700a59ac19be4c8292348acfcda3e8353c93ab6" dependencies = [ "bellman", "blake2b_simd", @@ -7901,7 +7900,7 @@ dependencies = [ [[package]] name = "zcash_protocol" version = "0.10.0-pre.0" -source = "git+https://github.com/zecrocks/librustzcash?rev=71da9dddc194f8adf003b14c7957d03a4836c3cd#71da9dddc194f8adf003b14c7957d03a4836c3cd" +source = "git+https://github.com/zcash/librustzcash?rev=d700a59ac19be4c8292348acfcda3e8353c93ab6#d700a59ac19be4c8292348acfcda3e8353c93ab6" dependencies = [ "corez", "document-features", @@ -7939,7 +7938,7 @@ dependencies = [ [[package]] name = "zcash_transparent" version = "0.9.0-pre.0" -source = "git+https://github.com/zecrocks/librustzcash?rev=71da9dddc194f8adf003b14c7957d03a4836c3cd#71da9dddc194f8adf003b14c7957d03a4836c3cd" +source = "git+https://github.com/zcash/librustzcash?rev=d700a59ac19be4c8292348acfcda3e8353c93ab6#d700a59ac19be4c8292348acfcda3e8353c93ab6" dependencies = [ "bip32", "bs58", @@ -8071,7 +8070,7 @@ dependencies = [ [[package]] name = "zip321" version = "0.8.0" -source = "git+https://github.com/zecrocks/librustzcash?rev=71da9dddc194f8adf003b14c7957d03a4836c3cd#71da9dddc194f8adf003b14c7957d03a4836c3cd" +source = "git+https://github.com/zcash/librustzcash?rev=d700a59ac19be4c8292348acfcda3e8353c93ab6#d700a59ac19be4c8292348acfcda3e8353c93ab6" dependencies = [ "base64 0.22.1", "nom", diff --git a/Cargo.toml b/Cargo.toml index 582375a..f972360 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -65,8 +65,9 @@ axum = { version = "0.7", default-features = false, features = ["tokio", "http1" # bumped to their librustzcash Ironwood `-pre` releases; the higher-level wallet # crates (zcash_client_backend, zcash_client_sqlite) keep their crates.io version # numbers but must be rebuilt against the `-pre` lower crates, so the whole set is -# repointed at the zecrocks librustzcash `ironwood-scan-model` branch via -# [patch.crates-io] below (mirroring zecrocks/zcash-devtool@ironwood-valar). +# repointed at upstream `zcash/librustzcash` main via [patch.crates-io] below +# (the full Ironwood scan model has landed upstream; the zecrocks fork is no +# longer needed). transparent = { package = "zcash_transparent", version = "0.9.0-pre.0" } zcash_address = "0.13.0-pre.0" zcash_note_encryption = "0.4.1" @@ -79,54 +80,63 @@ zip32 = "0.2" zip321 = "0.8" # Ironwood (NU6.3 / V6 transaction) support: repoint every librustzcash crate we -# depend on (directly or transitively) to the zecrocks librustzcash fork's -# `ironwood-scan-model` branch. The higher-level crates (zcash_client_backend, -# zcash_client_sqlite, pczt, zip321) keep their crates.io version numbers but -# depend on the `-pre` lower crates, so the crates.io releases can't be used -# directly: a git source is required. `rev 409f3490` is the current head of that -# branch, which extends the upstream ironwood line (Ironwood *send* + -# *receive* wiring) with the full **Ironwood scan model**: selecting and -# spending received Ironwood notes, counting them in the account balance, the -# Orchard-turnstile enforcement, V6-PCZT construction for Ironwood targets, and -# the `ironwood_tree_retained_checkpoints` migration table (so the wallet no -# longer needs zkv to create it out of band; see the note in `data.rs`). -# zkv both writes and reads memos in the Orchard/Ironwood pool, so this fuller -# wallet support is what lets a post-NU6.3 database spend its own notes and see -# its own V6 writes. Patches must live in the workspace root to take effect. -# Follows zecrocks/zcash-devtool@ironwood-valar. +# depend on (directly or transitively) to upstream `zcash/librustzcash` main. The +# higher-level crates (zcash_client_backend, zcash_client_sqlite, pczt, zip321) +# keep their crates.io version numbers but depend on the `-pre` lower crates, so +# the crates.io releases can't be used directly: a git source is required. `rev +# d700a59a` is the current head of upstream main, which now carries the full +# **Ironwood scan model** (PR #2539 `dw/ironwood-scan-model`) plus follow-up +# fixes (`Implement missing ironwood support`, #2564 `todo-ironwood`, the +# stabilized proposed-transaction-version API): selecting and spending received +# Ironwood notes, counting them in the account balance, the Orchard-turnstile +# enforcement, V6-PCZT construction for Ironwood targets, and the +# `ironwood_tree_retained_checkpoints` migration table (so the wallet creates it, +# not zkv out of band; see the note in `data.rs`). This previously pointed at the +# zecrocks `ironwood-scan-model` fork; that work is now upstream, so the fork is +# no longer a dependency. Patches must live in the workspace root to take effect. # -# The branch depends on `orchard 0.15.0-pre.2` (published on crates.io, so it is -# NOT patched here; our direct dependency in crates/zkv is bumped to match) and -# on an unreleased `shardtree`/`incrementalmerkletree` (explicit checkpoint -# retention, zcash/incrementalmerkletree `decefc46`). A `[patch]` only takes -# effect from the workspace root, so we must mirror that incrementalmerkletree -# patch here or the branch's crates won't resolve against a compatible shardtree. +# Upstream main patches two more sources, which we mirror here: +# - `orchard` to a git rev (keeps `BundleType::DEFAULT` padded and adds the +# Ironwood bundle fields), NOT the crates.io `0.15.0-pre.2` the old fork +# used. Our direct `orchard = "=0.15.0-pre.2"` pin in crates/zkv matches the +# rev's version, so the exact pin resolves against the patched source. +# - `shardtree`/`incrementalmerkletree`, unreleased (explicit checkpoint +# retention, #184). We track the latest `zcash/incrementalmerkletree` main +# (`7b23adb`): upstream `decefc46` plus the shardtree checkpoint-prune +# retention fixes (#192, `clear_flags` no longer panics "Tree state +# inconsistent with checkpoints." when pruning collapses densely-packed +# checkpoint positions into a single pruned leaf). That panic is reachable on +# a sparsely-used Ironwood tree still checkpointed every block by cross-pool +# sync, so it is load-bearing. This is now the official upstream fix (it +# replaces the earlier zecrocks stopgap fork of the same). Same crate +# versions (shardtree 0.6.2, incrementalmerkletree 0.8.2), still compatible +# with upstream librustzcash. A `[patch]` only takes effect from the +# workspace root, so we pin it here. [patch.crates-io] -equihash = { git = "https://github.com/zecrocks/librustzcash", rev = "71da9dddc194f8adf003b14c7957d03a4836c3cd" } -f4jumble = { git = "https://github.com/zecrocks/librustzcash", rev = "71da9dddc194f8adf003b14c7957d03a4836c3cd" } -zcash_address = { git = "https://github.com/zecrocks/librustzcash", rev = "71da9dddc194f8adf003b14c7957d03a4836c3cd" } -zcash_encoding = { git = "https://github.com/zecrocks/librustzcash", rev = "71da9dddc194f8adf003b14c7957d03a4836c3cd" } -zcash_protocol = { git = "https://github.com/zecrocks/librustzcash", rev = "71da9dddc194f8adf003b14c7957d03a4836c3cd" } -zip321 = { git = "https://github.com/zecrocks/librustzcash", rev = "71da9dddc194f8adf003b14c7957d03a4836c3cd" } -pczt = { git = "https://github.com/zecrocks/librustzcash", rev = "71da9dddc194f8adf003b14c7957d03a4836c3cd" } -zcash_keys = { git = "https://github.com/zecrocks/librustzcash", rev = "71da9dddc194f8adf003b14c7957d03a4836c3cd" } -zcash_client_backend = { git = "https://github.com/zecrocks/librustzcash", rev = "71da9dddc194f8adf003b14c7957d03a4836c3cd" } -zcash_client_sqlite = { git = "https://github.com/zecrocks/librustzcash", rev = "71da9dddc194f8adf003b14c7957d03a4836c3cd" } -zcash_primitives = { git = "https://github.com/zecrocks/librustzcash", rev = "71da9dddc194f8adf003b14c7957d03a4836c3cd" } -zcash_proofs = { git = "https://github.com/zecrocks/librustzcash", rev = "71da9dddc194f8adf003b14c7957d03a4836c3cd" } -zcash_transparent = { git = "https://github.com/zecrocks/librustzcash", rev = "71da9dddc194f8adf003b14c7957d03a4836c3cd" } +equihash = { git = "https://github.com/zcash/librustzcash", rev = "d700a59ac19be4c8292348acfcda3e8353c93ab6" } +f4jumble = { git = "https://github.com/zcash/librustzcash", rev = "d700a59ac19be4c8292348acfcda3e8353c93ab6" } +zcash_address = { git = "https://github.com/zcash/librustzcash", rev = "d700a59ac19be4c8292348acfcda3e8353c93ab6" } +zcash_encoding = { git = "https://github.com/zcash/librustzcash", rev = "d700a59ac19be4c8292348acfcda3e8353c93ab6" } +zcash_protocol = { git = "https://github.com/zcash/librustzcash", rev = "d700a59ac19be4c8292348acfcda3e8353c93ab6" } +zip321 = { git = "https://github.com/zcash/librustzcash", rev = "d700a59ac19be4c8292348acfcda3e8353c93ab6" } +pczt = { git = "https://github.com/zcash/librustzcash", rev = "d700a59ac19be4c8292348acfcda3e8353c93ab6" } +zcash_keys = { git = "https://github.com/zcash/librustzcash", rev = "d700a59ac19be4c8292348acfcda3e8353c93ab6" } +zcash_client_backend = { git = "https://github.com/zcash/librustzcash", rev = "d700a59ac19be4c8292348acfcda3e8353c93ab6" } +zcash_client_sqlite = { git = "https://github.com/zcash/librustzcash", rev = "d700a59ac19be4c8292348acfcda3e8353c93ab6" } +zcash_primitives = { git = "https://github.com/zcash/librustzcash", rev = "d700a59ac19be4c8292348acfcda3e8353c93ab6" } +zcash_proofs = { git = "https://github.com/zcash/librustzcash", rev = "d700a59ac19be4c8292348acfcda3e8353c93ab6" } +zcash_transparent = { git = "https://github.com/zcash/librustzcash", rev = "d700a59ac19be4c8292348acfcda3e8353c93ab6" } -# The scan-model branch needs unreleased checkpoint-retention APIs; mirror its -# incrementalmerkletree patch. Pinned to the zecrocks fork rev 6e083a4, which is -# upstream decefc46 plus one shardtree fix: `clear_flags` no longer panics -# ("Tree state inconsistent with checkpoints.") when checkpoint pruning collapses -# several densely-packed checkpoint positions into a single pruned leaf. This is -# reachable on a sparsely-used Ironwood tree that is still checkpointed every -# block by cross-pool synchronization (100+ checkpoints on one unmarked shard), -# and without it a post-NU6.3 testnet Orchard/Ironwood database panics on sync -# once its Ironwood tree passes PRUNING_DEPTH checkpoints. Drop back to an -# upstream rev once the fix lands there. -shardtree = { git = "https://github.com/zecrocks/incrementalmerkletree", rev = "6e083a49ef44385cad6b15d4ae1fa9e5e3f6b25d" } -incrementalmerkletree = { git = "https://github.com/zecrocks/incrementalmerkletree", rev = "6e083a49ef44385cad6b15d4ae1fa9e5e3f6b25d" } -# incrementalmerkletree-testing is a dev-only dep the branch patches for its own +# Ironwood needs an unreleased orchard (padded `BundleType::DEFAULT` + Ironwood +# bundle fields); the same git rev upstream librustzcash main pins. +orchard = { git = "https://github.com/zcash/orchard", rev = "475ef0ff77d45aebff93cb039d639250d82518a3" } + +# Unreleased checkpoint-retention APIs (#184) plus the shardtree checkpoint-prune +# retention fixes (#192, the `clear_flags` panic fix). Latest official +# `zcash/incrementalmerkletree` main; 4 commits past the `decefc46` upstream +# librustzcash pins, same crate versions. This is the upstream home of the fix +# the zecrocks incrementalmerkletree stopgap fork used to carry. +shardtree = { git = "https://github.com/zcash/incrementalmerkletree", rev = "7b23adb67044d2a9f4a68759f1e6340c3fc4735a" } +incrementalmerkletree = { git = "https://github.com/zcash/incrementalmerkletree", rev = "7b23adb67044d2a9f4a68759f1e6340c3fc4735a" } +# incrementalmerkletree-testing is a dev-only dep upstream patches for its own # tests; it is not in zkv's crate graph, so patching it here is unused. Omitted. diff --git a/crates/zkv/src/internal/send.rs b/crates/zkv/src/internal/send.rs index 59d96e5..1931b07 100644 --- a/crates/zkv/src/internal/send.rs +++ b/crates/zkv/src/internal/send.rs @@ -320,8 +320,10 @@ pub async fn pay( // funded by and spent from shielded notes; there are no transparent // inputs to select. &SpendPolicy::default(), - // proposed_version (unstable feature): let the wallet pick the tx version - // for the target height (Ironwood/V6 past NU6.3). + // proposed_version (stabilized upstream): None lets the wallet pick the + // tx version for the target height (Ironwood/V6 past NU6.3). It rides on + // the resulting Proposal, so create_proposed_transactions reads it back + // (upstream dropped the separate arg it used to take). None, ) .map_err(error::Error::from)?; @@ -336,7 +338,6 @@ pub async fn pay( &SpendingKeys::from_unified_spending_key(usk), OvkPolicy::Sender, &proposal, - None, ) .map_err(error::Error::from)?; diff --git a/deny.toml b/deny.toml index d745a01..b6849b4 100644 --- a/deny.toml +++ b/deny.toml @@ -51,16 +51,18 @@ wildcards = "deny" [sources] unknown-registry = "deny" unknown-git = "deny" -# Ironwood (NU6.3) support pins the librustzcash crate set to the zecrocks fork's -# ironwood-scan-model branch via [patch.crates-io] in the workspace Cargo.toml +# Ironwood (NU6.3) support pins the librustzcash crate set to upstream +# `zcash/librustzcash` main via [patch.crates-io] in the workspace Cargo.toml # (the crates.io releases of the wallet crates depend on the `-pre` lower crates -# and so can't be used directly), and that branch in turn needs an unreleased -# shardtree/incrementalmerkletree. Allow those two git sources until the NU6.3 -# crates are published to crates.io, at which point the patches and these entries -# come back out. See the workspace Cargo.toml comment. +# and so can't be used directly), and upstream in turn needs an unreleased +# orchard and shardtree/incrementalmerkletree. Allow those official zcash git +# sources until the NU6.3 crates are published to crates.io, at which point the +# patches and these entries come back out. See the workspace Cargo.toml comment. allow-git = [ - "https://github.com/zecrocks/librustzcash", - # zecrocks fork of zcash/incrementalmerkletree: upstream decefc46 plus the + "https://github.com/zcash/librustzcash", + # orchard git rev: padded BundleType::DEFAULT + Ironwood bundle fields. + "https://github.com/zcash/orchard", + # zcash/incrementalmerkletree main: the checkpoint-retention APIs plus the # shardtree clear_flags checkpoint-pruning panic fix (see workspace Cargo.toml). - "https://github.com/zecrocks/incrementalmerkletree", + "https://github.com/zcash/incrementalmerkletree", ] From 2281a2a8576a116cda3180bdc0f2114c543368bc Mon Sep 17 00:00:00 2001 From: Blake Emerson Date: Sat, 11 Jul 2026 18:30:00 +0000 Subject: [PATCH 2/2] Website: bump download notes to v0.0.1-rc4 --- website/index.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/website/index.html b/website/index.html index 1e6abe7..b3987a0 100644 --- a/website/index.html +++ b/website/index.html @@ -94,17 +94,17 @@

Download

Linux
x86_64 / arm64
-
v0.0.1-rc2
+
v0.0.1-rc4
macOS
Apple Silicon
-
v0.0.1-rc2
+
v0.0.1-rc4
Windows
x64
-
v0.0.1-rc2
+
v0.0.1-rc4