From d83076dcfc372fba463b6429c1737c8010ffca97 Mon Sep 17 00:00:00 2001 From: Kris Nuttycombe Date: Mon, 16 Dec 2024 20:49:19 -0700 Subject: [PATCH 01/10] Migrate to sapling-crypto version 0.4 --- Cargo.lock | 5 +++-- Cargo.toml | 3 +-- zcash_client_backend/CHANGELOG.md | 1 + zcash_client_sqlite/CHANGELOG.md | 1 + zcash_keys/CHANGELOG.md | 2 ++ zcash_primitives/CHANGELOG.md | 1 + zcash_proofs/CHANGELOG.md | 3 +++ 7 files changed, 12 insertions(+), 4 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 3d5fd5b8e..4044f4748 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3822,8 +3822,9 @@ dependencies = [ [[package]] name = "sapling-crypto" -version = "0.3.0" -source = "git+https://github.com/zcash/sapling-crypto.git?rev=e47d57f5c9c46f05740328f8ef9601f6d697cf34#e47d57f5c9c46f05740328f8ef9601f6d697cf34" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85c2acdbbab83d554fc2dceea5f7d6d3da71e57adb18a6c80b8901bd0eee54b0" dependencies = [ "aes", "bellman", diff --git a/Cargo.toml b/Cargo.toml index 5732ef4dd..95dc5ab8e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -62,7 +62,7 @@ blake2s_simd = { version = "1", default-features = false } bls12_381 = "0.8" jubjub = "0.10" redjubjub = "0.7" -sapling = { package = "sapling-crypto", version = "0.3", default-features = false } +sapling = { package = "sapling-crypto", version = "0.4", default-features = false } # - Orchard nonempty = "0.7" @@ -196,4 +196,3 @@ unexpected_cfgs = { level = "warn", check-cfg = ['cfg(zcash_unstable, values("zf [patch.crates-io] orchard = { git = "https://github.com/zcash/orchard.git", rev = "f99b6565a78763b58dac792d7492c55067bae680" } -sapling-crypto = { git = "https://github.com/zcash/sapling-crypto.git", rev = "e47d57f5c9c46f05740328f8ef9601f6d697cf34" } diff --git a/zcash_client_backend/CHANGELOG.md b/zcash_client_backend/CHANGELOG.md index b2afb2d8f..d4081b9c7 100644 --- a/zcash_client_backend/CHANGELOG.md +++ b/zcash_client_backend/CHANGELOG.md @@ -16,6 +16,7 @@ and this library adheres to Rust's notion of - `wallet::extract_and_store_transaction_from_pczt` ### Changed +- Migrated to `sapling-crypto` version `0.4`. - `zcash_client_backend::data_api::AccountBalance`: Refactored to use `Balance` for transparent funds (issue #1411). It now has an `unshielded_balance()` method that returns `Balance`, allowing the unshielded spendable, unshielded diff --git a/zcash_client_sqlite/CHANGELOG.md b/zcash_client_sqlite/CHANGELOG.md index c0b0c6b1e..a89e04cd9 100644 --- a/zcash_client_sqlite/CHANGELOG.md +++ b/zcash_client_sqlite/CHANGELOG.md @@ -11,6 +11,7 @@ and this library adheres to Rust's notion of - `zcash_client_sqlite::AccountUuid` ### Changed +- Migrated to `sapling-crypto` version `0.4`. - The `v_transactions` view has been modified: - The `account_id` column has been replaced with `account_uuid`. - The `v_tx_outputs` view has been modified: diff --git a/zcash_keys/CHANGELOG.md b/zcash_keys/CHANGELOG.md index b8eaead52..db6b02da5 100644 --- a/zcash_keys/CHANGELOG.md +++ b/zcash_keys/CHANGELOG.md @@ -8,6 +8,8 @@ and this library adheres to Rust's notion of ### Changed - Migrated to `bech32 0.11`. +- Migrated to `sapling-crypto` version `0.4`. +- Removed dependency on `zcash_primitives`. - The `UnifiedAddressRequest` argument to the following methods is now optional: - `zcash_keys::keys::UnifiedSpendingKey::address` - `zcash_keys::keys::UnifiedSpendingKey::default_address` diff --git a/zcash_primitives/CHANGELOG.md b/zcash_primitives/CHANGELOG.md index 4c2c8c067..724de4209 100644 --- a/zcash_primitives/CHANGELOG.md +++ b/zcash_primitives/CHANGELOG.md @@ -21,6 +21,7 @@ and this library adheres to Rust's notion of - `sighash::SighashType` ### Changed +- Migrated to `sapling-crypto` version `0.4`. - `zcash_primitives::transaction::components::transparent`: - `builder::TransparentBuilder::add_input` now takes `secp256k1::PublicKey` instead of `secp256k1::SecretKey`. diff --git a/zcash_proofs/CHANGELOG.md b/zcash_proofs/CHANGELOG.md index 10b50912b..c614dafa9 100644 --- a/zcash_proofs/CHANGELOG.md +++ b/zcash_proofs/CHANGELOG.md @@ -10,6 +10,9 @@ and this library adheres to Rust's notion of ### Added - `zcash_proofs::prover::LocalTxProver::verifying_keys` +### Changed +- Migrated to `sapling-crypto` version `0.4`. + ## [0.20.0] - 2024-11-14 ### Changed From a5690007df1aff476bb7770f4d531e4db6a472b6 Mon Sep 17 00:00:00 2001 From: Kris Nuttycombe Date: Mon, 16 Dec 2024 20:52:49 -0700 Subject: [PATCH 02/10] Update to orchard version 0.10.1 --- Cargo.lock | 5 +++-- Cargo.toml | 5 +---- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 4044f4748..e75d3e005 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2788,8 +2788,9 @@ checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" [[package]] name = "orchard" -version = "0.10.0" -source = "git+https://github.com/zcash/orchard.git?rev=f99b6565a78763b58dac792d7492c55067bae680#f99b6565a78763b58dac792d7492c55067bae680" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02f7152474406422f572de163e0bc63b2126cdbfe17bc849efbbde36fcfe647e" dependencies = [ "aes", "bitvec", diff --git a/Cargo.toml b/Cargo.toml index 95dc5ab8e..cc866f9f3 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -66,7 +66,7 @@ sapling = { package = "sapling-crypto", version = "0.4", default-features = fals # - Orchard nonempty = "0.7" -orchard = { version = "0.10", default-features = false } +orchard = { version = "0.10.1", default-features = false } pasta_curves = "0.5" # - Transparent @@ -193,6 +193,3 @@ debug = true [workspace.lints.rust] unexpected_cfgs = { level = "warn", check-cfg = ['cfg(zcash_unstable, values("zfuture"))'] } - -[patch.crates-io] -orchard = { git = "https://github.com/zcash/orchard.git", rev = "f99b6565a78763b58dac792d7492c55067bae680" } From 2f33e1e0d9fec2b51fe0912e06f8f92d52a8f76d Mon Sep 17 00:00:00 2001 From: Kris Nuttycombe Date: Mon, 16 Dec 2024 20:54:38 -0700 Subject: [PATCH 03/10] Release `zcash_transparent` version 0.1.0 --- Cargo.lock | 2 +- Cargo.toml | 2 +- zcash_transparent/CHANGELOG.md | 2 ++ zcash_transparent/Cargo.toml | 2 +- 4 files changed, 5 insertions(+), 3 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index e75d3e005..d4aaa96f4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -6474,7 +6474,7 @@ dependencies = [ [[package]] name = "zcash_transparent" -version = "0.0.0" +version = "0.1.0" dependencies = [ "bip32", "blake2b_simd", diff --git a/Cargo.toml b/Cargo.toml index cc866f9f3..8906fd30d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -73,7 +73,7 @@ pasta_curves = "0.5" bip32 = { version = "0.5", default-features = false } ripemd = { version = "0.1", default-features = false } secp256k1 = { version = "0.27", default-features = false, features = ["alloc"] } -transparent = { package = "zcash_transparent", version = "0.0", path = "zcash_transparent", default-features = false } +transparent = { package = "zcash_transparent", version = "0.1", path = "zcash_transparent", default-features = false } # Boilerplate & missing stdlib getset = "0.1" diff --git a/zcash_transparent/CHANGELOG.md b/zcash_transparent/CHANGELOG.md index 23c107150..8dc130e2b 100644 --- a/zcash_transparent/CHANGELOG.md +++ b/zcash_transparent/CHANGELOG.md @@ -7,6 +7,8 @@ and this library adheres to Rust's notion of ## [Unreleased] +## [0.1.0] - 2024-12-16 + The entries below are relative to the `zcash_primitives` crate as of the tag `zcash_primitives-0.20.0`. diff --git a/zcash_transparent/Cargo.toml b/zcash_transparent/Cargo.toml index 30fa5933c..cb93f05ff 100644 --- a/zcash_transparent/Cargo.toml +++ b/zcash_transparent/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "zcash_transparent" description = "Rust implementations of the Zcash transparent protocol" -version = "0.0.0" +version = "0.1.0" authors = [ "Jack Grigg ", "Kris Nuttycombe ", From f23e478b99d2e644697719d13da3092787ea9707 Mon Sep 17 00:00:00 2001 From: Kris Nuttycombe Date: Mon, 16 Dec 2024 21:04:44 -0700 Subject: [PATCH 04/10] Release `zcash_keys` version `0.6.0` --- Cargo.lock | 3 +-- Cargo.toml | 2 +- zcash_client_backend/CHANGELOG.md | 2 +- zcash_client_sqlite/CHANGELOG.md | 2 +- zcash_keys/CHANGELOG.md | 8 ++++--- zcash_keys/Cargo.toml | 12 ++++++---- zcash_keys/src/address.rs | 4 ++-- zcash_keys/src/encoding.rs | 39 +++++++++++-------------------- zcash_keys/src/keys.rs | 7 +++--- 9 files changed, 36 insertions(+), 43 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index d4aaa96f4..6f31b1f2e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -6338,7 +6338,7 @@ dependencies = [ [[package]] name = "zcash_keys" -version = "0.5.0" +version = "0.6.0" dependencies = [ "bech32", "bip32", @@ -6362,7 +6362,6 @@ dependencies = [ "tracing", "zcash_address", "zcash_encoding", - "zcash_primitives", "zcash_protocol", "zcash_transparent", "zip32", diff --git a/Cargo.toml b/Cargo.toml index 8906fd30d..fc49c01f0 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -37,7 +37,7 @@ equihash = { version = "0.2", path = "components/equihash" } zcash_address = { version = "0.6", path = "components/zcash_address", default-features = false } zcash_client_backend = { version = "0.15", path = "zcash_client_backend" } zcash_encoding = { version = "0.2.1", path = "components/zcash_encoding", default-features = false } -zcash_keys = { version = "0.5", path = "zcash_keys" } +zcash_keys = { version = "0.6", path = "zcash_keys" } zcash_protocol = { version = "0.4.1", path = "components/zcash_protocol", default-features = false } zip321 = { version = "0.2", path = "components/zip321" } diff --git a/zcash_client_backend/CHANGELOG.md b/zcash_client_backend/CHANGELOG.md index d4081b9c7..646c9c14e 100644 --- a/zcash_client_backend/CHANGELOG.md +++ b/zcash_client_backend/CHANGELOG.md @@ -16,7 +16,7 @@ and this library adheres to Rust's notion of - `wallet::extract_and_store_transaction_from_pczt` ### Changed -- Migrated to `sapling-crypto` version `0.4`. +- Migrated to `sapling-crypto` version `0.4`, `zcash_keys` version `0.6`. - `zcash_client_backend::data_api::AccountBalance`: Refactored to use `Balance` for transparent funds (issue #1411). It now has an `unshielded_balance()` method that returns `Balance`, allowing the unshielded spendable, unshielded diff --git a/zcash_client_sqlite/CHANGELOG.md b/zcash_client_sqlite/CHANGELOG.md index a89e04cd9..e199e2a23 100644 --- a/zcash_client_sqlite/CHANGELOG.md +++ b/zcash_client_sqlite/CHANGELOG.md @@ -11,7 +11,7 @@ and this library adheres to Rust's notion of - `zcash_client_sqlite::AccountUuid` ### Changed -- Migrated to `sapling-crypto` version `0.4`. +- Migrated to `sapling-crypto` version `0.4`, `zcash_keys` version `0.6`. - The `v_transactions` view has been modified: - The `account_id` column has been replaced with `account_uuid`. - The `v_tx_outputs` view has been modified: diff --git a/zcash_keys/CHANGELOG.md b/zcash_keys/CHANGELOG.md index db6b02da5..d7e33fb8d 100644 --- a/zcash_keys/CHANGELOG.md +++ b/zcash_keys/CHANGELOG.md @@ -6,10 +6,12 @@ and this library adheres to Rust's notion of ## [Unreleased] +## [0.6.0] - 2024-12-16 + ### Changed -- Migrated to `bech32 0.11`. -- Migrated to `sapling-crypto` version `0.4`. -- Removed dependency on `zcash_primitives`. +- Migrated to `bech32 0.11`, `sapling-crypto 0.4`. +- Added dependency on `zcash_transparent 0.1` to replace dependency + on `zcash_primitives`. - The `UnifiedAddressRequest` argument to the following methods is now optional: - `zcash_keys::keys::UnifiedSpendingKey::address` - `zcash_keys::keys::UnifiedSpendingKey::default_address` diff --git a/zcash_keys/Cargo.toml b/zcash_keys/Cargo.toml index 0ab84ba67..f950bcbf7 100644 --- a/zcash_keys/Cargo.toml +++ b/zcash_keys/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "zcash_keys" description = "Zcash key and address management" -version = "0.5.0" +version = "0.6.0" authors = [ "Jack Grigg ", "Kris Nuttycombe " @@ -72,12 +72,15 @@ hex.workspace = true jubjub.workspace = true proptest.workspace = true rand_core.workspace = true +orchard = { workspace = true, features = ["circuit"] } zcash_address = { workspace = true, features = ["test-dependencies"] } -zcash_primitives = { workspace = true, features = ["test-dependencies"] } [features] ## Enables use of transparent key parts and addresses -transparent-inputs = ["dep:bip32", "zcash_primitives/transparent-inputs"] +transparent-inputs = [ + "dep:bip32", + "transparent/transparent-inputs", +] ## Enables use of Orchard key parts and addresses orchard = ["dep:orchard"] @@ -89,7 +92,8 @@ sapling = ["dep:sapling"] test-dependencies = [ "dep:proptest", "orchard?/test-dependencies", - "zcash_primitives/test-dependencies", + "sapling?/test-dependencies", + "transparent/test-dependencies", ] #! ### Experimental features diff --git a/zcash_keys/src/address.rs b/zcash_keys/src/address.rs index 01093c4d5..15b7fb8fd 100644 --- a/zcash_keys/src/address.rs +++ b/zcash_keys/src/address.rs @@ -476,7 +476,7 @@ pub mod testing { #[cfg(test)] mod tests { use zcash_address::test_vectors; - use zcash_primitives::consensus::MAIN_NETWORK; + use zcash_protocol::consensus::MAIN_NETWORK; use super::{Address, UnifiedAddress}; @@ -484,7 +484,7 @@ mod tests { use crate::keys::sapling; #[cfg(any(feature = "orchard", feature = "sapling"))] - use zcash_primitives::zip32::AccountId; + use zip32::AccountId; #[test] #[cfg(any(feature = "orchard", feature = "sapling"))] diff --git a/zcash_keys/src/encoding.rs b/zcash_keys/src/encoding.rs index f4e97d006..50270fc28 100644 --- a/zcash_keys/src/encoding.rs +++ b/zcash_keys/src/encoding.rs @@ -202,10 +202,9 @@ impl AddressCodec

for UnifiedAddress { /// # Examples /// /// ``` -/// use zcash_primitives::{ -/// constants::testnet::{COIN_TYPE, HRP_SAPLING_EXTENDED_SPENDING_KEY}, -/// zip32::AccountId, -/// }; +/// use zcash_protocol::constants::testnet::{COIN_TYPE, HRP_SAPLING_EXTENDED_SPENDING_KEY}; +/// use zip32::AccountId; +/// /// use zcash_keys::{ /// encoding::encode_extended_spending_key, /// keys::sapling, @@ -237,10 +236,8 @@ pub fn decode_extended_spending_key( /// /// ``` /// use ::sapling::zip32::ExtendedFullViewingKey; -/// use zcash_primitives::{ -/// constants::testnet::{COIN_TYPE, HRP_SAPLING_EXTENDED_FULL_VIEWING_KEY}, -/// zip32::AccountId, -/// }; +/// use zcash_protocol::constants::testnet::{COIN_TYPE, HRP_SAPLING_EXTENDED_FULL_VIEWING_KEY}; +/// use zip32::AccountId; /// use zcash_keys::{ /// encoding::encode_extended_full_viewing_key, /// keys::sapling, @@ -305,9 +302,7 @@ pub fn decode_extfvk_with_network( /// use zcash_keys::{ /// encoding::encode_payment_address, /// }; -/// use zcash_primitives::{ -/// constants::testnet::HRP_SAPLING_PAYMENT_ADDRESS, -/// }; +/// use zcash_protocol::constants::testnet::HRP_SAPLING_PAYMENT_ADDRESS; /// /// let pa = PaymentAddress::from_bytes(&[ /// 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x8e, 0x11, @@ -351,9 +346,7 @@ pub fn encode_payment_address_p( /// use zcash_keys::{ /// encoding::decode_payment_address, /// }; -/// use zcash_primitives::{ -/// consensus::{TEST_NETWORK, NetworkConstants, Parameters}, -/// }; +/// use zcash_protocol::consensus::{TEST_NETWORK, NetworkConstants, Parameters}; /// /// let pa = PaymentAddress::from_bytes(&[ /// 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x8e, 0x11, @@ -393,13 +386,9 @@ pub fn decode_payment_address( /// # Examples /// /// ``` -/// use zcash_keys::{ -/// encoding::encode_transparent_address, -/// }; -/// use zcash_primitives::{ -/// consensus::{TEST_NETWORK, NetworkConstants, Parameters}, -/// legacy::TransparentAddress, -/// }; +/// use zcash_keys::encoding::encode_transparent_address; +/// use zcash_protocol::consensus::{TEST_NETWORK, NetworkConstants, Parameters}; +/// use transparent::address::TransparentAddress; /// /// assert_eq!( /// encode_transparent_address( @@ -459,10 +448,8 @@ pub fn encode_transparent_address_p( /// # Examples /// /// ``` -/// use zcash_primitives::{ -/// consensus::{TEST_NETWORK, NetworkConstants, Parameters}, -/// legacy::TransparentAddress, -/// }; +/// use zcash_protocol::consensus::{TEST_NETWORK, NetworkConstants, Parameters}; +/// use transparent::address::TransparentAddress; /// use zcash_keys::{ /// encoding::decode_transparent_address, /// }; @@ -515,7 +502,7 @@ mod tests_sapling { Bech32DecodeError, }; use sapling::{zip32::ExtendedSpendingKey, PaymentAddress}; - use zcash_primitives::constants; + use zcash_protocol::constants; #[test] fn extended_spending_key() { diff --git a/zcash_keys/src/keys.rs b/zcash_keys/src/keys.rs index c83ef32b3..140e2cc58 100644 --- a/zcash_keys/src/keys.rs +++ b/zcash_keys/src/keys.rs @@ -56,7 +56,7 @@ pub mod sapling { /// # Examples /// /// ``` - /// use zcash_primitives::constants::testnet::COIN_TYPE; + /// use zcash_protocol::constants::testnet::COIN_TYPE; /// use zcash_keys::keys::sapling; /// use zip32::AccountId; /// @@ -1311,7 +1311,8 @@ mod tests { use proptest::prelude::proptest; - use {zcash_primitives::consensus::MAIN_NETWORK, zip32::AccountId}; + use zcash_protocol::consensus::MAIN_NETWORK; + use zip32::AccountId; #[cfg(any(feature = "sapling", feature = "orchard"))] use { @@ -1553,7 +1554,7 @@ mod tests { #[test] #[cfg(any(feature = "orchard", feature = "sapling"))] fn uivk_round_trip() { - use zcash_primitives::consensus::NetworkType; + use zcash_protocol::consensus::NetworkType; #[cfg(feature = "orchard")] let orchard = { From 0f78b4f9c483f1e2822ced8a941c7efccfede4d6 Mon Sep 17 00:00:00 2001 From: Kris Nuttycombe Date: Mon, 16 Dec 2024 21:21:08 -0700 Subject: [PATCH 05/10] Release zcash_primitives version 0.21.0 --- Cargo.lock | 2 +- Cargo.toml | 2 +- zcash_client_backend/CHANGELOG.md | 2 +- zcash_client_sqlite/CHANGELOG.md | 2 +- zcash_primitives/CHANGELOG.md | 2 ++ zcash_primitives/Cargo.toml | 2 +- zcash_proofs/CHANGELOG.md | 3 ++- 7 files changed, 9 insertions(+), 6 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 6f31b1f2e..abd9e1d99 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -6382,7 +6382,7 @@ dependencies = [ [[package]] name = "zcash_primitives" -version = "0.20.0" +version = "0.21.0" dependencies = [ "aes", "assert_matches", diff --git a/Cargo.toml b/Cargo.toml index fc49c01f0..fafd9b204 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -42,7 +42,7 @@ zcash_protocol = { version = "0.4.1", path = "components/zcash_protocol", defaul zip321 = { version = "0.2", path = "components/zip321" } zcash_note_encryption = "0.4.1" -zcash_primitives = { version = "0.20", path = "zcash_primitives", default-features = false } +zcash_primitives = { version = "0.21", path = "zcash_primitives", default-features = false } zcash_proofs = { version = "0.20", path = "zcash_proofs", default-features = false } pczt = { version = "0.0", path = "pczt" } diff --git a/zcash_client_backend/CHANGELOG.md b/zcash_client_backend/CHANGELOG.md index 646c9c14e..bbb326adf 100644 --- a/zcash_client_backend/CHANGELOG.md +++ b/zcash_client_backend/CHANGELOG.md @@ -16,7 +16,7 @@ and this library adheres to Rust's notion of - `wallet::extract_and_store_transaction_from_pczt` ### Changed -- Migrated to `sapling-crypto` version `0.4`, `zcash_keys` version `0.6`. +- Migrated to `sapling-crypto 0.4`, `zcash_keys 0.6`, `zcash_primitives 0.21`. - `zcash_client_backend::data_api::AccountBalance`: Refactored to use `Balance` for transparent funds (issue #1411). It now has an `unshielded_balance()` method that returns `Balance`, allowing the unshielded spendable, unshielded diff --git a/zcash_client_sqlite/CHANGELOG.md b/zcash_client_sqlite/CHANGELOG.md index e199e2a23..5e4d4ff27 100644 --- a/zcash_client_sqlite/CHANGELOG.md +++ b/zcash_client_sqlite/CHANGELOG.md @@ -11,7 +11,7 @@ and this library adheres to Rust's notion of - `zcash_client_sqlite::AccountUuid` ### Changed -- Migrated to `sapling-crypto` version `0.4`, `zcash_keys` version `0.6`. +- Migrated to `sapling-crypto 0.4`, `zcash_keys 0.6`, `zcash_primitives 0.21`. - The `v_transactions` view has been modified: - The `account_id` column has been replaced with `account_uuid`. - The `v_tx_outputs` view has been modified: diff --git a/zcash_primitives/CHANGELOG.md b/zcash_primitives/CHANGELOG.md index 724de4209..fc811d14e 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.21.0] - 2024-12-16 + ### Added - `zcash_primitives::legacy::Script::address` - `zcash_primitives::transaction` diff --git a/zcash_primitives/Cargo.toml b/zcash_primitives/Cargo.toml index f325d6ac4..bf207a150 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.21.0" authors = [ "Jack Grigg ", "Kris Nuttycombe " diff --git a/zcash_proofs/CHANGELOG.md b/zcash_proofs/CHANGELOG.md index c614dafa9..5e7c64117 100644 --- a/zcash_proofs/CHANGELOG.md +++ b/zcash_proofs/CHANGELOG.md @@ -7,11 +7,12 @@ and this library adheres to Rust's notion of ## [Unreleased] +## [0.21.0] - 2024-12-16 ### Added - `zcash_proofs::prover::LocalTxProver::verifying_keys` ### Changed -- Migrated to `sapling-crypto` version `0.4`. +- Migrated to `sapling-crypto` version `0.4`, `zcash_primitives 0.21`. ## [0.20.0] - 2024-11-14 From 8c42a69bb5e6e6e8ed10c66f776938a806704f8a Mon Sep 17 00:00:00 2001 From: Kris Nuttycombe Date: Mon, 16 Dec 2024 21:26:00 -0700 Subject: [PATCH 06/10] Release zcash_proofs version 0.21.0 --- Cargo.lock | 2 +- Cargo.toml | 2 +- zcash_client_backend/CHANGELOG.md | 3 ++- zcash_client_sqlite/CHANGELOG.md | 3 ++- zcash_proofs/Cargo.toml | 2 +- 5 files changed, 7 insertions(+), 5 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index abd9e1d99..28458aa6c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -6427,7 +6427,7 @@ dependencies = [ [[package]] name = "zcash_proofs" -version = "0.20.0" +version = "0.21.0" dependencies = [ "bellman", "blake2b_simd", diff --git a/Cargo.toml b/Cargo.toml index fafd9b204..4aca13bcc 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -43,7 +43,7 @@ zip321 = { version = "0.2", path = "components/zip321" } zcash_note_encryption = "0.4.1" zcash_primitives = { version = "0.21", path = "zcash_primitives", default-features = false } -zcash_proofs = { version = "0.20", path = "zcash_proofs", default-features = false } +zcash_proofs = { version = "0.21", path = "zcash_proofs", default-features = false } pczt = { version = "0.0", path = "pczt" } diff --git a/zcash_client_backend/CHANGELOG.md b/zcash_client_backend/CHANGELOG.md index bbb326adf..d81f38760 100644 --- a/zcash_client_backend/CHANGELOG.md +++ b/zcash_client_backend/CHANGELOG.md @@ -16,7 +16,8 @@ and this library adheres to Rust's notion of - `wallet::extract_and_store_transaction_from_pczt` ### Changed -- Migrated to `sapling-crypto 0.4`, `zcash_keys 0.6`, `zcash_primitives 0.21`. +- Migrated to `sapling-crypto 0.4`, `zcash_keys 0.6`, `zcash_primitives 0.21`, + `zcash_proofs 0.21`. - `zcash_client_backend::data_api::AccountBalance`: Refactored to use `Balance` for transparent funds (issue #1411). It now has an `unshielded_balance()` method that returns `Balance`, allowing the unshielded spendable, unshielded diff --git a/zcash_client_sqlite/CHANGELOG.md b/zcash_client_sqlite/CHANGELOG.md index 5e4d4ff27..05626eb46 100644 --- a/zcash_client_sqlite/CHANGELOG.md +++ b/zcash_client_sqlite/CHANGELOG.md @@ -11,7 +11,8 @@ and this library adheres to Rust's notion of - `zcash_client_sqlite::AccountUuid` ### Changed -- Migrated to `sapling-crypto 0.4`, `zcash_keys 0.6`, `zcash_primitives 0.21`. +- Migrated to `sapling-crypto 0.4`, `zcash_keys 0.6`, `zcash_primitives 0.21`, + `zcash_proofs 0.21`. - The `v_transactions` view has been modified: - The `account_id` column has been replaced with `account_uuid`. - The `v_tx_outputs` view has been modified: diff --git a/zcash_proofs/Cargo.toml b/zcash_proofs/Cargo.toml index 73da4bdd4..0e4e7500f 100644 --- a/zcash_proofs/Cargo.toml +++ b/zcash_proofs/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "zcash_proofs" description = "Zcash zk-SNARK circuits and proving APIs" -version = "0.20.0" +version = "0.21.0" authors = [ "Jack Grigg ", ] From a59773faee1f65e854b3a17274e6da2b40edc147 Mon Sep 17 00:00:00 2001 From: Kris Nuttycombe Date: Mon, 16 Dec 2024 21:29:00 -0700 Subject: [PATCH 07/10] Release pczt version 0.1.0 --- Cargo.lock | 2 +- Cargo.toml | 2 +- pczt/CHANGELOG.md | 11 +++++++++++ pczt/Cargo.toml | 2 +- 4 files changed, 14 insertions(+), 3 deletions(-) create mode 100644 pczt/CHANGELOG.md diff --git a/Cargo.lock b/Cargo.lock index 28458aa6c..24bfe19e9 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2957,7 +2957,7 @@ dependencies = [ [[package]] name = "pczt" -version = "0.0.0" +version = "0.1.0" dependencies = [ "blake2b_simd", "bls12_381", diff --git a/Cargo.toml b/Cargo.toml index 4aca13bcc..48eaafcc1 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -45,7 +45,7 @@ zcash_note_encryption = "0.4.1" zcash_primitives = { version = "0.21", path = "zcash_primitives", default-features = false } zcash_proofs = { version = "0.21", path = "zcash_proofs", default-features = false } -pczt = { version = "0.0", path = "pczt" } +pczt = { version = "0.1", path = "pczt" } # Shielded protocols bellman = { version = "0.14", default-features = false, features = ["groth16"] } diff --git a/pczt/CHANGELOG.md b/pczt/CHANGELOG.md new file mode 100644 index 000000000..ba186f614 --- /dev/null +++ b/pczt/CHANGELOG.md @@ -0,0 +1,11 @@ +# Changelog +All notable changes to this library will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this library adheres to Rust's notion of +[Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [Unreleased] + +## [0.1.0] - 2024-12-16 +Initial release supporting the PCZT v1 format. diff --git a/pczt/Cargo.toml b/pczt/Cargo.toml index dc2487032..892b67f48 100644 --- a/pczt/Cargo.toml +++ b/pczt/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "pczt" -version = "0.0.0" +version = "0.1.0" authors = ["Jack Grigg "] edition.workspace = true rust-version.workspace = true From ebd2d3abec5a05ef24e19fbffa4577604446e8ce Mon Sep 17 00:00:00 2001 From: Kris Nuttycombe Date: Mon, 16 Dec 2024 21:31:17 -0700 Subject: [PATCH 08/10] Release zcash_client_backend version 0.16.0 --- Cargo.lock | 2 +- Cargo.toml | 2 +- zcash_client_backend/CHANGELOG.md | 2 ++ zcash_client_backend/Cargo.toml | 2 +- zcash_client_sqlite/CHANGELOG.md | 2 +- 5 files changed, 6 insertions(+), 4 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 24bfe19e9..97e0d73b9 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -6186,7 +6186,7 @@ dependencies = [ [[package]] name = "zcash_client_backend" -version = "0.15.0" +version = "0.16.0" dependencies = [ "ambassador", "arti-client", diff --git a/Cargo.toml b/Cargo.toml index 48eaafcc1..4e37a9fe4 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -35,7 +35,7 @@ categories = ["cryptography::cryptocurrencies"] # Intra-workspace dependencies equihash = { version = "0.2", path = "components/equihash" } zcash_address = { version = "0.6", path = "components/zcash_address", default-features = false } -zcash_client_backend = { version = "0.15", path = "zcash_client_backend" } +zcash_client_backend = { version = "0.16", path = "zcash_client_backend" } zcash_encoding = { version = "0.2.1", path = "components/zcash_encoding", default-features = false } zcash_keys = { version = "0.6", path = "zcash_keys" } zcash_protocol = { version = "0.4.1", path = "components/zcash_protocol", default-features = false } diff --git a/zcash_client_backend/CHANGELOG.md b/zcash_client_backend/CHANGELOG.md index d81f38760..b88727242 100644 --- a/zcash_client_backend/CHANGELOG.md +++ b/zcash_client_backend/CHANGELOG.md @@ -7,6 +7,8 @@ and this library adheres to Rust's notion of ## [Unreleased] +## [0.16.0] - 2024-12-16 + ### Added - `zcash_client_backend::data_api` - `AccountSource::key_derivation` diff --git a/zcash_client_backend/Cargo.toml b/zcash_client_backend/Cargo.toml index 8bde6f194..1266e58ae 100644 --- a/zcash_client_backend/Cargo.toml +++ b/zcash_client_backend/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "zcash_client_backend" description = "APIs for creating shielded Zcash light clients" -version = "0.15.0" +version = "0.16.0" authors = [ "Jack Grigg ", "Kris Nuttycombe " diff --git a/zcash_client_sqlite/CHANGELOG.md b/zcash_client_sqlite/CHANGELOG.md index 05626eb46..97de484f3 100644 --- a/zcash_client_sqlite/CHANGELOG.md +++ b/zcash_client_sqlite/CHANGELOG.md @@ -12,7 +12,7 @@ and this library adheres to Rust's notion of ### Changed - Migrated to `sapling-crypto 0.4`, `zcash_keys 0.6`, `zcash_primitives 0.21`, - `zcash_proofs 0.21`. + `zcash_proofs 0.21`, `zcash_client_backend 0.16` - The `v_transactions` view has been modified: - The `account_id` column has been replaced with `account_uuid`. - The `v_tx_outputs` view has been modified: From 04c331cb5d3b6c81aedb088266c7383ae8b6317f Mon Sep 17 00:00:00 2001 From: Kris Nuttycombe Date: Mon, 16 Dec 2024 21:32:43 -0700 Subject: [PATCH 09/10] Release zcash_client_sqlite version 0.14.0 --- Cargo.lock | 2 +- zcash_client_sqlite/CHANGELOG.md | 2 ++ zcash_client_sqlite/Cargo.toml | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 97e0d73b9..2bcea96fc 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -6255,7 +6255,7 @@ dependencies = [ [[package]] name = "zcash_client_sqlite" -version = "0.13.0" +version = "0.14.0" dependencies = [ "ambassador", "assert_matches", diff --git a/zcash_client_sqlite/CHANGELOG.md b/zcash_client_sqlite/CHANGELOG.md index 97de484f3..c77dc9c8a 100644 --- a/zcash_client_sqlite/CHANGELOG.md +++ b/zcash_client_sqlite/CHANGELOG.md @@ -7,6 +7,8 @@ and this library adheres to Rust's notion of ## [Unreleased] +## [0.14.0] - 2024-12-16 + ### Added - `zcash_client_sqlite::AccountUuid` diff --git a/zcash_client_sqlite/Cargo.toml b/zcash_client_sqlite/Cargo.toml index 43d860ea9..fbe2f2020 100644 --- a/zcash_client_sqlite/Cargo.toml +++ b/zcash_client_sqlite/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "zcash_client_sqlite" description = "An SQLite-based Zcash light client" -version = "0.13.0" +version = "0.14.0" authors = [ "Jack Grigg ", "Kris Nuttycombe " From 172ebc394d533e016600fe8d488e57ff9106e7b2 Mon Sep 17 00:00:00 2001 From: Kris Nuttycombe Date: Mon, 16 Dec 2024 22:07:12 -0700 Subject: [PATCH 10/10] Update `cargo vet` metadata for released crates. --- supply-chain/audits.toml | 12 +++++++++ supply-chain/config.toml | 3 +++ supply-chain/imports.lock | 51 +++++++++++++++++++++++++++------------ 3 files changed, 51 insertions(+), 15 deletions(-) diff --git a/supply-chain/audits.toml b/supply-chain/audits.toml index 40496f591..c93f2275b 100644 --- a/supply-chain/audits.toml +++ b/supply-chain/audits.toml @@ -747,6 +747,12 @@ user-id = 169181 # Kris Nuttycombe (nuttycom) start = "2024-08-12" end = "2025-08-12" +[[trusted.pczt]] +criteria = "safe-to-deploy" +user-id = 169181 # Kris Nuttycombe (nuttycom) +start = "2024-12-17" +end = "2025-12-17" + [[trusted.sapling-crypto]] criteria = "safe-to-deploy" user-id = 169181 # Kris Nuttycombe (nuttycom) @@ -987,6 +993,12 @@ user-id = 6289 # Jack Grigg (str4d) start = "2024-12-14" end = "2025-12-16" +[[trusted.zcash_transparent]] +criteria = "safe-to-deploy" +user-id = 169181 # Kris Nuttycombe (nuttycom) +start = "2024-12-17" +end = "2025-12-17" + [[trusted.zip32]] criteria = "safe-to-deploy" user-id = 6289 # Jack Grigg (str4d) diff --git a/supply-chain/config.toml b/supply-chain/config.toml index 5f636c8a7..9b91b97fa 100644 --- a/supply-chain/config.toml +++ b/supply-chain/config.toml @@ -67,6 +67,9 @@ audit-as-crates-io = true [policy.zcash_protocol] audit-as-crates-io = true +[policy.zcash_transparent] +audit-as-crates-io = true + [policy.zip321] audit-as-crates-io = true diff --git a/supply-chain/imports.lock b/supply-chain/imports.lock index 5395a296f..961de26e3 100644 --- a/supply-chain/imports.lock +++ b/supply-chain/imports.lock @@ -77,6 +77,27 @@ user-id = 6289 user-login = "str4d" user-name = "Jack Grigg" +[[publisher.orchard]] +version = "0.10.1" +when = "2024-12-17" +user-id = 169181 +user-login = "nuttycom" +user-name = "Kris Nuttycombe" + +[[publisher.pczt]] +version = "0.1.0" +when = "2024-12-17" +user-id = 169181 +user-login = "nuttycom" +user-name = "Kris Nuttycombe" + +[[publisher.sapling-crypto]] +version = "0.4.0" +when = "2024-12-17" +user-id = 169181 +user-login = "nuttycom" +user-name = "Kris Nuttycombe" + [[publisher.schemerz]] version = "0.2.0" when = "2024-10-16" @@ -267,15 +288,15 @@ user-login = "str4d" user-name = "Jack Grigg" [[publisher.zcash_client_backend]] -version = "0.15.0" -when = "2024-11-14" +version = "0.16.0" +when = "2024-12-17" user-id = 169181 user-login = "nuttycom" user-name = "Kris Nuttycombe" [[publisher.zcash_client_sqlite]] -version = "0.13.0" -when = "2024-11-14" +version = "0.14.0" +when = "2024-12-17" user-id = 169181 user-login = "nuttycom" user-name = "Kris Nuttycombe" @@ -302,22 +323,22 @@ user-login = "str4d" user-name = "Jack Grigg" [[publisher.zcash_keys]] -version = "0.5.0" -when = "2024-11-14" +version = "0.6.0" +when = "2024-12-17" user-id = 169181 user-login = "nuttycom" user-name = "Kris Nuttycombe" [[publisher.zcash_primitives]] -version = "0.20.0" -when = "2024-11-14" +version = "0.21.0" +when = "2024-12-17" user-id = 169181 user-login = "nuttycom" user-name = "Kris Nuttycombe" [[publisher.zcash_proofs]] -version = "0.20.0" -when = "2024-11-14" +version = "0.21.0" +when = "2024-12-17" user-id = 169181 user-login = "nuttycom" user-name = "Kris Nuttycombe" @@ -337,11 +358,11 @@ user-login = "str4d" user-name = "Jack Grigg" [[publisher.zcash_transparent]] -version = "0.0.0" -when = "2024-12-14" -user-id = 6289 -user-login = "str4d" -user-name = "Jack Grigg" +version = "0.1.0" +when = "2024-12-17" +user-id = 169181 +user-login = "nuttycom" +user-name = "Kris Nuttycombe" [[publisher.zip32]] version = "0.1.1"