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

[[bin]]
name = "cdk-payment-processor"
path = "src/bin/payment_processor.rs"

[features]
default = ["cln", "fake", "lnd"]
bench = []
cln = ["dep:cdk-cln", "dep:cdk-sqlite"]
fake = ["dep:cdk-fake-wallet"]
lnd = ["dep:cdk-lnd"]

[dependencies]
anyhow.workspace = true
async-trait.workspace = true
bitcoin.workspace = true
cashu.workspace = true
cdk-common = { workspace = true, features = ["mint"] }
cdk-cln = { workspace = true, optional = true }
cdk-lnd = { workspace = true, optional = true }
cdk-fake-wallet = { workspace = true, optional = true }
cdk-sqlite = { workspace = true, optional = true }
clap = { workspace = true, features = ["derive"] }
serde.workspace = true
thiserror.workspace = true
tracing.workspace = true
tracing-subscriber.workspace = true
lightning-invoice.workspace = true
uuid = { workspace = true }
utoipa = { workspace = true, optional = true }
futures.workspace = true
serde_json.workspace = true
serde_with.workspace = true
tonic = { workspace = true, features = ["transport", "tls-ring", "codegen", "router"] }
tonic-prost.workspace = true
prost.workspace = true
tokio-stream.workspace = true
tokio-util = { workspace = true, default-features = false }
hex = "0.4"
lightning = { workspace = true }


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


[target.'cfg(target_arch = "wasm32")'.dependencies]
tokio = { workspace = true, features = ["rt", "macros", "sync", "time"] }
uuid = { workspace = true, features = ["js"], optional = true }

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

[build-dependencies]
tonic-prost-build.workspace = true

[lints]
workspace = true
