[package]
edition = "2021"
name = "gmsol-sdk"
version = "0.9.0"
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "GMX-Solana is an extension of GMX on the Solana blockchain."
documentation = "https://docs.rs/gmsol-sdk"
readme = "README.md"
keywords = [
"gmx-solana",
"gmx",
"solana",
]
license-file = "LICENSE"
repository = "https://github.com/gmsol-labs/gmx-solana"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
chainlink = [
"gmsol-chainlink-datastreams/gmsol",
"reqwest",
"reqwest-websocket",
"sha2",
"hmac",
]
chaoslabs-risk-oracle = [
"client",
"reqwest",
"serde",
"uuid",
"libsecp256k1",
]
clap = [
"dep:clap",
"gmsol-utils/clap",
]
client = [
"gmsol-solana-utils/make-bundle-builder",
"gmsol-solana-utils/anchor",
"gmsol-utils/debug",
"gmsol-utils/display",
"gmsol-model/strum",
"treasury",
"timelock",
"tracing",
"serde",
"serde_json",
"futures-util",
"tokio",
"tokio-stream",
"solana-client",
"solana-account-decoder",
"solana-transaction-status",
"async-stream",
"time",
]
competition = ["gmsol-programs/competition"]
decode = ["gmsol-decode"]
default = [
"market-graph",
"simulation",
]
devnet = [
"gmsol-utils/devnet",
"switchboard-on-demand-client?/devnet",
]
discover = [
"client",
"tower/discover",
"tokio/time",
"pin-project-lite",
]
http-rpc-sender = ["gmsol-solana-utils/http-rpc-sender"]
js = [
"simulation",
"market-graph",
"wasm-bindgen",
"serde",
"serde-wasm-bindgen",
"gmsol-programs/wasm-bindgen",
"gmsol-programs/utils",
"gmsol-programs/gmsol-utils",
"tsify-next/wasm-bindgen",
"gmsol-model/js",
"gmsol-model/solana",
"bincode",
]
liquidity-provider = ["gmsol-programs/liquidity-provider"]
market-graph = [
"petgraph",
"rust_decimal/maths",
]
openssl-vendored = [
"solana-sdk/openssl-vendored",
"gmsol-solana-utils/openssl-vendored",
]
pyth = [
"pyth-sdk",
"pyth-solana-receiver-sdk",
"pythnet-sdk",
"eventsource-stream",
"byteorder",
"reqwest/stream",
]
serde = [
"dep:serde",
"gmsol-model/serde",
"gmsol-solana-utils/serde",
"gmsol-utils/serde",
"serde_with",
"rust_decimal/serde-with-str",
"indexmap/serde",
]
simulation = []
squads = []
switchboard = ["switchboard-on-demand-client"]
timelock = [
"gmsol-programs/timelock",
"gmsol-utils/instruction",
]
treasury = [
"gmsol-programs/treasury",
"gmsol-utils/treasury",
]
[lib]
name = "gmsol_sdk"
crate-type = [
"cdylib",
"rlib",
]
path = "src/lib.rs"
[dependencies.anchor-lang]
version = "0.31.1"
features = ["derive"]
[dependencies.anchor-spl]
version = "0.31.1"
features = [
"token",
"token_2022",
"associated_token",
"metadata",
]
default-features = false
[dependencies.async-stream]
version = "0.3.5"
optional = true
[dependencies.base64]
version = "0.22.1"
[dependencies.bincode]
version = "1.3.3"
optional = true
[dependencies.borsh]
version = "0.10.4"
[dependencies.bs58]
version = "0.5.1"
[dependencies.byteorder]
version = "1.5.0"
optional = true
[dependencies.bytes]
version = "1.8.0"
[dependencies.cfg-if]
version = "1.0.0"
[dependencies.clap]
version = "4.5.20"
features = ["derive"]
optional = true
[dependencies.either]
version = "1.13.0"
[dependencies.eventsource-stream]
version = "0.2.3"
optional = true
[dependencies.futures-util]
version = "0.3.30"
optional = true
[dependencies.gmsol-chainlink-datastreams]
version = "0.9.0"
optional = true
[dependencies.gmsol-decode]
version = "0.9.0"
features = [
"gmsol-programs",
"solana-decoder",
]
optional = true
[dependencies.gmsol-model]
version = "0.9.0"
features = [
"u128",
"strum",
"glv",
]
[dependencies.gmsol-programs]
version = "0.9.0"
features = [
"model",
"utils",
"gmsol-utils",
]
[dependencies.gmsol-solana-utils]
version = "0.9.0"
features = [
"client-traits",
"anchor-lang",
]
[dependencies.gmsol-utils]
version = "0.9.0"
features = [
"enum-iter",
"debug",
"display",
]
[dependencies.hex]
version = "0.4.3"
[dependencies.hmac]
version = "0.12.1"
optional = true
[dependencies.indexmap]
version = "2.9.0"
[dependencies.libsecp256k1]
version = "0.7.1"
optional = true
[dependencies.petgraph]
version = "0.8.1"
features = ["stable_graph"]
optional = true
default-features = false
[dependencies.pin-project-lite]
version = "0.2.15"
optional = true
[dependencies.pyth-sdk]
version = "0.8.0"
optional = true
[dependencies.pyth-solana-receiver-sdk]
version = "1.0.1"
optional = true
[dependencies.pythnet-sdk]
version = "2.3.1"
optional = true
[dependencies.rand]
version = "0.7.3"
[dependencies.reqwest]
version = "0.12.15"
features = ["json"]
optional = true
[dependencies.reqwest-websocket]
version = "0.4.3"
optional = true
[dependencies.rust_decimal]
version = "1.34"
features = ["std"]
default-features = false
[dependencies.serde]
version = "1.0.214"
features = ["derive"]
optional = true
[dependencies.serde-wasm-bindgen]
version = "0.6.5"
optional = true
[dependencies.serde_json]
version = "1.0.132"
optional = true
[dependencies.serde_with]
version = "3.11.0"
optional = true
[dependencies.sha2]
version = "0.10.9"
optional = true
[dependencies.solana-account-decoder]
version = "2.1.0"
optional = true
[dependencies.solana-client]
version = "2.1.0"
optional = true
[dependencies.solana-sdk]
version = ">=2.1.0,<2.2.0"
[dependencies.solana-transaction-status]
version = "2.1.0"
optional = true
[dependencies.strum]
version = "0.27.1"
[dependencies.switchboard-on-demand-client]
version = "0.2.15"
optional = true
[dependencies.thiserror]
version = "1.0.69"
[dependencies.time]
version = "0.3.36"
optional = true
[dependencies.tokio]
version = "1.41.0"
features = ["full"]
optional = true
default-features = false
[dependencies.tokio-stream]
version = "0.1.15"
features = ["sync"]
optional = true
[dependencies.tower]
version = "0.5.1"
optional = true
[dependencies.tracing]
version = "0.1.40"
optional = true
[dependencies.tsify-next]
version = "0.5.5"
features = ["js"]
optional = true
[dependencies.typed-builder]
version = "0.21.0"
[dependencies.uuid]
version = "1.10.0"
optional = true
[dependencies.wasm-bindgen]
version = "0.2.100"
optional = true
[dev-dependencies.eyre]
version = "0.6.12"
[dev-dependencies.gmsol-solana-utils]
version = "0.9.0"
features = ["http-rpc-sender"]
[dev-dependencies.rust_decimal_macros]
version = "1.34"
[dev-dependencies.serde_json]
version = "1.0.132"
[dev-dependencies.tracing]
version = "0.1.40"
[dev-dependencies.tracing-subscriber]
version = "0.3.20"
features = ["env-filter"]
[dev-dependencies.wasm-bindgen-test]
version = "0.3.50"
[build-dependencies.cfg_aliases]
version = "0.2.1"
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies.tokio]
version = "1.41.0"
features = [
"time",
"rt",
"macros",
"sync",
"rt-multi-thread",
]
default-features = false
[target.'cfg(target_arch = "wasm32")'.dev-dependencies.tokio]
version = "1.41.0"
features = [
"macros",
"rt",
"sync",
]
default-features = false