[package] name = "cashu" version.workspace = true edition.workspace = true authors = ["CDK Developers"] description = "Cashu shared types and crypto utilities, used as the foundation for the CDK and their crates" homepage = "https://github.com/cashubtc/cdk" repository = "https://github.com/cashubtc/cdk.git" rust-version.workspace = true # MSRV license.workspace = true readme = "README.md" [features] default = ["mint", "wallet", "auth"] swagger = ["dep:utoipa"] mint = [] wallet = [] auth = ["dep:strum", "dep:strum_macros", "dep:regex"] bench = [] [dependencies] uuid.workspace = true bitcoin.workspace = true cbor-diag.workspace = true ciborium.workspace = true once_cell.workspace = true serde.workspace = true lightning-invoice.workspace = true lightning.workspace = true thiserror.workspace = true tracing.workspace = true url.workspace = true utoipa = { workspace = true, optional = true } serde_json.workspace = true serde_with.workspace = true regex = { workspace = true, optional = true } strum = { workspace = true, optional = true } strum_macros = { workspace = true, optional = true } zeroize = "1" web-time.workspace = true [target.'cfg(target_arch = "wasm32")'.dependencies] uuid = { workspace = true, features = ["js"], optional = true } [dev-dependencies] bip39.workspace = true nostr-sdk.workspace = true [lints.rust] unsafe_code = "forbid" unreachable_pub = "warn" missing_debug_implementations = "warn" [lints.clippy] # pedantic = { level = "warn", priority = -1 } # nursery = { level = "warn", priority = -1 } unwrap_used = "deny" clone_on_ref_ptr = "warn" # missing_errors_doc = "warn" missing_panics_doc = "warn" missing_safety_doc = "warn" large_enum_variant = "warn" redundant_else = "warn" redundant_closure_for_method_calls = "warn" unneeded_field_pattern = "warn" use_debug = "warn" [lints.rustdoc] missing_docs = "warn" bare_urls = "warn"