1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
//use ethers_providers::{Middleware, MiddlewareError};
use thiserror::Error;
/// Handle CCIP-Read middleware specific errors.
#[derive(Error, Debug)]
pub enum CCIPReadMiddlewareError /*<M: Middleware>*/ {
#[error("Unknown function")]
UnknownFunction(#[from] ethers_core::abi::Error),
/*
/// Thrown when the internal middleware errors
#[error("{0}")]
MiddlewareError(M::Error),
*/
#[error("Parsing error")]
Parsing(#[from] serde_json::Error),
#[error("Abi error")]
Abi(#[from] ethers_core::abi::AbiError),
#[error("Parse bytes error")]
ParseBytes(#[from] ethers_core::types::ParseBytesError),
#[error("URL parse error")]
UrlParse(#[from] url::ParseError),
}
/*
impl<M: Middleware> MiddlewareError for CCIPReadMiddlewareError<M> {
type Inner = M::Error;
fn from_err(src: M::Error) -> Self {
CCIPReadMiddlewareError::MiddlewareError(src)
}
fn as_inner(&self) -> Option<&Self::Inner> {
match self {
CCIPReadMiddlewareError::MiddlewareError(e) => Some(e),
_ => None,
}
}
}
*/