zebra/zebra-scan/Cargo.toml

132 lines
4.1 KiB
TOML

[package]
name = "zebra-scan"
version = "0.1.0-alpha.7"
authors = ["Zcash Foundation <zebra@zfnd.org>"]
description = "Shielded transaction scanner for the Zcash blockchain"
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 = ["cryptography::cryptocurrencies"]
[[bin]] # Bin to run the Scanner gRPC server
name = "scanner-grpc-server"
path = "src/bin/rpc_server.rs"
required-features = ["proptest-impl"]
[[bin]] # Bin to run the Scanner tool
name = "zebra-scanner"
path = "src/bin/scanner/main.rs"
[[bin]]
name = "scanning-results-reader"
path = "src/bin/scanning-results-reader/main.rs"
required-features = ["results-reader"]
[[bin]] # Bin to run zebrad, used in scanner tests
name = "zebrad-for-scanner"
path = "src/bin/zebrad-for-scanner/main.rs"
[features]
# Production features that activate extra dependencies, or extra features in dependencies
# Test features
proptest-impl = [
"proptest",
"proptest-derive",
"zebra-state/proptest-impl",
"zebra-chain/proptest-impl",
"zebra-test",
"bls12_381",
"ff",
"group",
"jubjub",
"rand",
"zcash_note_encryption",
]
# Needed for the zebra-scanner binary.
results-reader = [
"jsonrpc",
"hex"
]
[dependencies]
color-eyre = "0.6.3"
indexmap = { version = "2.3.0", features = ["serde"] }
itertools = "0.13.0"
semver = "1.0.23"
serde = { version = "1.0.204", features = ["serde_derive"] }
tokio = { version = "1.39.2", features = ["time"] }
tower = "0.4.13"
tracing = "0.1.39"
futures = "0.3.30"
# ECC dependencies.
# TODO: we can't use the workspace version for all ECC dependencies in this crate yet (#8809)
zcash_client_backend = { git = "https://github.com/zcash/librustzcash/", commit = "40ca428c6081c61d5a2bf3f2053eb9e18219ca95" }
zcash_keys = { workspace = true, features = ["sapling"] }
zcash_primitives = { git = "https://github.com/zcash/librustzcash/", commit = "40ca428c6081c61d5a2bf3f2053eb9e18219ca95" }
zcash_address = { git = "https://github.com/zcash/librustzcash/", commit = "40ca428c6081c61d5a2bf3f2053eb9e18219ca95" }
sapling-crypto.workspace = true
zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.38", features = ["shielded-scan"] }
zebra-state = { path = "../zebra-state", version = "1.0.0-beta.38", features = ["shielded-scan"] }
zebra-node-services = { path = "../zebra-node-services", version = "1.0.0-beta.38", features = ["shielded-scan"] }
zebra-grpc = { path = "../zebra-grpc", version = "0.1.0-alpha.5" }
zebra-rpc = { path = "../zebra-rpc", version = "1.0.0-beta.38" }
chrono = { version = "0.4.38", default-features = false, features = ["clock", "std", "serde"] }
# test feature proptest-impl
proptest = { version = "1.4.0", optional = true }
proptest-derive = { version = "0.5.0", optional = true }
bls12_381 = { version = "0.8.0", optional = true }
ff = { version = "0.13.0", optional = true }
group = { version = "0.13.0", optional = true }
jubjub = { version = "0.10.0", optional = true }
rand = { version = "0.8.5", optional = true }
zcash_note_encryption = { version = "0.4.0", optional = true }
zebra-test = { path = "../zebra-test", version = "1.0.0-beta.38", optional = true }
# zebra-scanner binary dependencies
tracing-subscriber = { version = "0.3.18", features = ["env-filter"] }
structopt = "0.3.26"
lazy_static = "1.4.0"
serde_json = "1.0.122"
jsonrpc = { version = "0.18.0", optional = true }
hex = { version = "0.4.3", optional = true }
zebrad = { path = "../zebrad", version = "1.8.0" }
[dev-dependencies]
insta = { version = "1.39.0", features = ["ron", "redactions"] }
tokio = { version = "1.39.2", features = ["test-util"] }
proptest = "1.4.0"
proptest-derive = "0.5.0"
bls12_381 = "0.8.0"
ff = "0.13.0"
group = "0.13.0"
jubjub = "0.10.0"
rand = "0.8.5"
tempfile = "3.11.0"
zcash_note_encryption = "0.4.0"
toml = "0.8.19"
tonic = "0.12.1"
zebra-state = { path = "../zebra-state", version = "1.0.0-beta.38", features = ["proptest-impl"] }
zebra-test = { path = "../zebra-test", version = "1.0.0-beta.38" }