mirror of
https://github.com/hl-archive-node/nanoreth.git
synced 2025-12-06 19:09:54 +00:00
fix(rpc): return resource not found error code (#1891)
This commit is contained in:
@ -9,6 +9,10 @@ pub enum EthRpcErrorCode {
|
|||||||
ExecutionError,
|
ExecutionError,
|
||||||
/// <https://eips.ethereum.org/EIPS/eip-1898>
|
/// <https://eips.ethereum.org/EIPS/eip-1898>
|
||||||
InvalidInput,
|
InvalidInput,
|
||||||
|
/// Thrown when a block wasn't found <https://github.com/ethereum/EIPs/blob/master/EIPS/eip-1898.md>
|
||||||
|
/// > If the block is not found, the callee SHOULD raise a JSON-RPC error (the recommended
|
||||||
|
/// > error code is -32001: Resource not found).
|
||||||
|
ResourceNotFound,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl EthRpcErrorCode {
|
impl EthRpcErrorCode {
|
||||||
@ -18,6 +22,7 @@ impl EthRpcErrorCode {
|
|||||||
EthRpcErrorCode::TransactionRejected => -32003,
|
EthRpcErrorCode::TransactionRejected => -32003,
|
||||||
EthRpcErrorCode::ExecutionError => 3,
|
EthRpcErrorCode::ExecutionError => 3,
|
||||||
EthRpcErrorCode::InvalidInput => -32000,
|
EthRpcErrorCode::InvalidInput => -32000,
|
||||||
|
EthRpcErrorCode::ResourceNotFound => -32001,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
//! Implementation specific Errors for the `eth_` namespace.
|
//! Implementation specific Errors for the `eth_` namespace.
|
||||||
|
|
||||||
use crate::result::{internal_rpc_err, invalid_params_rpc_err, rpc_err};
|
use crate::result::{internal_rpc_err, invalid_params_rpc_err, rpc_err, rpc_error_with_code};
|
||||||
use jsonrpsee::core::Error as RpcError;
|
use jsonrpsee::core::Error as RpcError;
|
||||||
use reth_primitives::{constants::SELECTOR_LEN, Address, Bytes, U256};
|
use reth_primitives::{constants::SELECTOR_LEN, Address, Bytes, U256};
|
||||||
use reth_rpc_types::{error::EthRpcErrorCode, BlockError};
|
use reth_rpc_types::{error::EthRpcErrorCode, BlockError};
|
||||||
@ -72,7 +72,6 @@ impl From<EthApiError> for RpcError {
|
|||||||
EthApiError::FailedToDecodeSignedTransaction |
|
EthApiError::FailedToDecodeSignedTransaction |
|
||||||
EthApiError::InvalidTransactionSignature |
|
EthApiError::InvalidTransactionSignature |
|
||||||
EthApiError::EmptyRawTransactionData |
|
EthApiError::EmptyRawTransactionData |
|
||||||
EthApiError::UnknownBlockNumber |
|
|
||||||
EthApiError::InvalidBlockRange |
|
EthApiError::InvalidBlockRange |
|
||||||
EthApiError::ConflictingRequestGasPrice { .. } |
|
EthApiError::ConflictingRequestGasPrice { .. } |
|
||||||
EthApiError::ConflictingRequestGasPriceAndTipSet { .. } |
|
EthApiError::ConflictingRequestGasPriceAndTipSet { .. } |
|
||||||
@ -86,6 +85,9 @@ impl From<EthApiError> for RpcError {
|
|||||||
EthApiError::InvalidBlockData(_) |
|
EthApiError::InvalidBlockData(_) |
|
||||||
EthApiError::Internal(_) |
|
EthApiError::Internal(_) |
|
||||||
EthApiError::TransactionNotFound => internal_rpc_err(error.to_string()),
|
EthApiError::TransactionNotFound => internal_rpc_err(error.to_string()),
|
||||||
|
EthApiError::UnknownBlockNumber => {
|
||||||
|
rpc_error_with_code(EthRpcErrorCode::ResourceNotFound.code(), error.to_string())
|
||||||
|
}
|
||||||
EthApiError::Unsupported(msg) => internal_rpc_err(msg),
|
EthApiError::Unsupported(msg) => internal_rpc_err(msg),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user