use serde_json::Value; use darkfi::rpc::jsonrpc::{ErrorCode::ServerError, JsonError, JsonResult}; pub enum RpcError { AmountExceedsLimit = -32107, TimeLimitReached = -32108, ParseError = -32109, } fn to_tuple(e: RpcError) -> (i64, String) { let msg = match e { RpcError::AmountExceedsLimit => "Amount requested is higher than the faucet limit", RpcError::TimeLimitReached => "Timeout not expired. Try again later", RpcError::ParseError => "Parse error", }; (e as i64, msg.to_string()) } pub fn server_error(e: RpcError, id: Value) -> JsonResult { let (code, msg) = to_tuple(e); JsonError::new(ServerError(code), Some(msg), id).into() }