[package] name = "otproto" description = "OTP/1 wire protocol for opentracker: codec + AEAD. No I/O, no async." version.workspace = true edition.workspace = true rust-version.workspace = true license.workspace = true repository.workspace = true [dependencies] chacha20poly1305 = { version = "0.10", default-features = false, features = ["alloc"] } hkdf = "0.12" sha2 = { version = "0.10", default-features = false } thiserror.workspace = true serde = { workspace = true, optional = true } [dev-dependencies] proptest = "1" serde_json.workspace = true hex.workspace = true serde = { workspace = true } [features] default = [] # Serde impls for the wire structs. Used by the vector generator and by # otserver when it hands protocol structs to the JSON API. serde = ["dep:serde"] # `cargo run -p otproto --features serde --example gen_vectors` # Written as an example rather than a bin so it can use serde_json/hex from # dev-dependencies without dragging them into the library's dependency tree. [[example]] name = "gen_vectors" required-features = ["serde"]