cdk 0.5.0

Core Cashu Development Kit library implementing the Cashu protocol
Documentation
[package]
name = "cdk"
version = "0.5.0"
edition = "2021"
authors = ["CDK Developers"]
description = "Core Cashu Development Kit library implementing the Cashu protocol"
homepage = "https://github.com/cashubtc/cdk"
repository = "https://github.com/cashubtc/cdk.git"
rust-version = "1.63.0" # MSRV
license = "MIT"


[features]
default = ["mint", "wallet"]
mint = ["dep:futures"]
# We do not commit to a MSRV with swagger enabled
swagger = ["mint", "dep:utoipa"]
wallet = ["dep:reqwest"]
bench = []


[dependencies]
async-trait = "0.1"
anyhow = { version = "1.0.43", features = ["backtrace"] }
bitcoin = { version= "0.32.2", features = ["base64", "serde", "rand", "rand-std"] }
ciborium = { version = "0.2.2", default-features = false, features = ["std"] }
cbor-diag = "0.1.12"
lightning-invoice = { version = "0.32.0", features = ["serde", "std"] }
once_cell = "1.19"
regex = "1"
reqwest = { version = "0.12", default-features = false, features = [
    "json",
    "rustls-tls",
    "rustls-tls-native-roots",
    "socks",
], optional = true }
serde = { version = "1", default-features = false, features = ["derive"] }
serde_json = "1"
serde_with = "3"
tracing = { version = "0.1", default-features = false, features = ["attributes", "log"] }
thiserror = "1"
futures = { version = "0.3.28", default-features = false, optional = true, features = ["alloc"] }
url = "2.3"
utoipa = { version = "4", optional = true }
uuid = { version = "1", features = ["v4"] }

# -Z minimal-versions
sync_wrapper = "0.1.2"
bech32 = "0.9.1"

[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
tokio = { version = "1.21", features = [
    "rt-multi-thread",
    "time",
    "macros",
    "sync",
] }

[target.'cfg(target_arch = "wasm32")'.dependencies]
tokio = { version = "1.21", features = ["rt", "macros", "sync", "time"] }
getrandom = { version = "0.2", features = ["js"] }
instant = { version = "0.1", features = ["wasm-bindgen", "inaccurate"] }

[[example]]
name = "mint-token"
required-features = ["wallet"]

[[example]]
name = "p2pk"
required-features = ["wallet"]

[[example]]
name = "wallet"
required-features = ["wallet"]

[[example]]
name = "proof-selection"
required-features = ["wallet"]

[dev-dependencies]
rand = "0.8.5"
bip39 = "2.0"
criterion = "0.5.1"

[[bench]]
name = "dhke_benchmarks"
harness = false