pub type Result<T> = std::result::Result<T, Error>;
#[derive(Debug)]
pub enum Error {
String(String),
Str(&'static str),
ReqwestError(reqwest::Error),
SerdeJson(serde_json::Error),
SerdePathToError(serde_path_to_error::Error<serde_json::Error>),
SerdeJsonWithValue(serde_json::Error, serde_json::Value),
SerdeJsonWithString(serde_json::Error, String),
ParseFloatErro(std::num::ParseFloatError),
ChainIdNotSupported(&'static str, u64),
InconsistentBalances,
}
impl From<String> for Error {
fn from(err: String) -> Self {
Error::String(err)
}
}
impl From<&'static str> for Error {
fn from(err: &'static str) -> Self {
Error::Str(err)
}
}
impl From<reqwest::Error> for Error {
fn from(err: reqwest::Error) -> Self {
Error::ReqwestError(err)
}
}
impl From<serde_json::Error> for Error {
fn from(err: serde_json::Error) -> Self {
Error::SerdeJson(err)
}
}
impl From<serde_path_to_error::Error<serde_json::Error>> for Error {
fn from(err: serde_path_to_error::Error<serde_json::Error>) -> Self {
Error::SerdePathToError(err)
}
}
impl From<std::num::ParseFloatError> for Error {
fn from(err: std::num::ParseFloatError) -> Self {
Error::ParseFloatErro(err)
}
}