librustzcash/Cargo.toml

162 lines
4.5 KiB
TOML

[workspace]
members = [
"components/equihash",
"components/f4jumble",
"components/zcash_address",
"components/zcash_encoding",
"components/zcash_protocol",
"components/zip321",
"devtools",
"zcash",
"zcash_client_backend",
"zcash_client_sqlite",
"zcash_extensions",
"zcash_history",
"zcash_keys",
"zcash_primitives",
"zcash_proofs",
]
[workspace.package]
edition = "2021"
rust-version = "1.70"
repository = "https://github.com/zcash/librustzcash"
license = "MIT OR Apache-2.0"
categories = ["cryptography::cryptocurrencies"]
# Common dependencies across all of our crates. Dependencies used only by a single crate
# (and that don't have cross-crate versioning needs) are specified by the crate itself.
#
# See the individual crate `Cargo.toml` files for information about which dependencies are
# part of a public API, and which can be updated without a SemVer bump.
[workspace.dependencies]
# Intra-workspace dependencies
equihash = { version = "0.2", path = "components/equihash" }
zcash_address = { version = "0.3", path = "components/zcash_address" }
zcash_client_backend = { version = "0.12", path = "zcash_client_backend" }
zcash_encoding = { version = "0.2", path = "components/zcash_encoding" }
zcash_keys = { version = "0.2", path = "zcash_keys" }
zcash_protocol = { version = "0.1", path = "components/zcash_protocol" }
zip321 = { version = "0.0", path = "components/zip321" }
zcash_note_encryption = "0.4"
zcash_primitives = { version = "0.15", path = "zcash_primitives", default-features = false }
zcash_proofs = { version = "0.15", path = "zcash_proofs", default-features = false }
# Shielded protocols
bellman = { version = "0.14", default-features = false, features = ["groth16"] }
ff = "0.13"
group = "0.13"
incrementalmerkletree = "0.5.1"
shardtree = "0.3.1"
zcash_spec = "0.1"
# Payment protocols
# - Sapling
bitvec = "1"
blake2s_simd = "1"
bls12_381 = "0.8"
jubjub = "0.10"
sapling = { package = "sapling-crypto", version = "0.1.3", default-features = false }
# - Orchard
nonempty = "0.7"
orchard = { version = "0.8.0", default-features = false }
pasta_curves = "0.5"
# - Transparent
bip32 = { version = "0.5", default-features = false, features = ["secp256k1-ffi"] }
ripemd = "0.1"
secp256k1 = "0.27"
# CSPRNG
rand = "0.8"
rand_core = "0.6"
# Currency conversions
rust_decimal = { version = "1.35", default-features = false, features = ["serde"] }
# Digests
blake2b_simd = "1"
sha2 = "0.10"
# Documentation
document-features = "0.2"
# Encodings
base64 = "0.21"
bech32 = "0.9"
bs58 = { version = "0.5", features = ["check"] }
byteorder = "1"
hex = "0.4"
percent-encoding = "2.1.0"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
# HTTP
hyper = "1"
http-body-util = "0.1"
hyper-util = { version = "0.1.1", features = ["tokio"] }
tokio-rustls = "0.24"
webpki-roots = "0.25"
# Logging and metrics
memuse = "0.2.1"
tracing = "0.1"
# Parallel processing
crossbeam-channel = "0.5"
maybe-rayon = { version = "0.1.0", default-features = false }
rayon = "1.5"
# Protobuf and gRPC
prost = "0.13"
tonic = { version = "0.12", default-features = false }
tonic-build = { version = "0.12", default-features = false }
# Secret management
secrecy = "0.8"
subtle = "2.2.3"
# SQLite databases
# - Warning: One of the downstream consumers requires that SQLite be available through
# CocoaPods, due to being bound to React Native. We need to ensure that the SQLite
# version required for `rusqlite` is a version that is available through CocoaPods.
rusqlite = { version = "0.29.0", features = ["bundled"] }
schemer = "0.2"
schemer-rusqlite = "0.2.2"
time = "0.3.22"
uuid = "1.1"
# Static constants and assertions
lazy_static = "1"
static_assertions = "1"
# Tests and benchmarks
assert_matches = "1.5"
criterion = "0.5"
proptest = "1"
rand_chacha = "0.3"
rand_xorshift = "0.3"
# Tor
# - `arti-client` depends on `rusqlite`, and a version mismatch there causes a compilation
# failure due to incompatible `libsqlite3-sys` versions.
arti-client = { version = "0.11", default-features = false, features = ["compression", "rustls", "tokio"] }
tokio = "1"
tor-rtcompat = "0.9"
# ZIP 32
aes = "0.8"
fpe = "0.6"
zip32 = "0.1.1"
[profile.release]
lto = true
panic = 'abort'
codegen-units = 1
[patch.crates-io]
incrementalmerkletree = { git = "https://github.com/zcash/incrementalmerkletree", rev = "337f59179eda51261e9ddfc6b18e8fb84ea277c9" }
shardtree = { git = "https://github.com/zcash/incrementalmerkletree", rev = "337f59179eda51261e9ddfc6b18e8fb84ea277c9" }