# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
rust-version = "1.86"
name = "pump-rust-client"
version = "0.1.4"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Rust SDK for the pump and pump_amm Solana programs: instruction builders, quoting, PDA helpers, and optional RPC client features."
readme = "README.md"
license = "MIT"
resolver = "2"

[features]
client = [
    "dep:solana-sdk",
    "dep:solana-client",
]
default = []
local-validator = [
    "client",
    "dep:solana-test-validator",
    "dep:solana-faucet",
    "dep:solana-streamer",
    "dep:solana-rpc",
    "dep:spl-token",
    "dep:spl-token-2022",
    "dep:tokio",
    "dep:serde",
    "dep:serde_json",
    "dep:bincode",
    "dep:zstd",
    "dep:crossbeam-channel",
    "dep:dotenvy",
]

[lib]
name = "pump_rust_client"
crate-type = ["lib"]
path = "src/lib.rs"

[[bin]]
name = "clone_devnet_accounts"
path = "src/bin/clone_devnet_accounts/main.rs"
required-features = ["local-validator"]

[[bin]]
name = "local-validator"
path = "src/bin/local_validator/main.rs"
required-features = ["local-validator"]

[[example]]
name = "buy_amm"
path = "examples/buy_amm.rs"
required-features = ["local-validator"]

[[example]]
name = "buy_v2"
path = "examples/buy_v2.rs"
required-features = ["local-validator"]

[[example]]
name = "create_v2"
path = "examples/create_v2.rs"
required-features = ["local-validator"]

[[example]]
name = "create_v2_and_buy"
path = "examples/create_v2_and_buy.rs"
required-features = ["local-validator"]

[[example]]
name = "sell_amm"
path = "examples/sell_amm.rs"
required-features = ["local-validator"]

[[example]]
name = "sell_v2"
path = "examples/sell_v2.rs"
required-features = ["local-validator"]

[[test]]
name = "async_client_fetchers"
path = "tests/async_client_fetchers.rs"

[[test]]
name = "buy_sell_instructions"
path = "tests/buy_sell_instructions.rs"

[[test]]
name = "trade_tx_and_quotes"
path = "tests/trade_tx_and_quotes.rs"

[[test]]
name = "v2_custom_quote_mint"
path = "tests/v2_custom_quote_mint.rs"

[dependencies.anchor-lang]
version = "0.31"
features = [
    "event-cpi",
    "init-if-needed",
    "allow-missing-optionals",
]

[dependencies.anchor-spl]
version = "0.31"
features = [
    "metadata",
    "spl-token-group-interface",
    "token_2022",
    "spl-token-metadata-interface",
    "token_2022_extensions",
    "spl-token-2022",
]

[dependencies.bincode]
version = "1.3"
optional = true

[dependencies.crossbeam-channel]
version = "0.5"
optional = true

[dependencies.dotenvy]
version = "0.15"
optional = true

[dependencies.fastrand]
version = "2"

[dependencies.serde]
version = "1"
features = ["derive"]
optional = true

[dependencies.serde_json]
version = "1"
optional = true

[dependencies.solana-client]
version = "2.1.21"
optional = true

[dependencies.solana-faucet]
version = "2.1.21"
optional = true

[dependencies.solana-program]
version = "2.1.21"

[dependencies.solana-rpc]
version = "2.1.21"
optional = true

[dependencies.solana-sdk]
version = "2.1.21"
optional = true

[dependencies.solana-streamer]
version = "2.1.21"
optional = true

[dependencies.solana-test-validator]
version = "2.1.21"
optional = true

[dependencies.spl-token]
version = "=7.0.0"
optional = true

[dependencies.spl-token-2022]
version = "=6.0.0"
optional = true

[dependencies.tokio]
version = "1.44.1"
features = ["full"]
optional = true

[dependencies.zstd]
version = "0.13"
optional = true

[dev-dependencies.solana-client]
version = "2.1.21"

[dev-dependencies.solana-sdk]
version = "2.1.21"

[dev-dependencies.tokio]
version = "1.44.1"
features = ["full"]
