[package]
name = "deadeye-cli"
description = "Market-maker-grade command-line interface for the Deadeye Rust SDK."
version = "0.1.4"
edition.workspace = true
rust-version.workspace = true
license.workspace = true
authors.workspace = true
repository.workspace = true
homepage.workspace = true
readme.workspace = true
keywords.workspace = true
categories.workspace = true

[lints]
workspace = true

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

[dependencies]
# Workspace SDK surface — read-only paths only in this driver.
deadeye-core = { workspace = true, features = ["std"] }
deadeye-sdk = { workspace = true }
deadeye-starknet = { workspace = true }
deadeye-indexer = { workspace = true, features = ["client"] }
deadeye-deployer = { workspace = true }
starknet-core = { workspace = true, features = ["std"] }
starknet-providers = { workspace = true }
starknet-contract = { workspace = true }
starknet-accounts = { workspace = true }
rand = { workspace = true, features = ["std", "std_rng"] }

# CLI / I/O surface.
clap = { version = "4", features = ["derive", "env", "wrap_help"] }
tokio = { workspace = true, features = ["rt-multi-thread", "macros", "sync", "signal", "time"] }
serde = { workspace = true, features = ["std", "derive"] }
serde_json = { workspace = true, features = ["std"] }
toml = { version = "0.8", default-features = false, features = ["parse", "display"] }
owo-colors = { version = "4", default-features = false, features = ["supports-colors"] }
comfy-table = { version = "7", default-features = false }
dirs = "5"
anyhow = { workspace = true, features = ["std"] }
url = { workspace = true, features = ["std"] }
tracing = { workspace = true, features = ["std", "attributes"] }
tracing-subscriber = { workspace = true, features = ["registry", "fmt", "env-filter"] }
futures = { workspace = true, features = ["std", "alloc", "async-await"] }

[dev-dependencies]
assert_cmd = "2"
predicates = "3"
tempfile = "3"
serde_json = { workspace = true, features = ["std"] }
# Path-only: testkit is `publish = false`, so `cargo publish` can't
# resolve a version constraint for it. Path-only dev-deps are skipped
# entirely when this crate is consumed from crates.io.
deadeye-testkit = { path = "../deadeye-testkit" }
deadeye-core = { workspace = true }
deadeye-deployer = { workspace = true }
starknet-providers = { workspace = true }
starknet-core = { workspace = true, features = ["std"] }
tokio = { workspace = true, features = ["macros", "rt-multi-thread", "time"] }
