[package]
name = "zebra-consensus"
version = "1.0.0-beta.2"
authors = ["Zcash Foundation <zebra@zfnd.org>"]
license = "MIT OR Apache-2.0"
edition = "2018"

[features]
default = []
proptest-impl = ["proptest", "proptest-derive", "zebra-chain/proptest-impl"]

[dependencies]
blake2b_simd = "0.5.11"
bellman = "0.11.1"
bls12_381 = "0.6.0"
jubjub = "0.8.0"
rand = "0.8"

halo2 = "=0.1.0-beta.1"

chrono = "0.4.19"
dirs = "4.0.0"
displaydoc = "0.2.2"
lazy_static = "1.4.0"
once_cell = "1.8"
serde = { version = "1", features = ["serde_derive"] }

futures = "0.3.18"
futures-util = "0.3.17"
metrics = "0.17.0"
thiserror = "1.0.30"
tokio = { version = "1.14.0", features = ["time", "sync", "tracing"] }
tower = { version = "0.4.11", features = ["timeout", "util", "buffer"] }
tracing = "0.1.29"
tracing-futures = "0.2.5"

# TODO: replace with upstream orchard (#3056)
orchard = { git = "https://github.com/ZcashFoundation/orchard.git", rev = "568e24cd5f129158375d7ac7d98c89ebff4f982f" }

# TODO: replace with upstream librustzcash when these changes are merged (#3037)
zcash_proofs = { git = "https://github.com/ZcashFoundation/librustzcash.git", rev = "dea8d97d5ed09bdb6673cb64d0a63706f71c2f61", features = ["local-prover", "multicore", "download-params"] }

tower-fallback = { path = "../tower-fallback/" }
tower-batch = { path = "../tower-batch/" }

zebra-chain = { path = "../zebra-chain" }
zebra-state = { path = "../zebra-state" }
zebra-script = { path = "../zebra-script" }

proptest = { version = "0.10", optional = true }
proptest-derive = { version = "0.3.0", optional = true }

[dev-dependencies]
color-eyre = "0.5.11"
hex = "0.4.3"
proptest = "0.10"
proptest-derive = "0.3.0"
rand07 = { package = "rand", version = "0.7" }
spandoc = "0.2"
tokio = { version = "1.14.0", features = ["full"] }
tracing-error = "0.1.2"
tracing-subscriber = "0.2.25"

zebra-chain = { path = "../zebra-chain", features = ["proptest-impl"] }
zebra-state = { path = "../zebra-state", features = ["proptest-impl"] }
zebra-test = { path = "../zebra-test/" }
