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

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[features]
default = []
proptest-impl = ["proptest", "proptest-derive", "itertools"]
bench = ["zebra-test"]

[dependencies]
aes = "0.6"
bech32 = "0.8.1"
bitflags = "1.2.1"
bitvec = "0.17.4"
blake2b_simd = "0.5.11"
blake2s_simd = "0.5.11"
bs58 = { version = "0.4", features = ["check"] }
byteorder = "1.4"
chrono = { version = "0.4", features = ["serde"] }
displaydoc = "0.2.1"
fpe = "0.4"
# Temporary workaround for https://github.com/myrrlyn/funty/issues/3
# TODO: remove: https://github.com/ZcashFoundation/zebra/issues/2082
funty = "=1.1.0"
futures = "0.3"
group = "0.9"
# TODO: replace w/ crate version when released: https://github.com/ZcashFoundation/zebra/issues/2083
halo2 = { git = "https://github.com/zcash/halo2.git", rev = "dda60a363001373d564156ad0334e2022d85a5b4"}
hex = "0.4"
jubjub = "0.6.0"
lazy_static = "1.4.0"
rand_core = "0.6"
ripemd160 = "0.9"
secp256k1 = { version = "0.20.3", features = ["serde"] }
serde = { version = "1", features = ["serde_derive", "rc"] }
serde-big-array = "0.3.2"
sha2 = { version = "0.9.5", features=["compress"] }
subtle = "2.4"
thiserror = "1"
x25519-dalek = { version = "1.1", features = ["serde"] }
zcash_history = { git = "https://github.com/zcash/librustzcash.git", rev = "0c3ed159985affa774e44d10172d4471d798a85a" }
bigint = "4"
uint = "0.9.0"

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

# ZF deps
ed25519-zebra = "2"
equihash = "0.1"
redjubjub = "0.4"

zebra-test = { path = "../zebra-test/", optional = true }

[dev-dependencies]
bincode = "1"
color-eyre = "0.5.11"
criterion = { version = "0.3", features = ["html_reports"] }
itertools = "0.10.1"
spandoc = "0.2"
tracing = "0.1.26"

proptest = "0.10"
proptest-derive = "0.3"
rand = "0.8"
rand_chacha = "0.3"

zebra-test = { path = "../zebra-test/" }

[[bench]]
name = "block"
harness = false
