From cc1fb9f881332e9bcfae6b2cfcf9010866f5fc0e Mon Sep 17 00:00:00 2001 From: Soubhik Singha Mahapatra <160333583+Soubhik-10@users.noreply.github.com> Date: Thu, 1 May 2025 14:02:53 +0530 Subject: [PATCH] chore: used IsTyped2718 in ExtendedTxEnvelope (#16016) --- .../src/primitives/extended_op_tx_envelope.rs | 47 ++++++------------- 1 file changed, 14 insertions(+), 33 deletions(-) diff --git a/examples/custom-node/src/primitives/extended_op_tx_envelope.rs b/examples/custom-node/src/primitives/extended_op_tx_envelope.rs index 5707c1dd53..6d68823926 100644 --- a/examples/custom-node/src/primitives/extended_op_tx_envelope.rs +++ b/examples/custom-node/src/primitives/extended_op_tx_envelope.rs @@ -142,7 +142,7 @@ where impl SignedTransaction for ExtendedTxEnvelope where - B: SignedTransaction + SerdeBincodeCompat, + B: SignedTransaction + SerdeBincodeCompat + IsTyped2718, T: SignedTransaction + SerdeBincodeCompat, { fn tx_hash(&self) -> &TxHash { @@ -183,49 +183,30 @@ where impl Decodable2718 for ExtendedTxEnvelope where - B: Decodable2718 + SerdeBincodeCompat, + B: Decodable2718 + SerdeBincodeCompat + IsTyped2718, T: Decodable2718 + SerdeBincodeCompat, { fn typed_decode(ty: u8, buf: &mut &[u8]) -> Eip2718Result { - match ty.try_into() { - Ok(tx_type) => match tx_type { - OpTxType::Eip2930 | OpTxType::Eip1559 | OpTxType::Eip7702 | OpTxType::Deposit => { - let envelope = B::typed_decode(ty, buf)?; - Ok(Self::BuiltIn(B::from_repr(envelope.as_repr()))) - } - OpTxType::Legacy => { - let envelope = B::typed_decode(ty, buf)?; - Ok(Self::BuiltIn(B::from_repr(envelope.as_repr()))) - } - }, - Err(_) => { - let other = T::typed_decode(ty, buf)?; - Ok(Self::Other(other)) - } + if B::is_type(ty) { + let envelope = B::typed_decode(ty, buf)?; + Ok(Self::BuiltIn(B::from_repr(envelope.as_repr()))) + } else { + let other = T::typed_decode(ty, buf)?; + Ok(Self::Other(other)) } } - fn fallback_decode(buf: &mut &[u8]) -> Eip2718Result { if buf.is_empty() { return Err(Eip2718Error::RlpError(alloy_rlp::Error::InputTooShort)); } let type_byte = buf[0]; - match type_byte.try_into() { - Ok(tx_type) => match tx_type { - OpTxType::Eip2930 | OpTxType::Eip1559 | OpTxType::Eip7702 | OpTxType::Deposit => { - let envelope = B::fallback_decode(buf)?; - Ok(Self::BuiltIn(B::from_repr(envelope.as_repr()))) - } - OpTxType::Legacy => { - let envelope = B::fallback_decode(buf)?; - Ok(Self::BuiltIn(B::from_repr(envelope.as_repr()))) - } - }, - Err(_) => { - let other = T::fallback_decode(buf)?; - Ok(Self::Other(other)) - } + if B::is_type(type_byte) { + let envelope = B::fallback_decode(buf)?; + Ok(Self::BuiltIn(B::from_repr(envelope.as_repr()))) + } else { + let other = T::fallback_decode(buf)?; + Ok(Self::Other(other)) } } }