deps(bump): zcash_primitives, zcash_note_encryption, zcash_encoding, orchard, and zcash_script (#5505)
* Bump zcash_primitives, zcash_note_encryption and oechard deps at once * Bump dependencies, and update `deny.toml` * Upgrade to zcash_script 0.1.8 * Update Cargo.lock * Use 3-part version numbers consistently * Get address by serializing the Output, then using zcash_primitives to parse it (#5507) Co-authored-by: Marek <mail@marek.onl> Co-authored-by: teor <teor@riseup.net>
This commit is contained in:
parent
161bb80ce8
commit
8441801e42
|
@ -59,15 +59,6 @@ version = "1.0.2"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
|
||||
|
||||
[[package]]
|
||||
name = "aead"
|
||||
version = "0.4.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0b613b8e1e3cf911a086f53f03bf286f52fd7a7258e4fa606f0ef220d39d8877"
|
||||
dependencies = [
|
||||
"generic-array 0.14.5",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "aead"
|
||||
version = "0.5.1"
|
||||
|
@ -326,15 +317,15 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "bindgen"
|
||||
version = "0.59.2"
|
||||
version = "0.60.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2bd2a9a458e8f4304c52c43ebb0cfbd520289f8379a52e329a38afda99bf8eb8"
|
||||
checksum = "062dddbc1ba4aca46de6338e2bf87771414c335f7b2f2036e8f3e9befebf88e6"
|
||||
dependencies = [
|
||||
"bitflags",
|
||||
"cexpr",
|
||||
"clang-sys",
|
||||
"clap 2.34.0",
|
||||
"env_logger 0.9.0",
|
||||
"clap 3.2.20",
|
||||
"env_logger 0.9.1",
|
||||
"lazy_static",
|
||||
"lazycell",
|
||||
"log",
|
||||
|
@ -347,25 +338,6 @@ dependencies = [
|
|||
"which",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "bindgen"
|
||||
version = "0.60.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "062dddbc1ba4aca46de6338e2bf87771414c335f7b2f2036e8f3e9befebf88e6"
|
||||
dependencies = [
|
||||
"bitflags",
|
||||
"cexpr",
|
||||
"clang-sys",
|
||||
"lazy_static",
|
||||
"lazycell",
|
||||
"peeking_take_while",
|
||||
"proc-macro2 1.0.42",
|
||||
"quote 1.0.20",
|
||||
"regex",
|
||||
"rustc-hash",
|
||||
"shlex",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "bip0039"
|
||||
version = "0.9.0"
|
||||
|
@ -610,18 +582,6 @@ version = "1.0.0"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
|
||||
|
||||
[[package]]
|
||||
name = "chacha20"
|
||||
version = "0.8.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5c80e5460aa66fe3b91d40bcbdab953a597b60053e34d684ac6903f863b680a6"
|
||||
dependencies = [
|
||||
"cfg-if 1.0.0",
|
||||
"cipher 0.3.0",
|
||||
"cpufeatures",
|
||||
"zeroize",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "chacha20"
|
||||
version = "0.9.0"
|
||||
|
@ -633,29 +593,16 @@ dependencies = [
|
|||
"cpufeatures",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "chacha20poly1305"
|
||||
version = "0.9.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a18446b09be63d457bbec447509e85f662f32952b035ce892290396bc0b0cff5"
|
||||
dependencies = [
|
||||
"aead 0.4.3",
|
||||
"chacha20 0.8.2",
|
||||
"cipher 0.3.0",
|
||||
"poly1305 0.7.2",
|
||||
"zeroize",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "chacha20poly1305"
|
||||
version = "0.10.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "10cd79432192d1c0f4e1a0fef9527696cc039165d729fb41b3f4f4f354c2dc35"
|
||||
dependencies = [
|
||||
"aead 0.5.1",
|
||||
"chacha20 0.9.0",
|
||||
"aead",
|
||||
"chacha20",
|
||||
"cipher 0.4.3",
|
||||
"poly1305 0.8.0",
|
||||
"poly1305",
|
||||
"zeroize",
|
||||
]
|
||||
|
||||
|
@ -754,9 +701,12 @@ version = "3.2.20"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "23b71c3ce99b7611011217b366d923f1d0a7e07a92bb2dbf1e84508c673ca3bd"
|
||||
dependencies = [
|
||||
"atty",
|
||||
"bitflags",
|
||||
"clap_lex",
|
||||
"indexmap",
|
||||
"strsim 0.10.0",
|
||||
"termcolor",
|
||||
"textwrap 0.15.0",
|
||||
]
|
||||
|
||||
|
@ -1030,9 +980,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "cxx"
|
||||
version = "1.0.72"
|
||||
version = "1.0.79"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b7c14d679239b1ccaad7acaf972a19b41b6c1d7a8cb942158294b4f11ec71bd8"
|
||||
checksum = "3f83d0ebf42c6eafb8d7c52f7e5f2d3003b89c7aa4fd2b79229209459a849af8"
|
||||
dependencies = [
|
||||
"cc",
|
||||
"cxxbridge-flags",
|
||||
|
@ -1054,15 +1004,15 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "cxxbridge-flags"
|
||||
version = "1.0.72"
|
||||
version = "1.0.79"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2fdfa84261f05a9b69c0afe03270f9f26d6899ca7df6f442563908b646e8a376"
|
||||
checksum = "99d2199b00553eda8012dfec8d3b1c75fce747cf27c169a270b3b99e3448ab78"
|
||||
|
||||
[[package]]
|
||||
name = "cxxbridge-macro"
|
||||
version = "1.0.72"
|
||||
version = "1.0.79"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0269826813dfbda75223169c774fede73401793e9af3970e4edbe93879782c1d"
|
||||
checksum = "dcb67a6de1f602736dd7eaead0080cf3435df806c61b24b13328db128c58868f"
|
||||
dependencies = [
|
||||
"proc-macro2 1.0.42",
|
||||
"quote 1.0.20",
|
||||
|
@ -1224,7 +1174,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||
checksum = "7c24f403d068ad0b359e577a77f92392118be3f3c927538f2bb544a5ecd828c6"
|
||||
dependencies = [
|
||||
"curve25519-dalek",
|
||||
"hashbrown 0.12.1",
|
||||
"hashbrown",
|
||||
"hex",
|
||||
"rand_core 0.6.4",
|
||||
"serde",
|
||||
|
@ -1285,9 +1235,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "env_logger"
|
||||
version = "0.9.0"
|
||||
version = "0.9.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0b2cf0344971ee6c64c31be0d530793fba457d322dfec2810c453d0ef228f9c3"
|
||||
checksum = "c90bf5f19754d10198ccb95b70664fc925bd1fc090a0fd9a6ebc54acc8cd6272"
|
||||
dependencies = [
|
||||
"atty",
|
||||
"humantime",
|
||||
|
@ -2211,7 +2161,7 @@ version = "0.8.0+7.4.4"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "611804e4666a25136fcc5f8cf425ab4d26c7f74ea245ffe92ea23b85b6420b5d"
|
||||
dependencies = [
|
||||
"bindgen 0.60.1",
|
||||
"bindgen",
|
||||
"bzip2-sys",
|
||||
"cc",
|
||||
"glob",
|
||||
|
@ -2642,34 +2592,6 @@ dependencies = [
|
|||
"vcpkg",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "orchard"
|
||||
version = "0.2.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7619db7f917afd9b1139044c595fab1b6166de2db62317794b5f5e34a2104ae1"
|
||||
dependencies = [
|
||||
"aes",
|
||||
"bitvec",
|
||||
"blake2b_simd",
|
||||
"ff",
|
||||
"fpe",
|
||||
"group",
|
||||
"halo2_gadgets",
|
||||
"halo2_proofs",
|
||||
"hex",
|
||||
"incrementalmerkletree",
|
||||
"lazy_static",
|
||||
"memuse",
|
||||
"nonempty",
|
||||
"pasta_curves",
|
||||
"rand 0.8.5",
|
||||
"reddsa",
|
||||
"serde",
|
||||
"subtle",
|
||||
"tracing",
|
||||
"zcash_note_encryption 0.1.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "orchard"
|
||||
version = "0.3.0"
|
||||
|
@ -2695,7 +2617,7 @@ dependencies = [
|
|||
"serde",
|
||||
"subtle",
|
||||
"tracing",
|
||||
"zcash_note_encryption 0.2.0",
|
||||
"zcash_note_encryption",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -3005,17 +2927,6 @@ dependencies = [
|
|||
"plotters-backend",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "poly1305"
|
||||
version = "0.7.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "048aeb476be11a4b6ca432ca569e375810de9294ae78f4774e78ea98a9246ede"
|
||||
dependencies = [
|
||||
"cpufeatures",
|
||||
"opaque-debug 0.3.0",
|
||||
"universal-hash 0.4.1",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "poly1305"
|
||||
version = "0.8.0"
|
||||
|
@ -3024,7 +2935,7 @@ checksum = "8159bd90725d2df49889a078b54f4f79e87f1f8a8444194cdca81d38f5393abf"
|
|||
dependencies = [
|
||||
"cpufeatures",
|
||||
"opaque-debug 0.3.0",
|
||||
"universal-hash 0.5.0",
|
||||
"universal-hash",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -4795,16 +4706,6 @@ version = "0.2.2"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3"
|
||||
|
||||
[[package]]
|
||||
name = "universal-hash"
|
||||
version = "0.4.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9f214e8f697e925001e66ec2c6e37a4ef93f0f78c2eed7814394e10c62025b05"
|
||||
dependencies = [
|
||||
"generic-array 0.14.5",
|
||||
"subtle",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "universal-hash"
|
||||
version = "0.5.0"
|
||||
|
@ -5203,17 +5104,7 @@ dependencies = [
|
|||
"bech32 0.8.1",
|
||||
"bs58",
|
||||
"f4jumble",
|
||||
"zcash_encoding 0.2.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "zcash_encoding"
|
||||
version = "0.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9fb61ea88eb539bc0ac2068e5da99411dd4978595b3d7ff6a4b1562ddc8e8710"
|
||||
dependencies = [
|
||||
"byteorder",
|
||||
"nonempty",
|
||||
"zcash_encoding",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -5237,68 +5128,19 @@ dependencies = [
|
|||
"primitive-types",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "zcash_note_encryption"
|
||||
version = "0.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "33f84ae538f05a8ac74c82527f06b77045ed9553a0871d9db036166a4c344e3a"
|
||||
dependencies = [
|
||||
"chacha20 0.8.2",
|
||||
"chacha20poly1305 0.9.1",
|
||||
"rand_core 0.6.4",
|
||||
"subtle",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "zcash_note_encryption"
|
||||
version = "0.2.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2be9c12532389fd03786b7068fb7936c17fade23b48f584707bdc5f79f3ec867"
|
||||
dependencies = [
|
||||
"chacha20 0.9.0",
|
||||
"chacha20poly1305 0.10.1",
|
||||
"chacha20",
|
||||
"chacha20poly1305",
|
||||
"cipher 0.4.3",
|
||||
"rand_core 0.6.4",
|
||||
"subtle",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "zcash_primitives"
|
||||
version = "0.7.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4fbb401f5dbc482b831954aaa7cba0a8fe148241db6d19fe7cebda78252ca680"
|
||||
dependencies = [
|
||||
"aes",
|
||||
"bip0039",
|
||||
"bitvec",
|
||||
"blake2b_simd",
|
||||
"blake2s_simd",
|
||||
"bls12_381",
|
||||
"bs58",
|
||||
"byteorder",
|
||||
"chacha20poly1305 0.9.1",
|
||||
"equihash",
|
||||
"ff",
|
||||
"fpe",
|
||||
"group",
|
||||
"hdwallet",
|
||||
"hex",
|
||||
"incrementalmerkletree",
|
||||
"jubjub",
|
||||
"lazy_static",
|
||||
"memuse",
|
||||
"nonempty",
|
||||
"orchard 0.2.0",
|
||||
"rand 0.8.5",
|
||||
"rand_core 0.6.4",
|
||||
"ripemd",
|
||||
"secp256k1",
|
||||
"sha2",
|
||||
"subtle",
|
||||
"zcash_encoding 0.1.0",
|
||||
"zcash_note_encryption 0.1.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "zcash_primitives"
|
||||
version = "0.8.1"
|
||||
|
@ -5311,26 +5153,30 @@ dependencies = [
|
|||
"blake2b_simd",
|
||||
"blake2s_simd",
|
||||
"bls12_381",
|
||||
"bs58",
|
||||
"byteorder",
|
||||
"chacha20poly1305 0.10.1",
|
||||
"chacha20poly1305",
|
||||
"equihash",
|
||||
"ff",
|
||||
"fpe",
|
||||
"group",
|
||||
"hdwallet",
|
||||
"hex",
|
||||
"incrementalmerkletree",
|
||||
"jubjub",
|
||||
"lazy_static",
|
||||
"memuse",
|
||||
"nonempty",
|
||||
"orchard 0.3.0",
|
||||
"orchard",
|
||||
"rand 0.8.5",
|
||||
"rand_core 0.6.4",
|
||||
"ripemd",
|
||||
"secp256k1",
|
||||
"sha2",
|
||||
"subtle",
|
||||
"zcash_address",
|
||||
"zcash_encoding 0.2.0",
|
||||
"zcash_note_encryption 0.2.0",
|
||||
"zcash_encoding",
|
||||
"zcash_note_encryption",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -5351,29 +5197,29 @@ dependencies = [
|
|||
"rand_core 0.6.4",
|
||||
"redjubjub",
|
||||
"tracing",
|
||||
"zcash_primitives 0.8.1",
|
||||
"zcash_primitives",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "zcash_script"
|
||||
version = "0.1.7"
|
||||
version = "0.1.8"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "81e4255f320dead417a91cbf00a178b0d702b813d5a8c95a5f2e4cc7ccced17f"
|
||||
checksum = "4696f0dcc0d9dd4d9d4a8fa5009caa85cfad93faca63164cd02e5a2c6757ac27"
|
||||
dependencies = [
|
||||
"bindgen 0.59.2",
|
||||
"bindgen",
|
||||
"blake2b_simd",
|
||||
"cc",
|
||||
"cxx",
|
||||
"cxx-gen",
|
||||
"libc",
|
||||
"memuse",
|
||||
"orchard 0.2.0",
|
||||
"orchard",
|
||||
"rand_core 0.6.4",
|
||||
"syn 1.0.99",
|
||||
"tracing",
|
||||
"zcash_encoding 0.1.0",
|
||||
"zcash_note_encryption 0.1.0",
|
||||
"zcash_primitives 0.7.0",
|
||||
"zcash_encoding",
|
||||
"zcash_note_encryption",
|
||||
"zcash_primitives",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -5405,7 +5251,7 @@ dependencies = [
|
|||
"itertools",
|
||||
"jubjub",
|
||||
"lazy_static",
|
||||
"orchard 0.2.0",
|
||||
"orchard",
|
||||
"primitive-types",
|
||||
"proptest",
|
||||
"proptest-derive",
|
||||
|
@ -5429,10 +5275,10 @@ dependencies = [
|
|||
"tracing",
|
||||
"uint",
|
||||
"x25519-dalek",
|
||||
"zcash_encoding 0.1.0",
|
||||
"zcash_encoding",
|
||||
"zcash_history",
|
||||
"zcash_note_encryption 0.1.0",
|
||||
"zcash_primitives 0.7.0",
|
||||
"zcash_note_encryption",
|
||||
"zcash_primitives",
|
||||
"zebra-test",
|
||||
]
|
||||
|
||||
|
@ -5459,7 +5305,7 @@ dependencies = [
|
|||
"lazy_static",
|
||||
"metrics",
|
||||
"once_cell",
|
||||
"orchard 0.2.0",
|
||||
"orchard",
|
||||
"proptest",
|
||||
"proptest-derive",
|
||||
"rand 0.8.5",
|
||||
|
|
14
deny.toml
14
deny.toml
|
@ -28,10 +28,6 @@ highlight = "all"
|
|||
#
|
||||
# Certain crates/versions that will be skipped when doing duplicate detection.
|
||||
skip = [
|
||||
# ECC crates only
|
||||
|
||||
{ name = "zcash_encoding", version = "=0.1.0"},
|
||||
{ name = "zcash_primitives", version = "=0.7.0"},
|
||||
]
|
||||
|
||||
# Similarly to `skip` allows you to skip certain crates during duplicate
|
||||
|
@ -39,6 +35,9 @@ skip = [
|
|||
# dependencies starting at the specified crate, up to a certain depth, which is
|
||||
# by default infinite
|
||||
skip-tree = [
|
||||
# Wait until `orchard` updates `aes`, which depends on `cipher`
|
||||
{ name = "cipher", version = "=0.3.0" },
|
||||
|
||||
# ticket #3000: upgrade tower-fallback dependencies
|
||||
{ name = "pin-project", version = "=0.4.30" },
|
||||
|
||||
|
@ -51,10 +50,6 @@ skip-tree = [
|
|||
# wait for primitive-types to upgrade
|
||||
{ name = "proc-macro-crate", version = "=0.1.5" },
|
||||
|
||||
# wait for zcash_script to upgrade bindgen
|
||||
# https://github.com/ZcashFoundation/zcash_script/issues/40
|
||||
{ name = "bindgen", version = "=0.59.2" },
|
||||
|
||||
# ECC crates
|
||||
|
||||
# wait for zcash_primitives to remove duplicated dependencies
|
||||
|
@ -67,6 +62,7 @@ skip-tree = [
|
|||
# zebra-utils dependencies
|
||||
|
||||
# wait for structopt upgrade (or upgrade to clap 3)
|
||||
{ name = "clap", version = "=2.34.0" },
|
||||
{ name = "heck", version = "=0.3.3" },
|
||||
|
||||
# Test-only dependencies
|
||||
|
@ -86,8 +82,6 @@ skip-tree = [
|
|||
{ name = "darling", version = "=0.10.2" },
|
||||
{ name = "semver", version = "=0.9.0" },
|
||||
{ name = "tracing-subscriber", version = "=0.1.6" },
|
||||
|
||||
{ name = "orchard", version = "=0.2.0" },
|
||||
]
|
||||
|
||||
# This section is considered when running `cargo deny check sources`.
|
||||
|
|
|
@ -42,11 +42,11 @@ x25519-dalek = { version = "2.0.0-pre.1", features = ["serde"] }
|
|||
|
||||
# ECC deps
|
||||
halo2 = { package = "halo2_proofs", version = "0.2.0" }
|
||||
orchard = "0.2.0"
|
||||
zcash_encoding = "0.1.0"
|
||||
orchard = "0.3.0"
|
||||
zcash_encoding = "0.2.0"
|
||||
zcash_history = "0.3.0"
|
||||
zcash_note_encryption = "0.1"
|
||||
zcash_primitives = { version = "0.7.0", features = ["transparent-inputs"] }
|
||||
zcash_note_encryption = "0.2.0"
|
||||
zcash_primitives = { version = "0.8.1", features = ["transparent-inputs"] }
|
||||
|
||||
# Time
|
||||
chrono = { version = "0.4.22", default-features = false, features = ["clock", "std", "serde"] }
|
||||
|
|
|
@ -1,11 +1,7 @@
|
|||
//! Contains code that interfaces with the zcash_primitives crate from
|
||||
//! librustzcash.
|
||||
|
||||
use std::{
|
||||
convert::{TryFrom, TryInto},
|
||||
io,
|
||||
ops::Deref,
|
||||
};
|
||||
use std::{io, ops::Deref};
|
||||
|
||||
use zcash_primitives::transaction as zp_tx;
|
||||
|
||||
|
@ -182,6 +178,31 @@ pub(crate) fn convert_tx_to_librustzcash(
|
|||
Ok(alt_tx)
|
||||
}
|
||||
|
||||
/// Convert a Zebra transparent::Output into a librustzcash one.
|
||||
impl TryFrom<&transparent::Output> for zp_tx::components::TxOut {
|
||||
type Error = io::Error;
|
||||
|
||||
#[allow(clippy::unwrap_in_result)]
|
||||
fn try_from(output: &transparent::Output) -> Result<Self, Self::Error> {
|
||||
let serialized_output_bytes = output
|
||||
.zcash_serialize_to_vec()
|
||||
.expect("zcash_primitives and Zebra transparent output formats must be compatible");
|
||||
|
||||
zp_tx::components::TxOut::read(&mut serialized_output_bytes.as_slice())
|
||||
}
|
||||
}
|
||||
|
||||
/// Convert a Zebra transparent::Output into a librustzcash one.
|
||||
impl TryFrom<transparent::Output> for zp_tx::components::TxOut {
|
||||
type Error = io::Error;
|
||||
|
||||
// The borrow is actually needed to use TryFrom<&transparent::Output>
|
||||
#[allow(clippy::needless_borrow)]
|
||||
fn try_from(output: transparent::Output) -> Result<Self, Self::Error> {
|
||||
(&output).try_into()
|
||||
}
|
||||
}
|
||||
|
||||
/// Convert a Zebra Amount into a librustzcash one.
|
||||
impl TryFrom<Amount<NonNegative>> for zp_tx::components::Amount {
|
||||
type Error = ();
|
||||
|
@ -290,8 +311,11 @@ pub(crate) fn transparent_output_address(
|
|||
output: &transparent::Output,
|
||||
network: Network,
|
||||
) -> Option<transparent::Address> {
|
||||
let script = zcash_primitives::legacy::Script::from(&output.lock_script);
|
||||
let alt_addr = script.address();
|
||||
let tx_out = zp_tx::components::TxOut::try_from(output)
|
||||
.expect("zcash_primitives and Zebra transparent output formats must be compatible");
|
||||
|
||||
let alt_addr = tx_out.recipient_address();
|
||||
|
||||
match alt_addr {
|
||||
Some(zcash_primitives::legacy::TransparentAddress::PublicKey(pub_key_hash)) => Some(
|
||||
transparent::Address::from_pub_key_hash(network, pub_key_hash),
|
||||
|
|
|
@ -34,7 +34,7 @@ tower = { version = "0.4.13", features = ["timeout", "util", "buffer"] }
|
|||
tracing = "0.1.37"
|
||||
tracing-futures = "0.2.5"
|
||||
|
||||
orchard = "0.2.0"
|
||||
orchard = "0.3.0"
|
||||
|
||||
zcash_proofs = { version = "0.8.0", features = ["local-prover", "multicore", "download-params"] }
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ edition = "2021"
|
|||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
|
||||
[dependencies]
|
||||
zcash_script = "0.1.7"
|
||||
zcash_script = "0.1.8"
|
||||
|
||||
zebra-chain = { path = "../zebra-chain" }
|
||||
|
||||
|
|
Loading…
Reference in New Issue