zebra/zebra-chain/Cargo.toml

179 lines
4.7 KiB
TOML

[package]
name = "zebra-chain"
version = "1.0.0-beta.36"
authors = ["Zcash Foundation <zebra@zfnd.org>"]
description = "Core Zcash data structures"
license = "MIT OR Apache-2.0"
repository = "https://github.com/ZcashFoundation/zebra"
edition = "2021"
readme = "../README.md"
homepage = "https://zfnd.org/zebra/"
# crates.io is limited to 5 keywords and categories
keywords = ["zebra", "zcash"]
# Must be one of <https://crates.io/category_slugs>
categories = ["asynchronous", "cryptography::cryptocurrencies", "encoding"]
[features]
default = []
# Production features that activate extra functionality
# Consensus-critical conversion from JSON to Zcash types
json-conversion = [
"serde_json",
]
# Async error handling convenience traits
async-error = [
"tokio",
]
# Mining RPC support
getblocktemplate-rpcs = [
]
# Experimental shielded scanning support
shielded-scan = [
"zcash_client_backend"
]
# Experimental internal miner support
# TODO: Internal miner feature functionality was removed at https://github.com/ZcashFoundation/zebra/issues/8180
# See what was removed at https://github.com/ZcashFoundation/zebra/blob/v1.5.1/zebra-chain/Cargo.toml#L38-L43
# Restore support when conditions are met. https://github.com/ZcashFoundation/zebra/issues/8183
internal-miner = []
# Experimental elasticsearch support
elasticsearch = []
# Test-only features
proptest-impl = [
"proptest",
"proptest-derive",
"rand",
"rand_chacha",
"tokio/tracing",
"zebra-test",
]
bench = ["zebra-test"]
[dependencies]
# Cryptography
bitvec = "1.0.1"
bitflags = "2.5.0"
bitflags-serde-legacy = "0.1.1"
blake2b_simd = "1.0.2"
blake2s_simd = "1.0.2"
bridgetree = "0.4.0"
bs58 = { version = "0.5.1", features = ["check"] }
byteorder = "1.5.0"
# TODO: Internal miner feature functionality was removed at https://github.com/ZcashFoundation/zebra/issues/8180
# See what was removed at https://github.com/ZcashFoundation/zebra/blob/v1.5.1/zebra-chain/Cargo.toml#L73-L85
# Restore support when conditions are met. https://github.com/ZcashFoundation/zebra/issues/8183
equihash = "0.2.0"
group = "0.13.0"
incrementalmerkletree = "0.5.1"
jubjub = "0.10.0"
lazy_static = "1.4.0"
num-integer = "0.1.46"
primitive-types = "0.12.2"
rand_core = "0.6.4"
ripemd = "0.1.3"
# Matches version used by hdwallet
secp256k1 = { version = "0.26.0", features = ["serde"] }
sha2 = { version = "0.10.7", features = ["compress"] }
uint = "0.9.5"
x25519-dalek = { version = "2.0.1", features = ["serde"] }
# ECC deps
halo2 = { package = "halo2_proofs", version = "0.3.0" }
orchard = "0.6.0"
zcash_encoding = "0.2.0"
zcash_history = "0.4.0"
zcash_note_encryption = "0.4.0"
zcash_primitives = { version = "0.13.0", features = ["transparent-inputs"] }
zcash_protocol = { version = "0.1.1" }
zcash_address = { version = "0.3.2" }
# Time
chrono = { version = "0.4.38", default-features = false, features = ["clock", "std", "serde"] }
humantime = "2.1.0"
# Error Handling & Formatting
displaydoc = "0.2.4"
static_assertions = "1.1.0"
thiserror = "1.0.59"
tracing = "0.1.39"
# Serialization
hex = { version = "0.4.3", features = ["serde"] }
serde = { version = "1.0.198", features = ["serde_derive", "rc"] }
serde_with = "3.7.0"
serde-big-array = "0.5.1"
# Processing
futures = "0.3.30"
itertools = "0.12.1"
rayon = "1.10.0"
# ZF deps
ed25519-zebra = "4.0.3"
redjubjub = "0.7.0"
reddsa = "0.5.1"
# Production feature json-conversion
serde_json = { version = "1.0.116", optional = true }
# Production feature async-error and testing feature proptest-impl
tokio = { version = "1.37.0", optional = true }
# Experimental feature shielded-scan
zcash_client_backend = { version = "0.10.0-rc.1", optional = true }
# Optional testing dependencies
proptest = { version = "1.4.0", optional = true }
proptest-derive = { version = "0.4.0", optional = true }
rand = { version = "0.8.5", optional = true }
rand_chacha = { version = "0.3.1", optional = true }
zebra-test = { path = "../zebra-test/", version = "1.0.0-beta.36", optional = true }
[dev-dependencies]
# Benchmarks
criterion = { version = "0.5.1", features = ["html_reports"] }
# Error Handling & Formatting
color-eyre = "0.6.3"
# This is a transitive dependency via color-eyre.
# Enable a feature that makes tinyvec compile much faster.
tinyvec = { version = "1.6.0", features = ["rustc_1_55"] }
spandoc = "0.2.2"
tracing = "0.1.39"
# Make the optional testing dependencies required
proptest = "1.4.0"
proptest-derive = "0.4.0"
rand = "0.8.5"
rand_chacha = "0.3.1"
tokio = { version = "1.37.0", features = ["full", "tracing", "test-util"] }
zebra-test = { path = "../zebra-test/", version = "1.0.0-beta.36" }
[[bench]]
name = "block"
harness = false
required-features = ["bench"]
[[bench]]
name = "redpallas"
harness = false