2018-08-23 15:15:22 -07:00
|
|
|
[package]
|
|
|
|
name = "zcash_primitives"
|
2019-10-07 20:07:30 -07:00
|
|
|
description = "Rust implementations of the Zcash primitives"
|
2023-09-25 08:06:57 -07:00
|
|
|
version = "0.13.0"
|
2018-08-23 15:15:22 -07:00
|
|
|
authors = [
|
|
|
|
"Jack Grigg <jack@z.cash>",
|
2021-04-08 09:12:47 -07:00
|
|
|
"Kris Nuttycombe <kris@electriccoin.co>"
|
2018-08-23 15:15:22 -07:00
|
|
|
]
|
2019-10-07 20:07:30 -07:00
|
|
|
homepage = "https://github.com/zcash/librustzcash"
|
2023-09-26 13:12:23 -07:00
|
|
|
repository.workspace = true
|
2019-08-02 06:57:34 -07:00
|
|
|
readme = "README.md"
|
2023-09-26 13:12:23 -07:00
|
|
|
license.workspace = true
|
|
|
|
edition.workspace = true
|
|
|
|
rust-version.workspace = true
|
|
|
|
categories.workspace = true
|
2018-08-23 15:15:22 -07:00
|
|
|
|
2020-08-22 22:56:03 -07:00
|
|
|
[package.metadata.docs.rs]
|
|
|
|
all-features = true
|
2024-01-04 11:03:11 -08:00
|
|
|
rustdoc-args = ["--cfg", "docsrs"]
|
2020-08-22 22:56:03 -07:00
|
|
|
|
2018-08-23 15:15:22 -07:00
|
|
|
[dependencies]
|
2023-09-26 13:12:23 -07:00
|
|
|
equihash.workspace = true
|
|
|
|
zcash_address.workspace = true
|
|
|
|
zcash_encoding.workspace = true
|
2023-12-01 06:38:28 -08:00
|
|
|
zip32.workspace = true
|
2022-11-01 00:23:58 -07:00
|
|
|
|
|
|
|
# Dependencies exposed in a public API:
|
|
|
|
# (Breaking upgrades to these require a breaking upgrade to this crate.)
|
|
|
|
# - CSPRNG
|
2023-09-26 13:12:23 -07:00
|
|
|
rand.workspace = true
|
|
|
|
rand_core.workspace = true
|
2022-11-01 00:23:58 -07:00
|
|
|
|
|
|
|
# - Digests (output types exposed)
|
2023-09-26 13:12:23 -07:00
|
|
|
blake2b_simd.workspace = true
|
|
|
|
sha2.workspace = true
|
2022-11-01 00:23:58 -07:00
|
|
|
|
2023-11-02 23:15:37 -07:00
|
|
|
# - Logging and metrics
|
2023-09-26 13:12:23 -07:00
|
|
|
memuse.workspace = true
|
2023-11-02 23:15:37 -07:00
|
|
|
tracing.workspace = true
|
2022-11-01 00:23:58 -07:00
|
|
|
|
|
|
|
# - Secret management
|
2023-09-26 13:12:23 -07:00
|
|
|
subtle.workspace = true
|
2022-11-01 00:23:58 -07:00
|
|
|
|
|
|
|
# - Shielded protocols
|
2023-09-26 13:12:23 -07:00
|
|
|
ff.workspace = true
|
|
|
|
group = { workspace = true, features = ["wnaf-memuse"] }
|
|
|
|
jubjub.workspace = true
|
|
|
|
nonempty.workspace = true
|
|
|
|
orchard.workspace = true
|
2023-12-06 10:46:06 -08:00
|
|
|
sapling.workspace = true
|
2023-12-06 16:53:18 -08:00
|
|
|
zcash_spec.workspace = true
|
2022-11-01 00:23:58 -07:00
|
|
|
|
2022-12-20 10:21:57 -08:00
|
|
|
# - Note Commitment Trees
|
2023-09-26 13:12:23 -07:00
|
|
|
incrementalmerkletree = { workspace = true, features = ["legacy-api"] }
|
2022-12-20 10:21:57 -08:00
|
|
|
|
2022-11-01 00:23:58 -07:00
|
|
|
# - Test dependencies
|
2023-09-26 13:12:23 -07:00
|
|
|
proptest = { workspace = true, optional = true }
|
2022-11-01 00:23:58 -07:00
|
|
|
|
|
|
|
# - Transparent inputs
|
|
|
|
# - `Error` type exposed
|
2023-09-26 13:12:23 -07:00
|
|
|
hdwallet = { workspace = true, optional = true }
|
2022-11-01 00:23:58 -07:00
|
|
|
# - `SecretKey` and `PublicKey` types exposed
|
2023-09-26 13:12:23 -07:00
|
|
|
secp256k1 = { workspace = true, optional = true }
|
2022-11-01 00:23:58 -07:00
|
|
|
|
|
|
|
# - ZIP 339
|
2023-04-12 09:19:03 -07:00
|
|
|
bip0039 = { version = "0.10", features = ["std", "all-languages"] }
|
2022-11-01 00:23:58 -07:00
|
|
|
|
|
|
|
# Dependencies used internally:
|
|
|
|
# (Breaking upgrades to these are usually backwards-compatible, but check MSRVs.)
|
2024-01-03 12:14:41 -08:00
|
|
|
# - Documentation
|
|
|
|
document-features.workspace = true
|
|
|
|
|
2022-11-01 00:23:58 -07:00
|
|
|
# - Encodings
|
2023-09-26 13:12:23 -07:00
|
|
|
byteorder.workspace = true
|
|
|
|
hex.workspace = true
|
2022-11-01 00:23:58 -07:00
|
|
|
|
|
|
|
# - Shielded protocols
|
2023-11-02 23:15:37 -07:00
|
|
|
redjubjub = "0.7"
|
2022-11-01 00:23:58 -07:00
|
|
|
|
|
|
|
# - Transparent inputs
|
2023-09-26 13:12:23 -07:00
|
|
|
ripemd = { workspace = true, optional = true }
|
2022-11-01 00:23:58 -07:00
|
|
|
|
|
|
|
# - ZIP 32
|
2023-09-26 13:12:23 -07:00
|
|
|
aes.workspace = true
|
|
|
|
fpe.workspace = true
|
2021-12-16 17:32:50 -08:00
|
|
|
|
|
|
|
[dependencies.zcash_note_encryption]
|
2023-09-26 13:12:23 -07:00
|
|
|
workspace = true
|
2021-12-16 17:32:50 -08:00
|
|
|
features = ["pre-zip-212"]
|
2019-05-04 09:47:18 -07:00
|
|
|
|
|
|
|
[dev-dependencies]
|
2022-10-31 23:52:10 -07:00
|
|
|
chacha20poly1305 = "0.10"
|
2023-09-26 13:12:23 -07:00
|
|
|
criterion.workspace = true
|
|
|
|
incrementalmerkletree = { workspace = true, features = ["legacy-api", "test-dependencies"] }
|
|
|
|
proptest.workspace = true
|
|
|
|
assert_matches.workspace = true
|
|
|
|
rand_xorshift.workspace = true
|
2023-12-08 12:19:45 -08:00
|
|
|
sapling = { workspace = true, features = ["test-dependencies"] }
|
2023-09-26 13:12:23 -07:00
|
|
|
orchard = { workspace = true, features = ["test-dependencies"] }
|
2019-10-07 20:07:30 -07:00
|
|
|
|
2021-08-05 14:21:56 -07:00
|
|
|
[target.'cfg(unix)'.dev-dependencies]
|
2023-01-19 16:03:10 -08:00
|
|
|
pprof = { version = "0.11", features = ["criterion", "flamegraph"] } # MSRV 1.56
|
2019-10-07 20:07:30 -07:00
|
|
|
|
2019-07-31 08:20:13 -07:00
|
|
|
[features]
|
2023-03-20 08:31:12 -07:00
|
|
|
default = ["multicore"]
|
2024-01-03 12:14:41 -08:00
|
|
|
|
|
|
|
## Enables multithreading support for creating proofs.
|
2023-12-06 10:46:06 -08:00
|
|
|
multicore = ["orchard/multicore", "sapling/multicore"]
|
2024-01-03 12:14:41 -08:00
|
|
|
|
|
|
|
## Enables spending transparent notes with the transaction builder.
|
2024-01-03 11:49:36 -08:00
|
|
|
transparent-inputs = ["dep:hdwallet", "dep:ripemd", "dep:secp256k1"]
|
2024-01-03 12:14:41 -08:00
|
|
|
|
|
|
|
### A temporary feature flag that exposes granular APIs needed by `zcashd`. These APIs
|
|
|
|
### should not be relied upon and will be removed in a future release.
|
2023-03-07 19:45:01 -08:00
|
|
|
temporary-zcashd = []
|
2024-01-03 12:14:41 -08:00
|
|
|
|
|
|
|
## Exposes APIs that are useful for testing, such as `proptest` strategies.
|
2023-12-06 10:46:06 -08:00
|
|
|
test-dependencies = [
|
2024-01-03 11:49:36 -08:00
|
|
|
"dep:proptest",
|
2023-12-06 10:46:06 -08:00
|
|
|
"orchard/test-dependencies",
|
|
|
|
"sapling/test-dependencies",
|
|
|
|
]
|
2024-01-03 12:14:41 -08:00
|
|
|
|
|
|
|
#! ### Experimental features
|
|
|
|
#!
|
|
|
|
#! ⚠️ Enabling these features will likely make your code incompatible with current Zcash
|
|
|
|
#! consensus rules!
|
|
|
|
|
|
|
|
## Exposes the in-development NU6 features.
|
2023-12-04 06:41:41 -08:00
|
|
|
unstable-nu6 = []
|
2024-01-03 12:14:41 -08:00
|
|
|
|
|
|
|
## Exposes early in-development features that are not yet planned for any network upgrade.
|
2020-09-23 09:53:48 -07:00
|
|
|
zfuture = []
|
2019-07-31 08:20:13 -07:00
|
|
|
|
2023-11-29 12:59:49 -08:00
|
|
|
## Exposes support for working with a local consensus (e.g. regtest
|
|
|
|
local-consensus = []
|
2021-08-05 14:39:36 -07:00
|
|
|
[lib]
|
|
|
|
bench = false
|
|
|
|
|
2020-09-09 14:25:56 -07:00
|
|
|
[[bench]]
|
|
|
|
name = "note_decryption"
|
|
|
|
harness = false
|
|
|
|
|
2019-10-07 20:07:30 -07:00
|
|
|
[badges]
|
|
|
|
maintenance = { status = "actively-developed" }
|