use std::fmt;
#[derive(Debug)]
pub enum EvmError {
ConfigError(String),
ConnectionError(String),
RpcError(String),
WalletError(String),
TransactionError(String),
ContractError(String),
InvalidInput(String),
IOError(String),
AaveError(String),
ListenerError(String),
ProviderError(String),
CalculationError(String),
MempoolError(String),
Error(String),
}
impl fmt::Display for EvmError {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
match self {
EvmError::ConfigError(msg) => write!(f, "Configuration error: {}", msg),
EvmError::ConnectionError(msg) => write!(f, "Connection error: {}", msg),
EvmError::RpcError(msg) => write!(f, "RPC error: {}", msg),
EvmError::WalletError(msg) => write!(f, "Wallet error: {}", msg),
EvmError::TransactionError(msg) => write!(f, "Transaction error: {}", msg),
EvmError::ContractError(msg) => write!(f, "Contract error: {}", msg),
EvmError::InvalidInput(msg) => write!(f, "Invalid input: {}", msg),
EvmError::IOError(msg) => write!(f, "IO Error: {}", msg),
EvmError::AaveError(msg) => write!(f, "Aave Error: {}", msg),
EvmError::ListenerError(msg) => write!(f, "Aave Error: {}", msg),
EvmError::ProviderError(msg) => write!(f, "Aave Error: {}", msg),
EvmError::CalculationError(msg) => write!(f, "Aave Error: {}", msg),
EvmError::MempoolError(msg) => write!(f, "Aave Error: {}", msg),
EvmError::Error(msg) => write!(f, "Aave Error: {}", msg),
}
}
}
impl std::error::Error for EvmError {}
#[derive(Debug)]
pub enum Direction {
Buy,
Sell,
}