Documentation
[package]
name = "anchor-cli"
version.workspace = true
publish = true
authors = ["Anchor Maintainers <accounts@200ms.io>"]
edition = "2021"
repository = "https://github.com/otter-sec/anchor"
description = "Anchor CLI"
license = "Apache-2.0"

[package.metadata.docs.rs]
workspace = true

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

[features]
dev = []
# For development/CI testing purposes only - allows IDL commands to run against localnet
idl-localnet-testing = []

[dependencies]
anchor-cli-macros = { workspace = true }
anchor-client = { workspace = true }
anchor-lang = { workspace = true }
anchor-lang-idl = { workspace = true, features = ["build", "convert"] }
anyhow = "1.0.32"
base64 = "0.21"
bincode = "1.3.3"
cargo_metadata = "0.23.1"
cargo_toml.workspace = true
chrono = "0.4.19"
clap = { version = "4.5.17", features = ["derive"] }
crucible-fuzz-cli = "0.2.0"
clap_complete = "4.5.26"
console = "0.15"
dirs = "4.0"
ed25519-dalek = "2"
flate2 = "1.0.19"
heck = "0.4.0"
pathdiff = "0.2.0"
portpicker = "0.1.1"
regex = "1.8.3"
reqwest = { workspace = true, default-features = false, features = [
  "multipart",
  "blocking",
  "rustls-tls",
] }
semver = "1.0.4"
serde = { version = "1.0.130", features = ["derive"] }
serde_json = "1.0"
shellexpand = "2.1.0"
solana-cli-config.workspace = true
solana-client.workspace = true
solana-clock.workspace = true
solana-commitment-config.workspace = true
solana-compute-budget-interface.workspace = true
solana-instruction.workspace = true
solana-keypair.workspace = true
solana-loader-v3-interface.workspace = true
solana-message.workspace = true
solana-packet.workspace = true
solana-pubkey.workspace = true
solana-sdk-ids.workspace = true
solana-signature.workspace = true
solana-signer.workspace = true
solana-system-interface.workspace = true
solana-transaction.workspace = true
solana-rpc-client.workspace = true
solana-rpc-client-api.workspace = true
solana-pubsub-client.workspace = true
solana-transaction-status-client-types.workspace = true
syn = { version = "1.0.60", features = ["full", "extra-traits"] }
tempfile = "3"
tiny-bip39 = "2.0"
pbkdf2 = "0.12"
sha2 = "0.10"
toml = "0.7.6"
walkdir = "2.3.2"
bs58 = "0.5.1"
indicatif = "0.18.2"

[target.'cfg(not(windows))'.dependencies]
# `anchor test --profile` — flamegraph rendering from LiteSVM register traces.
inferno = { version = "0.12", default-features = false }
object = { version = "0.37.3", features = ["read_core", "elf"] }
rustc-demangle = "0.1"
solana-compute-budget = { version = "3.1.10", features = ["agave-unstable-api"] }
solana-sbpf = "0.13.1"

# `anchor debugger` — foundry-style TUI stepper over profile traces.
addr2line = { version = "0.24", default-features = false, features = [
  "std",
  "rustc-demangle",
  "loader",
] }
ratatui = { version = "0.30", default-features = false, features = [
  "crossterm"
] }
syntect = { version = "5.3", default-features = false, features = [
  "default-fancy"
] }
two-face = "0.5"
terminal-colorsaurus = "1.0"