-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathCargo.toml
More file actions
88 lines (73 loc) · 2.73 KB
/
Cargo.toml
File metadata and controls
88 lines (73 loc) · 2.73 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
[package]
name = "zero_x_infinity"
version = "0.1.0"
edition = "2024"
description = "The Hardest Core HFT Exchange Engine in Rust. From Hello World to 1.3M TPS."
repository = "https://github.com/gjwang/zero_x_infinity"
homepage = "https://gjwang.github.io/zero_x_infinity/"
documentation = "https://gjwang.github.io/zero_x_infinity/"
license = "MIT"
keywords = ["trading", "hft", "exchange", "matching-engine", "latency"]
categories = ["finance", "algorithms", "concurrency"]
readme = "README.md"
default-run = "zero_x_infinity"
# Feature Flags for Security Control
[features]
default = ["mock-api"] # Enabled for dev/test by default
mock-api = [] # SECURITY: Enable internal mock endpoints. MUST be disabled in production builds.
[dependencies]
rustc-hash = "2"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
serde_yaml = "0.9"
crossbeam-queue = "0.3" # Bank-grade: ArrayQueue, used by tokio/actix/rayon
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter", "json"] }
tracing-appender = "0.2"
# Gateway HTTP server
axum = { version = "0.8", features = ["ws"] }
tokio = { version = "1", features = ["full"] }
rust_decimal = "1.36"
# WebSocket support
tokio-tungstenite = "0.21"
dashmap = "5.5"
# TDengine persistence - optin (libtaos native) + WebSocket fallback
taos = { version = "0.12", default-features = false, features = ["ws", "ws-rustls"] }
anyhow = "1.0"
futures = "0.3"
chrono = { version = "0.4.42", features = ["serde"] }
once_cell = "1.21.3"
# PostgreSQL for account management
sqlx = { version = "0.8", features = ["runtime-tokio", "tls-rustls", "postgres", "chrono", "rust_decimal"] }
thiserror = "2.0.17"
# API Authentication (Ed25519 signatures)
ed25519-dalek = { version = "2", features = ["rand_core"] }
rand = "0.8"
num-bigint = "0.4"
num-integer = "0.1"
# Internal Transfer FSM (Phase 0x0B-a)
async-trait = "0.1"
ulid = "1"
# WAL v2 (Phase 0x0D - Universal WAL Format)
crc32fast = "1.3"
bincode = "1.3"
crc = "3.0" # CRC64 for snapshot checksum
md5 = "0.7"
uuid = { version = "1.10", features = ["v4", "fast-rng", "macro-diagnostics", "serde"] }
# OpenAPI / Swagger UI (Phase 0x0E)
utoipa = { version = "5.3", features = ["axum_extras", "chrono", "uuid"] }
utoipa-swagger-ui = { version = "9.0", features = ["axum"] }
# User Authentication (Phase 0x10.6)
argon2 = "0.5"
jsonwebtoken = "9.3"
validator = { version = "0.19", features = ["derive"] }
hex = "0.4"
base64 = "0.22"
# TTL Cache for hot-reload endpoints (Phase 0x0F)
cached = { version = "0.54", features = ["async", "async_tokio_rt_multi_thread"] }
# Sentinel Service (Phase 0x11-a: Real Chain Integration)
bitcoincore-rpc = "0.19"
reqwest = { version = "0.12.28", features = ["json"] }
[dev-dependencies]
crossterm = "0.29.0"
ratatui = "0.29.0"