Merge pull request #856 from zcash/release/primitives_0.12-etc

Release zcash_address 0.3.0, zcash_primitives 0.12.0 and zcash_proofs 0.12.0
This commit is contained in:
Kris Nuttycombe 2023-06-06 16:59:51 -06:00 committed by GitHub
commit d2f105efe9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
15 changed files with 56 additions and 42 deletions

View File

@ -17,9 +17,3 @@ members = [
lto = true lto = true
panic = 'abort' panic = 'abort'
codegen-units = 1 codegen-units = 1
[patch.crates-io]
zcash_encoding = { path = "components/zcash_encoding" }
zcash_note_encryption = { path = "components/zcash_note_encryption" }
incrementalmerkletree = { git = "https://github.com/zcash/incrementalmerkletree.git", rev = "2dbdd345670ea22337a0efa6734272d54551285f" }
orchard = { git = "https://github.com/zcash/orchard.git", rev = "35054e85b85dc144b4572ed0fd57ea164f50c26a" }

View File

@ -7,6 +7,10 @@ and this library adheres to Rust's notion of
## [Unreleased] ## [Unreleased]
## [0.3.0] - 2023-06-06
### Changed
- Bumped bs58 dependency to `0.5`.
## [0.2.1] - 2023-04-15 ## [0.2.1] - 2023-04-15
### Changed ### Changed
- Bumped internal dependency to `bech32 0.9`. - Bumped internal dependency to `bech32 0.9`.

View File

@ -1,7 +1,7 @@
[package] [package]
name = "zcash_address" name = "zcash_address"
description = "Zcash address parsing and serialization" description = "Zcash address parsing and serialization"
version = "0.2.1" version = "0.3.0"
authors = [ authors = [
"Jack Grigg <jack@electriccoin.co>", "Jack Grigg <jack@electriccoin.co>",
] ]
@ -16,7 +16,7 @@ keywords = ["zcash", "address", "sapling", "unified"]
[dependencies] [dependencies]
bech32 = "0.9" bech32 = "0.9"
bs58 = { version = "0.4", features = ["check"] } bs58 = { version = "0.5", features = ["check"] }
f4jumble = { version = "0.1", path = "../f4jumble" } f4jumble = { version = "0.1", path = "../f4jumble" }
zcash_encoding = { version = "0.2", path = "../zcash_encoding" } zcash_encoding = { version = "0.2", path = "../zcash_encoding" }

View File

@ -7,6 +7,7 @@ and this library adheres to Rust's notion of
## [Unreleased] ## [Unreleased]
## [0.4.0] - 2023-06-06
### Changed ### Changed
- The `esk` and `ephemeral_key` arguments have been removed from - The `esk` and `ephemeral_key` arguments have been removed from
`Domain::parse_note_plaintext_without_memo_ovk`. It is therefore no longer `Domain::parse_note_plaintext_without_memo_ovk`. It is therefore no longer

View File

@ -1,7 +1,7 @@
[package] [package]
name = "zcash_note_encryption" name = "zcash_note_encryption"
description = "Note encryption for Zcash transactions" description = "Note encryption for Zcash transactions"
version = "0.3.0" version = "0.4.0"
authors = [ authors = [
"Jack Grigg <jack@electriccoin.co>", "Jack Grigg <jack@electriccoin.co>",
"Kris Nuttycombe <kris@electriccoin.co>" "Kris Nuttycombe <kris@electriccoin.co>"

View File

@ -9,13 +9,21 @@ and this library adheres to Rust's notion of
### Added ### Added
- `impl Eq for zcash_client_backend::address::RecipientAddress` - `impl Eq for zcash_client_backend::address::RecipientAddress`
- `impl Eq for zcash_client_backend::zip321::{Payment, TransactionRequest}` - `impl Eq for zcash_client_backend::zip321::{Payment, TransactionRequest}`
- `data_api::NullifierQuery` for use with `WalletRead::get_sapling_nullifiers`
### Changed ### Changed
- MSRV is now 1.65.0. - MSRV is now 1.65.0.
- Bumped dependencies to `hdwallet 0.4`. - Bumped dependencies to `hdwallet 0.4`, `zcash_primitives 0.12`, `zcash_note_encryption 0.4`,
`incrementalmerkletree 0.4`, `orchard 0.5`, `bs58 0.5`
- `WalletRead::get_memo` now returns `Result<Option<Memo>, Self::Error>` - `WalletRead::get_memo` now returns `Result<Option<Memo>, Self::Error>`
instead of `Result<Memo, Self::Error>` in order to make representable instead of `Result<Memo, Self::Error>` in order to make representable
wallet states where the full note plaintext is not available. wallet states where the full note plaintext is not available.
- `WalletRead::get_nullifiers` has been renamed to `WalletRead::get_sapling_nullifiers`
and its signature has changed; it now subsumes the removed `WalletRead::get_all_nullifiers`.
- `wallet::SpendableNote` has been renamed to `wallet::ReceivedSaplingNote`.
### Removed
- `WalletRead::get_all_nullifiers`
## [0.9.0] - 2023-04-28 ## [0.9.0] - 2023-04-28
### Added ### Added

View File

@ -20,11 +20,11 @@ exclude = ["*.proto"]
development = ["zcash_proofs"] development = ["zcash_proofs"]
[dependencies] [dependencies]
incrementalmerkletree = { version = "0.3", features = ["legacy-api"] } incrementalmerkletree = { version = "0.4", features = ["legacy-api"] }
zcash_address = { version = "0.2", path = "../components/zcash_address" } zcash_address = { version = "0.3", path = "../components/zcash_address" }
zcash_encoding = { version = "0.2", path = "../components/zcash_encoding" } zcash_encoding = { version = "0.2", path = "../components/zcash_encoding" }
zcash_note_encryption = "0.3" zcash_note_encryption = "0.4"
zcash_primitives = { version = "0.11", path = "../zcash_primitives", default-features = false } zcash_primitives = { version = "0.12", path = "../zcash_primitives", default-features = false }
# Dependencies exposed in a public API: # Dependencies exposed in a public API:
# (Breaking upgrades to these require a breaking upgrade to this crate.) # (Breaking upgrades to these require a breaking upgrade to this crate.)
@ -34,7 +34,7 @@ time = "0.2"
# - Encodings # - Encodings
base64 = "0.21" base64 = "0.21"
bech32 = "0.9" bech32 = "0.9"
bs58 = { version = "0.4", features = ["check"] } bs58 = { version = "0.5", features = ["check"] }
# - Errors # - Errors
hdwallet = { version = "0.4", optional = true } hdwallet = { version = "0.4", optional = true }
@ -54,7 +54,7 @@ subtle = "2.2.3"
# - Shielded protocols # - Shielded protocols
bls12_381 = "0.8" bls12_381 = "0.8"
group = "0.13" group = "0.13"
orchard = { version = "0.4", default-features = false } orchard = { version = "0.5", default-features = false }
# - Test dependencies # - Test dependencies
proptest = { version = "1.0.0", optional = true } proptest = { version = "1.0.0", optional = true }
@ -85,8 +85,8 @@ proptest = "1.0.0"
rand_core = "0.6" rand_core = "0.6"
rand_xorshift = "0.3" rand_xorshift = "0.3"
tempfile = "3.5.0" tempfile = "3.5.0"
zcash_proofs = { version = "0.11", path = "../zcash_proofs", default-features = false } zcash_proofs = { version = "0.12", path = "../zcash_proofs", default-features = false }
zcash_address = { version = "0.2", path = "../components/zcash_address", features = ["test-dependencies"] } zcash_address = { version = "0.3", path = "../components/zcash_address", features = ["test-dependencies"] }
[features] [features]
lightwalletd-tonic = ["tonic"] lightwalletd-tonic = ["tonic"]

View File

@ -91,7 +91,7 @@ impl ScanningKey for DiversifiableFullViewingKey {
) -> Self::Nf { ) -> Self::Nf {
note.nf( note.nf(
key, key,
u64::try_from(witness.tip_position()) u64::try_from(witness.position())
.expect("Sapling note commitment tree position must fit into a u64"), .expect("Sapling note commitment tree position must fit into a u64"),
) )
} }

View File

@ -8,7 +8,8 @@ and this library adheres to Rust's notion of
## [Unreleased] ## [Unreleased]
### Changed ### Changed
- MSRV is now 1.65.0. - MSRV is now 1.65.0.
- Bumped dependencies to `hdwallet 0.4`. - Bumped dependencies to `hdwallet 0.4`, `incrementalmerkletree 0.4`, `bs58 0.5`,
`zcash_primitives 0.12`
### Removed ### Removed
- The empty `wallet::transact` module has been removed. - The empty `wallet::transact` module has been removed.
@ -16,7 +17,7 @@ and this library adheres to Rust's notion of
## [0.7.1] - 2023-05-17 ## [0.7.1] - 2023-05-17
### Fixed ### Fixed
- Fixes a potential crash that could occur when attempting to read a memo from - Fixes a potential crash that could occur when attempting to read a memo from
sqlite when the memo value is `NULL`. At present, we return the empty memo sqlite when the memo value is `NULL`. At present, we return the empty memo
in this case; in the future, the `get_memo` API will be updated to reflect in this case; in the future, the `get_memo` API will be updated to reflect
the potential absence of memo data. the potential absence of memo data.

View File

@ -14,14 +14,14 @@ edition = "2021"
rust-version = "1.65" rust-version = "1.65"
[dependencies] [dependencies]
incrementalmerkletree = { version = "0.3", features = ["legacy-api"] } incrementalmerkletree = { version = "0.4", features = ["legacy-api"] }
zcash_client_backend = { version = "0.9", path = "../zcash_client_backend" } zcash_client_backend = { version = "0.9", path = "../zcash_client_backend" }
zcash_primitives = { version = "0.11", path = "../zcash_primitives", default-features = false } zcash_primitives = { version = "0.12", path = "../zcash_primitives", default-features = false }
# Dependencies exposed in a public API: # Dependencies exposed in a public API:
# (Breaking upgrades to these require a breaking upgrade to this crate.) # (Breaking upgrades to these require a breaking upgrade to this crate.)
# - Errors # - Errors
bs58 = { version = "0.4", features = ["check"] } bs58 = { version = "0.5", features = ["check"] }
hdwallet = { version = "0.4", optional = true } hdwallet = { version = "0.4", optional = true }
# - Logging and metrics # - Logging and metrics
@ -51,10 +51,10 @@ proptest = "1.0.0"
rand_core = "0.6" rand_core = "0.6"
regex = "1.4" regex = "1.4"
tempfile = "3.5.0" tempfile = "3.5.0"
zcash_note_encryption = "0.3" zcash_note_encryption = "0.4"
zcash_proofs = { version = "0.11", path = "../zcash_proofs" } zcash_proofs = { version = "0.12", path = "../zcash_proofs" }
zcash_primitives = { version = "0.11", path = "../zcash_primitives", features = ["test-dependencies"] } zcash_primitives = { version = "0.12", path = "../zcash_primitives", features = ["test-dependencies"] }
zcash_address = { version = "0.2", path = "../components/zcash_address", features = ["test-dependencies"] } zcash_address = { version = "0.3", path = "../components/zcash_address", features = ["test-dependencies"] }
[features] [features]
mainnet = [] mainnet = []

View File

@ -11,14 +11,14 @@ rust-version = "1.65"
[dependencies] [dependencies]
blake2b_simd = "1" blake2b_simd = "1"
zcash_primitives = { version = "0.11", path = "../zcash_primitives", default-features = false, features = ["zfuture" ] } zcash_primitives = { version = "0.12", path = "../zcash_primitives", default-features = false, features = ["zfuture" ] }
[dev-dependencies] [dev-dependencies]
ff = "0.13" ff = "0.13"
jubjub = "0.10" jubjub = "0.10"
rand_core = "0.6" rand_core = "0.6"
zcash_address = { version = "0.2", path = "../components/zcash_address" } zcash_address = { version = "0.3", path = "../components/zcash_address" }
zcash_proofs = { version = "0.11", path = "../zcash_proofs" } zcash_proofs = { version = "0.12", path = "../zcash_proofs" }
[features] [features]
transparent-inputs = [] transparent-inputs = []

View File

@ -6,6 +6,8 @@ and this library adheres to Rust's notion of
[Semantic Versioning](https://semver.org/spec/v2.0.0.html). [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased] ## [Unreleased]
## [0.12.0] - 2023-06-06
### Added ### Added
- `zcash_primitives::transaction`: - `zcash_primitives::transaction`:
- `Transaction::temporary_zcashd_read_v5_sapling` - `Transaction::temporary_zcashd_read_v5_sapling`
@ -17,7 +19,8 @@ and this library adheres to Rust's notion of
### Changed ### Changed
- MSRV is now 1.65.0. - MSRV is now 1.65.0.
- Bumped dependencies to `secp256k1 0.26`, `hdwallet 0.4`. - Bumped dependencies to `secp256k1 0.26`, `hdwallet 0.4`, `incrementalmerkletree 0.4`
`zcash_note_encryption 0.4`, `orchard 0.5`
### Removed ### Removed
- `merkle_tree::Hashable` has been removed and its uses have been replaced by - `merkle_tree::Hashable` has been removed and its uses have been replaced by

View File

@ -1,7 +1,7 @@
[package] [package]
name = "zcash_primitives" name = "zcash_primitives"
description = "Rust implementations of the Zcash primitives" description = "Rust implementations of the Zcash primitives"
version = "0.11.0" version = "0.12.0"
authors = [ authors = [
"Jack Grigg <jack@z.cash>", "Jack Grigg <jack@z.cash>",
"Kris Nuttycombe <kris@electriccoin.co>" "Kris Nuttycombe <kris@electriccoin.co>"
@ -19,7 +19,7 @@ all-features = true
[dependencies] [dependencies]
equihash = { version = "0.2", path = "../components/equihash" } equihash = { version = "0.2", path = "../components/equihash" }
zcash_address = { version = "0.2", path = "../components/zcash_address" } zcash_address = { version = "0.3", path = "../components/zcash_address" }
zcash_encoding = { version = "0.2", path = "../components/zcash_encoding" } zcash_encoding = { version = "0.2", path = "../components/zcash_encoding" }
# Dependencies exposed in a public API: # Dependencies exposed in a public API:
@ -44,10 +44,10 @@ ff = "0.13"
group = { version = "0.13", features = ["wnaf-memuse"] } group = { version = "0.13", features = ["wnaf-memuse"] }
jubjub = "0.10" jubjub = "0.10"
nonempty = "0.7" nonempty = "0.7"
orchard = { version = "0.4", default-features = false } orchard = { version = "0.5", default-features = false }
# - Note Commitment Trees # - Note Commitment Trees
incrementalmerkletree = { version = "0.3", features = ["legacy-api"] } incrementalmerkletree = { version = "0.4", features = ["legacy-api"] }
# - Static constants # - Static constants
lazy_static = "1" lazy_static = "1"
@ -82,17 +82,17 @@ aes = "0.8"
fpe = "0.6" fpe = "0.6"
[dependencies.zcash_note_encryption] [dependencies.zcash_note_encryption]
version = "0.3" version = "0.4"
features = ["pre-zip-212"] features = ["pre-zip-212"]
[dev-dependencies] [dev-dependencies]
chacha20poly1305 = "0.10" chacha20poly1305 = "0.10"
criterion = "0.4" criterion = "0.4"
incrementalmerkletree = { version = "0.3", features = ["legacy-api", "test-dependencies"] } incrementalmerkletree = { version = "0.4", features = ["legacy-api", "test-dependencies"] }
proptest = "1.0.0" proptest = "1.0.0"
assert_matches = "1.3.0" assert_matches = "1.3.0"
rand_xorshift = "0.3" rand_xorshift = "0.3"
orchard = { version = "0.4", default-features = false, features = ["test-dependencies"] } orchard = { version = "0.5", default-features = false, features = ["test-dependencies"] }
[target.'cfg(unix)'.dev-dependencies] [target.'cfg(unix)'.dev-dependencies]
pprof = { version = "0.11", features = ["criterion", "flamegraph"] } # MSRV 1.56 pprof = { version = "0.11", features = ["criterion", "flamegraph"] } # MSRV 1.56

View File

@ -6,7 +6,10 @@ and this library adheres to Rust's notion of
[Semantic Versioning](https://semver.org/spec/v2.0.0.html). [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased] ## [Unreleased]
## [0.12.0] - 2023-06-06
### Changed ### Changed
- Bumped dependencies to `incrementalmerkletree 0.4`, `zcash_primitives 0.12`
- MSRV is now 1.65.0. - MSRV is now 1.65.0.
### Removed ### Removed

View File

@ -1,7 +1,7 @@
[package] [package]
name = "zcash_proofs" name = "zcash_proofs"
description = "Zcash zk-SNARK circuits and proving APIs" description = "Zcash zk-SNARK circuits and proving APIs"
version = "0.11.0" version = "0.12.0"
authors = [ authors = [
"Jack Grigg <jack@z.cash>", "Jack Grigg <jack@z.cash>",
] ]
@ -17,14 +17,14 @@ categories = ["cryptography::cryptocurrencies"]
all-features = true all-features = true
[dependencies] [dependencies]
zcash_primitives = { version = "0.11", path = "../zcash_primitives", default-features = false } zcash_primitives = { version = "0.12", path = "../zcash_primitives", default-features = false }
# Dependencies exposed in a public API: # Dependencies exposed in a public API:
# (Breaking upgrades to these require a breaking upgrade to this crate.) # (Breaking upgrades to these require a breaking upgrade to this crate.)
bellman = { version = "0.14", default-features = false, features = ["groth16"] } bellman = { version = "0.14", default-features = false, features = ["groth16"] }
bls12_381 = "0.8" bls12_381 = "0.8"
group = "0.13" group = "0.13"
incrementalmerkletree = { version = "0.3", features = ["legacy-api"] } incrementalmerkletree = { version = "0.4", features = ["legacy-api"] }
jubjub = "0.10" jubjub = "0.10"
lazy_static = "1" lazy_static = "1"
minreq = { version = "2", features = ["https"], optional = true } minreq = { version = "2", features = ["https"], optional = true }