mirror of
https://github.com/hl-archive-node/nanoreth.git
synced 2025-12-06 19:09:54 +00:00
fix(rpc): add invalid block range error (#8558)
Signed-off-by: jsvisa <delweng@gmail.com>
This commit is contained in:
@ -431,6 +431,10 @@ where
|
|||||||
trace!(target: "rpc::eth::filter", from=from_block, to=to_block, ?filter, "finding logs in range");
|
trace!(target: "rpc::eth::filter", from=from_block, to=to_block, ?filter, "finding logs in range");
|
||||||
let best_number = chain_info.best_number;
|
let best_number = chain_info.best_number;
|
||||||
|
|
||||||
|
if to_block < from_block {
|
||||||
|
return Err(FilterError::InvalidBlockRangeParams)
|
||||||
|
}
|
||||||
|
|
||||||
if to_block - from_block > self.max_blocks_per_filter {
|
if to_block - from_block > self.max_blocks_per_filter {
|
||||||
return Err(FilterError::QueryExceedsMaxBlocks(self.max_blocks_per_filter))
|
return Err(FilterError::QueryExceedsMaxBlocks(self.max_blocks_per_filter))
|
||||||
}
|
}
|
||||||
@ -682,6 +686,8 @@ enum FilterKind {
|
|||||||
pub enum FilterError {
|
pub enum FilterError {
|
||||||
#[error("filter not found")]
|
#[error("filter not found")]
|
||||||
FilterNotFound(FilterId),
|
FilterNotFound(FilterId),
|
||||||
|
#[error("invalid block range params")]
|
||||||
|
InvalidBlockRangeParams,
|
||||||
#[error("query exceeds max block range {0}")]
|
#[error("query exceeds max block range {0}")]
|
||||||
QueryExceedsMaxBlocks(u64),
|
QueryExceedsMaxBlocks(u64),
|
||||||
#[error("query exceeds max results {0}")]
|
#[error("query exceeds max results {0}")]
|
||||||
@ -705,6 +711,9 @@ impl From<FilterError> for jsonrpsee::types::error::ErrorObject<'static> {
|
|||||||
rpc_error_with_code(jsonrpsee::types::error::INTERNAL_ERROR_CODE, err.to_string())
|
rpc_error_with_code(jsonrpsee::types::error::INTERNAL_ERROR_CODE, err.to_string())
|
||||||
}
|
}
|
||||||
FilterError::EthAPIError(err) => err.into(),
|
FilterError::EthAPIError(err) => err.into(),
|
||||||
|
err @ FilterError::InvalidBlockRangeParams => {
|
||||||
|
rpc_error_with_code(jsonrpsee::types::error::INVALID_PARAMS_CODE, err.to_string())
|
||||||
|
}
|
||||||
err @ FilterError::QueryExceedsMaxBlocks(_) => {
|
err @ FilterError::QueryExceedsMaxBlocks(_) => {
|
||||||
rpc_error_with_code(jsonrpsee::types::error::INVALID_PARAMS_CODE, err.to_string())
|
rpc_error_with_code(jsonrpsee::types::error::INVALID_PARAMS_CODE, err.to_string())
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user