[package] name = "keysat-licensing-client" version = "0.1.0" edition = "2021" rust-version = "1.75" description = "Client library for Keysat. Verifies signed license keys offline and wraps the HTTP API for purchase and revocation checks." license = "MIT OR Apache-2.0" repository = "https://github.com/keysat-xyz/keysat-client-rust" keywords = ["bitcoin", "licensing", "btcpay", "start9"] categories = ["authentication", "cryptography"] [features] # Default is offline-only verification — no network, no async runtime required. default = ["offline"] offline = [] # Online verification + purchase via reqwest. Async (tokio). online = ["reqwest", "tokio", "url"] [dependencies] ed25519-dalek = { version = "2", features = ["pkcs8", "pem"] } sha2 = "0.10" data-encoding = "2" thiserror = "1" # Async / HTTP: only compiled with the `online` feature. reqwest = { version = "0.12", default-features = false, features = ["json", "rustls-tls"], optional = true } tokio = { version = "1", features = ["rt", "macros"], optional = true } url = { version = "2", optional = true } serde = { version = "1", features = ["derive"] } serde_json = "1" [dev-dependencies] tokio = { version = "1", features = ["full"] } [[example]] name = "offline_verify" required-features = ["offline"] [[example]] name = "online_validate" required-features = ["online"]