[package]
name = "solana-tpu-client"
description = "Solana TPU Client"
documentation = "https://docs.rs/solana-tpu-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 tpu-client methods that feature a spinner progress bar for
# command-line interfaces
spinner = [
    "dep:indicatif",
    "dep:solana-message",
    "solana-rpc-client/spinner",
]

[dependencies]
async-trait = { workspace = true }
bincode = { workspace = true }
futures-util = { workspace = true }
indexmap = { workspace = true }
indicatif = { workspace = true, optional = true }
log = { workspace = true }
rayon = { workspace = true }
solana-client-traits = { workspace = true }
solana-clock = { workspace = true }
solana-commitment-config = { workspace = true }
solana-connection-cache = { workspace = true }
solana-epoch-schedule = { workspace = true }
solana-measure = { workspace = true }
solana-message = { workspace = true, optional = true }
solana-net-utils = { workspace = true }
solana-pubkey = { workspace = true }
solana-pubsub-client = { workspace = true }
solana-rpc-client = { workspace = true }
solana-rpc-client-api = { workspace = true }
solana-signature = { workspace = true }
solana-signer = { workspace = true }
solana-transaction = { workspace = true }
solana-transaction-error = { workspace = true }
thiserror = { workspace = true }
tokio = { workspace = true, features = ["full"] }
