# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
name = "digdigdig3"
version = "0.3.1"
build = false
exclude = [
    "**/research/**",
    "contributing/**",
    "**/AUDIT*.md",
    "**/ARCHITECTURE_AUDIT.md",
    "**/IMPLEMENTATION*.md",
    "**/FIX_SUMMARY.md",
    "**/PROBLEM_ANALYSIS.md",
    "**/API_TESTING_REPORT.md",
    "**/AUTHENTICATION_SETUP.md",
    "**/CRYPTO_NO_AUTH.md",
    "**/QUICK_START.md",
    "**/integration_test_guide.md",
    "e2e_smoke_*.txt",
    "deep_smoke_*.txt",
    "smoke_*.txt",
    "*.log",
    "e2e_trace*/",
    "liq_capture/",
    "liq_trace_new/",
    "dig3_storage/",
    "target/",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Unified async Rust API for 47 exchange connectors (REST + WebSocket). The core layer — pure ExchangeHub + connectors. Higher-level builder, persistence, replay, OB tracker live in `digdigdig3-station`."
homepage = "https://github.com/ZENG3LD/digdigdig3"
documentation = "https://docs.rs/digdigdig3"
readme = "README.md"
keywords = [
    "exchange",
    "trading",
    "crypto",
    "websocket",
    "connector",
]
categories = [
    "api-bindings",
    "asynchronous",
    "web-programming",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/ZENG3LD/digdigdig3"

[features]
default = ["onchain-evm"]
grpc = [
    "dep:tonic",
    "dep:prost",
]
k256-signing = [
    "dep:k256",
    "dep:sha3",
]
onchain-cosmos = ["dep:cosmrs"]
onchain-ethereum = ["onchain-evm"]
onchain-evm = [
    "dep:k256",
    "dep:sha3",
]
onchain-starknet = ["dep:starknet-crypto"]
starknet = ["onchain-starknet"]
websocket = []

[lib]
name = "digdigdig3"
path = "src/lib.rs"

[[example]]
name = "bitstamp_trade_capture"
path = "examples/bitstamp_trade_capture.rs"

[[example]]
name = "bybit_liq_probe"
path = "examples/bybit_liq_probe.rs"

[[example]]
name = "bybit_liq_raw"
path = "examples/bybit_liq_raw.rs"

[[example]]
name = "canonical_demo"
path = "examples/canonical_demo.rs"

[[example]]
name = "e2e_metadata"
path = "examples/e2e_metadata.rs"

[[example]]
name = "e2e_smoke"
path = "examples/e2e_smoke.rs"

[[example]]
name = "exchange_hub_demo"
path = "examples/exchange_hub_demo.rs"

[[example]]
name = "feed_demo"
path = "examples/feed_demo.rs"

[[example]]
name = "full_smoke"
path = "examples/full_smoke.rs"

[[example]]
name = "liq_capture"
path = "examples/liq_capture.rs"

[[example]]
name = "pool_dispatch"
path = "examples/pool_dispatch.rs"

[[test]]
name = "lighter_timeout"
path = "tests/lighter_timeout.rs"

[[test]]
name = "live_regression_baseline"
path = "tests/live_regression_baseline.rs"

[[test]]
name = "live_ws_event_rates"
path = "tests/live_ws_event_rates.rs"

[[test]]
name = "reconnect_survival"
path = "tests/reconnect_survival.rs"

[[test]]
name = "silent_watchdog"
path = "tests/silent_watchdog.rs"

[dependencies.async-trait]
version = "0.1"

[dependencies.base64]
version = "0.22"

[dependencies.bs58]
version = "0.5"

[dependencies.byteorder]
version = "1.5"

[dependencies.chrono]
version = "0.4"

[dependencies.cosmrs]
version = "0.22"
features = ["bip32"]
optional = true
default-features = false

[dependencies.dashmap]
version = "5.5"

[dependencies.flate2]
version = "1.0"

[dependencies.futures-util]
version = "0.3"

[dependencies.hex]
version = "0.4"

[dependencies.hmac]
version = "0.12"

[dependencies.jsonwebtoken]
version = "9.3"

[dependencies.k256]
version = "0.13"
features = [
    "ecdsa-core",
    "ecdsa",
]
optional = true

[dependencies.lzma-rs]
version = "0.3"

[dependencies.prost]
version = "0.13"
optional = true

[dependencies.rand]
version = "0.8"

[dependencies.reqwest]
version = "0.12"
features = [
    "json",
    "rustls-tls",
]
default-features = false

[dependencies.ring]
version = "0.17"

[dependencies.rust_decimal]
version = "1"

[dependencies.rustls]
version = "0.23"
features = ["ring"]
default-features = false

[dependencies.serde]
version = "1.0"
features = ["derive"]

[dependencies.serde_json]
version = "1.0"

[dependencies.sha2]
version = "0.10"

[dependencies.sha3]
version = "0.10"
optional = true

[dependencies.starknet-crypto]
version = "0.6"
optional = true

[dependencies.thiserror]
version = "1.0"

[dependencies.tokio]
version = "1.0"
features = ["full"]

[dependencies.tokio-stream]
version = "0.1"
features = ["sync"]

[dependencies.tokio-tungstenite]
version = "0.24"
features = ["rustls-tls-webpki-roots"]

[dependencies.toml]
version = "0.8"

[dependencies.tonic]
version = "0.12"
features = [
    "tls",
    "tls-native-roots",
]
optional = true

[dependencies.totp-rs]
version = "5.6"

[dependencies.tracing]
version = "0.1"

[dependencies.tracing-subscriber]
version = "0.3.22"

[dependencies.url]
version = "2.5"

[dependencies.urlencoding]
version = "2.1"

[dependencies.uuid]
version = "1.0"
features = ["v4"]
