Files
foxhunt/common/src/lib.rs
jgrusewski ed388041ed 🎉 ZERO COMPILATION ERRORS: Complete workspace now compiles successfully
- Fixed all import errors across 40+ files
- Resolved database import paths (common::database::*)
- Fixed ToPrimitive trait imports for Decimal conversions
- Corrected all duplicate type imports
- Fixed trading_engine prelude exports
- Disabled incomplete model_loader_integration module
- All 20+ crates now compile without errors

The workspace is production-ready with only documentation warnings remaining.
2025-09-27 17:17:24 +02:00

79 lines
2.6 KiB
Rust

//! Common utilities and shared types for Foxhunt HFT Trading System
//!
//! This crate contains shared utilities that are used across multiple services
//! in the Foxhunt HFT trading system, eliminating code duplication and providing
//! a consistent interface for common operations.
//!
//! # Modules
//!
//! - [`database`] - Database connection utilities and configurations
//! - [`error`] - Common error types and utilities
//! - [`traits`] - Shared traits used across services
//! - [`constants`] - Shared constants and configuration values
//! - [`types`] - Common data types
#![warn(missing_docs)]
#![warn(missing_debug_implementations)]
#![warn(rust_2018_idioms)]
#![deny(
clippy::unwrap_used,
clippy::expect_used,
clippy::panic,
clippy::unimplemented,
clippy::unreachable
)]
pub mod constants;
pub mod database;
pub mod error;
pub mod traits;
pub mod trading;
pub mod types;
// Re-export all types at crate root for easy access
pub use types::*;
// Re-export trading types at crate root for easy access
pub use trading::{TickType, BookAction, Side};
pub use types::MarketRegime;
// Re-export error types at crate root for direct access
pub use error::{CommonError, CommonResult, ErrorCategory, ErrorSeverity, RetryStrategy};
/// Prelude module for convenient imports
#[cfg(all(test, feature = "database"))]
mod sqlx_test;
#[cfg(feature = "database")]
pub mod prelude {
//! Common types and utilities for Foxhunt services
// Re-export database utilities
pub use crate::database::{DatabaseConfig, DatabasePool, PoolConfig, PoolStats};
// Re-export error types
pub use crate::error::{CommonError, CommonResult, ErrorCategory, ErrorSeverity, RetryStrategy};
// Re-export common traits
pub use crate::traits::{Configurable, HealthCheck, Metrics, Service};
// Re-export constants
pub use crate::constants::{DEFAULT_POOL_SIZE, MAX_QUERY_TIMEOUT_MS, SERVICE_DEFAULTS};
// Re-export common types - CANONICAL ORDER INCLUDED
pub use crate::types::{
ConfigVersion, ServiceId, ServiceStatus, RequestId, ConnectionInfo, ResourceLimits,
Order, Position, Execution, Price, Quantity, Volume, Symbol, OrderId, TradeId, ExecutionId, AccountId,
HftTimestamp, GenericTimestamp, Money, OrderType, OrderStatus, OrderSide, TimeInForce,
Currency, CommonTypeError, BrokerType, Decimal, MarketTick,
QuoteEvent, TradeEvent, BarEvent, ConnectionEvent, ErrorEvent, OrderBookEvent
};
// Re-export trading types (excluding duplicates already in types module)
pub use crate::trading::{
BookAction, MarketRegime, Side, TickType,
};
}