[package]
name = "cashierd"
version = "0.3.0"
edition = "2021"

[dependencies.darkfi]
path = "../../"
features = ["wallet", "node", "rpc"]

[dependencies]
# Async
smol = "1.2.5"
futures = "0.3.24"
async-std = "1.12.0"
async-trait = "0.1.57"
async-channel = "1.7.1"
async-executor = "1.4.1"
easy-parallel = "3.2.0"

# Crypto
rand = "0.8.5"

# Misc
clap = {version = "3.2.18", features = ["derive"]}
log = "0.4.17"
num_cpus = "1.13.1"
simplelog = "0.12.0"
thiserror = "1.0.32"
url = "2.2.2"
fxhash = "0.2.1"

# Encoding and parsing
serde = {version = "1.0.144", features = ["derive"]}
serde_json = "1.0.85"

# Bitcoin bridge dependencies
bdk = {version = "0.21.0", optional = true}
anyhow = {version = "1.0.62", optional = true}
bitcoin = {version = "0.29.1", optional = true}
secp256k1 = {version = "0.24.0", default-features = false, features = ["rand-std"], optional = true}

# Ethereum bridge dependencies
hex = {version = "0.4.3", optional = true}
hash-db = {version = "0.15.2", optional = true}
lazy_static = {version = "1.4.0", optional = true}
keccak-hasher = {version = "0.15.3", optional = true}
num-bigint = {version = "0.4.3", features = ["rand", "serde"], optional = true}

# Solana bridge dependencies
native-tls = {version = "0.2.10", optional = true}
async-native-tls = {version = "0.4.0", optional = true}
solana-client = {version = "1.11.5", optional = true}
solana-sdk = {version = "1.11.5", optional = true}
spl-associated-token-account = {version = "1.1.1", features = ["no-entrypoint"], optional = true}
spl-token = {version = "3.5.0", features = ["no-entrypoint"], optional = true}
tungstenite = {version = "0.17.3", optional = true}

[features]
btc = [
    "anyhow",
    "bdk",
    "bitcoin",
    "secp256k1",
]

eth = [
    "num-bigint",
    "keccak-hasher",
    "hash-db",
    "lazy_static",
    "hex",
]

sol = [
    "async-native-tls",
    "native-tls",
    "solana-client",
    "solana-sdk",
    "spl-associated-token-account",
    "spl-token",
    "tungstenite",
]
