Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release zcash_address 0.3.0, zcash_primitives 0.12.0 and zcash_proofs 0.12.0 #856

Merged
merged 7 commits into from
Jun 6, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 0 additions & 6 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,3 @@ members = [
lto = true
panic = 'abort'
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" }
4 changes: 4 additions & 0 deletions components/zcash_address/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@ and this library adheres to Rust's notion of

## [Unreleased]

## [0.3.0] - 2023-06-06
### Changed
- Bumped bs58 dependency to `0.5`.

## [0.2.1] - 2023-04-15
### Changed
- Bumped internal dependency to `bech32 0.9`.
Expand Down
4 changes: 2 additions & 2 deletions components/zcash_address/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[package]
name = "zcash_address"
description = "Zcash address parsing and serialization"
version = "0.2.1"
version = "0.3.0"
authors = [
"Jack Grigg <jack@electriccoin.co>",
]
Expand All @@ -16,7 +16,7 @@ keywords = ["zcash", "address", "sapling", "unified"]

[dependencies]
bech32 = "0.9"
bs58 = { version = "0.4", features = ["check"] }
bs58 = { version = "0.5", features = ["check"] }
f4jumble = { version = "0.1", path = "../f4jumble" }
zcash_encoding = { version = "0.2", path = "../zcash_encoding" }

Expand Down
1 change: 1 addition & 0 deletions components/zcash_note_encryption/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ and this library adheres to Rust's notion of

## [Unreleased]

## [0.4.0] - 2023-06-06
### Changed
- The `esk` and `ephemeral_key` arguments have been removed from
`Domain::parse_note_plaintext_without_memo_ovk`. It is therefore no longer
Expand Down
2 changes: 1 addition & 1 deletion components/zcash_note_encryption/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[package]
name = "zcash_note_encryption"
description = "Note encryption for Zcash transactions"
version = "0.3.0"
version = "0.4.0"
authors = [
"Jack Grigg <jack@electriccoin.co>",
"Kris Nuttycombe <kris@electriccoin.co>"
Expand Down
10 changes: 9 additions & 1 deletion zcash_client_backend/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,21 @@ and this library adheres to Rust's notion of
### Added
- `impl Eq for zcash_client_backend::address::RecipientAddress`
- `impl Eq for zcash_client_backend::zip321::{Payment, TransactionRequest}`
- `data_api::NullifierQuery` for use with `WalletRead::get_sapling_nullifiers`

### Changed
- 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>`
instead of `Result<Memo, Self::Error>` in order to make representable
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
### Added
Expand Down
16 changes: 8 additions & 8 deletions zcash_client_backend/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,11 @@ exclude = ["*.proto"]
development = ["zcash_proofs"]

[dependencies]
incrementalmerkletree = { version = "0.3", features = ["legacy-api"] }
zcash_address = { version = "0.2", path = "../components/zcash_address" }
incrementalmerkletree = { version = "0.4", features = ["legacy-api"] }
zcash_address = { version = "0.3", path = "../components/zcash_address" }
zcash_encoding = { version = "0.2", path = "../components/zcash_encoding" }
zcash_note_encryption = "0.3"
zcash_primitives = { version = "0.11", path = "../zcash_primitives", default-features = false }
zcash_note_encryption = "0.4"
zcash_primitives = { version = "0.12", path = "../zcash_primitives", default-features = false }

# Dependencies exposed in a public API:
# (Breaking upgrades to these require a breaking upgrade to this crate.)
Expand All @@ -34,7 +34,7 @@ time = "0.2"
# - Encodings
base64 = "0.21"
bech32 = "0.9"
bs58 = { version = "0.4", features = ["check"] }
bs58 = { version = "0.5", features = ["check"] }

# - Errors
hdwallet = { version = "0.4", optional = true }
Expand All @@ -54,7 +54,7 @@ subtle = "2.2.3"
# - Shielded protocols
bls12_381 = "0.8"
group = "0.13"
orchard = { version = "0.4", default-features = false }
orchard = { version = "0.5", default-features = false }

# - Test dependencies
proptest = { version = "1.0.0", optional = true }
Expand Down Expand Up @@ -85,8 +85,8 @@ proptest = "1.0.0"
rand_core = "0.6"
rand_xorshift = "0.3"
tempfile = "3.5.0"
zcash_proofs = { version = "0.11", path = "../zcash_proofs", default-features = false }
zcash_address = { version = "0.2", path = "../components/zcash_address", features = ["test-dependencies"] }
zcash_proofs = { version = "0.12", path = "../zcash_proofs", default-features = false }
zcash_address = { version = "0.3", path = "../components/zcash_address", features = ["test-dependencies"] }

[features]
lightwalletd-tonic = ["tonic"]
Expand Down
2 changes: 1 addition & 1 deletion zcash_client_backend/src/welding_rig.rs
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ impl ScanningKey for DiversifiableFullViewingKey {
) -> Self::Nf {
note.nf(
key,
u64::try_from(witness.tip_position())
u64::try_from(witness.position())
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This must be reverted prior to the next zcash_client_backend release.

.expect("Sapling note commitment tree position must fit into a u64"),
)
}
Expand Down
5 changes: 3 additions & 2 deletions zcash_client_sqlite/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,16 @@ and this library adheres to Rust's notion of
## [Unreleased]
### Changed
- 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
- The empty `wallet::transact` module has been removed.

## [0.7.1] - 2023-05-17

### 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
in this case; in the future, the `get_memo` API will be updated to reflect
the potential absence of memo data.
Expand Down
14 changes: 7 additions & 7 deletions zcash_client_sqlite/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -14,14 +14,14 @@ edition = "2021"
rust-version = "1.65"

[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_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:
# (Breaking upgrades to these require a breaking upgrade to this crate.)
# - Errors
bs58 = { version = "0.4", features = ["check"] }
bs58 = { version = "0.5", features = ["check"] }
hdwallet = { version = "0.4", optional = true }

# - Logging and metrics
Expand Down Expand Up @@ -51,10 +51,10 @@ proptest = "1.0.0"
rand_core = "0.6"
regex = "1.4"
tempfile = "3.5.0"
zcash_note_encryption = "0.3"
zcash_proofs = { version = "0.11", path = "../zcash_proofs" }
zcash_primitives = { version = "0.11", path = "../zcash_primitives", features = ["test-dependencies"] }
zcash_address = { version = "0.2", path = "../components/zcash_address", features = ["test-dependencies"] }
zcash_note_encryption = "0.4"
zcash_proofs = { version = "0.12", path = "../zcash_proofs" }
zcash_primitives = { version = "0.12", path = "../zcash_primitives", features = ["test-dependencies"] }
zcash_address = { version = "0.3", path = "../components/zcash_address", features = ["test-dependencies"] }

[features]
mainnet = []
Expand Down
6 changes: 3 additions & 3 deletions zcash_extensions/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,14 @@ rust-version = "1.65"

[dependencies]
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]
ff = "0.13"
jubjub = "0.10"
rand_core = "0.6"
zcash_address = { version = "0.2", path = "../components/zcash_address" }
zcash_proofs = { version = "0.11", path = "../zcash_proofs" }
zcash_address = { version = "0.3", path = "../components/zcash_address" }
zcash_proofs = { version = "0.12", path = "../zcash_proofs" }

[features]
transparent-inputs = []
Expand Down
5 changes: 4 additions & 1 deletion zcash_primitives/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ and this library adheres to Rust's notion of
[Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

## [0.12.0] - 2023-06-06
### Added
- `zcash_primitives::transaction`:
- `Transaction::temporary_zcashd_read_v5_sapling`
Expand All @@ -17,7 +19,8 @@ and this library adheres to Rust's notion of

### Changed
- 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
- `merkle_tree::Hashable` has been removed and its uses have been replaced by
Expand Down
14 changes: 7 additions & 7 deletions zcash_primitives/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[package]
name = "zcash_primitives"
description = "Rust implementations of the Zcash primitives"
version = "0.11.0"
version = "0.12.0"
authors = [
"Jack Grigg <jack@z.cash>",
"Kris Nuttycombe <kris@electriccoin.co>"
Expand All @@ -19,7 +19,7 @@ all-features = true

[dependencies]
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" }

# Dependencies exposed in a public API:
Expand All @@ -44,10 +44,10 @@ ff = "0.13"
group = { version = "0.13", features = ["wnaf-memuse"] }
jubjub = "0.10"
nonempty = "0.7"
orchard = { version = "0.4", default-features = false }
orchard = { version = "0.5", default-features = false }

# - Note Commitment Trees
incrementalmerkletree = { version = "0.3", features = ["legacy-api"] }
incrementalmerkletree = { version = "0.4", features = ["legacy-api"] }

# - Static constants
lazy_static = "1"
Expand Down Expand Up @@ -82,17 +82,17 @@ aes = "0.8"
fpe = "0.6"

[dependencies.zcash_note_encryption]
version = "0.3"
version = "0.4"
features = ["pre-zip-212"]

[dev-dependencies]
chacha20poly1305 = "0.10"
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"
assert_matches = "1.3.0"
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]
pprof = { version = "0.11", features = ["criterion", "flamegraph"] } # MSRV 1.56
Expand Down
3 changes: 3 additions & 0 deletions zcash_proofs/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,10 @@ and this library adheres to Rust's notion of
[Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

## [0.12.0] - 2023-06-06
### Changed
- Bumped dependencies to `incrementalmerkletree 0.4`, `zcash_primitives 0.12`
- MSRV is now 1.65.0.

### Removed
Expand Down
6 changes: 3 additions & 3 deletions zcash_proofs/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[package]
name = "zcash_proofs"
description = "Zcash zk-SNARK circuits and proving APIs"
version = "0.11.0"
version = "0.12.0"
authors = [
"Jack Grigg <jack@z.cash>",
]
Expand All @@ -17,14 +17,14 @@ categories = ["cryptography::cryptocurrencies"]
all-features = true

[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:
# (Breaking upgrades to these require a breaking upgrade to this crate.)
bellman = { version = "0.14", default-features = false, features = ["groth16"] }
bls12_381 = "0.8"
group = "0.13"
incrementalmerkletree = { version = "0.3", features = ["legacy-api"] }
incrementalmerkletree = { version = "0.4", features = ["legacy-api"] }
jubjub = "0.10"
lazy_static = "1"
minreq = { version = "2", features = ["https"], optional = true }
Expand Down