181 lines
4.9 KiB
TOML
181 lines
4.9 KiB
TOML
[package]
|
|
name = "zebra-chain"
|
|
version = "1.0.0-beta.39"
|
|
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.5.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.workspace = true
|
|
jubjub = "0.10.0"
|
|
lazy_static = "1.4.0"
|
|
tempfile = "3.11.0"
|
|
dirs = "5.0.1"
|
|
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.workspace = true
|
|
zcash_encoding.workspace = true
|
|
zcash_history.workspace = true
|
|
zcash_note_encryption = "0.4.0"
|
|
zcash_primitives = { workspace = true, features = ["transparent-inputs"] }
|
|
sapling-crypto.workspace = true
|
|
zcash_protocol.workspace = true
|
|
zcash_address.workspace = true
|
|
|
|
# Time
|
|
chrono = { version = "0.4.38", default-features = false, features = ["clock", "std", "serde"] }
|
|
humantime = "2.1.0"
|
|
|
|
# Error Handling & Formatting
|
|
static_assertions = "1.1.0"
|
|
thiserror = "1.0.63"
|
|
tracing = "0.1.39"
|
|
|
|
# Serialization
|
|
hex = { version = "0.4.3", features = ["serde"] }
|
|
serde = { version = "1.0.204", features = ["serde_derive", "rc"] }
|
|
serde_with = "3.9.0"
|
|
serde-big-array = "0.5.1"
|
|
|
|
# Processing
|
|
futures = "0.3.30"
|
|
itertools = "0.13.0"
|
|
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.122", optional = true }
|
|
|
|
# Production feature async-error and testing feature proptest-impl
|
|
tokio = { version = "1.39.2", optional = true }
|
|
|
|
# Experimental feature shielded-scan
|
|
zcash_client_backend = { workspace = true, optional = true }
|
|
|
|
# Optional testing dependencies
|
|
proptest = { version = "1.4.0", optional = true }
|
|
proptest-derive = { version = "0.5.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.39", optional = true }
|
|
equihash-solver = { version = "0.2.0", git = "https://github.com/ZcashFoundation/librustzcash.git", branch = "equihash-solver-tromp", features = ["solver"], package = "equihash" }
|
|
[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.8.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.5.0"
|
|
|
|
rand = "0.8.5"
|
|
rand_chacha = "0.3.1"
|
|
|
|
tokio = { version = "1.39.2", features = ["full", "tracing", "test-util"] }
|
|
|
|
zebra-test = { path = "../zebra-test/", version = "1.0.0-beta.39" }
|
|
|
|
[[bench]]
|
|
name = "block"
|
|
harness = false
|
|
required-features = ["bench"]
|
|
|
|
[[bench]]
|
|
name = "redpallas"
|
|
harness = false
|