vote-commitment-tree-client 0.4.0

HTTP client and CLI for syncing and verifying the vote commitment tree against a running Zcash shielded-voting chain node.
Documentation
[package]
name = "vote-commitment-tree-client"
version = "0.4.0"
edition = "2021"
description = "HTTP client and CLI for syncing and verifying the vote commitment tree against a running Zcash shielded-voting chain node."
license = "MIT OR Apache-2.0"
repository = "https://github.com/valargroup/zcash_voting"
readme = "README.md"

[features]
default = []
# HTTP transport for syncing the tree from a vote chain node's REST API.
# Enables the `http_sync_api` module without selecting a concrete HTTP stack.
http = []
# `vote-tree-cli` binary. Implies `http` because the binary syncs over HTTP.
# Pulls in `clap` and a CLI-only Hyper/Rustls transport.
cli = ["http", "dep:bytes", "dep:clap", "dep:http-body-util", "dep:hyper", "dep:hyper-rustls", "dep:hyper-util", "dep:tokio"]

[[bin]]
name = "vote-tree-cli"
path = "src/main.rs"
required-features = ["cli"]

[dependencies]
vote-commitment-tree = { path = "../vote-commitment-tree", version = "0.2" }
pasta_curves = "0.5"
ff = "0.13"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
bytes = { version = "1", optional = true }
clap = { version = "4", features = ["derive"], optional = true }
http-body-util = { version = "0.1", optional = true }
hyper = { version = "1", features = ["client", "http1", "http2"], optional = true }
hyper-rustls = { version = "0.27", default-features = false, features = ["http1", "http2", "ring", "webpki-roots"], optional = true }
hyper-util = { version = "0.1", features = ["client-legacy", "http1", "http2", "tokio"], optional = true }
tokio = { version = "1", features = ["rt-multi-thread"], optional = true }
base64 = "0.22"
hex = "0.4"
thiserror = "2"