[package] name = "zebra-chain" version = "1.0.0-beta.34" authors = ["Zcash Foundation "] 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 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 = [ "zcash_address", ] # 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.4.2" bitflags-serde-legacy = "0.1.1" blake2b_simd = "1.0.2" blake2s_simd = "1.0.2" bridgetree = "0.4.0" bs58 = { version = "0.5.0", 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.0" jubjub = "0.10.0" lazy_static = "1.4.0" num-integer = "0.1.46" primitive-types = "0.11.1" 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.3.0" zcash_note_encryption = "0.4.0" zcash_primitives = { version = "0.13.0-rc.1", features = ["transparent-inputs"] } # Time chrono = { version = "0.4.34", 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.57" tracing = "0.1.39" # Serialization hex = { version = "0.4.3", features = ["serde"] } serde = { version = "1.0.196", features = ["serde_derive", "rc"] } serde_with = "3.6.1" serde-big-array = "0.5.1" # Processing futures = "0.3.30" itertools = "0.12.1" rayon = "1.8.1" # ZF deps ed25519-zebra = "4.0.3" redjubjub = "0.7.0" reddsa = "0.5.1" # Production feature json-conversion serde_json = { version = "1.0.113", optional = true } # Production feature async-error and testing feature proptest-impl tokio = { version = "1.36.0", optional = true } # Production feature getblocktemplate-rpcs zcash_address = { version = "0.3.1", 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.34", optional = true } [dev-dependencies] # Benchmarks criterion = { version = "0.5.1", features = ["html_reports"] } # Error Handling & Formatting color-eyre = "0.6.2" # 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.36.0", features = ["full", "tracing", "test-util"] } zebra-test = { path = "../zebra-test/" } [[bench]] name = "block" harness = false required-features = ["bench"] [[bench]] name = "redpallas" harness = false