2018-08-23 13:10:04 -07:00
|
|
|
[workspace]
|
|
|
|
members = [
|
2020-06-25 17:53:07 -07:00
|
|
|
"components/equihash",
|
2021-09-22 06:13:34 -07:00
|
|
|
"components/f4jumble",
|
2021-03-07 10:18:16 -08:00
|
|
|
"components/zcash_address",
|
2021-08-30 09:42:05 -07:00
|
|
|
"components/zcash_encoding",
|
2024-01-27 08:22:01 -08:00
|
|
|
"components/zcash_protocol",
|
2024-01-15 15:16:42 -08:00
|
|
|
"components/zip321",
|
2024-07-19 18:51:02 -07:00
|
|
|
"devtools",
|
2024-07-15 08:30:54 -07:00
|
|
|
"zcash",
|
2018-10-22 09:36:23 -07:00
|
|
|
"zcash_client_backend",
|
2019-03-08 18:16:00 -08:00
|
|
|
"zcash_client_sqlite",
|
2024-03-10 11:07:59 -07:00
|
|
|
"zcash_extensions",
|
2020-03-03 17:02:31 -08:00
|
|
|
"zcash_history",
|
2024-01-14 09:47:26 -08:00
|
|
|
"zcash_keys",
|
2018-08-23 15:15:22 -07:00
|
|
|
"zcash_primitives",
|
|
|
|
"zcash_proofs",
|
2018-08-23 13:10:04 -07:00
|
|
|
]
|
|
|
|
|
2023-09-26 13:12:23 -07:00
|
|
|
[workspace.package]
|
|
|
|
edition = "2021"
|
2024-06-12 03:58:17 -07:00
|
|
|
rust-version = "1.70"
|
2023-09-26 13:12:23 -07:00
|
|
|
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" }
|
2024-08-26 14:45:21 -07:00
|
|
|
zcash_address = { version = "0.5", path = "components/zcash_address" }
|
2024-08-19 18:46:49 -07:00
|
|
|
zcash_client_backend = { version = "0.13", path = "zcash_client_backend" }
|
2024-08-19 13:23:59 -07:00
|
|
|
zcash_encoding = { version = "0.2.1", path = "components/zcash_encoding" }
|
2024-08-19 18:17:27 -07:00
|
|
|
zcash_keys = { version = "0.3", path = "zcash_keys" }
|
2024-08-26 14:31:17 -07:00
|
|
|
zcash_protocol = { version = "0.3", path = "components/zcash_protocol" }
|
2024-08-19 18:37:46 -07:00
|
|
|
zip321 = { version = "0.1", path = "components/zip321" }
|
2024-01-27 08:22:01 -08:00
|
|
|
|
2023-09-26 13:12:23 -07:00
|
|
|
zcash_note_encryption = "0.4"
|
2024-08-26 15:22:19 -07:00
|
|
|
zcash_primitives = { version = "0.17", path = "zcash_primitives", default-features = false }
|
2024-08-26 15:40:44 -07:00
|
|
|
zcash_proofs = { version = "0.17", path = "zcash_proofs", default-features = false }
|
2023-09-26 13:12:23 -07:00
|
|
|
|
|
|
|
# Shielded protocols
|
2024-07-19 18:51:02 -07:00
|
|
|
bellman = { version = "0.14", default-features = false, features = ["groth16"] }
|
2023-09-26 13:12:23 -07:00
|
|
|
ff = "0.13"
|
|
|
|
group = "0.13"
|
2024-08-12 14:30:32 -07:00
|
|
|
incrementalmerkletree = "0.6"
|
|
|
|
shardtree = "0.4"
|
2023-12-06 16:53:18 -08:00
|
|
|
zcash_spec = "0.1"
|
2023-09-26 13:12:23 -07:00
|
|
|
|
|
|
|
# Payment protocols
|
|
|
|
# - Sapling
|
|
|
|
bitvec = "1"
|
|
|
|
blake2s_simd = "1"
|
|
|
|
bls12_381 = "0.8"
|
|
|
|
jubjub = "0.10"
|
2024-08-12 14:30:32 -07:00
|
|
|
sapling = { package = "sapling-crypto", version = "0.2", default-features = false }
|
2023-09-26 13:12:23 -07:00
|
|
|
|
|
|
|
# - Orchard
|
|
|
|
nonempty = "0.7"
|
2024-08-12 14:30:32 -07:00
|
|
|
orchard = { version = "0.9", default-features = false }
|
2024-03-07 17:00:48 -08:00
|
|
|
pasta_curves = "0.5"
|
2023-09-26 13:12:23 -07:00
|
|
|
|
|
|
|
# - Transparent
|
2024-06-14 11:50:55 -07:00
|
|
|
bip32 = { version = "0.5", default-features = false, features = ["secp256k1-ffi"] }
|
2023-09-26 13:12:23 -07:00
|
|
|
ripemd = "0.1"
|
2024-06-14 11:50:55 -07:00
|
|
|
secp256k1 = "0.27"
|
2023-09-26 13:12:23 -07:00
|
|
|
|
|
|
|
# CSPRNG
|
|
|
|
rand = "0.8"
|
|
|
|
rand_core = "0.6"
|
|
|
|
|
2024-07-17 17:17:04 -07:00
|
|
|
# Currency conversions
|
|
|
|
rust_decimal = { version = "1.35", default-features = false, features = ["serde"] }
|
|
|
|
|
2023-09-26 13:12:23 -07:00
|
|
|
# Digests
|
|
|
|
blake2b_simd = "1"
|
|
|
|
sha2 = "0.10"
|
|
|
|
|
2024-01-03 12:14:41 -08:00
|
|
|
# Documentation
|
|
|
|
document-features = "0.2"
|
|
|
|
|
2023-09-26 13:12:23 -07:00
|
|
|
# Encodings
|
|
|
|
base64 = "0.21"
|
|
|
|
bech32 = "0.9"
|
|
|
|
bs58 = { version = "0.5", features = ["check"] }
|
|
|
|
byteorder = "1"
|
|
|
|
hex = "0.4"
|
|
|
|
percent-encoding = "2.1.0"
|
2024-06-14 04:48:18 -07:00
|
|
|
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"
|
2023-09-26 13:12:23 -07:00
|
|
|
|
|
|
|
# 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
|
2024-07-10 16:48:28 -07:00
|
|
|
prost = "0.13"
|
|
|
|
tonic = { version = "0.12", default-features = false }
|
|
|
|
tonic-build = { version = "0.12", default-features = false }
|
2023-09-26 13:12:23 -07:00
|
|
|
|
|
|
|
# Secret management
|
|
|
|
secrecy = "0.8"
|
|
|
|
subtle = "2.2.3"
|
|
|
|
|
2024-06-14 04:28:54 -07:00
|
|
|
# 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"
|
|
|
|
|
2024-07-03 21:22:18 -07:00
|
|
|
# Static constants and assertions
|
2023-09-26 13:12:23 -07:00
|
|
|
lazy_static = "1"
|
2024-07-03 21:22:18 -07:00
|
|
|
static_assertions = "1"
|
2023-09-26 13:12:23 -07:00
|
|
|
|
|
|
|
# Tests and benchmarks
|
2024-09-05 13:03:49 -07:00
|
|
|
ambassador = "0.4"
|
2023-09-26 13:12:23 -07:00
|
|
|
assert_matches = "1.5"
|
2024-06-12 04:45:09 -07:00
|
|
|
criterion = "0.5"
|
2023-09-26 13:12:23 -07:00
|
|
|
proptest = "1"
|
2024-03-09 15:47:51 -08:00
|
|
|
rand_chacha = "0.3"
|
2023-09-26 13:12:23 -07:00
|
|
|
rand_xorshift = "0.3"
|
|
|
|
|
2024-06-14 04:39:44 -07:00
|
|
|
# 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"
|
2024-07-29 16:07:02 -07:00
|
|
|
tower = "0.4"
|
2024-06-14 04:39:44 -07:00
|
|
|
|
2023-09-26 13:12:23 -07:00
|
|
|
# ZIP 32
|
|
|
|
aes = "0.8"
|
|
|
|
fpe = "0.6"
|
2024-03-14 15:59:19 -07:00
|
|
|
zip32 = "0.1.1"
|
2023-09-26 13:12:23 -07:00
|
|
|
|
2018-08-23 13:10:04 -07:00
|
|
|
[profile.release]
|
|
|
|
lto = true
|
|
|
|
panic = 'abort'
|
|
|
|
codegen-units = 1
|
2024-09-04 07:33:33 -07:00
|
|
|
|
|
|
|
[workspace.lints.rust]
|
|
|
|
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(zcash_unstable, values("zfuture"))'] }
|