1use std::fmt;
2
3#[derive(Debug)]
4pub enum EvmError {
5 ConfigError(String),
6 ConnectionError(String),
7 RpcError(String),
8 WalletError(String),
9 TransactionError(String),
10 ContractError(String),
11 InvalidInput(String),
12 IOError(String),
13 AaveError(String),
14 ListenerError(String),
15 ProviderError(String),
16 CalculationError(String),
17 MempoolError(String),
18 Error(String),
19}
20
21impl fmt::Display for EvmError {
22 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
23 match self {
24 EvmError::ConfigError(msg) => write!(f, "Configuration error: {}", msg),
25 EvmError::ConnectionError(msg) => write!(f, "Connection error: {}", msg),
26 EvmError::RpcError(msg) => write!(f, "RPC error: {}", msg),
27 EvmError::WalletError(msg) => write!(f, "Wallet error: {}", msg),
28 EvmError::TransactionError(msg) => write!(f, "Transaction error: {}", msg),
29 EvmError::ContractError(msg) => write!(f, "Contract error: {}", msg),
30 EvmError::InvalidInput(msg) => write!(f, "Invalid input: {}", msg),
31 EvmError::IOError(msg) => write!(f, "IO Error: {}", msg),
32 EvmError::AaveError(msg) => write!(f, "Aave Error: {}", msg),
33 EvmError::ListenerError(msg) => write!(f, "Aave Error: {}", msg),
34 EvmError::ProviderError(msg) => write!(f, "Aave Error: {}", msg),
35 EvmError::CalculationError(msg) => write!(f, "Aave Error: {}", msg),
36 EvmError::MempoolError(msg) => write!(f, "Aave Error: {}", msg),
37 EvmError::Error(msg) => write!(f, "Aave Error: {}", msg),
38 }
39 }
40}
41
42impl std::error::Error for EvmError {}
43
44#[derive(Debug)]
45pub enum Direction {
46 Buy,
47 Sell,
48}