build(deps): make librustzcash crates workspace dependencies (#8792)

* build(deps): make librustzcash crates workspace dependencies

Fixes #8791

* add duplicated dependencies to deny.toml
This commit is contained in:
Tomek Piotrowski 2024-08-24 02:55:57 +02:00 committed by GitHub
parent cccf98bbfa
commit 37de457f2b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
19 changed files with 180 additions and 312 deletions

View File

@ -428,20 +428,6 @@ dependencies = [
"which", "which",
] ]
[[package]]
name = "bip0039"
version = "0.10.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bef0f0152ec5cf17f49a5866afaa3439816207fd4f0a224c0211ffaf5e278426"
dependencies = [
"hmac",
"pbkdf2",
"rand 0.8.5",
"sha2",
"unicode-normalization",
"zeroize",
]
[[package]] [[package]]
name = "bip32" name = "bip32"
version = "0.5.2" version = "0.5.2"
@ -553,9 +539,9 @@ dependencies = [
[[package]] [[package]]
name = "bridgetree" name = "bridgetree"
version = "0.4.0" version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fbfcb6c5a091e80cb3d3b0c1a7f126af4631cd5065b1f9929b139f1be8f3fb62" checksum = "f62227647af796dd9f1637da0392676a2e200973b817b082fc9be89bf93ddd74"
dependencies = [ dependencies = [
"incrementalmerkletree", "incrementalmerkletree",
] ]
@ -901,8 +887,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "86ed14aa9c9f927213c6e4f3ef75faaad3406134efe84ba2cb7983431d5f0931" checksum = "86ed14aa9c9f927213c6e4f3ef75faaad3406134efe84ba2cb7983431d5f0931"
dependencies = [ dependencies = [
"futures-core", "futures-core",
"prost 0.13.1", "prost",
"prost-types 0.13.1", "prost-types",
"tonic", "tonic",
"tracing-core", "tracing-core",
] ]
@ -920,8 +906,8 @@ dependencies = [
"hdrhistogram", "hdrhistogram",
"humantime", "humantime",
"hyper-util", "hyper-util",
"prost 0.13.1", "prost",
"prost-types 0.13.1", "prost-types",
"serde", "serde",
"serde_json", "serde_json",
"thread_local", "thread_local",
@ -1331,7 +1317,7 @@ dependencies = [
[[package]] [[package]]
name = "equihash" name = "equihash"
version = "0.2.0" version = "0.2.0"
source = "git+https://github.com/zcash/librustzcash/?branch=main#5a4a3e06dcd2cf5bdf79a7cd48709b58693c65f0" source = "git+https://github.com/zcash/librustzcash/?branch=main#40ca428c6081c61d5a2bf3f2053eb9e18219ca95"
dependencies = [ dependencies = [
"blake2b_simd", "blake2b_simd",
"byteorder", "byteorder",
@ -1366,16 +1352,7 @@ dependencies = [
[[package]] [[package]]
name = "f4jumble" name = "f4jumble"
version = "0.1.0" version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "git+https://github.com/zcash/librustzcash/?branch=main#40ca428c6081c61d5a2bf3f2053eb9e18219ca95"
checksum = "0a83e8d7fd0c526af4aad893b7c9fe41e2699ed8a776a6c74aecdeafe05afc75"
dependencies = [
"blake2b_simd",
]
[[package]]
name = "f4jumble"
version = "0.1.0"
source = "git+https://github.com/zcash/librustzcash/?branch=main#5a4a3e06dcd2cf5bdf79a7cd48709b58693c65f0"
dependencies = [ dependencies = [
"blake2b_simd", "blake2b_simd",
] ]
@ -2106,9 +2083,9 @@ dependencies = [
[[package]] [[package]]
name = "incrementalmerkletree" name = "incrementalmerkletree"
version = "0.5.1" version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "eb1872810fb725b06b8c153dde9e86f3ec26747b9b60096da7a869883b549cbe" checksum = "75346da3bd8e3d8891d02508245ed2df34447ca6637e343829f8d08986e9cde2"
dependencies = [ dependencies = [
"either", "either",
] ]
@ -2785,9 +2762,9 @@ checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d"
[[package]] [[package]]
name = "orchard" name = "orchard"
version = "0.8.0" version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0462569fc8b0d1b158e4d640571867a4e4319225ebee2ab6647e60c70af19ae3" checksum = "4dc7bde644aeb980be296cd908c6650894dc8541deb56f9f5294c52ed7ca568f"
dependencies = [ dependencies = [
"aes", "aes",
"bitvec", "bitvec",
@ -2808,6 +2785,7 @@ dependencies = [
"serde", "serde",
"subtle", "subtle",
"tracing", "tracing",
"visibility",
"zcash_note_encryption", "zcash_note_encryption",
"zcash_spec", "zcash_spec",
"zip32", "zip32",
@ -2935,17 +2913,6 @@ dependencies = [
"windows-targets 0.52.5", "windows-targets 0.52.5",
] ]
[[package]]
name = "password-hash"
version = "0.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1d791538a6dcc1e7cb7fe6f6b58aca40e7f79403c45b2bc274008b5e647af1d8"
dependencies = [
"base64ct",
"rand_core 0.6.4",
"subtle",
]
[[package]] [[package]]
name = "pasta_curves" name = "pasta_curves"
version = "0.5.1" version = "0.5.1"
@ -2961,16 +2928,6 @@ dependencies = [
"subtle", "subtle",
] ]
[[package]]
name = "pbkdf2"
version = "0.10.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "271779f35b581956db91a3e55737327a03aa051e90b1c47aeb189508533adfd7"
dependencies = [
"digest",
"password-hash",
]
[[package]] [[package]]
name = "percent-encoding" name = "percent-encoding"
version = "2.3.1" version = "2.3.1"
@ -3240,16 +3197,6 @@ dependencies = [
"syn 2.0.72", "syn 2.0.72",
] ]
[[package]]
name = "prost"
version = "0.12.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "deb1435c188b76130da55f17a466d252ff7b1418b2ad3e037d127b94e3411f29"
dependencies = [
"bytes",
"prost-derive 0.12.6",
]
[[package]] [[package]]
name = "prost" name = "prost"
version = "0.13.1" version = "0.13.1"
@ -3257,28 +3204,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e13db3d3fde688c61e2446b4d843bc27a7e8af269a69440c0308021dc92333cc" checksum = "e13db3d3fde688c61e2446b4d843bc27a7e8af269a69440c0308021dc92333cc"
dependencies = [ dependencies = [
"bytes", "bytes",
"prost-derive 0.13.1", "prost-derive",
]
[[package]]
name = "prost-build"
version = "0.12.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "22505a5c94da8e3b7c2996394d1c933236c4d743e81a410bcca4e6989fc066a4"
dependencies = [
"bytes",
"heck 0.5.0",
"itertools 0.12.1",
"log",
"multimap",
"once_cell",
"petgraph",
"prettyplease",
"prost 0.12.6",
"prost-types 0.12.6",
"regex",
"syn 2.0.72",
"tempfile",
] ]
[[package]] [[package]]
@ -3295,26 +3221,13 @@ dependencies = [
"once_cell", "once_cell",
"petgraph", "petgraph",
"prettyplease", "prettyplease",
"prost 0.13.1", "prost",
"prost-types 0.13.1", "prost-types",
"regex", "regex",
"syn 2.0.72", "syn 2.0.72",
"tempfile", "tempfile",
] ]
[[package]]
name = "prost-derive"
version = "0.12.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "81bddcdb20abf9501610992b6759a4c888aef7d1a7247ef75e2404275ac24af1"
dependencies = [
"anyhow",
"itertools 0.12.1",
"proc-macro2",
"quote",
"syn 2.0.72",
]
[[package]] [[package]]
name = "prost-derive" name = "prost-derive"
version = "0.13.1" version = "0.13.1"
@ -3328,22 +3241,13 @@ dependencies = [
"syn 2.0.72", "syn 2.0.72",
] ]
[[package]]
name = "prost-types"
version = "0.12.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9091c90b0a32608e984ff2fa4091273cbdd755d54935c51d520887f4a1dbd5b0"
dependencies = [
"prost 0.12.6",
]
[[package]] [[package]]
name = "prost-types" name = "prost-types"
version = "0.13.1" version = "0.13.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cee5168b05f49d4b0ca581206eb14a7b22fafd963efe729ac48eb03266e25cc2" checksum = "cee5168b05f49d4b0ca581206eb14a7b22fafd963efe729ac48eb03266e25cc2"
dependencies = [ dependencies = [
"prost 0.13.1", "prost",
] ]
[[package]] [[package]]
@ -3848,9 +3752,9 @@ dependencies = [
[[package]] [[package]]
name = "sapling-crypto" name = "sapling-crypto"
version = "0.1.3" version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "02f4270033afcb0c74c5c7d59c73cfd1040367f67f224fe7ed9a919ae618f1b7" checksum = "15e379398fffad84e49f9a45a05635fc004f66086e65942dbf4eb95332c26d2a"
dependencies = [ dependencies = [
"aes", "aes",
"bellman", "bellman",
@ -4192,9 +4096,9 @@ dependencies = [
[[package]] [[package]]
name = "shardtree" name = "shardtree"
version = "0.3.1" version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3b3cdd24424ce0b381646737fedddc33c4dcf7dcd2d545056b53f7982097bef5" checksum = "78222845cd8bbe5eb95687407648ff17693a35de5e8abaa39a4681fb21e033f9"
dependencies = [ dependencies = [
"bitflags 2.6.0", "bitflags 2.6.0",
"either", "either",
@ -4736,7 +4640,7 @@ dependencies = [
"hyper-util", "hyper-util",
"percent-encoding", "percent-encoding",
"pin-project", "pin-project",
"prost 0.13.1", "prost",
"socket2", "socket2",
"tokio", "tokio",
"tokio-stream", "tokio-stream",
@ -4746,19 +4650,6 @@ dependencies = [
"tracing", "tracing",
] ]
[[package]]
name = "tonic-build"
version = "0.10.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9d021fc044c18582b9a2408cd0dd05b1596e3ecdb5c4df822bb0183545683889"
dependencies = [
"prettyplease",
"proc-macro2",
"prost-build 0.12.6",
"quote",
"syn 2.0.72",
]
[[package]] [[package]]
name = "tonic-build" name = "tonic-build"
version = "0.12.1" version = "0.12.1"
@ -4767,7 +4658,7 @@ checksum = "568392c5a2bd0020723e3f387891176aabafe36fd9fcd074ad309dfa0c8eb964"
dependencies = [ dependencies = [
"prettyplease", "prettyplease",
"proc-macro2", "proc-macro2",
"prost-build 0.13.1", "prost-build",
"quote", "quote",
"syn 2.0.72", "syn 2.0.72",
] ]
@ -4778,8 +4669,8 @@ version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b742c83ad673e9ab5b4ce0981f7b9e8932be9d60e8682cbf9120494764dbc173" checksum = "b742c83ad673e9ab5b4ce0981f7b9e8932be9d60e8682cbf9120494764dbc173"
dependencies = [ dependencies = [
"prost 0.13.1", "prost",
"prost-types 0.13.1", "prost-types",
"tokio", "tokio",
"tokio-stream", "tokio-stream",
"tonic", "tonic",
@ -5212,6 +5103,17 @@ version = "0.9.4"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
[[package]]
name = "visibility"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d674d135b4a8c1d7e813e2f8d1c9a58308aee4a680323066025e53132218bd91"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.72",
]
[[package]] [[package]]
name = "void" name = "void"
version = "1.0.2" version = "1.0.2"
@ -5648,34 +5550,20 @@ checksum = "213b7324336b53d2414b2db8537e56544d981803139155afa84f76eeebb7a546"
[[package]] [[package]]
name = "zcash_address" name = "zcash_address"
version = "0.3.2" version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "git+https://github.com/zcash/librustzcash/?branch=main#40ca428c6081c61d5a2bf3f2053eb9e18219ca95"
checksum = "827c17a1f7e3a69f0d44e991ff610c7a842228afdc9dc2325ffdd1a67fee01e9"
dependencies = [ dependencies = [
"bech32", "bech32",
"bs58", "bs58",
"f4jumble 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "f4jumble",
"zcash_encoding 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "zcash_encoding",
"zcash_protocol 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "zcash_protocol",
]
[[package]]
name = "zcash_address"
version = "0.3.2"
source = "git+https://github.com/zcash/librustzcash/?branch=main#5a4a3e06dcd2cf5bdf79a7cd48709b58693c65f0"
dependencies = [
"bech32",
"bs58",
"f4jumble 0.1.0 (git+https://github.com/zcash/librustzcash/?branch=main)",
"zcash_encoding 0.2.0 (git+https://github.com/zcash/librustzcash/?branch=main)",
"zcash_protocol 0.1.1 (git+https://github.com/zcash/librustzcash/?branch=main)",
] ]
[[package]] [[package]]
name = "zcash_client_backend" name = "zcash_client_backend"
version = "0.12.1" version = "0.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "git+https://github.com/zcash/librustzcash/?branch=main#40ca428c6081c61d5a2bf3f2053eb9e18219ca95"
checksum = "0364e69c446fcf96a1f73f342c6c3fa697ea65ae7eeeae7d76ca847b9c442e40"
dependencies = [ dependencies = [
"base64 0.21.7", "base64 0.21.7",
"bech32", "bech32",
@ -5690,7 +5578,7 @@ dependencies = [
"nom", "nom",
"nonempty", "nonempty",
"percent-encoding", "percent-encoding",
"prost 0.12.6", "prost",
"rand_core 0.6.4", "rand_core 0.6.4",
"rayon", "rayon",
"sapling-crypto", "sapling-crypto",
@ -5698,32 +5586,23 @@ dependencies = [
"shardtree", "shardtree",
"subtle", "subtle",
"time", "time",
"tonic-build 0.10.2", "tonic-build",
"tracing", "tracing",
"which", "which",
"zcash_address 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "zcash_address",
"zcash_encoding 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "zcash_encoding",
"zcash_keys", "zcash_keys",
"zcash_note_encryption", "zcash_note_encryption",
"zcash_primitives 0.15.1 (registry+https://github.com/rust-lang/crates.io-index)", "zcash_primitives",
"zcash_protocol 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "zcash_protocol",
"zip32", "zip32",
"zip321",
] ]
[[package]] [[package]]
name = "zcash_encoding" name = "zcash_encoding"
version = "0.2.0" version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "git+https://github.com/zcash/librustzcash/?branch=main#40ca428c6081c61d5a2bf3f2053eb9e18219ca95"
checksum = "f03391b81727875efa6ac0661a20883022b6fba92365dc121c48fa9b00c5aac0"
dependencies = [
"byteorder",
"nonempty",
]
[[package]]
name = "zcash_encoding"
version = "0.2.0"
source = "git+https://github.com/zcash/librustzcash/?branch=main#5a4a3e06dcd2cf5bdf79a7cd48709b58693c65f0"
dependencies = [ dependencies = [
"byteorder", "byteorder",
"nonempty", "nonempty",
@ -5732,8 +5611,7 @@ dependencies = [
[[package]] [[package]]
name = "zcash_history" name = "zcash_history"
version = "0.4.0" version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "git+https://github.com/zcash/librustzcash/?branch=main#40ca428c6081c61d5a2bf3f2053eb9e18219ca95"
checksum = "2fde17bf53792f9c756b313730da14880257d7661b5bfc69d0571c3a7c11a76d"
dependencies = [ dependencies = [
"blake2b_simd", "blake2b_simd",
"byteorder", "byteorder",
@ -5742,9 +5620,8 @@ dependencies = [
[[package]] [[package]]
name = "zcash_keys" name = "zcash_keys"
version = "0.2.0" version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "git+https://github.com/zcash/librustzcash/?branch=main#40ca428c6081c61d5a2bf3f2053eb9e18219ca95"
checksum = "663489ffb4e51bc4436ff8796832612a9ff3c6516f1c620b5a840cb5dcd7b866"
dependencies = [ dependencies = [
"bech32", "bech32",
"blake2b_simd", "blake2b_simd",
@ -5759,10 +5636,10 @@ dependencies = [
"secrecy", "secrecy",
"subtle", "subtle",
"tracing", "tracing",
"zcash_address 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "zcash_address",
"zcash_encoding 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "zcash_encoding",
"zcash_primitives 0.15.1 (registry+https://github.com/rust-lang/crates.io-index)", "zcash_primitives",
"zcash_protocol 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "zcash_protocol",
"zip32", "zip32",
] ]
@ -5781,44 +5658,8 @@ dependencies = [
[[package]] [[package]]
name = "zcash_primitives" name = "zcash_primitives"
version = "0.15.1" version = "0.16.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "git+https://github.com/zcash/librustzcash/?branch=main#40ca428c6081c61d5a2bf3f2053eb9e18219ca95"
checksum = "8a9ccee58d0f9e8da312a999a4c0cd3d001ff3b37af6fb1318c89e6a3076f4da"
dependencies = [
"aes",
"bip0039",
"blake2b_simd",
"byteorder",
"document-features",
"equihash 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
"ff",
"fpe",
"group",
"hex",
"incrementalmerkletree",
"jubjub",
"memuse",
"nonempty",
"orchard",
"rand 0.8.5",
"rand_core 0.6.4",
"redjubjub",
"sapling-crypto",
"sha2",
"subtle",
"tracing",
"zcash_address 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
"zcash_encoding 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
"zcash_note_encryption",
"zcash_protocol 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
"zcash_spec",
"zip32",
]
[[package]]
name = "zcash_primitives"
version = "0.15.1"
source = "git+https://github.com/zcash/librustzcash/?branch=main#5a4a3e06dcd2cf5bdf79a7cd48709b58693c65f0"
dependencies = [ dependencies = [
"aes", "aes",
"bip32", "bip32",
@ -5845,19 +5686,18 @@ dependencies = [
"sha2", "sha2",
"subtle", "subtle",
"tracing", "tracing",
"zcash_address 0.3.2 (git+https://github.com/zcash/librustzcash/?branch=main)", "zcash_address",
"zcash_encoding 0.2.0 (git+https://github.com/zcash/librustzcash/?branch=main)", "zcash_encoding",
"zcash_note_encryption", "zcash_note_encryption",
"zcash_protocol 0.1.1 (git+https://github.com/zcash/librustzcash/?branch=main)", "zcash_protocol",
"zcash_spec", "zcash_spec",
"zip32", "zip32",
] ]
[[package]] [[package]]
name = "zcash_proofs" name = "zcash_proofs"
version = "0.15.0" version = "0.16.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "git+https://github.com/zcash/librustzcash/?branch=main#40ca428c6081c61d5a2bf3f2053eb9e18219ca95"
checksum = "5163a1110f4265cc5f2fdf87ac4497fd1e014b6ce0760ca8d16d8e3853a5c0f7"
dependencies = [ dependencies = [
"bellman", "bellman",
"blake2b_simd", "blake2b_simd",
@ -5873,23 +5713,13 @@ dependencies = [
"sapling-crypto", "sapling-crypto",
"tracing", "tracing",
"xdg", "xdg",
"zcash_primitives 0.15.1 (registry+https://github.com/rust-lang/crates.io-index)", "zcash_primitives",
] ]
[[package]] [[package]]
name = "zcash_protocol" name = "zcash_protocol"
version = "0.1.1" version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "git+https://github.com/zcash/librustzcash/?branch=main#40ca428c6081c61d5a2bf3f2053eb9e18219ca95"
checksum = "8f8189d4a304e8aa3aef3b75e89f3874bb0dc84b1cd623316a84e79e06cddabc"
dependencies = [
"document-features",
"memuse",
]
[[package]]
name = "zcash_protocol"
version = "0.1.1"
source = "git+https://github.com/zcash/librustzcash/?branch=main#5a4a3e06dcd2cf5bdf79a7cd48709b58693c65f0"
dependencies = [ dependencies = [
"document-features", "document-features",
"memuse", "memuse",
@ -5967,13 +5797,13 @@ dependencies = [
"tracing", "tracing",
"uint", "uint",
"x25519-dalek", "x25519-dalek",
"zcash_address 0.3.2 (git+https://github.com/zcash/librustzcash/?branch=main)", "zcash_address",
"zcash_client_backend", "zcash_client_backend",
"zcash_encoding 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", "zcash_encoding",
"zcash_history", "zcash_history",
"zcash_note_encryption", "zcash_note_encryption",
"zcash_primitives 0.15.1 (git+https://github.com/zcash/librustzcash/?branch=main)", "zcash_primitives",
"zcash_protocol 0.1.1 (git+https://github.com/zcash/librustzcash/?branch=main)", "zcash_protocol",
"zebra-test", "zebra-test",
] ]
@ -6030,15 +5860,15 @@ dependencies = [
"color-eyre", "color-eyre",
"futures-util", "futures-util",
"insta", "insta",
"prost 0.13.1", "prost",
"serde", "serde",
"tokio", "tokio",
"tokio-stream", "tokio-stream",
"tonic", "tonic",
"tonic-build 0.12.1", "tonic-build",
"tonic-reflection", "tonic-reflection",
"tower", "tower",
"zcash_primitives 0.15.1 (registry+https://github.com/rust-lang/crates.io-index)", "zcash_primitives",
"zebra-chain", "zebra-chain",
"zebra-node-services", "zebra-node-services",
"zebra-state", "zebra-state",
@ -6112,7 +5942,7 @@ dependencies = [
"jsonrpc-derive", "jsonrpc-derive",
"jsonrpc-http-server", "jsonrpc-http-server",
"proptest", "proptest",
"prost 0.13.1", "prost",
"rand 0.8.5", "rand 0.8.5",
"serde", "serde",
"serde_json", "serde_json",
@ -6120,12 +5950,12 @@ dependencies = [
"tokio", "tokio",
"tokio-stream", "tokio-stream",
"tonic", "tonic",
"tonic-build 0.12.1", "tonic-build",
"tonic-reflection", "tonic-reflection",
"tower", "tower",
"tracing", "tracing",
"zcash_address 0.3.2 (git+https://github.com/zcash/librustzcash/?branch=main)", "zcash_address",
"zcash_primitives 0.15.1 (git+https://github.com/zcash/librustzcash/?branch=main)", "zcash_primitives",
"zebra-chain", "zebra-chain",
"zebra-consensus", "zebra-consensus",
"zebra-network", "zebra-network",
@ -6167,11 +5997,11 @@ dependencies = [
"tower", "tower",
"tracing", "tracing",
"tracing-subscriber", "tracing-subscriber",
"zcash_address 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "zcash_address",
"zcash_client_backend", "zcash_client_backend",
"zcash_keys", "zcash_keys",
"zcash_note_encryption", "zcash_note_encryption",
"zcash_primitives 0.15.1 (registry+https://github.com/rust-lang/crates.io-index)", "zcash_primitives",
"zebra-chain", "zebra-chain",
"zebra-grpc", "zebra-grpc",
"zebra-node-services", "zebra-node-services",
@ -6290,8 +6120,8 @@ dependencies = [
"tracing-error", "tracing-error",
"tracing-subscriber", "tracing-subscriber",
"zcash_client_backend", "zcash_client_backend",
"zcash_primitives 0.15.1 (registry+https://github.com/rust-lang/crates.io-index)", "zcash_primitives",
"zcash_protocol 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", "zcash_protocol",
"zebra-chain", "zebra-chain",
"zebra-node-services", "zebra-node-services",
"zebra-rpc", "zebra-rpc",
@ -6331,7 +6161,7 @@ dependencies = [
"pin-project", "pin-project",
"proptest", "proptest",
"proptest-derive", "proptest-derive",
"prost 0.13.1", "prost",
"rand 0.8.5", "rand 0.8.5",
"rayon", "rayon",
"regex", "regex",
@ -6347,7 +6177,7 @@ dependencies = [
"tokio-stream", "tokio-stream",
"toml 0.8.19", "toml 0.8.19",
"tonic", "tonic",
"tonic-build 0.12.1", "tonic-build",
"tower", "tower",
"tracing", "tracing",
"tracing-appender", "tracing-appender",
@ -6419,3 +6249,15 @@ dependencies = [
"memuse", "memuse",
"subtle", "subtle",
] ]
[[package]]
name = "zip321"
version = "0.1.0"
source = "git+https://github.com/zcash/librustzcash/?branch=main#40ca428c6081c61d5a2bf3f2053eb9e18219ca95"
dependencies = [
"base64 0.21.7",
"nom",
"percent-encoding",
"zcash_address",
"zcash_protocol",
]

View File

@ -21,6 +21,20 @@ resolver = "2"
# `cargo release` settings # `cargo release` settings
[workspace.dependencies]
incrementalmerkletree = "0.6.0"
orchard = "0.9.0"
sapling-crypto = "0.2.0"
# TODO: Revert to a release once librustzcash is released (#8749).
zcash_address = { git = "https://github.com/zcash/librustzcash/", branch = "main" }
zcash_client_backend = { git = "https://github.com/zcash/librustzcash/", branch = "main" }
zcash_encoding = { git = "https://github.com/zcash/librustzcash/", branch = "main" }
zcash_history = { git = "https://github.com/zcash/librustzcash/", branch = "main" }
zcash_keys = { git = "https://github.com/zcash/librustzcash/", branch = "main" }
zcash_primitives = { git = "https://github.com/zcash/librustzcash/", branch = "main" }
zcash_proofs = { git = "https://github.com/zcash/librustzcash/", branch = "main" }
zcash_protocol = { git = "https://github.com/zcash/librustzcash/", branch = "main" }
[workspace.metadata.release] [workspace.metadata.release]
# We always do releases from the main branch # We always do releases from the main branch

View File

@ -102,6 +102,12 @@ skip-tree = [
{ name = "zcash_encoding", version = "=0.2.0" }, { name = "zcash_encoding", version = "=0.2.0" },
{ name = "zcash_primitives", version = "=0.15.1" }, { name = "zcash_primitives", version = "=0.15.1" },
{ name = "zcash_protocol", version = "=0.1.1" }, { name = "zcash_protocol", version = "=0.1.1" },
# wait for structopt-derive to update heck
{ name = "heck", version = "=0.3.3" },
# wait for librocksdb-sys to update bindgen to one that uses newer itertools
{ name = "itertools", version = "=0.12.1" }
] ]
# This section is considered when running `cargo deny check sources`. # This section is considered when running `cargo deny check sources`.

View File

@ -68,7 +68,7 @@ bitflags = "2.5.0"
bitflags-serde-legacy = "0.1.1" bitflags-serde-legacy = "0.1.1"
blake2b_simd = "1.0.2" blake2b_simd = "1.0.2"
blake2s_simd = "1.0.2" blake2s_simd = "1.0.2"
bridgetree = "0.4.0" bridgetree = "0.5.0"
bs58 = { version = "0.5.1", features = ["check"] } bs58 = { version = "0.5.1", features = ["check"] }
byteorder = "1.5.0" byteorder = "1.5.0"
@ -78,7 +78,7 @@ byteorder = "1.5.0"
equihash = "0.2.0" equihash = "0.2.0"
group = "0.13.0" group = "0.13.0"
incrementalmerkletree = "0.5.1" incrementalmerkletree.workspace = true
jubjub = "0.10.0" jubjub = "0.10.0"
lazy_static = "1.4.0" lazy_static = "1.4.0"
num-integer = "0.1.46" num-integer = "0.1.46"
@ -93,17 +93,14 @@ x25519-dalek = { version = "2.0.1", features = ["serde"] }
# ECC deps # ECC deps
halo2 = { package = "halo2_proofs", version = "0.3.0" } halo2 = { package = "halo2_proofs", version = "0.3.0" }
orchard = "0.8.0" orchard.workspace = true
zcash_encoding = "0.2.0" zcash_encoding.workspace = true
zcash_history = "0.4.0" zcash_history.workspace = true
zcash_note_encryption = "0.4.0" zcash_note_encryption = "0.4.0"
# TODO: Revert to a release once librustzcash is released (#8749). zcash_primitives = { workspace = true, features = ["transparent-inputs"] }
zcash_primitives = { git = "https://github.com/zcash/librustzcash/", branch = "main", features = ["transparent-inputs"] } sapling-crypto.workspace = true
sapling = { package = "sapling-crypto", version = "0.1" } zcash_protocol.workspace = true
# TODO: Revert to a release once librustzcash is released (#8749). zcash_address.workspace = true
zcash_protocol = { git = "https://github.com/zcash/librustzcash/", branch = "main"}
# TODO: Revert to a release once librustzcash is released (#8749).
zcash_address = { git = "https://github.com/zcash/librustzcash/", branch = "main"}
# Time # Time
chrono = { version = "0.4.38", default-features = false, features = ["clock", "std", "serde"] } chrono = { version = "0.4.38", default-features = false, features = ["clock", "std", "serde"] }
@ -137,7 +134,7 @@ serde_json = { version = "1.0.122", optional = true }
tokio = { version = "1.39.2", optional = true } tokio = { version = "1.39.2", optional = true }
# Experimental feature shielded-scan # Experimental feature shielded-scan
zcash_client_backend = { version = "0.12.1", optional = true } zcash_client_backend = { workspace = true, optional = true }
# Optional testing dependencies # Optional testing dependencies
proptest = { version = "1.4.0", optional = true } proptest = { version = "1.4.0", optional = true }

View File

@ -17,7 +17,7 @@ pub enum Address {
network: NetworkKind, network: NetworkKind,
/// Sapling address /// Sapling address
address: sapling::PaymentAddress, address: sapling_crypto::PaymentAddress,
}, },
/// Unified address /// Unified address
@ -32,7 +32,7 @@ pub enum Address {
orchard: Option<orchard::Address>, orchard: Option<orchard::Address>,
/// Sapling address /// Sapling address
sapling: Option<sapling::PaymentAddress>, sapling: Option<sapling_crypto::PaymentAddress>,
/// Transparent address /// Transparent address
transparent: Option<transparent::Address>, transparent: Option<transparent::Address>,
@ -68,7 +68,7 @@ impl zcash_address::TryFromAddress for Address {
data: [u8; 43], data: [u8; 43],
) -> Result<Self, zcash_address::ConversionError<Self::Error>> { ) -> Result<Self, zcash_address::ConversionError<Self::Error>> {
let network = network.into(); let network = network.into();
sapling::PaymentAddress::from_bytes(&data) sapling_crypto::PaymentAddress::from_bytes(&data)
.map(|address| Self::Sapling { address, network }) .map(|address| Self::Sapling { address, network })
.ok_or_else(|| BoxError::from("not a valid sapling address").into()) .ok_or_else(|| BoxError::from("not a valid sapling address").into())
} }
@ -97,7 +97,7 @@ impl zcash_address::TryFromAddress for Address {
} }
} }
unified::Receiver::Sapling(data) => { unified::Receiver::Sapling(data) => {
sapling = sapling::PaymentAddress::from_bytes(&data); sapling = sapling_crypto::PaymentAddress::from_bytes(&data);
// ZIP 316: Consumers MUST reject Unified Addresses/Viewing Keys in // ZIP 316: Consumers MUST reject Unified Addresses/Viewing Keys in
// which any constituent Item does not meet the validation // which any constituent Item does not meet the validation
// requirements of its encoding. // requirements of its encoding.

View File

@ -1,6 +1,6 @@
//! Defines types and implements methods for parsing Sapling viewing keys and converting them to `zebra-chain` types //! Defines types and implements methods for parsing Sapling viewing keys and converting them to `zebra-chain` types
use sapling::keys::{FullViewingKey as SaplingFvk, SaplingIvk}; use sapling_crypto::keys::{FullViewingKey as SaplingFvk, SaplingIvk};
use zcash_client_backend::{ use zcash_client_backend::{
encoding::decode_extended_full_viewing_key, encoding::decode_extended_full_viewing_key,
keys::sapling::DiversifiableFullViewingKey as SaplingDfvk, keys::sapling::DiversifiableFullViewingKey as SaplingDfvk,

View File

@ -25,19 +25,19 @@ pub fn decrypts_successfully(transaction: &Transaction, network: &Network, heigh
) )
.expect("zcash_primitives and Zebra transaction formats must be compatible"); .expect("zcash_primitives and Zebra transaction formats must be compatible");
let null_sapling_ovk = sapling::keys::OutgoingViewingKey([0u8; 32]); let null_sapling_ovk = sapling_crypto::keys::OutgoingViewingKey([0u8; 32]);
// Note that, since this function is used to validate coinbase transactions, we can ignore // Note that, since this function is used to validate coinbase transactions, we can ignore
// the "grace period" mentioned in ZIP-212. // the "grace period" mentioned in ZIP-212.
let zip_212_enforcement = if network_upgrade >= NetworkUpgrade::Canopy { let zip_212_enforcement = if network_upgrade >= NetworkUpgrade::Canopy {
sapling::note_encryption::Zip212Enforcement::On sapling_crypto::note_encryption::Zip212Enforcement::On
} else { } else {
sapling::note_encryption::Zip212Enforcement::Off sapling_crypto::note_encryption::Zip212Enforcement::Off
}; };
if let Some(bundle) = alt_tx.sapling_bundle() { if let Some(bundle) = alt_tx.sapling_bundle() {
for output in bundle.shielded_outputs().iter() { for output in bundle.shielded_outputs().iter() {
let recovery = sapling::note_encryption::try_sapling_output_recovery( let recovery = sapling_crypto::note_encryption::try_sapling_output_recovery(
&null_sapling_ovk, &null_sapling_ovk,
output, output,
zip_212_enforcement, zip_212_enforcement,

View File

@ -84,31 +84,40 @@ impl<'a>
struct IdentityMap; struct IdentityMap;
impl zp_tx::components::sapling::MapAuth<sapling::bundle::Authorized, sapling::bundle::Authorized> impl
for IdentityMap zp_tx::components::sapling::MapAuth<
sapling_crypto::bundle::Authorized,
sapling_crypto::bundle::Authorized,
> for IdentityMap
{ {
fn map_spend_proof( fn map_spend_proof(
&mut self, &mut self,
p: <sapling::bundle::Authorized as sapling::bundle::Authorization>::SpendProof, p: <sapling_crypto::bundle::Authorized as sapling_crypto::bundle::Authorization>::SpendProof,
) -> <sapling::bundle::Authorized as sapling::bundle::Authorization>::SpendProof { ) -> <sapling_crypto::bundle::Authorized as sapling_crypto::bundle::Authorization>::SpendProof
{
p p
} }
fn map_output_proof( fn map_output_proof(
&mut self, &mut self,
p: <sapling::bundle::Authorized as sapling::bundle::Authorization>::OutputProof, p: <sapling_crypto::bundle::Authorized as sapling_crypto::bundle::Authorization>::OutputProof,
) -> <sapling::bundle::Authorized as sapling::bundle::Authorization>::OutputProof { ) -> <sapling_crypto::bundle::Authorized as sapling_crypto::bundle::Authorization>::OutputProof
{
p p
} }
fn map_auth_sig( fn map_auth_sig(
&mut self, &mut self,
s: <sapling::bundle::Authorized as sapling::bundle::Authorization>::AuthSig, s: <sapling_crypto::bundle::Authorized as sapling_crypto::bundle::Authorization>::AuthSig,
) -> <sapling::bundle::Authorized as sapling::bundle::Authorization>::AuthSig { ) -> <sapling_crypto::bundle::Authorized as sapling_crypto::bundle::Authorization>::AuthSig
{
s s
} }
fn map_authorization(&mut self, a: sapling::bundle::Authorized) -> sapling::bundle::Authorized { fn map_authorization(
&mut self,
a: sapling_crypto::bundle::Authorized,
) -> sapling_crypto::bundle::Authorized {
a a
} }
} }
@ -135,7 +144,7 @@ struct PrecomputedAuth<'a> {
impl<'a> zp_tx::Authorization for PrecomputedAuth<'a> { impl<'a> zp_tx::Authorization for PrecomputedAuth<'a> {
type TransparentAuth = TransparentAuth<'a>; type TransparentAuth = TransparentAuth<'a>;
type SaplingAuth = sapling::bundle::Authorized; type SaplingAuth = sapling_crypto::bundle::Authorized;
type OrchardAuth = orchard::bundle::Authorized; type OrchardAuth = orchard::bundle::Authorized;
} }

View File

@ -57,10 +57,10 @@ tower = { version = "0.4.13", features = ["timeout", "util", "buffer"] }
tracing = "0.1.39" tracing = "0.1.39"
tracing-futures = "0.2.5" tracing-futures = "0.2.5"
sapling = { package = "sapling-crypto", version = "0.1" } sapling-crypto.workspace = true
orchard = "0.8.0" orchard.workspace = true
zcash_proofs = { version = "0.15.0", features = ["multicore" ] } zcash_proofs = { workspace = true, features = ["multicore" ] }
wagyu-zcash-parameters = "0.2.0" wagyu-zcash-parameters = "0.2.0"
tower-fallback = { path = "../tower-fallback/", version = "0.2.41-beta.14" } tower-fallback = { path = "../tower-fallback/", version = "0.2.41-beta.14" }

View File

@ -26,7 +26,7 @@ tokio-stream = "0.1.15"
tower = { version = "0.4.13", features = ["util", "buffer", "timeout"] } tower = { version = "0.4.13", features = ["util", "buffer", "timeout"] }
color-eyre = "0.6.3" color-eyre = "0.6.3"
zcash_primitives = { version = "0.15.0" } zcash_primitives.workspace = true
zebra-node-services = { path = "../zebra-node-services", version = "1.0.0-beta.38", features = ["shielded-scan"] } zebra-node-services = { path = "../zebra-node-services", version = "1.0.0-beta.38", features = ["shielded-scan"] }
zebra-chain = { path = "../zebra-chain" , version = "1.0.0-beta.38" } zebra-chain = { path = "../zebra-chain" , version = "1.0.0-beta.38" }

View File

@ -88,14 +88,12 @@ hex = { version = "0.4.3", features = ["serde"] }
serde = { version = "1.0.204", features = ["serde_derive"] } serde = { version = "1.0.204", features = ["serde_derive"] }
# TODO: Revert to a release once librustzcash is released (#8749). zcash_primitives = { workspace = true, features = ["transparent-inputs"] }
zcash_primitives = { git = "https://github.com/zcash/librustzcash.git", branch = "main", features = ["transparent-inputs"] }
# Experimental feature getblocktemplate-rpcs # Experimental feature getblocktemplate-rpcs
rand = { version = "0.8.5", optional = true } rand = { version = "0.8.5", optional = true }
# ECC deps used by getblocktemplate-rpcs feature # ECC deps used by getblocktemplate-rpcs feature
# TODO: Revert to a release once librustzcash is released (#8749). zcash_address = { workspace = true, optional = true}
zcash_address = { git = "https://github.com/zcash/librustzcash.git", branch = "main", optional = true}
# Test-only feature proptest-impl # Test-only feature proptest-impl
proptest = { version = "1.4.0", optional = true } proptest = { version = "1.4.0", optional = true }

View File

@ -70,11 +70,11 @@ tower = "0.4.13"
tracing = "0.1.39" tracing = "0.1.39"
futures = "0.3.30" futures = "0.3.30"
zcash_client_backend = { version = "0.12.1" } zcash_client_backend.workspace = true
zcash_keys = { version = "0.2.0", features = ["sapling"] } zcash_keys = { workspace = true, features = ["sapling"] }
zcash_primitives = "0.15.0" zcash_primitives.workspace = true
zcash_address = "0.3.2" zcash_address.workspace = true
sapling = { package = "sapling-crypto", version = "0.1" } sapling-crypto.workspace = true
zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.38", features = ["shielded-scan"] } zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.38", features = ["shielded-scan"] }
zebra-state = { path = "../zebra-state", version = "1.0.0-beta.38", features = ["shielded-scan"] } zebra-state = { path = "../zebra-state", version = "1.0.0-beta.38", features = ["shielded-scan"] }

View File

@ -23,4 +23,4 @@ pub mod tests;
pub use config::Config; pub use config::Config;
pub use init::{init_with_server, spawn_init}; pub use init::{init_with_server, spawn_init};
pub use sapling::{zip32::DiversifiableFullViewingKey, SaplingIvk}; pub use sapling_crypto::{zip32::DiversifiableFullViewingKey, SaplingIvk};

View File

@ -8,7 +8,7 @@ use tokio::sync::{
oneshot, oneshot,
}; };
use sapling::zip32::DiversifiableFullViewingKey; use sapling_crypto::zip32::DiversifiableFullViewingKey;
use zebra_chain::{block::Height, parameters::Network}; use zebra_chain::{block::Height, parameters::Network};
use zebra_node_services::scan_service::response::ScanResult; use zebra_node_services::scan_service::response::ScanResult;
use zebra_state::SaplingScanningKey; use zebra_state::SaplingScanningKey;

View File

@ -27,7 +27,7 @@ use zcash_client_backend::{
}; };
use zcash_primitives::zip32::{AccountId, Scope}; use zcash_primitives::zip32::{AccountId, Scope};
use sapling::zip32::DiversifiableFullViewingKey; use sapling_crypto::zip32::DiversifiableFullViewingKey;
use zebra_chain::{ use zebra_chain::{
block::{Block, Height}, block::{Block, Height},

View File

@ -7,7 +7,7 @@ use crate::{
storage::Storage, storage::Storage,
}; };
use color_eyre::eyre::Report; use color_eyre::eyre::Report;
use sapling::zip32::DiversifiableFullViewingKey; use sapling_crypto::zip32::DiversifiableFullViewingKey;
use tokio::{ use tokio::{
sync::{mpsc::Sender, watch}, sync::{mpsc::Sender, watch},
task::JoinHandle, task::JoinHandle,

View File

@ -1,4 +1,3 @@
//! Test that we can scan the Zebra blockchain using the external `zcash_client_backend` crate
//! scanning functionality. //! scanning functionality.
//! //!
//! This tests belong to the proof of concept stage of the external wallet support functionality. //! This tests belong to the proof of concept stage of the external wallet support functionality.
@ -21,7 +20,7 @@ use zcash_client_backend::{
use zcash_note_encryption::Domain; use zcash_note_encryption::Domain;
use zcash_primitives::{block::BlockHash, consensus::BlockHeight, memo::MemoBytes}; use zcash_primitives::{block::BlockHash, consensus::BlockHeight, memo::MemoBytes};
use ::sapling::{ use ::sapling_crypto::{
constants::SPENDING_KEY_GENERATOR, constants::SPENDING_KEY_GENERATOR,
note_encryption::{sapling_note_encryption, SaplingDomain}, note_encryption::{sapling_note_encryption, SaplingDomain},
util::generate_random_rseed, util::generate_random_rseed,
@ -170,7 +169,10 @@ pub fn fake_compact_block(
// Create a fake Note for the account // Create a fake Note for the account
let mut rng = OsRng; let mut rng = OsRng;
let rseed = generate_random_rseed(::sapling::note_encryption::Zip212Enforcement::Off, &mut rng); let rseed = generate_random_rseed(
::sapling_crypto::note_encryption::Zip212Enforcement::Off,
&mut rng,
);
let note = Note::from_parts(to, NoteValue::from_raw(value), rseed); let note = Note::from_parts(to, NoteValue::from_raw(value), rseed);
let encryptor = sapling_note_encryption::<_>( let encryptor = sapling_note_encryption::<_>(

View File

@ -4,7 +4,7 @@ use std::sync::Arc;
use color_eyre::Result; use color_eyre::Result;
use sapling::{ use sapling_crypto::{
zip32::{DiversifiableFullViewingKey, ExtendedSpendingKey}, zip32::{DiversifiableFullViewingKey, ExtendedSpendingKey},
Nullifier, Nullifier,
}; };

View File

@ -113,9 +113,9 @@ tokio = { version = "1.39.2", features = ["full"], optional = true }
jsonrpc = { version = "0.18.0", optional = true } jsonrpc = { version = "0.18.0", optional = true }
zcash_primitives = { version = "0.15.0", optional = true } zcash_primitives = { workspace = true, optional = true }
zcash_client_backend = { version = "0.12.1", optional = true } zcash_client_backend = { workspace = true, optional = true }
zcash_protocol = { version = "0.1.1" } zcash_protocol.workspace = true
# For the openapi generator # For the openapi generator
rand = "0.8.5" rand = "0.8.5"