[package]
name = "switchgear-components"
version.workspace = true
edition = "2021"
authors = ["Bitshock <info@bitshock.com>"]
description = "Component APIs and implementations for Switchgear LNURL load balancer"
documentation = "https://github.com/bitshock-src/switchgear"
homepage = "https://bitshock.com"
repository = "https://github.com/bitshock-src/switchgear"
license = "Apache-2.0"
keywords = ["bitcoin", "lightning", "lnurl", "api", "service"]
categories = ["network-programming", "web-programming", "cryptography::cryptocurrencies"]
publish = true
[dependencies]
async-trait = "0.1"
axum = { version = "0.8", features = ["macros"] }
base64 = "0.22"
chrono = { version = "0.4", features = ["serde"] }
client-ip = { version = "0.1", features = ["forwarded-header"] }
hex = "0.4"
jsonwebtoken = { version = "10", features = ["aws_lc_rs"] }
log = "0.4"
prost = { version = "0.14" }
reqwest = { version = "0.12", default-features = false, features = ["json", "rustls-tls-native-roots-no-provider"] }
rustls = { version = "0.23", default-features = false }
sea-orm = { version = "1", default-features = false, features = ["with-chrono", "with-uuid", "with-json"] }
secp256k1 = { version = "0.31", features = ["recovery", "serde"] }
serde = "1"
serde_json = "1"
sha2 = "0.10"
sqlx = { version = "0.8", default-features = false, features = ["runtime-tokio", "tls-rustls-aws-lc-rs", "sqlite", "postgres", "mysql"] }
switchgear-migration.workspace = true
switchgear-service-api.workspace = true
tempfile = "3"
thiserror = "2"
tokio = { version = "1", features = ["full"] }
tonic = { version = "0.14", default-features = false, features = ["codegen", "transport", "tls-native-roots"] }
tonic-prost = "0.14"
tower = { version = "0.5", features = ["balance"] }
url = { version = "2", features = ["serde"] }
uuid = { version = "1", features = ["v4", "serde"] }
[build-dependencies]
tonic-prost-build = { version = "0.14" }
[dev-dependencies]
anyhow = "1"
bitcoin_hashes = "0.14"
lightning-invoice = { version = "0.34", features = ["serde", "std"] }
p256 = { version = "0.13", features = ["ecdsa"] }
pkcs8 = { version = "0.10", features = ["pem"] }
rand = "0.8"
rustls = { version = "0.23", features = ["aws-lc-rs"] }
switchgear-testing.workspace = true