[package] name = "zebra-scan" version = "0.1.0-alpha.11" authors = ["Zcash Foundation "] 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 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.6.0", features = ["serde"] } itertools = "0.13.0" semver = "1.0.23" serde = { version = "1.0.211", features = ["serde_derive"] } tokio = { version = "1.41.0", features = ["time"] } tower = "0.4.13" tracing = "0.1.39" futures = "0.3.31" # ECC dependencies. zcash_client_backend.workspace = true zcash_keys = { workspace = true, features = ["sapling"] } zcash_primitives.workspace = true zcash_address.workspace = true sapling-crypto.workspace = true zebra-chain = { path = "../zebra-chain", version = "1.0.0-beta.42", features = ["shielded-scan"] } zebra-state = { path = "../zebra-state", version = "1.0.0-beta.42", features = ["shielded-scan"] } zebra-node-services = { path = "../zebra-node-services", version = "1.0.0-beta.42", features = ["shielded-scan"] } zebra-grpc = { path = "../zebra-grpc", version = "0.1.0-alpha.9" } zebra-rpc = { path = "../zebra-rpc", version = "1.0.0-beta.42" } 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.42", 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.132" jsonrpc = { version = "0.18.0", optional = true } hex = { version = "0.4.3", optional = true } zebrad = { path = "../zebrad", version = "2.0.1" } [dev-dependencies] insta = { version = "1.40.0", features = ["ron", "redactions"] } tokio = { version = "1.41.0", 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.13.0" zcash_note_encryption = "0.4.0" toml = "0.8.19" tonic = "0.12.3" zebra-state = { path = "../zebra-state", version = "1.0.0-beta.42", features = ["proptest-impl"] } zebra-test = { path = "../zebra-test", version = "1.0.0-beta.42" }