[package]
name = "digdigdig3"
version.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
homepage.workspace = true
keywords.workspace = true
categories.workspace = true
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`."
documentation = "https://docs.rs/digdigdig3"
readme = "../../README.md"
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/",
]
[lib]
name = "digdigdig3"
path = "src/lib.rs"
[features]
default = ["onchain-evm"]
websocket = []
onchain-evm = ["dep:k256", "dep:sha3"]
onchain-cosmos = ["dep:cosmrs"]
onchain-starknet = ["dep:starknet-crypto"]
onchain-ethereum = ["onchain-evm"]
grpc = ["dep:tonic", "dep:prost"]
k256-signing = ["dep:k256", "dep:sha3"]
starknet = ["onchain-starknet"]
[dependencies]
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
tokio = { version = "1.0", features = ["full"] }
async-trait = "0.1"
futures-util = "0.3"
reqwest = { version = "0.12", features = ["json", "rustls-tls"], default-features = false }
tokio-tungstenite = { version = "0.24", features = ["rustls-tls-webpki-roots"] }
rustls = { version = "0.23", default-features = false, features = ["ring"] }
tokio-stream = { version = "0.1", features = ["sync"] }
thiserror = "1.0"
tracing = "0.1"
hmac = "0.12"
sha2 = "0.10"
hex = "0.4"
base64 = "0.22"
chrono = "0.4"
byteorder = "1.5"
uuid = { version = "1.0", features = ["v4"] }
flate2 = "1.0"
lzma-rs = "0.3"
url = "2.5"
urlencoding = "2.1"
jsonwebtoken = "9.3"
ring = "0.17"
rand = "0.8"
bs58 = "0.5"
tracing-subscriber = "0.3.22"
totp-rs = "5.6"
dashmap = "5.5"
tonic = { version = "0.12", features = ["tls", "tls-native-roots"], optional = true }
prost = { version = "0.13", optional = true }
k256 = { version = "0.13", features = ["ecdsa-core", "ecdsa"], optional = true }
sha3 = { version = "0.10", optional = true }
starknet-crypto = { version = "0.6", optional = true }
cosmrs = { version = "0.22", optional = true, default-features = false, features = ["bip32"] }
rust_decimal = "1"
toml = "0.8"