[package]
name = "janus_messages"
description = "Distributed Aggregation Protocol message definitions used in Janus, the server powering ISRG's Divvi Up."
documentation = "https://docs.rs/janus_messages"
edition.workspace = true
homepage.workspace = true
license.workspace = true
repository.workspace = true
rust-version.workspace = true
version.workspace = true

[features]
dap-decode-bin = ["dep:structopt"]
test-util = []

[dependencies]
anyhow = "1"
base64 = "0.21.2"
derivative = "2.2.0"
hex = "0.4"
num_enum = "0.6.1"
prio = { version = "0.10.0", default-features = false } # important: do not enable prio/crypto-dependencies by default!
rand = "0.8"
serde = { version = "1.0.164", features = ["derive"] }
structopt = { version = "0.3.26", optional = true }
thiserror = "1.0"

[dev-dependencies]
assert_matches = "1"
tracing-log = "0.1.3"
tracing-subscriber = { version = "0.3", features = ["std", "env-filter", "fmt"] }

[[bin]]
name = "dap-decode"
path = "src/bin/dap_decode.rs"
required-features = ["dap-decode-bin"]
