Files
foxhunt/data/Cargo.toml
jgrusewski ea9d8f2c88 🚨 ARCHITECTURAL DISASTER: THREE Competing Type Sources Discovered
## Critical Investigation Results

**DISASTER CONFIRMED**: Agents discovered THREE type sources instead of ONE:
1. foxhunt-common-types/ (SHOULD NOT EXIST - still active!)
2. trading_engine/src/types/ (massive duplication)
3. common/src/types.rs (depends on competing crate)

## Evidence of Violations
- foxhunt-common-types still in workspace members (line 86)
- common/Cargo.toml depends on foxhunt-common-types (line 48)
- 48+ duplicate type definitions across OrderSide, OrderStatus, OrderType
- Compilation failures due to competing imports

## Immediate Action Required
- Choose ONE canonical source
- DELETE foxhunt-common-types completely
- Consolidate ALL types to single source
- Fix THREE-WAY import chaos

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-26 15:33:34 +02:00

136 lines
3.2 KiB
TOML

[package]
name = "data"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true
homepage.workspace = true
documentation.workspace = true
publish.workspace = true
keywords.workspace = true
categories.workspace = true
description = "Market data ingestion and broker integration for high-frequency trading systems"
[dependencies]
# Core async and utilities
tokio.workspace = true
tokio-stream.workspace = true
tokio-util.workspace = true
futures.workspace = true
futures-util.workspace = true
futures-core = "0.3"
async-trait.workspace = true
async-stream.workspace = true
bytes.workspace = true
# Serialization and error handling
serde.workspace = true
serde_json.workspace = true
uuid.workspace = true
anyhow.workspace = true
thiserror.workspace = true
chrono.workspace = true
tracing.workspace = true
# Network and HTTP - USE WORKSPACE DEFAULTS
reqwest.workspace = true
tokio-tungstenite = { version = "0.21", features = ["rustls-tls-webpki-roots"] }
tungstenite = "0.21"
url.workspace = true
# Market data providers - USE WORKSPACE DEFAULTS
# databento.workspace = true # REMOVED - too heavy, use direct feeds instead
# TLS support - USE WORKSPACE DEFAULTS
native-tls.workspace = true
tokio-native-tls.workspace = true
rustls = "0.23"
webpki-roots = "0.26"
xml-rs = { workspace = true }
time = { workspace = true }
hex = { workspace = true }
md5 = { workspace = true }
# Financial types - USE WORKSPACE DEFAULTS
rust_decimal.workspace = true
rust_decimal_macros.workspace = true
num-traits = "0.2"
# Random number generation for testing
rand.workspace = true
# System information
num_cpus.workspace = true
# Configuration and utilities - USE WORKSPACE DEFAULTS
config.workspace = true
toml.workspace = true
base64.workspace = true
regex.workspace = true
# Compression and serialization - USE WORKSPACE DEFAULTS
flate2.workspace = true
zstd.workspace = true
lz4.workspace = true
bincode.workspace = true
sha2.workspace = true
hashbrown.workspace = true
smallvec.workspace = true
fastrand.workspace = true
crossbeam.workspace = true
crossbeam-channel.workspace = true
# Parquet for market data persistence and backtesting replay
parquet.workspace = true
arrow.workspace = true
# High-performance data structures - USE WORKSPACE DEFAULTS
dashmap.workspace = true
parking_lot.workspace = true
# Rate limiting and caching
governor = "0.6"
nonzero = "0.2"
redis = { workspace = true, optional = true }
# Internal workspace crates
trading_engine.workspace = true
common = { path = "../common" }
[dev-dependencies]
tokio-test = { workspace = true }
# proptest = { workspace = true } # REMOVED from workspace
tempfile = { workspace = true }
# wiremock = { workspace = true } # REMOVED from workspace
tracing-subscriber = { workspace = true }
[features]
default = ["benzinga", "icmarkets"] # Removed databento feature
databento = []
redis-cache = ["redis"]
benzinga = []
icmarkets = []
ib = []
mock = []
[[example]]
name = "icmarkets_demo"
path = "examples/icmarkets_demo.rs"
required-features = ["icmarkets"]
[[example]]
name = "broker_connection"
path = "examples/broker_connection.rs"
[lints]
workspace = true