[package]
name = "bpx-cli"
version = "1.0.0"
edition = "2021"
rust-version = "1.85.0"
# Note: some deps require newer Rust; rust-toolchain.toml pins to stable
description = "Official CLI for Backpack Exchange"
license = "Apache-2.0"
homepage = "https://backpack.exchange"
repository = "https://github.com/backpack-exchange/bpx-cli"
readme = "README.md"
keywords = ["backpack", "exchange", "trading", "cli", "crypto"]
categories = ["command-line-utilities"]

[[bin]]
name = "bpx"
path = "src/main.rs"

[dependencies]
bpx-api-client = { version = "0.17", features = ["ws"] }
bpx-api-types = "0.17"
clap = { version = "4", features = ["derive", "env", "color"] }
clap_complete = "4"
tokio = { version = "1", features = ["full"] }
ratatui = "0.29"
crossterm = "0.28"
tabled = "0.17"
owo-colors = "4"
indicatif = "0.17"
dialoguer = "0.11"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
toml = "0.8"
rust_decimal = "1"
chrono = { version = "0.4", features = ["serde"] }
dirs = "6"
anyhow = "1"
thiserror = "2"
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
futures-util = "0.3"
tokio-tungstenite = { version = "0.24", features = ["native-tls"] }
ed25519-dalek = "2"
base64ct = { version = "1", features = ["alloc"] }
reqwest = { version = "0.12", features = ["json"] }

[dev-dependencies]
assert_cmd = "2"
predicates = "3"
rust_decimal_macros = "1"
insta = { version = "1", features = ["yaml"] }
tempfile = "3"

[profile.release]
lto = "thin"
codegen-units = 1
strip = true
panic = "abort"
