From c2926de326e7f2097aa41c5bbb8764995f431cf9 Mon Sep 17 00:00:00 2001 From: Matthias Seitz Date: Sat, 3 Aug 2024 15:18:23 +0200 Subject: [PATCH] chore: replace unreachable error variant (#10049) --- crates/rpc/rpc-eth-types/src/error.rs | 9 ++------- crates/rpc/rpc-types/src/eth/error.rs | 6 ++++++ 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/crates/rpc/rpc-eth-types/src/error.rs b/crates/rpc/rpc-eth-types/src/error.rs index 62e5d9d97..a6d07b76e 100644 --- a/crates/rpc/rpc-eth-types/src/error.rs +++ b/crates/rpc/rpc-eth-types/src/error.rs @@ -378,11 +378,6 @@ pub enum RpcInvalidTransactionError { /// Any other error #[error("{0}")] Other(Box), - /// Unexpected [`InvalidTransaction`](revm::primitives::InvalidTransaction) error, Optimism - /// errors should not be handled on this level. - // TODO: Remove when optimism feature removed in revm - #[error("unexpected transaction error")] - UnexpectedTransactionError, } impl RpcInvalidTransactionError { @@ -477,13 +472,13 @@ impl From for RpcInvalidTransactionError { Self::AuthorizationListInvalidFields } #[allow(unreachable_patterns)] - _ => { + err => { error!(target: "rpc", ?err, "unexpected transaction error" ); - Self::UnexpectedTransactionError + Self::other(internal_rpc_err(format!("unexpected transaction error: {err}"))) } } } diff --git a/crates/rpc/rpc-types/src/eth/error.rs b/crates/rpc/rpc-types/src/eth/error.rs index e606ee8a8..f7a1c53b1 100644 --- a/crates/rpc/rpc-types/src/eth/error.rs +++ b/crates/rpc/rpc-types/src/eth/error.rs @@ -7,3 +7,9 @@ pub trait ToRpcError: std::error::Error + Send + Sync + 'static { /// Converts the error to a JSON-RPC error object. fn to_rpc_error(&self) -> ErrorObject<'static>; } + +impl ToRpcError for ErrorObject<'static> { + fn to_rpc_error(&self) -> ErrorObject<'static> { + self.clone() + } +}