pub enum AnyTxEnvelope {
Ethereum(TxEnvelope),
Unknown(UnknownTxEnvelope),
}
network
only.Expand description
Transaction envelope for a catch-all network.
Variants§
Ethereum(TxEnvelope)
An Ethereum transaction.
Unknown(UnknownTxEnvelope)
A transaction with unknown type.
Implementations§
Source§impl AnyTxEnvelope
impl AnyTxEnvelope
Sourcepub const fn as_envelope(&self) -> Option<&TxEnvelope>
pub const fn as_envelope(&self) -> Option<&TxEnvelope>
Returns the inner Ethereum transaction envelope, if it is an Ethereum transaction.
Sourcepub const fn as_unknown(&self) -> Option<&UnknownTxEnvelope>
pub const fn as_unknown(&self) -> Option<&UnknownTxEnvelope>
Returns the inner UnknownTxEnvelope
if it is an unknown variant.
Sourcepub fn try_into_envelope(self) -> Result<TxEnvelope, ValueError<AnyTxEnvelope>>
pub fn try_into_envelope(self) -> Result<TxEnvelope, ValueError<AnyTxEnvelope>>
Returns the inner Ethereum transaction envelope, if it is an Ethereum transaction. If the transaction is not an Ethereum transaction, it is returned as an error.
Sourcepub fn try_into_unknown(self) -> Result<UnknownTxEnvelope, AnyTxEnvelope>
pub fn try_into_unknown(self) -> Result<UnknownTxEnvelope, AnyTxEnvelope>
Returns the inner UnknownTxEnvelope
, if it is an unknown transaction.
If the transaction is not an unknown transaction, it is returned as an error.
Sourcepub fn try_into_either<T>(
self,
) -> Result<Either<TxEnvelope, T>, <T as TryFrom<UnknownTxEnvelope>>::Error>where
T: TryFrom<UnknownTxEnvelope>,
pub fn try_into_either<T>(
self,
) -> Result<Either<TxEnvelope, T>, <T as TryFrom<UnknownTxEnvelope>>::Error>where
T: TryFrom<UnknownTxEnvelope>,
Attempts to convert the UnknownTxEnvelope
into Either::Right
if this is an unknown
variant.
Returns Either::Left
with the ethereum TxEnvelope
if this is the
AnyTxEnvelope::Ethereum
variant and Either::Right
with the converted variant.
Sourcepub fn try_map_unknown<T, E>(
self,
f: impl FnOnce(UnknownTxEnvelope) -> Result<T, E>,
) -> Result<Either<TxEnvelope, T>, E>
pub fn try_map_unknown<T, E>( self, f: impl FnOnce(UnknownTxEnvelope) -> Result<T, E>, ) -> Result<Either<TxEnvelope, T>, E>
Attempts to convert the UnknownTxEnvelope
into Either::Right
if this is an
AnyTxEnvelope::Unknown
.
Returns Either::Left
with the ethereum TxEnvelope
if this is the
AnyTxEnvelope::Ethereum
variant and Either::Right
with the converted variant.
Sourcepub const fn as_legacy(&self) -> Option<&Signed<TxLegacy>>
pub const fn as_legacy(&self) -> Option<&Signed<TxLegacy>>
Returns the TxLegacy
variant if the transaction is a legacy transaction.
Sourcepub const fn as_eip2930(&self) -> Option<&Signed<TxEip2930>>
pub const fn as_eip2930(&self) -> Option<&Signed<TxEip2930>>
Returns the TxEip2930
variant if the transaction is an EIP-2930 transaction.
Sourcepub const fn as_eip1559(&self) -> Option<&Signed<TxEip1559>>
pub const fn as_eip1559(&self) -> Option<&Signed<TxEip1559>>
Returns the TxEip1559
variant if the transaction is an EIP-1559 transaction.
Sourcepub const fn as_eip4844(&self) -> Option<&Signed<TxEip4844Variant>>
pub const fn as_eip4844(&self) -> Option<&Signed<TxEip4844Variant>>
Returns the TxEip4844Variant
variant if the transaction is an EIP-4844 transaction.
Trait Implementations§
Source§impl AsRef<AnyTxEnvelope> for AnyRpcTransaction
impl AsRef<AnyTxEnvelope> for AnyRpcTransaction
Source§fn as_ref(&self) -> &AnyTxEnvelope
fn as_ref(&self) -> &AnyTxEnvelope
Source§impl Clone for AnyTxEnvelope
impl Clone for AnyTxEnvelope
Source§fn clone(&self) -> AnyTxEnvelope
fn clone(&self) -> AnyTxEnvelope
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for AnyTxEnvelope
impl Debug for AnyTxEnvelope
Source§impl Decodable2718 for AnyTxEnvelope
impl Decodable2718 for AnyTxEnvelope
Source§fn typed_decode(ty: u8, buf: &mut &[u8]) -> Result<AnyTxEnvelope, Eip2718Error>
fn typed_decode(ty: u8, buf: &mut &[u8]) -> Result<AnyTxEnvelope, Eip2718Error>
Source§fn fallback_decode(buf: &mut &[u8]) -> Result<AnyTxEnvelope, Eip2718Error>
fn fallback_decode(buf: &mut &[u8]) -> Result<AnyTxEnvelope, Eip2718Error>
Source§fn extract_type_byte(buf: &mut &[u8]) -> Option<u8>
fn extract_type_byte(buf: &mut &[u8]) -> Option<u8>
Source§fn decode_2718(buf: &mut &[u8]) -> Result<Self, Eip2718Error>
fn decode_2718(buf: &mut &[u8]) -> Result<Self, Eip2718Error>
Source§fn network_decode(buf: &mut &[u8]) -> Result<Self, Eip2718Error>
fn network_decode(buf: &mut &[u8]) -> Result<Self, Eip2718Error>
Source§impl<'de> Deserialize<'de> for AnyTxEnvelope
impl<'de> Deserialize<'de> for AnyTxEnvelope
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<AnyTxEnvelope, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<AnyTxEnvelope, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl Encodable2718 for AnyTxEnvelope
impl Encodable2718 for AnyTxEnvelope
Source§fn encode_2718_len(&self) -> usize
fn encode_2718_len(&self) -> usize
Source§fn encode_2718(&self, out: &mut dyn BufMut)
fn encode_2718(&self, out: &mut dyn BufMut)
Source§fn trie_hash(&self) -> FixedBytes<32>
fn trie_hash(&self) -> FixedBytes<32>
Source§fn encoded_2718(&self) -> Vec<u8> ⓘ
fn encoded_2718(&self) -> Vec<u8> ⓘ
Source§fn network_len(&self) -> usize
fn network_len(&self) -> usize
Source§fn network_encode(&self, out: &mut dyn BufMut)
fn network_encode(&self, out: &mut dyn BufMut)
Source§impl From<AnyRpcTransaction> for AnyTxEnvelope
impl From<AnyRpcTransaction> for AnyTxEnvelope
Source§fn from(tx: AnyRpcTransaction) -> AnyTxEnvelope
fn from(tx: AnyRpcTransaction) -> AnyTxEnvelope
Source§impl From<AnyTxEnvelope> for AnyTypedTransaction
impl From<AnyTxEnvelope> for AnyTypedTransaction
Source§fn from(value: AnyTxEnvelope) -> AnyTypedTransaction
fn from(value: AnyTxEnvelope) -> AnyTypedTransaction
Source§impl From<AnyTxEnvelope> for WithOtherFields<TransactionRequest>
impl From<AnyTxEnvelope> for WithOtherFields<TransactionRequest>
Source§fn from(value: AnyTxEnvelope) -> WithOtherFields<TransactionRequest>
fn from(value: AnyTxEnvelope) -> WithOtherFields<TransactionRequest>
Source§impl PartialEq for AnyTxEnvelope
impl PartialEq for AnyTxEnvelope
Source§impl Serialize for AnyTxEnvelope
impl Serialize for AnyTxEnvelope
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Source§impl Transaction for AnyTxEnvelope
impl Transaction for AnyTxEnvelope
Source§fn max_fee_per_gas(&self) -> u128
fn max_fee_per_gas(&self) -> u128
Source§fn max_priority_fee_per_gas(&self) -> Option<u128>
fn max_priority_fee_per_gas(&self) -> Option<u128>
Source§fn max_fee_per_blob_gas(&self) -> Option<u128>
fn max_fee_per_blob_gas(&self) -> Option<u128>
Source§fn priority_fee_or_price(&self) -> u128
fn priority_fee_or_price(&self) -> u128
Source§fn effective_gas_price(&self, base_fee: Option<u64>) -> u128
fn effective_gas_price(&self, base_fee: Option<u64>) -> u128
Source§fn is_dynamic_fee(&self) -> bool
fn is_dynamic_fee(&self) -> bool
true
if the transaction supports dynamic fees.Source§fn is_create(&self) -> bool
fn is_create(&self) -> bool
kind
as it copies the 21-byte
TxKind
for this simple check. A proper implementation shouldn’t allocate.Source§fn access_list(&self) -> Option<&AccessList>
fn access_list(&self) -> Option<&AccessList>
access_list
for the particular transaction type. Returns None
for
older transaction types.Source§fn blob_versioned_hashes(&self) -> Option<&[FixedBytes<32>]>
fn blob_versioned_hashes(&self) -> Option<&[FixedBytes<32>]>
None
.SignedAuthorization
list of the transaction. Read moreSource§fn effective_tip_per_gas(&self, base_fee: u64) -> Option<u128>
fn effective_tip_per_gas(&self, base_fee: u64) -> Option<u128>
Source§fn to(&self) -> Option<Address>
fn to(&self) -> Option<Address>
Source§fn function_selector(&self) -> Option<&FixedBytes<4>>
fn function_selector(&self) -> Option<&FixedBytes<4>>
Source§fn blob_count(&self) -> Option<u64>
fn blob_count(&self) -> Option<u64>
Source§fn blob_gas_used(&self) -> Option<u64>
fn blob_gas_used(&self) -> Option<u64>
SignedAuthorization
in this transactions Read moreSource§impl Typed2718 for AnyTxEnvelope
impl Typed2718 for AnyTxEnvelope
Source§fn is_eip2930(&self) -> bool
fn is_eip2930(&self) -> bool
Source§fn is_eip1559(&self) -> bool
fn is_eip1559(&self) -> bool
Source§fn is_eip4844(&self) -> bool
fn is_eip4844(&self) -> bool
Source§fn is_eip7702(&self) -> bool
fn is_eip7702(&self) -> bool
impl Eq for AnyTxEnvelope
impl StructuralPartialEq for AnyTxEnvelope
Auto Trait Implementations§
impl !Freeze for AnyTxEnvelope
impl RefUnwindSafe for AnyTxEnvelope
impl Send for AnyTxEnvelope
impl Sync for AnyTxEnvelope
impl Unpin for AnyTxEnvelope
impl UnwindSafe for AnyTxEnvelope
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more