[package]
edition = "2024"
rust-version = "1.91"
name = "ccxt-exchanges"
version = "0.1.4"
authors = ["Praying"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Exchange implementations for CCXT Rust"
readme = false
license = "MIT"
resolver = "2"
[features]
binance = []
default = [
"binance",
"rustls-tls",
"websocket",
]
full = [
"binance",
"websocket",
]
native-tls = [
"ccxt-core/native-tls",
"reqwest/native-tls",
"tokio-tungstenite?/native-tls",
"tokio-tungstenite?/connect",
]
rustls-tls = [
"ccxt-core/rustls-tls",
"reqwest/rustls",
"tokio-tungstenite?/rustls-tls-native-roots",
"tokio-tungstenite?/connect",
]
websocket = [
"tokio-tungstenite",
"ccxt-core/websocket",
]
[lib]
name = "ccxt_exchanges"
path = "src/lib.rs"
[[test]]
name = "binance_account_test"
path = "tests/binance_account_test.rs"
[[test]]
name = "binance_advanced_market_data_test"
path = "tests/binance_advanced_market_data_test.rs"
[[test]]
name = "binance_advanced_test"
path = "tests/binance_advanced_test.rs"
[[test]]
name = "binance_backward_compatibility_property_test"
path = "tests/binance_backward_compatibility_property_test.rs"
[[test]]
name = "binance_capability_trait_consistency_property_test"
path = "tests/binance_capability_trait_consistency_property_test.rs"
[[test]]
name = "binance_conditional_orders_test"
path = "tests/binance_conditional_orders_test.rs"
[[test]]
name = "binance_futures_margin_test"
path = "tests/binance_futures_margin_test.rs"
[[test]]
name = "binance_futures_position_mode_test"
path = "tests/binance_futures_position_mode_test.rs"
[[test]]
name = "binance_integration_test"
path = "tests/binance_integration_test.rs"
[[test]]
name = "binance_margin_test"
path = "tests/binance_margin_test.rs"
[[test]]
name = "binance_market_data_test"
path = "tests/binance_market_data_test.rs"
[[test]]
name = "binance_my_trades_test"
path = "tests/binance_my_trades_test.rs"
[[test]]
name = "binance_order_management_test"
path = "tests/binance_order_management_test.rs"
[[test]]
name = "binance_orderbook_test"
path = "tests/binance_orderbook_test.rs"
[[test]]
name = "binance_time_sync_integration_test"
path = "tests/binance_time_sync_integration_test.rs"
[[test]]
name = "binance_watch_orders_test"
path = "tests/binance_watch_orders_test.rs"
[[test]]
name = "binance_ws_subscribe_payload_test"
path = "tests/binance_ws_subscribe_payload_test.rs"
[[test]]
name = "binance_ws_test"
path = "tests/binance_ws_test.rs"
[[test]]
name = "bitget_integration_test"
path = "tests/bitget_integration_test.rs"
[[test]]
name = "bitget_property_test"
path = "tests/bitget_property_test.rs"
[[test]]
name = "bybit_integration_test"
path = "tests/bybit_integration_test.rs"
[[test]]
name = "exchange_trait_integration_test"
path = "tests/exchange_trait_integration_test.rs"
[[test]]
name = "hyperliquid_integration_test"
path = "tests/hyperliquid_integration_test.rs"
[[test]]
name = "hyperliquid_property_test"
path = "tests/hyperliquid_property_test.rs"
[[test]]
name = "hyperliquid_ws_test"
path = "tests/hyperliquid_ws_test.rs"
[[test]]
name = "logging_integration_test"
path = "tests/logging_integration_test.rs"
[[test]]
name = "okx_bybit_shared_property_test"
path = "tests/okx_bybit_shared_property_test.rs"
[[test]]
name = "okx_integration_test"
path = "tests/okx_integration_test.rs"
[[test]]
name = "orderbook_resync_test"
path = "tests/orderbook_resync_test.rs"
[[test]]
name = "sandbox_testnet_property_test"
path = "tests/sandbox_testnet_property_test.rs"
[[test]]
name = "stress_test"
path = "tests/stress_test.rs"
[[test]]
name = "symbol_converter_property_test"
path = "tests/symbol_converter_property_test.rs"
[[test]]
name = "time_sync_property_tests"
path = "tests/time_sync_property_tests.rs"
[[bench]]
name = "binance_benchmark"
path = "benches/binance_benchmark.rs"
harness = false
[[bench]]
name = "bybit_benchmark"
path = "benches/bybit_benchmark.rs"
[[bench]]
name = "hyperliquid_benchmark"
path = "benches/hyperliquid_benchmark.rs"
[[bench]]
name = "okx_benchmark"
path = "benches/okx_benchmark.rs"
[dependencies.anyhow]
version = "1.0"
[dependencies.async-trait]
version = "0.1"
[dependencies.base64]
version = "0.22"
[dependencies.ccxt-core]
version = "0.1.4"
[dependencies.chrono]
version = "0.4"
features = ["serde"]
[dependencies.futures]
version = "0.3"
[dependencies.futures-util]
version = "0.3"
[dependencies.hex]
version = "0.4"
[dependencies.hmac]
version = "0.12"
[dependencies.k256]
version = "0.13"
features = ["ecdsa"]
[dependencies.reqwest]
version = "0.13"
features = [
"json",
"rustls",
"gzip",
"stream",
"json",
"gzip",
]
default-features = false
[dependencies.rust_decimal]
version = "1.39"
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_json]
version = "1.0"
[dependencies.sha2]
version = "0.10"
[dependencies.sha3]
version = "0.10"
[dependencies.thiserror]
version = "2.0.17"
[dependencies.tokio]
version = "1.35"
features = ["full"]
[dependencies.tokio-stream]
version = "0.1.18"
[dependencies.tokio-tungstenite]
version = "0.28"
features = [
"rustls-tls-native-roots",
"connect",
]
optional = true
default-features = false
[dependencies.tracing]
version = "0.1"
[dependencies.url]
version = "2.5"
[dependencies.urlencoding]
version = "2.1"
[dependencies.zeroize]
version = "1.8"
features = ["derive"]
[dev-dependencies.criterion]
version = "0.8"
features = ["async_tokio"]
[dev-dependencies.dotenvy]
version = "0.15"
[dev-dependencies.proptest]
version = "1.4"
[dev-dependencies.rust_decimal_macros]
version = "1.39"
[dev-dependencies.tokio-test]
version = "0.4"
[dev-dependencies.wiremock]
version = "0.6"