cfx_rpc_eth_types/
errors.rs

1use jsonrpsee::types::{
2    error::{INTERNAL_ERROR_CODE, INVALID_PARAMS_CODE},
3    ErrorObjectOwned,
4};
5use thiserror::Error;
6
7#[derive(Debug, Error)]
8pub enum Error {
9    #[error("Invalid params {0} {1}")]
10    InvalidParams(String, String),
11    #[error("Internal error: {0}")]
12    InternalError(String),
13}
14
15impl From<Error> for ErrorObjectOwned {
16    fn from(e: Error) -> ErrorObjectOwned {
17        match e {
18            Error::InvalidParams(msg, details) => {
19                ErrorObjectOwned::owned(INVALID_PARAMS_CODE, msg, Some(details))
20            }
21            Error::InternalError(msg) => {
22                ErrorObjectOwned::owned(INTERNAL_ERROR_CODE, msg, None::<()>)
23            }
24        }
25    }
26}