Skip to content

Commit 9e51039

Browse files
authored
Merge pull request #1577 from zcash/pczt-format
pczt: Define the structure and semantics of the PCZT format
2 parents e0f04e6 + 0cceac1 commit 9e51039

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+5228
-23
lines changed

Cargo.lock

+136-4
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

+9-1
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ bitvec = "1"
5858
blake2s_simd = "1"
5959
bls12_381 = "0.8"
6060
jubjub = "0.10"
61+
redjubjub = "0.7"
6162
sapling = { package = "sapling-crypto", version = "0.3", default-features = false }
6263

6364
# - Orchard
@@ -66,10 +67,13 @@ orchard = { version = "0.10", default-features = false }
6667
pasta_curves = "0.5"
6768

6869
# - Transparent
69-
bip32 = { version = "0.5", default-features = false, features = ["secp256k1-ffi"] }
70+
bip32 = { version = "0.5", default-features = false }
7071
ripemd = "0.1"
7172
secp256k1 = "0.27"
7273

74+
# Boilerplate
75+
getset = "0.1"
76+
7377
# CSPRNG
7478
rand = "0.8"
7579
rand_core = "0.6"
@@ -181,3 +185,7 @@ debug = true
181185

182186
[workspace.lints.rust]
183187
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(zcash_unstable, values("zfuture"))'] }
188+
189+
[patch.crates-io]
190+
orchard = { git = "https://github.com/zcash/orchard.git", rev = "bcd08e1d23e70c42a338f3e3f79d6f4c0c219805" }
191+
sapling-crypto = { git = "https://github.com/zcash/sapling-crypto.git", rev = "f228f52542749ea89f4a7cffbc0682ed9ea4b8d1" }

pczt/Cargo.toml

+67
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,70 @@ license.workspace = true
1111
categories.workspace = true
1212

1313
[dependencies]
14+
zcash_note_encryption = { workspace = true, optional = true }
15+
zcash_primitives = { workspace = true, optional = true }
16+
zcash_protocol = { workspace = true, optional = true }
17+
18+
blake2b_simd = { workspace = true, optional = true }
19+
rand_core = { workspace = true, optional = true }
20+
21+
# Encoding
22+
postcard = { version = "1", features = ["alloc"] }
23+
serde.workspace = true
24+
serde_with = "3"
25+
26+
# Payment protocols
27+
# - Transparent
28+
secp256k1 = { workspace = true, optional = true }
29+
30+
# - Sapling
31+
bls12_381 = { workspace = true, optional = true }
32+
ff = { workspace = true, optional = true }
33+
jubjub = { workspace = true, optional = true }
34+
redjubjub = { workspace = true, optional = true }
35+
sapling = { workspace = true, optional = true }
36+
37+
# - Orchard
38+
nonempty = { workspace = true, optional = true }
39+
orchard = { workspace = true, optional = true }
40+
pasta_curves = { workspace = true, optional = true }
41+
42+
# - Bolierplate
43+
getset = "0.1"
44+
45+
[dev-dependencies]
46+
incrementalmerkletree.workspace = true
47+
secp256k1 = { workspace = true, features = ["rand"] }
48+
shardtree.workspace = true
49+
zcash_primitives = { workspace = true, features = ["test-dependencies", "transparent-inputs"] }
50+
zcash_proofs = { workspace = true, features = ["bundled-prover"] }
51+
zip32.workspace = true
52+
53+
[features]
54+
orchard = [
55+
"dep:ff",
56+
"dep:nonempty",
57+
"dep:orchard",
58+
"dep:pasta_curves",
59+
"dep:zcash_protocol",
60+
]
61+
sapling = [
62+
"dep:bls12_381",
63+
"dep:ff",
64+
"dep:jubjub",
65+
"dep:redjubjub",
66+
"dep:sapling",
67+
"dep:zcash_note_encryption",
68+
"dep:zcash_protocol",
69+
]
70+
transparent = ["dep:secp256k1", "dep:zcash_primitives", "dep:zcash_protocol"]
71+
zcp-builder = ["dep:zcash_primitives", "dep:zcash_protocol"]
72+
io-finalizer = ["orchard", "sapling"]
73+
prover = ["dep:rand_core", "sapling?/temporary-zcashd"]
74+
signer = ["dep:blake2b_simd", "dep:rand_core", "orchard", "sapling", "transparent"]
75+
spend-finalizer = ["transparent"]
76+
tx-extractor = ["dep:rand_core", "orchard", "sapling", "transparent"]
77+
78+
[[test]]
79+
name = "end_to_end"
80+
required-features = ["io-finalizer", "prover", "signer", "tx-extractor"]

0 commit comments

Comments
 (0)