[package]
edition = "2021"
name = "lightcone"
version = "0.3.21"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Rust SDK for the Lightcone Protocol — unified native + WASM client"
readme = "README.md"
keywords = [
"solana",
"lightcone",
"sdk",
"impact-markets",
]
license = "MIT"
repository = "https://github.com/lightcone-street/lightcone-sdk/tree/main/rust"
[features]
default = ["http"]
http = [
"dep:reqwest",
"dep:async-lock",
"dep:futures-timer",
]
native = [
"http",
"native-auth",
"ws-native",
"solana-rpc",
"reqwest/rustls-tls",
"dep:tokio",
]
native-auth = [
"dep:solana-keypair",
"dep:solana-signer",
]
solana-rpc = [
"dep:solana-client",
"dep:solana-commitment-config",
]
wasm = [
"http",
"ws-wasm",
]
ws-native = [
"dep:tokio-tungstenite",
"dep:tokio",
"dep:futures-util",
]
ws-wasm = [
"dep:web-sys",
"dep:wasm-bindgen",
"dep:wasm-bindgen-futures",
"dep:js-sys",
"dep:gloo-timers",
"dep:futures-util",
]
[lib]
name = "lightcone"
path = "src/lib.rs"
[[example]]
name = "cancel_order"
path = "examples/cancel_order.rs"
[[example]]
name = "login"
path = "examples/login.rs"
[[example]]
name = "markets"
path = "examples/markets.rs"
[[example]]
name = "onchain_transactions"
path = "examples/onchain_transactions.rs"
[[example]]
name = "orderbook"
path = "examples/orderbook.rs"
[[example]]
name = "positions"
path = "examples/positions.rs"
[[example]]
name = "price_history"
path = "examples/price_history.rs"
[[example]]
name = "read_onchain"
path = "examples/read_onchain.rs"
[[example]]
name = "submit_order"
path = "examples/submit_order.rs"
[[example]]
name = "trades"
path = "examples/trades.rs"
[[example]]
name = "user_orders"
path = "examples/user_orders.rs"
[[example]]
name = "ws_book_and_trades"
path = "examples/ws_book_and_trades.rs"
[[example]]
name = "ws_ticker_and_prices"
path = "examples/ws_ticker_and_prices.rs"
[[example]]
name = "ws_user_and_market"
path = "examples/ws_user_and_market.rs"
[[test]]
name = "nonce_auth_integration"
path = "tests/nonce_auth_integration.rs"
[[test]]
name = "ws_native_integration"
path = "tests/ws_native_integration.rs"
[dependencies.async-lock]
version = "3.4"
optional = true
[dependencies.async-stream]
version = "0.3"
[dependencies.bincode]
version = "^1.3.3"
[dependencies.bs58]
version = "0.5"
[dependencies.chrono]
version = "0.4"
features = ["serde"]
[dependencies.futures-timer]
version = "3"
optional = true
[dependencies.futures-util]
version = "0.3"
optional = true
[dependencies.gloo-timers]
version = "0.3"
features = ["futures"]
optional = true
[dependencies.hex]
version = "0.4"
[dependencies.js-sys]
version = "0.3"
optional = true
[dependencies.lazy_static]
version = "1.5"
[dependencies.pin-project-lite]
version = "0.2"
[dependencies.rand]
version = "0.8"
[dependencies.reqwest]
version = "0.12"
features = ["json"]
optional = true
default-features = false
[dependencies.rust_decimal]
version = "1"
features = ["serde-str"]
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_json]
version = "1.0"
[dependencies.sha3]
version = "0.10"
[dependencies.solana-client]
version = "3.1"
optional = true
[dependencies.solana-commitment-config]
version = "3.1"
optional = true
[dependencies.solana-hash]
version = "4.0"
[dependencies.solana-instruction]
version = "3.1"
[dependencies.solana-keypair]
version = "3.0"
optional = true
[dependencies.solana-pubkey]
version = "3.0"
features = ["serde"]
[dependencies.solana-sdk-ids]
version = "3.1"
default-features = false
[dependencies.solana-signature]
version = "3.1"
features = ["verify"]
[dependencies.solana-signer]
version = "3.0"
optional = true
[dependencies.solana-system-interface]
version = "3.0"
features = ["bincode"]
default-features = false
[dependencies.solana-transaction]
version = "3.0"
features = [
"serde",
"bincode",
]
[dependencies.spl-associated-token-account]
version = "8.0"
features = ["no-entrypoint"]
[dependencies.spl-token]
version = "9.0"
features = ["no-entrypoint"]
[dependencies.spl-token-2022]
version = "10.0"
features = ["no-entrypoint"]
[dependencies.thiserror]
version = "2.0"
[dependencies.tokio]
version = "1.49"
features = [
"time",
"net",
"sync",
"macros",
"rt",
]
optional = true
default-features = false
[dependencies.tokio-tungstenite]
version = "0.26"
features = ["native-tls"]
optional = true
[dependencies.tracing]
version = "0.1"
[dependencies.urlencoding]
version = "2.1"
[dependencies.wasm-bindgen]
version = "0.2"
optional = true
[dependencies.wasm-bindgen-futures]
version = "0.4"
optional = true
[dependencies.web-sys]
version = "0.3"
features = [
"WebSocket",
"MessageEvent",
"CloseEvent",
"ErrorEvent",
]
optional = true
[dev-dependencies.dotenvy]
version = "0.15"
[dev-dependencies.tokio]
version = "1"
features = ["full"]
[dev-dependencies.tokio-test]
version = "0.4"