use thiserror::Error;
#[derive(Debug, Clone, Error, PartialEq, Eq)]
pub enum DomainError {
#[error("empty field: {field}")]
EmptyField { field: &'static str },
#[error("negative value for {field}: {value}")]
NegativeValue { field: &'static str, value: String },
#[error("arithmetic overflow: {operation}")]
ArithmeticOverflow { operation: String },
#[error("unknown market data type: {0}")]
UnknownMarketDataType(String),
#[error("unknown side: {0}")]
UnknownSide(String),
#[error("sequence error: {0}")]
SequenceError(String),
#[error("invalid symbol: {0}")]
InvalidSymbol(String),
}