use jsonrpsee::types::{error::ErrorObject, ErrorObjectOwned};
pub type Result<T> = std::result::Result<T, Error>;
#[derive(Debug, thiserror::Error)]
pub enum Error {
#[error("Client error: {}", .0)]
Client(#[from] Box<dyn std::error::Error + Send + Sync>),
#[error("{0}")]
Other(String),
}
const BASE_ERROR: i32 = crate::error::base::CHAIN;
impl From<Error> for ErrorObjectOwned {
fn from(e: Error) -> ErrorObjectOwned {
match e {
Error::Other(message) => ErrorObject::owned(BASE_ERROR + 1, message, None::<()>),
e => ErrorObject::owned(BASE_ERROR + 2, e.to_string(), None::<()>),
}
}
}