[package]
name = "solana-rpc-client"
description = "Solana RPC Client"
documentation = "https://docs.rs/solana-rpc-client"
version = { workspace = true }
authors = { workspace = true }
repository = { workspace = true }
homepage = { workspace = true }
license = { workspace = true }
edition = { workspace = true }

[package.metadata.docs.rs]
targets = ["x86_64-unknown-linux-gnu"]

[features]
default = ["spinner"]
agave-unstable-api = []
# Support rpc-client methods that feature a spinner progress bar for
# command-line interfaces
spinner = ["dep:indicatif"]

[dependencies]
async-trait = { workspace = true }
base64 = { workspace = true }
bincode = { workspace = true }
bs58 = { workspace = true }
futures = { workspace = true }
indicatif = { workspace = true, optional = true }
log = { workspace = true }
reqwest = { workspace = true, features = ["blocking", "brotli", "deflate", "gzip", "rustls-tls", "json"] }
reqwest-middleware = { workspace = true }
semver = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
solana-account = { workspace = true }
solana-account-decoder = { workspace = true }
solana-account-decoder-client-types = { workspace = true, features = ["zstd"] }
solana-clock = { workspace = true }
solana-commitment-config = { workspace = true }
solana-epoch-info = { workspace = true, features = ["serde"] }
solana-epoch-schedule = { workspace = true, features = ["serde"] }
solana-feature-gate-interface = { workspace = true, features = ["serde"] }
solana-hash = { workspace = true }
solana-instruction = { workspace = true }
solana-message = { workspace = true }
solana-pubkey = { workspace = true }
solana-rpc-client-api = { workspace = true }
solana-signature = { workspace = true }
solana-transaction = { workspace = true, features = ["bincode"] }
solana-transaction-error = { workspace = true }
solana-transaction-status-client-types = { workspace = true }
solana-version = { workspace = true }
solana-vote-interface = { workspace = true }
tokio = { workspace = true, features = ["full"] }

[dev-dependencies]
assert_matches = { workspace = true }
crossbeam-channel = { workspace = true }
futures = { workspace = true }
jsonrpc-core = { workspace = true }
jsonrpc-http-server = { workspace = true }
solana-account-decoder = { workspace = true }
solana-keypair = { workspace = true }
solana-pubkey = { workspace = true, features = ["rand"] }
solana-signer = { workspace = true }
solana-system-transaction = { workspace = true }
static_assertions = { workspace = true }
test-case = { workspace = true }
