[package]
edition = "2024"
rust-version = "1.88"
name = "pczt"
version = "0.9.0"
authors = ["Jack Grigg <jack@electriccoin.co>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Tools for working with partially-created Zcash transactions"
homepage = "https://github.com/zcash/librustzcash"
readme = "README.md"
categories = ["cryptography::cryptocurrencies"]
license = "MIT OR Apache-2.0"
repository = "https://github.com/zcash/librustzcash"
resolver = "2"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
default = ["std"]
internal-tests = [
"io-finalizer",
"prover",
"signer",
"tx-extractor",
"zcash_script/signature-validation",
]
io-finalizer = [
"dep:blake2b_simd",
"dep:rand_core",
"rand_core/getrandom",
"dep:zcash_primitives",
"orchard",
"sapling",
"transparent",
]
orchard = [
"dep:ff",
"dep:nonempty",
"dep:orchard",
"dep:pasta_curves",
"dep:zcash_note_encryption",
]
prover = [
"dep:rand_core",
"rand_core/getrandom",
"orchard?/circuit",
"sapling?/circuit",
"sapling?/temporary-zcashd",
]
sapling = [
"dep:bls12_381",
"dep:ff",
"dep:jubjub",
"dep:redjubjub",
"dep:sapling",
"dep:zcash_note_encryption",
]
signer = [
"dep:blake2b_simd",
"dep:rand_core",
"rand_core/getrandom",
"dep:zcash_primitives",
"orchard",
"sapling",
"transparent",
]
spend-finalizer = ["transparent"]
std = ["document-features"]
transparent = [
"dep:secp256k1",
"dep:transparent",
"dep:zcash_script",
"transparent/transparent-inputs",
]
tx-extractor = [
"dep:blake2b_simd",
"dep:rand_core",
"rand_core/getrandom",
"dep:zcash_primitives",
"orchard",
"orchard/circuit",
"sapling",
"sapling/circuit",
"transparent",
]
zcp-builder = ["dep:zcash_primitives"]
zip-233 = ["zcash_primitives/zip-233"]
[lib]
name = "pczt"
path = "src/lib.rs"
[[test]]
name = "end_to_end"
path = "tests/end_to_end.rs"
required-features = ["internal-tests"]
[[test]]
name = "firmware_compat"
path = "tests/firmware_compat.rs"
[dependencies.blake2b_simd]
version = "1"
optional = true
default-features = false
[dependencies.bls12_381]
version = "0.8"
optional = true
[dependencies.document-features]
version = "0.2"
optional = true
[dependencies.ff]
version = "0.13"
optional = true
default-features = false
[dependencies.getset]
version = "0.1"
[dependencies.jubjub]
version = "0.10"
optional = true
[dependencies.nonempty]
version = "0.11"
optional = true
default-features = false
[dependencies.orchard]
version = "0.15.0"
optional = true
default-features = false
[dependencies.pasta_curves]
version = "0.5"
optional = true
[dependencies.postcard]
version = "1"
features = ["alloc"]
default-features = false
[dependencies.rand_core]
version = "0.6"
optional = true
default-features = false
[dependencies.redjubjub]
version = "0.8"
optional = true
default-features = false
[dependencies.sapling]
version = "0.7"
optional = true
default-features = false
package = "sapling-crypto"
[dependencies.secp256k1]
version = "0.29"
features = ["alloc"]
optional = true
default-features = false
[dependencies.serde]
version = "1"
features = ["derive"]
default-features = false
[dependencies.serde_with]
version = "3"
features = [
"alloc",
"macros",
]
default-features = false
[dependencies.transparent]
version = "0.10.0"
optional = true
default-features = false
package = "zcash_transparent"
[dependencies.zcash_note_encryption]
version = "0.4.1"
optional = true
[dependencies.zcash_primitives]
version = "0.30.0"
optional = true
default-features = false
[dependencies.zcash_protocol]
version = "0.10.0"
default-features = false
[dependencies.zcash_script]
version = "0.4.3"
optional = true
default-features = false
[dev-dependencies.hex]
version = "0.4"
features = ["alloc"]
default-features = false
[dev-dependencies.incrementalmerkletree]
version = "0.8.2"
default-features = false
[dev-dependencies.rand_chacha]
version = "0.3"
[dev-dependencies.ripemd]
version = "0.1"
default-features = false
[dev-dependencies.secp256k1]
version = "0.29"
features = [
"alloc",
"rand",
]
default-features = false
[dev-dependencies.sha2]
version = "0.10"
default-features = false
[dev-dependencies.shardtree]
version = "0.7"
[dev-dependencies.zcash_primitives]
version = "0.30.0"
features = [
"test-dependencies",
"transparent-inputs",
]
default-features = false
[dev-dependencies.zcash_proofs]
version = "0.30.0"
features = ["bundled-prover"]
default-features = false
[dev-dependencies.zcash_protocol]
version = "0.10.0"
features = ["local-consensus"]
default-features = false
[dev-dependencies.zip32]
version = "0.2"
default-features = false
[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = [
"cfg(tokio_unstable)",
'cfg(zcash_unstable, values("nu7"))',
"cfg(live_network_tests)",
]