[package]
name = "exc"
version.workspace = true
edition.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true
keywords.workspace = true
readme.workspace = true
description.workspace = true
rust-version.workspace = true
[features]
default = [
"websocket",
"http",
"retry",
"rustls-tls",
"limit",
"buffer",
"instrument",
"poll",
"fetch-candles",
]
native-tls = [
"exc-core/native-tls",
"exc-okx?/native-tls",
"exc-binance?/native-tls",
]
rustls-tls = [
"exc-core/rustls-tls",
"exc-okx?/rustls-tls",
"exc-binance?/rustls-tls",
]
okx = ["exc-okx"]
okx-prefer-client-id = ["okx", "exc-okx/prefer-client-id"]
binance = ["exc-binance"]
websocket = ["exc-core/websocket"]
driven = ["exc-core/driven"]
http = ["exc-core/http"]
retry = ["exc-core/retry"]
limit = ["exc-core/limit", "tower/limit"]
buffer = ["tower/buffer"]
instrument = ["limit", "buffer"]
poll = ["exc-core/poll"]
fetch-candles = ["exc-core/fetch-candles"]
[dependencies]
anyhow = { workspace = true }
exc-core = { workspace = true, default-features = false }
tracing = { workspace = true }
tower = { workspace = true }
futures = { workspace = true }
futures-util = { workspace = true }
async-stream = { workspace = true }
time = { workspace = true, features = ["serde-well-known", "macros"] }
tokio-stream = { workspace = true }
rust_decimal = { workspace = true }
either = { workspace = true }
tokio = { workspace = true, features = ["rt", "sync", "macros", "time"] }
exc-okx = { workspace = true, default-features = false, optional = true }
exc-binance = { workspace = true, default-features = false, optional = true }
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]