[package]
name = "cdk-common"
version.workspace = true
authors = ["CDK Developers"]
description = "CDK common types and traits"
homepage = "https://github.com/cashubtc/cdk"
repository = "https://github.com/cashubtc/cdk.git"
edition.workspace = true
rust-version.workspace = true # MSRV
license.workspace = true
readme = "README.md"

[features]
default = ["mint", "wallet"]
swagger = ["dep:utoipa", "cashu/swagger"]
test = []
bench = []
wallet = ["cashu/wallet"]
mint = ["cashu/mint", "dep:uuid"]
auth = ["cashu/auth"]
prometheus = ["cdk-prometheus/default"]

[dependencies]
async-trait.workspace = true
bitcoin.workspace = true
cashu.workspace = true
cbor-diag.workspace = true
ciborium.workspace = true
serde.workspace = true
lightning-invoice.workspace = true
lightning.workspace = true
thiserror.workspace = true
tracing.workspace = true
cdk-prometheus = { workspace = true, optional = true}
url.workspace = true
uuid = { workspace = true, optional = true }
utoipa = { workspace = true, optional = true }
futures.workspace = true
anyhow.workspace = true
serde_json.workspace = true
serde_with.workspace = true

[target.'cfg(target_arch = "wasm32")'.dependencies]
instant = { workspace = true, features = ["wasm-bindgen", "inaccurate"] }
uuid = { workspace = true, features = ["js"], optional = true }

[dev-dependencies]
rand.workspace = true
bip39.workspace = true
