[package] name = "broker-gateway" version.workspace = true edition.workspace = true rust-version.workspace = true authors.workspace = true license.workspace = true description = "Broker Gateway Service - FIX order routing to AMP Futures (CQG)" [lib] name = "broker_gateway_service" path = "src/lib.rs" [[bin]] name = "broker-gateway" path = "src/main.rs" [dependencies] # Core async and utilities tokio.workspace = true anyhow.workspace = true tracing.workspace = true tracing-subscriber.workspace = true serde.workspace = true serde_json.workspace = true once_cell.workspace = true # gRPC and networking tonic = { workspace = true, features = ["transport", "server", "tls-ring", "tls-webpki-roots"] } tonic-prost.workspace = true tonic-reflection.workspace = true tonic-health.workspace = true prost.workspace = true tower.workspace = true hyper.workspace = true http-body-util.workspace = true hyper-util.workspace = true bytes.workspace = true # Async streams tokio-stream.workspace = true async-stream.workspace = true futures.workspace = true async-trait.workspace = true # Performance monitoring prometheus.workspace = true axum.workspace = true # Database and caching sqlx = { workspace = true, features = ["postgres", "chrono", "uuid", "json", "macros", "runtime-tokio"] } redis = { workspace = true, features = ["tokio-comp", "connection-manager"] } # Cryptography and security sha2.workspace = true base64.workspace = true chrono.workspace = true # Utilities thiserror.workspace = true uuid.workspace = true num-traits.workspace = true rust_decimal.workspace = true # Internal workspace crates common = { workspace = true, features = ["database"] } config = { workspace = true, features = ["postgres"] } ctrader-openapi = { workspace = true } trading_engine = { workspace = true } [features] default = [] [build-dependencies] tonic-prost-build.workspace = true prost-build.workspace = true [dev-dependencies] serial_test = "3.0" criterion = { version = "0.5", features = ["async_tokio", "html_reports"] } tokio-test = "0.4" [[bench]] name = "end_to_end_latency" harness = false