2019-08-29 14:46:54 -07:00
|
|
|
[package]
|
|
|
|
name = "zebra-chain"
|
2023-07-02 16:08:40 -07:00
|
|
|
version = "1.0.0-beta.27"
|
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",
|
|
|
|
]
|
|
|
|
|
2022-11-08 23:36:10 -08:00
|
|
|
# Experimental mining RPC support
|
2023-02-02 18:26:58 -08:00
|
|
|
getblocktemplate-rpcs = [
|
|
|
|
"zcash_address",
|
|
|
|
]
|
2022-11-08 23:36:10 -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",
|
|
|
|
"tokio",
|
|
|
|
"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"
|
2023-06-28 18:28:00 -07:00
|
|
|
bitflags = "2.3.3"
|
2023-05-18 16:41:26 -07:00
|
|
|
bitflags-serde-legacy = "0.1.1"
|
2023-02-12 18:30:07 -08:00
|
|
|
blake2b_simd = "1.0.1"
|
2023-02-12 14:45:43 -08:00
|
|
|
blake2s_simd = "1.0.1"
|
2023-05-29 19:01:31 -07:00
|
|
|
bs58 = { version = "0.5.0", features = ["check"] }
|
2022-03-06 18:07:25 -08:00
|
|
|
byteorder = "1.4.3"
|
2022-09-02 00:24:29 -07:00
|
|
|
equihash = "0.2.0"
|
2023-04-18 03:11:38 -07:00
|
|
|
group = "0.13.0"
|
2023-03-01 12:44:35 -08:00
|
|
|
incrementalmerkletree = "0.3.1"
|
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"
|
2023-04-26 16:35:53 -07:00
|
|
|
num-integer = "0.1.45"
|
2022-05-18 18:03:55 -07:00
|
|
|
primitive-types = "0.11.1"
|
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
|
2022-04-12 21:06:52 -07:00
|
|
|
secp256k1 = { version = "0.21.3", features = ["serde"] }
|
2022-08-28 10:08:27 -07:00
|
|
|
sha2 = { version = "0.9.9", features = ["compress"] }
|
2022-11-30 13:14:32 -08:00
|
|
|
uint = "0.9.5"
|
2022-10-27 23:58:02 -07:00
|
|
|
x25519-dalek = { version = "2.0.0-pre.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" }
|
|
|
|
orchard = "0.4.0"
|
2022-10-31 07:15:11 -07:00
|
|
|
zcash_encoding = "0.2.0"
|
2022-05-18 18:03:55 -07:00
|
|
|
zcash_history = "0.3.0"
|
2023-04-18 03:11:38 -07:00
|
|
|
zcash_note_encryption = "0.3.0"
|
|
|
|
zcash_primitives = { version = "0.11.0", features = ["transparent-inputs"] }
|
2022-07-21 16:17:34 -07:00
|
|
|
|
|
|
|
# Time
|
2023-06-05 19:04:52 -07:00
|
|
|
chrono = { version = "0.4.26", default-features = false, features = ["clock", "std", "serde"] }
|
2022-07-21 16:17:34 -07:00
|
|
|
humantime = "2.1.0"
|
|
|
|
|
|
|
|
# Error Handling & Formatting
|
2023-05-04 17:29:49 -07:00
|
|
|
displaydoc = "0.2.4"
|
2022-07-21 16:17:34 -07:00
|
|
|
static_assertions = "1.1.0"
|
2023-07-09 20:37:10 -07:00
|
|
|
thiserror = "1.0.43"
|
2022-10-12 23:46:27 -07:00
|
|
|
tracing = "0.1.37"
|
2022-07-21 16:17:34 -07:00
|
|
|
|
|
|
|
# Serialization
|
|
|
|
hex = { version = "0.4.3", features = ["serde"] }
|
2023-07-04 09:53:54 -07:00
|
|
|
serde = { version = "1.0.166", features = ["serde_derive", "rc"] }
|
2023-05-04 14:38:04 -07:00
|
|
|
serde_with = "3.0.0"
|
2023-03-09 16:31:49 -08:00
|
|
|
serde-big-array = "0.5.1"
|
2022-07-21 16:17:34 -07:00
|
|
|
|
|
|
|
# Processing
|
2023-04-02 21:00:53 -07:00
|
|
|
futures = "0.3.28"
|
2023-06-23 11:27:49 -07:00
|
|
|
itertools = "0.11.0"
|
2023-03-07 06:22:51 -08:00
|
|
|
rayon = "1.7.0"
|
2022-07-21 16:17:34 -07:00
|
|
|
|
|
|
|
# ZF deps
|
2023-06-09 03:03:58 -07:00
|
|
|
ed25519-zebra = "4.0.0"
|
2023-04-18 03:11:38 -07:00
|
|
|
redjubjub = "0.7.0"
|
2023-03-13 14:14:08 -07:00
|
|
|
reddsa = "0.5.0"
|
2020-07-30 04:11:42 -07:00
|
|
|
|
2023-04-26 16:35:53 -07:00
|
|
|
# Production feature json-conversion
|
2023-07-06 16:23:24 -07:00
|
|
|
serde_json = { version = "1.0.100", optional = true }
|
2023-04-26 16:35:53 -07:00
|
|
|
|
2023-02-02 18:26:58 -08:00
|
|
|
# Experimental feature getblocktemplate-rpcs
|
2023-04-17 20:44:03 -07:00
|
|
|
zcash_address = { version = "0.2.1", optional = true }
|
2023-02-02 18:26:58 -08:00
|
|
|
|
2022-07-21 16:17:34 -07:00
|
|
|
# Optional testing dependencies
|
2023-05-25 13:44:16 -07:00
|
|
|
proptest = { version = "1.2.0", optional = true }
|
2021-02-21 17:52:51 -08:00
|
|
|
proptest-derive = { version = "0.3.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
|
|
|
|
2023-07-02 22:39:10 -07:00
|
|
|
tokio = { version = "1.29.1", features = ["tracing"], optional = true }
|
2020-09-23 18:52:52 -07:00
|
|
|
|
2023-07-02 16:08:40 -07:00
|
|
|
zebra-test = { path = "../zebra-test/", version = "1.0.0-beta.27", optional = true }
|
2021-03-07 02:15:38 -08:00
|
|
|
|
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
|
2022-09-26 15:23:59 -07:00
|
|
|
color-eyre = "0.6.2"
|
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.
|
2022-08-04 15:03:24 -07:00
|
|
|
tinyvec = { version = "1.6.0", features = ["rustc_1_55"] }
|
2022-04-28 00:08:30 -07:00
|
|
|
spandoc = "0.2.2"
|
2022-10-12 23:46:27 -07:00
|
|
|
tracing = "0.1.37"
|
2021-04-18 15:09:57 -07:00
|
|
|
|
2022-07-21 16:17:34 -07:00
|
|
|
# Make the optional testing dependencies required
|
2023-05-25 13:44:16 -07:00
|
|
|
proptest = "1.2.0"
|
2022-02-14 17:44:33 -08:00
|
|
|
proptest-derive = "0.3.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
|
|
|
|
2023-07-02 22:39:10 -07:00
|
|
|
tokio = { version = "1.29.1", features = ["full", "tracing", "test-util"] }
|
2022-01-25 21:23:22 -08:00
|
|
|
|
2020-06-22 19:34:11 -07:00
|
|
|
zebra-test = { path = "../zebra-test/" }
|
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
|