use std::num::ParseIntError;
use const_hex::FromHexError;
use thiserror::Error;
#[derive(Debug, Error)]
pub enum ConfigError {
#[error("FromHexError :{0}")]
HexParse(#[from] FromHexError),
#[error("Parse Error :{0}")]
ParseError(#[from] ruint::ParseError),
#[error("Parse Int Error :{0}")]
ParseIntError(#[from] ParseIntError),
#[error("Failed to load server config from env: {0}")]
LoadEnv(#[from] dotenvy::Error),
#[error("Failed to load server config from toml file: {0}")]
LoadTOML(#[from] toml::de::Error),
#[error("Failed to read server config: {0}")]
InvalidConfig(#[from] std::io::Error),
#[error("Invalid config: {0}")]
InvalidConfigStr(String),
#[error("Missing RPC configuration for chain ID {chain_id}")]
MissingRpcForChain {
chain_id: u64,
},
}