Merge pull request #690 from zcash/dependency-refactor

Dependency refactor
This commit is contained in:
Kris Nuttycombe 2022-11-01 13:40:19 -06:00 committed by GitHub
commit df1cbbdd1d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 144 additions and 72 deletions

View File

@ -17,49 +17,72 @@ rust-version = "1.56.1"
development = ["zcash_proofs"]
[dependencies]
base64 = "0.13"
bech32 = "0.8"
bls12_381 = "0.7"
bs58 = { version = "0.4", features = ["check"] }
byteorder = { version = "1", optional = true }
crossbeam-channel = "0.5"
group = "0.12"
hex = "0.4"
hdwallet = { version = "0.3.1", optional = true }
jubjub = "0.9"
memuse = "0.2"
nom = "7"
orchard = "0.3"
percent-encoding = "2.1.0"
proptest = { version = "1.0.0", optional = true }
protobuf = "~2.27.1" # MSRV 1.52.1
rand_core = "0.6"
rayon = "1.5"
ripemd = { version = "0.1", optional = true }
secp256k1 = { version = "0.21", optional = true }
secrecy = "0.8"
sha2 = { version = "0.10.1", optional = true }
subtle = "2.2.3"
time = "0.2"
tracing = "0.1"
zcash_address = { version = "0.2", path = "../components/zcash_address" }
zcash_encoding = { version = "0.2", path = "../components/zcash_encoding" }
zcash_note_encryption = { version = "0.2", path = "../components/zcash_note_encryption" }
zcash_primitives = { version = "0.8", path = "../zcash_primitives" }
# Dependencies exposed in a public API:
# (Breaking upgrades to these require a breaking upgrade to this crate.)
# - Data Access API
time = "0.2"
# - Encodings
base64 = "0.13"
bech32 = "0.8"
bs58 = { version = "0.4", features = ["check"] }
# - Errors
hdwallet = { version = "0.3.1", optional = true }
# - Logging and metrics
memuse = "0.2"
tracing = "0.1"
# - Protobuf interfaces
protobuf = "~2.27.1" # MSRV 1.52.1
# - Secret management
secrecy = "0.8"
subtle = "2.2.3"
# - Shielded protocols
bls12_381 = "0.7"
group = "0.12"
orchard = "0.3"
# - Test dependencies
proptest = { version = "1.0.0", optional = true }
# - ZIP 321
nom = "7"
# Dependencies used internally:
# (Breaking upgrades to these are usually backwards-compatible, but check MSRVs.)
# - Encodings
byteorder = { version = "1", optional = true }
percent-encoding = "2.1.0"
# - Scanning
crossbeam-channel = "0.5"
rayon = "1.5"
[build-dependencies]
protobuf-codegen-pure = "~2.27.1" # MSRV 1.52.1
[dev-dependencies]
gumdrop = "0.8"
hex = "0.4"
jubjub = "0.9"
proptest = "1.0.0"
rand_core = "0.6"
rand_xorshift = "0.3"
tempfile = "3.1.0"
zcash_proofs = { version = "0.8", path = "../zcash_proofs" }
zcash_address = { version = "0.2", path = "../components/zcash_address", features = ["test-dependencies"] }
[features]
transparent-inputs = ["ripemd", "hdwallet", "sha2", "secp256k1", "zcash_primitives/transparent-inputs"]
transparent-inputs = ["hdwallet", "zcash_primitives/transparent-inputs"]
test-dependencies = [
"proptest",
"orchard/test-dependencies",

View File

@ -14,24 +14,36 @@ edition = "2021"
rust-version = "1.56.1"
[dependencies]
bech32 = "0.8"
bs58 = { version = "0.4", features = ["check"] }
group = "0.12"
hdwallet = { version = "0.3.1", optional = true }
jubjub = "0.9"
protobuf = "~2.27.1" # MSRV 1.52.1
rand_core = "0.6"
rusqlite = { version = "0.25", features = ["bundled", "time"] }
schemer = "0.2"
schemer-rusqlite = "0.2"
secrecy = "0.8"
time = "0.2"
uuid = "1.1"
zcash_client_backend = { version = "0.5", path = "../zcash_client_backend" }
zcash_primitives = { version = "0.8", path = "../zcash_primitives" }
# Dependencies exposed in a public API:
# (Breaking upgrades to these require a breaking upgrade to this crate.)
# - Errors
bs58 = { version = "0.4", features = ["check"] }
hdwallet = { version = "0.3.1", optional = true }
# - Protobuf interfaces
protobuf = "~2.27.1" # MSRV 1.52.1
# - Secret management
secrecy = "0.8"
# - SQLite databases
group = "0.12"
jubjub = "0.9"
rusqlite = { version = "0.25", features = ["bundled", "time"] }
schemer = "0.2"
schemer-rusqlite = "0.2"
time = "0.2"
uuid = "1.1"
# Dependencies used internally:
# (Breaking upgrades to these are usually backwards-compatible, but check MSRVs.)
[dev-dependencies]
proptest = "1.0.0"
rand_core = "0.6"
regex = "1.4"
tempfile = "3"
zcash_proofs = { version = "0.8", path = "../zcash_proofs" }

View File

@ -18,43 +18,74 @@ categories = ["cryptography::cryptocurrencies"]
all-features = true
[dependencies]
aes = "0.7"
bitvec = "1"
bip0039 = { version = "0.9", features = ["std", "all-languages"] }
blake2b_simd = "1"
blake2s_simd = "1"
bls12_381 = "0.7"
bs58 = { version = "0.4", features = ["check"], optional = true }
byteorder = "1"
chacha20poly1305 = "0.10"
equihash = { version = "0.2", path = "../components/equihash" }
ff = "0.12"
fpe = "0.5"
group = { version = "0.12.1", features = ["wnaf-memuse"] }
hdwallet = { version = "0.3.1", optional = true }
hex = "0.4"
incrementalmerkletree = "0.3"
jubjub = "0.9"
lazy_static = "1"
memuse = "0.2.1"
nonempty = "0.7"
orchard = "0.3"
proptest = { version = "1.0.0", optional = true }
rand = "0.8"
rand_core = "0.6"
ripemd = { version = "0.1", optional = true }
secp256k1 = { version = "0.21", optional = true }
sha2 = "0.9"
subtle = "2.2.3"
zcash_address = { version = "0.2", path = "../components/zcash_address" }
zcash_encoding = { version = "0.2", path = "../components/zcash_encoding" }
# Dependencies exposed in a public API:
# (Breaking upgrades to these require a breaking upgrade to this crate.)
# - CSPRNG
rand = "0.8"
rand_core = "0.6"
# - Digests (output types exposed)
blake2b_simd = "1"
sha2 = "0.9"
# - Metrics
memuse = "0.2.1"
# - Secret management
subtle = "2.2.3"
# - Shielded protocols
bls12_381 = "0.7"
ff = "0.12"
group = { version = "0.12.1", features = ["wnaf-memuse"] }
incrementalmerkletree = "0.3"
jubjub = "0.9"
nonempty = "0.7"
orchard = "0.3"
# - Static constants
lazy_static = "1"
# - Test dependencies
proptest = { version = "1.0.0", optional = true }
# - Transparent inputs
# - `Error` type exposed
hdwallet = { version = "0.3.1", optional = true }
# - `SecretKey` and `PublicKey` types exposed
secp256k1 = { version = "0.21", optional = true }
# - ZIP 339
bip0039 = { version = "0.9", features = ["std", "all-languages"] }
# Dependencies used internally:
# (Breaking upgrades to these are usually backwards-compatible, but check MSRVs.)
# - Encodings
byteorder = "1"
hex = "0.4"
# - Shielded protocols
bitvec = "1"
blake2s_simd = "1"
# - Transparent inputs
ripemd = { version = "0.1", optional = true }
# - ZIP 32
aes = "0.7"
fpe = "0.5"
[dependencies.zcash_note_encryption]
version = "0.2"
path = "../components/zcash_note_encryption"
features = ["pre-zip-212"]
[dev-dependencies]
chacha20poly1305 = "0.10"
criterion = "0.3"
proptest = "1.0.0"
rand_xorshift = "0.3"
@ -64,7 +95,7 @@ orchard = { version = "0.3", features = ["test-dependencies"] }
pprof = { version = "0.9", features = ["criterion", "flamegraph"] } # MSRV 1.56
[features]
transparent-inputs = ["bs58", "hdwallet", "ripemd", "secp256k1"]
transparent-inputs = ["hdwallet", "ripemd", "secp256k1"]
test-dependencies = ["proptest", "orchard/test-dependencies"]
zfuture = []

View File

@ -17,22 +17,28 @@ categories = ["cryptography::cryptocurrencies"]
all-features = true
[dependencies]
zcash_primitives = { version = "0.8", path = "../zcash_primitives" }
# Dependencies exposed in a public API:
# (Breaking upgrades to these require a breaking upgrade to this crate.)
bellman = { version = "0.13.1", default-features = false, features = ["groth16"] }
blake2b_simd = "1"
bls12_381 = "0.7"
byteorder = "1"
directories = { version = "4", optional = true }
group = "0.12"
jubjub = "0.9"
lazy_static = "1"
minreq = { version = "2", features = ["https"], optional = true }
rand_core = "0.6"
redjubjub = "0.5"
tracing = "0.1"
# Dependencies used internally:
# (Breaking upgrades to these are usually backwards-compatible, but check MSRVs.)
blake2b_simd = "1"
directories = { version = "4", optional = true }
redjubjub = "0.5"
wagyu-zcash-parameters = { version = "0.2", optional = true }
zcash_primitives = { version = "0.8", path = "../zcash_primitives" }
[dev-dependencies]
byteorder = "1"
criterion = "0.3"
rand_xorshift = "0.3"