[package]
edition = "2021"
rust-version = "1.87"
name = "offline-protocol-leaf"
version = "0.30.0"
authors = ["Offline Protocol, Inc."]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A constrained leaf node that speaks the Offline Protocol as a never-committing MLS member"
readme = "README.md"
license = "AGPL-3.0-only"
repository = "https://github.com/Offline-Protocol/offline-protocol-sdk"
[features]
bare-metal-rng = [
"dep:getrandom",
"getrandom/custom",
]
default = ["std"]
std = [
"offline-protocol-core/std",
"offline-protocol-sealed/std",
"mls-rs/std",
"mls-rs-core/std",
"mls-rs-crypto-rustcrypto/std",
"serde/std",
"serde_json/std",
"base64/std",
"thiserror/std",
]
[lib]
name = "offline_protocol_leaf"
path = "src/lib.rs"
[[example]]
name = "wasi_host_shim"
path = "examples/wasi_host_shim.rs"
required-features = ["std"]
[[test]]
name = "phone_interop"
path = "tests/phone_interop.rs"
[dependencies.base64]
version = "0.22"
features = ["alloc"]
default-features = false
[dependencies.getrandom]
version = "0.2"
optional = true
default-features = false
[dependencies.mls-rs]
version = "=0.56.0"
features = [
"private_message",
"out_of_order",
"prior_epoch",
"by_ref_proposal",
]
default-features = false
[dependencies.mls-rs-core]
version = "=0.27.0"
default-features = false
[dependencies.mls-rs-crypto-rustcrypto]
version = "=0.22.1"
default-features = false
[dependencies.offline-protocol-core]
version = "0.30.0"
default-features = false
[dependencies.offline-protocol-sealed]
version = "0.30.0"
default-features = false
[dependencies.serde]
version = "1.0"
features = [
"derive",
"alloc",
]
default-features = false
[dependencies.serde_json]
version = "1.0"
features = ["alloc"]
default-features = false
[dependencies.thiserror]
version = "2.0"
default-features = false
[dependencies.zeroize]
version = "1"
default-features = false
[target.'cfg(not(target_has_atomic = "ptr"))'.dependencies.portable-atomic-util]
version = "0.2"
features = ["alloc"]
default-features = false
[lints.clippy]
unwrap_used = "deny"