From 653d3e7cd1d4c9377eb22cb5a973ef8d313863ef Mon Sep 17 00:00:00 2001 From: Himess <95512809+Himess@users.noreply.github.com> Date: Sat, 7 Feb 2026 23:55:17 +0300 Subject: [PATCH 1/2] impl Display and Error for TxEnvBuildError and DeriveTxTypeError Fixes #3404 --- crates/context/src/tx.rs | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/crates/context/src/tx.rs b/crates/context/src/tx.rs index d3510e5c6c..33458dea6e 100644 --- a/crates/context/src/tx.rs +++ b/crates/context/src/tx.rs @@ -106,6 +106,19 @@ pub enum DeriveTxTypeError { MissingTargetForEip7873, } +impl core::fmt::Display for DeriveTxTypeError { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + let s = match self { + Self::MissingTargetForEip4844 => "missing target for EIP-4844", + Self::MissingTargetForEip7702 => "missing target for EIP-7702", + Self::MissingTargetForEip7873 => "missing target for EIP-7873", + }; + f.write_str(s) + } +} + +impl core::error::Error for DeriveTxTypeError {} + impl TxEnv { /// Creates a new TxEnv with benchmark-specific values. pub fn new_bench() -> Self { @@ -592,6 +605,33 @@ pub enum TxEnvBuildError { MissingTargetForEip4844, } +impl core::fmt::Display for TxEnvBuildError { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + match self { + Self::DeriveErr(err) => write!(f, "derive tx type error: {err}"), + Self::MissingGasPriorityFeeForEip1559 => { + f.write_str("missing gas priority fee for EIP-1559") + } + Self::MissingBlobHashesForEip4844 => { + f.write_str("missing blob hashes for EIP-4844") + } + Self::MissingAuthorizationListForEip7702 => { + f.write_str("missing authorization list for EIP-7702") + } + Self::MissingTargetForEip4844 => f.write_str("missing target for EIP-4844"), + } + } +} + +impl core::error::Error for TxEnvBuildError { + fn source(&self) -> Option<&(dyn core::error::Error + 'static)> { + match self { + Self::DeriveErr(err) => Some(err), + _ => None, + } + } +} + impl From for TxEnvBuildError { fn from(error: DeriveTxTypeError) -> Self { TxEnvBuildError::DeriveErr(error) From 8cd38ca4798789416c12cef58c5d8f42fdb96a72 Mon Sep 17 00:00:00 2001 From: Himess <95512809+Himess@users.noreply.github.com> Date: Sat, 7 Feb 2026 23:59:06 +0300 Subject: [PATCH 2/2] fmt --- crates/context/src/tx.rs | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/crates/context/src/tx.rs b/crates/context/src/tx.rs index 33458dea6e..6ecff0f5e5 100644 --- a/crates/context/src/tx.rs +++ b/crates/context/src/tx.rs @@ -612,9 +612,7 @@ impl core::fmt::Display for TxEnvBuildError { Self::MissingGasPriorityFeeForEip1559 => { f.write_str("missing gas priority fee for EIP-1559") } - Self::MissingBlobHashesForEip4844 => { - f.write_str("missing blob hashes for EIP-4844") - } + Self::MissingBlobHashesForEip4844 => f.write_str("missing blob hashes for EIP-4844"), Self::MissingAuthorizationListForEip7702 => { f.write_str("missing authorization list for EIP-7702") }