2019-08-29 14:46:54 -07:00
|
|
|
[package]
|
|
|
|
name = "zebra-chain"
|
2024-08-27 18:07:37 -07:00
|
|
|
version = "1.0.0-beta.39"
|
2019-10-08 09:25:59 -07:00
|
|
|
authors = ["Zcash Foundation <zebra@zfnd.org>"]
|
2023-06-13 01:46:01 -07:00
|
|
|
description = "Core Zcash data structures"
|
2019-10-08 09:25:59 -07:00
|
|
|
license = "MIT OR Apache-2.0"
|
2023-06-13 01:46:01 -07:00
|
|
|
repository = "https://github.com/ZcashFoundation/zebra"
|
Enforce Rust edition 2021 (#3332)
* Rust edition 2021: zebra-network, cargo fix --edition and clippy --fix
* Rust edition 2021: zebra-chain, cargo fix --edition
* Rust edition 2021: tower-batch, cargo fix --edition
* Rust edition 2021: tower-fallback, cargo fix --edition
* Rust edition 2021: zebra-client, cargo fix --edition
* Rust edition 2021: zebra-consensus, cargo fix --edition
* Rust edition 2021: zebra-rpc, cargo fix --edition
* Rust edition 2021: zebra-state, cargo fix --edition
* Rust edition 2021: zebra-state, cargo fix --edition
* Rust edition 2021: zebra-test, cargo fix --edition
* Rust edition 2021: zebra-utils, cargo fix --edition
* Rust edition 2021: zebrad, cargo fix --edition
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2022-01-14 04:10:18 -08:00
|
|
|
edition = "2021"
|
2019-08-29 14:46:54 -07:00
|
|
|
|
2023-06-13 01:46:01 -07:00
|
|
|
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"]
|
2019-08-29 14:46:54 -07:00
|
|
|
|
2020-09-23 18:52:52 -07:00
|
|
|
[features]
|
|
|
|
default = []
|
2022-11-08 23:36:10 -08:00
|
|
|
|
|
|
|
# Production features that activate extra functionality
|
|
|
|
|
2023-04-26 16:35:53 -07:00
|
|
|
# Consensus-critical conversion from JSON to Zcash types
|
|
|
|
json-conversion = [
|
|
|
|
"serde_json",
|
|
|
|
]
|
|
|
|
|
2023-07-17 21:53:26 -07:00
|
|
|
# Async error handling convenience traits
|
|
|
|
async-error = [
|
|
|
|
"tokio",
|
|
|
|
]
|
|
|
|
|
2024-01-11 06:41:01 -08:00
|
|
|
# Mining RPC support
|
2023-02-02 18:26:58 -08:00
|
|
|
getblocktemplate-rpcs = [
|
|
|
|
]
|
2022-11-08 23:36:10 -08:00
|
|
|
|
2024-01-30 12:32:36 -08:00
|
|
|
# Experimental shielded scanning support
|
|
|
|
shielded-scan = [
|
|
|
|
"zcash_client_backend"
|
|
|
|
]
|
|
|
|
|
2024-01-11 06:41:01 -08:00
|
|
|
# Experimental internal miner support
|
2024-01-23 10:02:52 -08:00
|
|
|
# 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 = []
|
2024-01-11 06:41:01 -08:00
|
|
|
|
2023-06-14 12:01:39 -07:00
|
|
|
# Experimental elasticsearch support
|
|
|
|
elasticsearch = []
|
|
|
|
|
2022-11-08 23:36:10 -08:00
|
|
|
# Test-only features
|
|
|
|
|
|
|
|
proptest-impl = [
|
|
|
|
"proptest",
|
|
|
|
"proptest-derive",
|
|
|
|
"rand",
|
|
|
|
"rand_chacha",
|
2023-07-17 21:53:26 -07:00
|
|
|
"tokio/tracing",
|
2022-11-08 23:36:10 -08:00
|
|
|
"zebra-test",
|
|
|
|
]
|
|
|
|
|
2021-04-19 05:15:02 -07:00
|
|
|
bench = ["zebra-test"]
|
2020-09-23 18:52:52 -07:00
|
|
|
|
2019-08-29 14:46:54 -07:00
|
|
|
[dependencies]
|
2022-07-21 16:17:34 -07:00
|
|
|
|
|
|
|
# Cryptography
|
2022-07-14 17:27:14 -07:00
|
|
|
bitvec = "1.0.1"
|
2024-04-16 19:20:28 -07:00
|
|
|
bitflags = "2.5.0"
|
2023-05-18 16:41:26 -07:00
|
|
|
bitflags-serde-legacy = "0.1.1"
|
2023-09-11 10:56:41 -07:00
|
|
|
blake2b_simd = "1.0.2"
|
|
|
|
blake2s_simd = "1.0.2"
|
2024-08-23 17:55:57 -07:00
|
|
|
bridgetree = "0.5.0"
|
2024-04-16 19:20:28 -07:00
|
|
|
bs58 = { version = "0.5.1", features = ["check"] }
|
2023-10-09 20:31:25 -07:00
|
|
|
byteorder = "1.5.0"
|
2024-01-11 06:41:01 -08:00
|
|
|
|
2024-01-23 10:02:52 -08:00
|
|
|
# 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
|
2022-09-02 00:24:29 -07:00
|
|
|
equihash = "0.2.0"
|
2024-01-11 06:41:01 -08:00
|
|
|
|
2023-04-18 03:11:38 -07:00
|
|
|
group = "0.13.0"
|
2024-08-23 17:55:57 -07:00
|
|
|
incrementalmerkletree.workspace = true
|
2023-04-18 03:11:38 -07:00
|
|
|
jubjub = "0.10.0"
|
2020-02-07 12:48:50 -08:00
|
|
|
lazy_static = "1.4.0"
|
2024-08-29 14:09:27 -07:00
|
|
|
tempfile = "3.11.0"
|
|
|
|
dirs = "5.0.1"
|
2024-02-14 04:24:33 -08:00
|
|
|
num-integer = "0.1.46"
|
2024-04-16 19:20:28 -07:00
|
|
|
primitive-types = "0.12.2"
|
2022-09-27 23:04:08 -07:00
|
|
|
rand_core = "0.6.4"
|
2022-09-26 18:17:07 -07:00
|
|
|
ripemd = "0.1.3"
|
2022-04-18 17:14:16 -07:00
|
|
|
# Matches version used by hdwallet
|
2023-07-18 00:13:40 -07:00
|
|
|
secp256k1 = { version = "0.26.0", features = ["serde"] }
|
|
|
|
sha2 = { version = "0.10.7", features = ["compress"] }
|
2022-11-30 13:14:32 -08:00
|
|
|
uint = "0.9.5"
|
2024-02-14 04:24:33 -08:00
|
|
|
x25519-dalek = { version = "2.0.1", features = ["serde"] }
|
2021-11-25 08:26:32 -08:00
|
|
|
|
2022-07-21 16:17:34 -07:00
|
|
|
# ECC deps
|
2023-04-18 03:11:38 -07:00
|
|
|
halo2 = { package = "halo2_proofs", version = "0.3.0" }
|
2024-08-23 17:55:57 -07:00
|
|
|
orchard.workspace = true
|
|
|
|
zcash_encoding.workspace = true
|
|
|
|
zcash_history.workspace = true
|
2023-07-17 15:06:27 -07:00
|
|
|
zcash_note_encryption = "0.4.0"
|
2024-08-23 17:55:57 -07:00
|
|
|
zcash_primitives = { workspace = true, features = ["transparent-inputs"] }
|
|
|
|
sapling-crypto.workspace = true
|
|
|
|
zcash_protocol.workspace = true
|
|
|
|
zcash_address.workspace = true
|
2022-07-21 16:17:34 -07:00
|
|
|
|
|
|
|
# Time
|
2024-04-19 16:23:57 -07:00
|
|
|
chrono = { version = "0.4.38", default-features = false, features = ["clock", "std", "serde"] }
|
2022-07-21 16:17:34 -07:00
|
|
|
humantime = "2.1.0"
|
|
|
|
|
|
|
|
# Error Handling & Formatting
|
|
|
|
static_assertions = "1.1.0"
|
2024-07-26 13:19:38 -07:00
|
|
|
thiserror = "1.0.63"
|
2023-10-16 13:13:38 -07:00
|
|
|
tracing = "0.1.39"
|
2022-07-21 16:17:34 -07:00
|
|
|
|
|
|
|
# Serialization
|
|
|
|
hex = { version = "0.4.3", features = ["serde"] }
|
2024-07-10 11:49:12 -07:00
|
|
|
serde = { version = "1.0.204", features = ["serde_derive", "rc"] }
|
2024-07-23 08:44:31 -07:00
|
|
|
serde_with = "3.9.0"
|
2023-03-09 16:31:49 -08:00
|
|
|
serde-big-array = "0.5.1"
|
2022-07-21 16:17:34 -07:00
|
|
|
|
|
|
|
# Processing
|
2024-01-01 17:26:54 -08:00
|
|
|
futures = "0.3.30"
|
2024-05-20 12:50:59 -07:00
|
|
|
itertools = "0.13.0"
|
2024-04-16 19:20:28 -07:00
|
|
|
rayon = "1.10.0"
|
2022-07-21 16:17:34 -07:00
|
|
|
|
|
|
|
# ZF deps
|
2023-09-14 11:07:54 -07:00
|
|
|
ed25519-zebra = "4.0.3"
|
2023-04-18 03:11:38 -07:00
|
|
|
redjubjub = "0.7.0"
|
2023-07-18 05:13:51 -07:00
|
|
|
reddsa = "0.5.1"
|
2020-07-30 04:11:42 -07:00
|
|
|
|
2023-04-26 16:35:53 -07:00
|
|
|
# Production feature json-conversion
|
2024-08-09 03:32:22 -07:00
|
|
|
serde_json = { version = "1.0.122", optional = true }
|
2023-04-26 16:35:53 -07:00
|
|
|
|
2023-07-17 21:53:26 -07:00
|
|
|
# Production feature async-error and testing feature proptest-impl
|
2024-07-29 17:15:26 -07:00
|
|
|
tokio = { version = "1.39.2", optional = true }
|
2023-07-17 21:53:26 -07:00
|
|
|
|
2024-01-30 12:32:36 -08:00
|
|
|
# Experimental feature shielded-scan
|
2024-08-23 17:55:57 -07:00
|
|
|
zcash_client_backend = { workspace = true, optional = true }
|
2024-01-30 12:32:36 -08:00
|
|
|
|
2022-07-21 16:17:34 -07:00
|
|
|
# Optional testing dependencies
|
2023-11-14 17:03:57 -08:00
|
|
|
proptest = { version = "1.4.0", optional = true }
|
2024-07-10 11:49:12 -07:00
|
|
|
proptest-derive = { version = "0.5.0", optional = true }
|
2021-11-30 08:05:35 -08:00
|
|
|
|
2023-06-27 08:32:30 -07:00
|
|
|
rand = { version = "0.8.5", optional = true }
|
2022-03-06 18:07:25 -08:00
|
|
|
rand_chacha = { version = "0.3.1", optional = true }
|
2022-06-14 23:43:20 -07:00
|
|
|
|
2024-08-27 18:07:37 -07:00
|
|
|
zebra-test = { path = "../zebra-test/", version = "1.0.0-beta.39", optional = true }
|
2024-08-16 08:10:03 -07:00
|
|
|
equihash-solver = { version = "0.2.0", git = "https://github.com/ZcashFoundation/librustzcash.git", branch = "equihash-solver-tromp", features = ["solver"], package = "equihash" }
|
2019-11-19 16:43:30 -08:00
|
|
|
[dev-dependencies]
|
2022-07-21 16:17:34 -07:00
|
|
|
# Benchmarks
|
2023-05-29 04:41:36 -07:00
|
|
|
criterion = { version = "0.5.1", features = ["html_reports"] }
|
2022-07-21 16:17:34 -07:00
|
|
|
|
|
|
|
# Error Handling & Formatting
|
2024-03-21 11:23:41 -07:00
|
|
|
color-eyre = "0.6.3"
|
2022-08-03 16:42:50 -07:00
|
|
|
# This is a transitive dependency via color-eyre.
|
|
|
|
# Enable a feature that makes tinyvec compile much faster.
|
2024-07-23 08:44:31 -07:00
|
|
|
tinyvec = { version = "1.8.0", features = ["rustc_1_55"] }
|
2022-04-28 00:08:30 -07:00
|
|
|
spandoc = "0.2.2"
|
2023-10-16 13:13:38 -07:00
|
|
|
tracing = "0.1.39"
|
2021-04-18 15:09:57 -07:00
|
|
|
|
2022-07-21 16:17:34 -07:00
|
|
|
# Make the optional testing dependencies required
|
2023-11-14 17:03:57 -08:00
|
|
|
proptest = "1.4.0"
|
2024-07-10 11:49:12 -07:00
|
|
|
proptest-derive = "0.5.0"
|
2022-06-14 23:43:20 -07:00
|
|
|
|
2023-06-27 08:32:30 -07:00
|
|
|
rand = "0.8.5"
|
2022-03-06 18:07:25 -08:00
|
|
|
rand_chacha = "0.3.1"
|
2020-07-30 04:11:42 -07:00
|
|
|
|
2024-07-29 17:15:26 -07:00
|
|
|
tokio = { version = "1.39.2", features = ["full", "tracing", "test-util"] }
|
2022-01-25 21:23:22 -08:00
|
|
|
|
2024-08-27 18:07:37 -07:00
|
|
|
zebra-test = { path = "../zebra-test/", version = "1.0.0-beta.39" }
|
2021-04-19 05:15:02 -07:00
|
|
|
|
|
|
|
[[bench]]
|
|
|
|
name = "block"
|
|
|
|
harness = false
|
2022-01-25 21:23:22 -08:00
|
|
|
required-features = ["bench"]
|
2021-06-12 00:11:44 -07:00
|
|
|
|
|
|
|
[[bench]]
|
|
|
|
name = "redpallas"
|
|
|
|
harness = false
|