1use thiserror::Error;
2
3pub type Result<T> = std::result::Result<T, GasNetworkError>;
4
5#[derive(Error, Debug)]
6pub enum GasNetworkError {
7 #[error("HTTP request failed: {0}")]
8 Http(#[from] reqwest::Error),
9
10 #[error("JSON parsing failed: {0}")]
11 Json(#[from] serde_json::Error),
12
13 #[error("Invalid API key")]
14 InvalidApiKey,
15
16 #[error("Unsupported chain: {0}")]
17 UnsupportedChain(String),
18
19 #[error("API error: {message}")]
20 Api { message: String },
21
22 #[error("Invalid URL: {0}")]
23 InvalidUrl(#[from] url::ParseError),
24}