From 425767f59bbdf1827292f8b5ddbebe1bec1eb472 Mon Sep 17 00:00:00 2001 From: Kris Nuttycombe Date: Wed, 7 May 2025 10:04:16 -0600 Subject: [PATCH 1/4] ci: Ensure that synthetic crates are set up using the correct toolchain. --- .github/workflows/ci.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0899da935f..d79479f149 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -182,10 +182,12 @@ jobs: path: crates # We use a synthetic crate to ensure no dev-dependencies are enabled, which can # be incompatible with some of these targets. + - name: Copy Rust toolchain into the root for use in synthetic crate setup + run: cp crates/rust-toolchain.toml . - name: Create synthetic crate for testing run: cargo init --lib ci-build - - name: Copy Rust version into synthetic crate - run: cp crates/rust-toolchain.toml ci-build/ + - name: Move Rust toolchain file into synthetic crate + run: mv rust-toolchain.toml ci-build/ - name: Copy patch directives into synthetic crate run: | echo "[patch.crates-io]" >> ./ci-build/Cargo.toml From 790050eb22bfa78ffa6f9ce4463b106d0c82e75b Mon Sep 17 00:00:00 2001 From: Kris Nuttycombe Date: Thu, 8 May 2025 16:34:53 -0600 Subject: [PATCH 2/4] Migrate to orchard 0.10.2 This fixes a missing feature flag in the `zcash_primitives` dependencies. --- Cargo.lock | 87 +++++++++++++++++++++++++++++++---- Cargo.toml | 2 +- zcash_primitives/CHANGELOG.md | 3 ++ zcash_primitives/Cargo.toml | 2 +- 4 files changed, 83 insertions(+), 11 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index a35cdfa0dc..a549514c7d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -860,6 +860,15 @@ version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f" +[[package]] +name = "core2" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "239fa3ae9b63c2dc74bd3fa852d4792b8b305ae64eeede946265b6af62f1fff3" +dependencies = [ + "memchr", +] + [[package]] name = "cpp_demangle" version = "0.4.3" @@ -1763,6 +1772,18 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "getset" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3586f256131df87204eb733da72e3d3eb4f343c639f4b7be279ac7c48baeafe" +dependencies = [ + "proc-macro-error2", + "proc-macro2", + "quote", + "syn 2.0.63", +] + [[package]] name = "gimli" version = "0.28.1" @@ -1837,18 +1858,20 @@ dependencies = [ [[package]] name = "halo2_gadgets" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "126a150072b0c38c7b573fe3eaf0af944a7fed09e154071bf2436d3f016f7230" +checksum = "73a5e510d58a07d8ed238a5a8a436fe6c2c79e1bb2611f62688bc65007b4e6e7" dependencies = [ "arrayvec", "bitvec", "ff", "group", + "halo2_poseidon", "halo2_proofs", "lazy_static", "pasta_curves", "rand 0.8.5", + "sinsemilla", "subtle", "uint", ] @@ -1859,6 +1882,18 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "47716fe1ae67969c5e0b2ef826f32db8c3be72be325e1aa3c1951d06b5575ec5" +[[package]] +name = "halo2_poseidon" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fa3da60b81f02f9b33ebc6252d766f843291fb4d2247a07ae73d20b791fc56f" +dependencies = [ + "bitvec", + "ff", + "group", + "pasta_curves", +] + [[package]] name = "halo2_proofs" version = "0.3.0" @@ -2394,12 +2429,9 @@ dependencies = [ [[package]] name = "memuse" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2145869435ace5ea6ea3d35f59be559317ec9a0d04e1812d5f185a87b6d36f1a" -dependencies = [ - "nonempty", -] +checksum = "3d97bbf43eb4f088f8ca469930cde17fa036207c9a5e02ccc5107c4e8b17c964" [[package]] name = "merlin" @@ -2640,17 +2672,20 @@ checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" [[package]] name = "orchard" -version = "0.10.0" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f18e997fa121de5c73e95cdc7e8512ae43b7de38904aeea5e5713cc48f3c0ba" +checksum = "f2f4cf75baf85bbd6f15eb919b7e70afdc4a311eef0a3e8a053e65542fe2b58e" dependencies = [ "aes", "bitvec", "blake2b_simd", + "core2", "ff", "fpe", + "getset", "group", "halo2_gadgets", + "halo2_poseidon", "halo2_proofs", "hex", "incrementalmerkletree", @@ -2662,6 +2697,7 @@ dependencies = [ "rand 0.8.5", "reddsa", "serde", + "sinsemilla", "subtle", "tracing", "visibility", @@ -3072,6 +3108,28 @@ dependencies = [ "toml_edit", ] +[[package]] +name = "proc-macro-error-attr2" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96de42df36bb9bba5542fe9f1a054b8cc87e172759a1868aa05c1f3acc89dfc5" +dependencies = [ + "proc-macro2", + "quote", +] + +[[package]] +name = "proc-macro-error2" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "11ec05c52be0a07b08061f7dd003e7d7092e0472bc731b4af7bb1ef876109802" +dependencies = [ + "proc-macro-error-attr2", + "proc-macro2", + "quote", + "syn 2.0.63", +] + [[package]] name = "proc-macro2" version = "1.0.86" @@ -3978,6 +4036,17 @@ dependencies = [ "time", ] +[[package]] +name = "sinsemilla" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d268ae0ea06faafe1662e9967cd4f9022014f5eeb798e0c302c876df8b7af9c" +dependencies = [ + "group", + "pasta_curves", + "subtle", +] + [[package]] name = "siphasher" version = "0.3.11" diff --git a/Cargo.toml b/Cargo.toml index 4218c73392..ff63c15a7d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -61,7 +61,7 @@ sapling = { package = "sapling-crypto", version = "0.3", default-features = fals # - Orchard nonempty = "0.7" -orchard = { version = "0.10", default-features = false } +orchard = { version = "0.10.2", default-features = false } pasta_curves = "0.5" # - Transparent diff --git a/zcash_primitives/CHANGELOG.md b/zcash_primitives/CHANGELOG.md index d746e2b88d..90b28ce218 100644 --- a/zcash_primitives/CHANGELOG.md +++ b/zcash_primitives/CHANGELOG.md @@ -7,6 +7,9 @@ and this library adheres to Rust's notion of ## [Unreleased] +### Fixed +- Migrated to `orchard 0.10.2` to fix a missing feature dependency. + ## [0.19.0] - 2024-10-02 ### Changed diff --git a/zcash_primitives/Cargo.toml b/zcash_primitives/Cargo.toml index a12cd9c9a2..9c55163e32 100644 --- a/zcash_primitives/Cargo.toml +++ b/zcash_primitives/Cargo.toml @@ -47,7 +47,7 @@ ff.workspace = true group = { workspace = true, features = ["wnaf-memuse"] } jubjub.workspace = true nonempty.workspace = true -orchard.workspace = true +orchard = { workspace = true, features = ["circuit"] } sapling.workspace = true zcash_spec.workspace = true From eae8ef6e2ab58e80f3bd2cade87f8067003f3a6e Mon Sep 17 00:00:00 2001 From: Kris Nuttycombe Date: Thu, 8 May 2025 16:37:28 -0600 Subject: [PATCH 3/4] Release zcash_primitives 0.19.1 --- Cargo.lock | 2 +- zcash_primitives/CHANGELOG.md | 2 ++ zcash_primitives/Cargo.toml | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index a549514c7d..8b7f03fd2c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -6089,7 +6089,7 @@ dependencies = [ [[package]] name = "zcash_primitives" -version = "0.19.0" +version = "0.19.1" dependencies = [ "aes", "assert_matches", diff --git a/zcash_primitives/CHANGELOG.md b/zcash_primitives/CHANGELOG.md index 90b28ce218..6831f93bbc 100644 --- a/zcash_primitives/CHANGELOG.md +++ b/zcash_primitives/CHANGELOG.md @@ -7,6 +7,8 @@ and this library adheres to Rust's notion of ## [Unreleased] +## [0.19.1] - 2025-05-08 + ### Fixed - Migrated to `orchard 0.10.2` to fix a missing feature dependency. diff --git a/zcash_primitives/Cargo.toml b/zcash_primitives/Cargo.toml index 9c55163e32..54c6bb5880 100644 --- a/zcash_primitives/Cargo.toml +++ b/zcash_primitives/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "zcash_primitives" description = "Rust implementations of the Zcash primitives" -version = "0.19.0" +version = "0.19.1" authors = [ "Jack Grigg ", "Kris Nuttycombe " From 87b23b878368193da3646665039ee2d2cd29010e Mon Sep 17 00:00:00 2001 From: Kris Nuttycombe Date: Fri, 9 May 2025 16:28:19 -0600 Subject: [PATCH 4/4] Release zcash_primitives version 0.20.1 --- Cargo.lock | 2 +- zcash_primitives/CHANGELOG.md | 10 +++++----- zcash_primitives/Cargo.toml | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 81593a56fa..c19b349c80 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -6270,7 +6270,7 @@ dependencies = [ [[package]] name = "zcash_primitives" -version = "0.20.0" +version = "0.20.1" dependencies = [ "aes", "assert_matches", diff --git a/zcash_primitives/CHANGELOG.md b/zcash_primitives/CHANGELOG.md index 737689eb93..6926cace71 100644 --- a/zcash_primitives/CHANGELOG.md +++ b/zcash_primitives/CHANGELOG.md @@ -7,6 +7,11 @@ and this library adheres to Rust's notion of ## [Unreleased] +## [0.19.1, 0.20.1] - 2025-05-09 + +### Fixed +- Migrated to `orchard 0.10.2` to fix a missing feature dependency. + ## [0.20.0] - 2024-11-14 ### Added @@ -41,11 +46,6 @@ and this library adheres to Rust's notion of behaviour, use `fixed::FeeRule::non_standard(zip317::MINIMUM_FEE)`, but note that this is likely to result in transactions that cannot be mined. -## [0.19.1] - 2025-05-08 - -### Fixed -- Migrated to `orchard 0.10.2` to fix a missing feature dependency. - ## [0.19.0] - 2024-10-02 ### Changed diff --git a/zcash_primitives/Cargo.toml b/zcash_primitives/Cargo.toml index 9e837d6985..27d478823f 100644 --- a/zcash_primitives/Cargo.toml +++ b/zcash_primitives/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "zcash_primitives" description = "Rust implementations of the Zcash primitives" -version = "0.20.0" +version = "0.20.1" authors = [ "Jack Grigg ", "Kris Nuttycombe "