offline-protocol 0.22.0

Main protocol engine for the Offline Protocol SDK
Documentation
[package]
name = "offline-protocol"
version.workspace = true
edition.workspace = true
authors.workspace = true
license.workspace = true
# AGPL-3.0-only requires the license text to accompany the program, and a
# published crate ships on its own. Rather than `license-file = "../../LICENSE"`
# (which makes cargo warn that `license` and `license-file` are redundant on
# every invocation), each publishable crate carries its own byte-identical
# LICENSE copy; cargo packages every git-tracked file under the crate root, so
# it lands in the .crate archive. scripts/check-license-consistency.sh asserts
# the copies never drift.
repository.workspace = true
rust-version.workspace = true
description = "Main protocol engine for the Offline Protocol SDK"

[lints]
workspace = true

[dependencies]
offline-protocol-core = { workspace = true }
offline-protocol-transport = { workspace = true }
offline-protocol-router = { workspace = true }
offline-protocol-reliability = { workspace = true }
offline-protocol-mls = { workspace = true }
offline-protocol-services = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
thiserror = { workspace = true }
uuid = { workspace = true }
chrono = { workspace = true }
tracing = { workspace = true }
base64 = { workspace = true }
# The Nostr author key is hex on the wire and hex in the discovery record, so
# the comparison that binds the two never crosses an encoding.
hex = { workspace = true }
sha2 = "0.10"
chacha20poly1305 = { workspace = true }
rand_core = { workspace = true }
zeroize = { workspace = true }

[lib]