exc 0.7.3

The abstraction layer of exchanges.
Documentation
[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"]