sos-protocol 0.17.5

Networking and sync protocol types for the Save Our Secrets SDK.
[package]
name = "sos-protocol"
version = "0.17.5"
edition = "2021"
description = "Networking and sync protocol types for the Save Our Secrets SDK."
homepage = "https://saveoursecrets.com"
license = "MIT OR Apache-2.0"
repository = "https://github.com/saveoursecrets/sdk"

[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]

[features]
full = [
  "listen",
  "hashcheck",
  "network-client",
  "pairing",
  "contacts",
  "files",
  "migrate",
  "search",
]
listen = ["tokio-tungstenite", "rustls", "webpki-roots", "rustls-pemfile", "rustls-webpki"]
hashcheck = ["reqwest"]
network-client = ["reqwest", "bs58", "tokio-util", "tokio-stream"]
pairing = []
contacts = []
files = ["sos-external-files/files", "sos-core/files", "sos-sync/files"]
migrate = []
search = []

[dependencies]
sos-core.workspace = true
sos-backend.workspace = true
sos-signer.workspace = true
sos-sync.workspace = true
sos-vfs.workspace = true

sos-external-files = { workspace = true, optional = true }

thiserror.workspace = true
tracing.workspace = true
parking_lot.workspace = true
async-trait.workspace = true
serde.workspace = true
serde_json.workspace = true
uuid.workspace = true
url.workspace = true
time.workspace = true
hex.workspace = true
futures.workspace = true
indexmap.workspace = true
rs_merkle.workspace = true
prost.workspace = true
http.workspace = true
bytes.workspace = true
binary-stream.workspace = true
typeshare.workspace = true
sha2.workspace = true
tokio = { version = "1", features = ["rt",  "macros"] }

# network-client
tokio-tungstenite = { workspace = true, optional = true }
bs58 = { workspace = true, optional = true }
tokio-stream = { workspace = true, optional = true }
tokio-util = { workspace = true, optional = true }
rustls = { workspace = true, optional = true }
webpki-roots = { workspace = true, optional = true }
rustls-pemfile = { workspace = true, optional = true }
rustls-webpki = { workspace = true, optional = true }

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.reqwest]
workspace = true
features = ["json", "rustls-tls", "stream"]
optional = true

[target.'cfg(target_arch = "wasm32")'.dependencies.reqwest]
workspace = true
features = ["json", "stream"]
optional = true

[build-dependencies]
rustc_version.workspace = true
prost-build.workspace = true
protoc-bin-vendored.workspace = true