pub enum TxEip4844Variant {
TxEip4844(TxEip4844),
TxEip4844WithSidecar(TxEip4844WithSidecar),
}
Expand description
A transaction with blob hashes and max blob fee. It can either be a standalone transaction, mainly seen when retrieving historical transactions, or a transaction with a sidecar, which is used when submitting a transaction to the network and when receiving and sending transactions during the gossip stage.
Variants§
TxEip4844(TxEip4844)
A standalone transaction with blob hashes and max blob fee.
TxEip4844WithSidecar(TxEip4844WithSidecar)
A transaction with a sidecar, which contains the blob data, commitments, and proofs.
Implementations§
Source§impl TxEip4844Variant
impl TxEip4844Variant
Sourcepub fn validate(
&self,
proof_settings: &KzgSettings,
) -> Result<(), BlobTransactionValidationError>
Available on crate feature kzg
only.
pub fn validate( &self, proof_settings: &KzgSettings, ) -> Result<(), BlobTransactionValidationError>
kzg
only.Verifies that the transaction’s blob data, commitments, and proofs are all valid.
See also TxEip4844::validate_blob
Sourcepub fn size(&self) -> usize
pub fn size(&self) -> usize
Calculates a heuristic for the in-memory size of the TxEip4844Variant transaction.
Sourcepub fn try_into_4844_with_sidecar(self) -> Result<TxEip4844WithSidecar, Self>
pub fn try_into_4844_with_sidecar(self) -> Result<TxEip4844WithSidecar, Self>
Tries to unwrap the TxEip4844WithSidecar
returns the transaction as error if it is not a
TxEip4844WithSidecar
Trait Implementations§
Source§impl<'arbitrary> Arbitrary<'arbitrary> for TxEip4844Variant
impl<'arbitrary> Arbitrary<'arbitrary> for TxEip4844Variant
Source§fn arbitrary(u: &mut Unstructured<'arbitrary>) -> Result<Self>
fn arbitrary(u: &mut Unstructured<'arbitrary>) -> Result<Self>
Self
from the given unstructured data. Read moreSource§fn arbitrary_take_rest(u: Unstructured<'arbitrary>) -> Result<Self>
fn arbitrary_take_rest(u: Unstructured<'arbitrary>) -> Result<Self>
Self
from the entirety of the given
unstructured data. Read moreSource§fn size_hint(depth: usize) -> (usize, Option<usize>)
fn size_hint(depth: usize) -> (usize, Option<usize>)
Unstructured
this type
needs to construct itself. Read moreSource§fn try_size_hint(
depth: usize,
) -> Result<(usize, Option<usize>), MaxRecursionReached>
fn try_size_hint( depth: usize, ) -> Result<(usize, Option<usize>), MaxRecursionReached>
Unstructured
this type
needs to construct itself. Read moreSource§impl Clone for TxEip4844Variant
impl Clone for TxEip4844Variant
Source§fn clone(&self) -> TxEip4844Variant
fn clone(&self) -> TxEip4844Variant
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for TxEip4844Variant
impl Debug for TxEip4844Variant
Source§impl<'de> Deserialize<'de> for TxEip4844Variant
Available on crate feature serde
only.
impl<'de> Deserialize<'de> for TxEip4844Variant
serde
only.Source§fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
Source§impl From<(TxEip4844, BlobTransactionSidecar)> for TxEip4844Variant
impl From<(TxEip4844, BlobTransactionSidecar)> for TxEip4844Variant
Source§fn from((tx, sidecar): (TxEip4844, BlobTransactionSidecar)) -> Self
fn from((tx, sidecar): (TxEip4844, BlobTransactionSidecar)) -> Self
Source§impl From<TxEip4844> for TxEip4844Variant
impl From<TxEip4844> for TxEip4844Variant
Source§impl<Eip4844: From<TxEip4844Variant>> From<TxEip4844Variant> for EthereumTypedTransaction<Eip4844>
impl<Eip4844: From<TxEip4844Variant>> From<TxEip4844Variant> for EthereumTypedTransaction<Eip4844>
Source§fn from(tx: TxEip4844Variant) -> Self
fn from(tx: TxEip4844Variant) -> Self
Source§impl From<TxEip4844Variant> for TxEip4844
impl From<TxEip4844Variant> for TxEip4844
Source§fn from(tx: TxEip4844Variant) -> Self
fn from(tx: TxEip4844Variant) -> Self
Source§impl From<TxEip4844WithSidecar> for TxEip4844Variant
impl From<TxEip4844WithSidecar> for TxEip4844Variant
Source§fn from(tx: TxEip4844WithSidecar) -> Self
fn from(tx: TxEip4844WithSidecar) -> Self
Source§impl Hash for TxEip4844Variant
impl Hash for TxEip4844Variant
Source§impl PartialEq for TxEip4844Variant
impl PartialEq for TxEip4844Variant
Source§impl Serialize for TxEip4844Variant
impl Serialize for TxEip4844Variant
Source§impl SignableTransaction<PrimitiveSignature> for TxEip4844Variant
impl SignableTransaction<PrimitiveSignature> for TxEip4844Variant
Source§fn set_chain_id(&mut self, chain_id: ChainId)
fn set_chain_id(&mut self, chain_id: ChainId)
chain_id
. Read moreSource§fn encode_for_signing(&self, out: &mut dyn BufMut)
fn encode_for_signing(&self, out: &mut dyn BufMut)
Source§fn payload_len_for_signature(&self) -> usize
fn payload_len_for_signature(&self) -> usize
Source§fn set_chain_id_checked(&mut self, chain_id: ChainId) -> bool
fn set_chain_id_checked(&mut self, chain_id: ChainId) -> bool
chain_id
if it is not already set. Checks that the provided chain_id
matches the
existing chain_id
if it is already set, returning false
if they do not match.Source§fn encoded_for_signing(&self) -> Vec<u8> ⓘ
fn encoded_for_signing(&self) -> Vec<u8> ⓘ
signature_hash
. Read moreSource§fn signature_hash(&self) -> B256
fn signature_hash(&self) -> B256
Source§impl Transaction for TxEip4844Variant
impl Transaction for TxEip4844Variant
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<&[B256]>
fn blob_versioned_hashes(&self) -> Option<&[B256]>
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<&Selector>
fn function_selector(&self) -> Option<&Selector>
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 TxEip4844Variant
impl Typed2718 for TxEip4844Variant
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 TxEip4844Variant
impl StructuralPartialEq for TxEip4844Variant
Auto Trait Implementations§
impl !Freeze for TxEip4844Variant
impl RefUnwindSafe for TxEip4844Variant
impl Send for TxEip4844Variant
impl Sync for TxEip4844Variant
impl Unpin for TxEip4844Variant
impl UnwindSafe for TxEip4844Variant
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§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 moreSource§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
Source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
Source§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 224 bytes
Size for each variant:
TxEip4844
: 176 bytesTxEip4844WithSidecar
: 224 bytes