[package]
name = "defituna-client"
version = "2.0.3"
homepage = "https://defituna.com"
description = "Rust client to interact with DefiTuna's on-chain program."
license-file = "LICENSE"
repository = "https://github.com/DefiTuna/tuna-sdk"
keywords = ["solana", "crypto", "defi", "dex", "amm"]
edition = "2021"
include = ["src/*"]

[lib]
crate-type = ["cdylib", "lib"]

[features]
default = ["fetch"]
anchor = ["dep:anchor-lang"]
anchor-idl-build = []
serde = ["dep:serde", "dep:serde_with"]
fetch = []
solana-v1 = []

[dependencies]
anchor-lang = { version = ">=0.29, <=0.31.1", optional = true }
borsh = { version = "0.10" }
fixed = { version = "1.29.0" }
num-derive = { version = "0.4" }
num-traits = { version = "0.2" }
serde = { version = "1.0", features = ["derive"], optional = true }
serde_with = { version = "3.12", optional = true }
solana-program = { version = ">=1.16, <3.0" }
solana-sdk = { version = ">=1.16, <3.0"}
solana-client = { version = ">=1.16, <3.0"}
solana-account-decoder = { version = ">=1.16, <3.0"}
spl-token = { version = "6.0" }
spl-token-2022 = { version = "6.0" }
spl-associated-token-account = { version = "6.0" }
spl-memo = { version = "6.0.0" }
thiserror = { version = "2.0" }
uint = { version = "0.9", default-features = false }
orca_whirlpools_client = { version = "3.0", features = ["fetch"] }
orca_whirlpools_core = "2.0"
orca_whirlpools = "2.0"
fusionamm-core = { version = "1.0.47" }
fusionamm-client = { version = "1.0.47", features = ["fetch"] }
fusionamm-sdk = { version = "1.0.47" }
anyhow = "1.0.98"

[dev-dependencies]
serial_test = { version = "^3.2" }
tokio = { version = "^1.45", features = ["sync"] }
serde_json = { version = "^1.0" }
bincode = { version = "^1.3" }
base64 = { version = "^0.22" }
async-trait = { version = "^0.1" }
solana-program-test = { version = "^2.2" }
solana-version = { version = "^2.1" }
