pub struct TxEip4844WithSidecar {
pub tx: TxEip4844,
pub sidecar: BlobTransactionSidecar,
}
Expand description
A transaction with blob hashes and max blob fee, which also includes the BlobTransactionSidecar. This is the full type sent over the network as a raw transaction. It wraps a TxEip4844 to include the sidecar and the ability to decode it properly.
This is defined in EIP-4844 as an element
of a PooledTransactions
response, and is also used as the format for sending raw transactions
through the network (eth_sendRawTransaction/eth_sendTransaction).
Fields§
§tx: TxEip4844
The actual transaction.
sidecar: BlobTransactionSidecar
The sidecar.
Implementations§
Source§impl TxEip4844WithSidecar
impl TxEip4844WithSidecar
Sourcepub const fn from_tx_and_sidecar(
tx: TxEip4844,
sidecar: BlobTransactionSidecar,
) -> Self
pub const fn from_tx_and_sidecar( tx: TxEip4844, sidecar: BlobTransactionSidecar, ) -> Self
Constructs a new TxEip4844WithSidecar from a TxEip4844 and a BlobTransactionSidecar.
Sourcepub fn validate_blob(
&self,
proof_settings: &KzgSettings,
) -> Result<(), BlobTransactionValidationError>
Available on crate feature kzg
only.
pub fn validate_blob( &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 const fn sidecar(&self) -> &BlobTransactionSidecar
pub const fn sidecar(&self) -> &BlobTransactionSidecar
Get access to the inner sidecar BlobTransactionSidecar.
Sourcepub fn into_sidecar(self) -> BlobTransactionSidecar
pub fn into_sidecar(self) -> BlobTransactionSidecar
Consumes the TxEip4844WithSidecar and returns the inner sidecar BlobTransactionSidecar.
Sourcepub fn into_parts(self) -> (TxEip4844, BlobTransactionSidecar)
pub fn into_parts(self) -> (TxEip4844, BlobTransactionSidecar)
Consumes the TxEip4844WithSidecar and returns the inner TxEip4844 and BlobTransactionSidecar.
Sourcepub fn size(&self) -> usize
pub fn size(&self) -> usize
Calculates a heuristic for the in-memory size of the TxEip4844WithSidecar transaction.
Trait Implementations§
Source§impl<'arbitrary> Arbitrary<'arbitrary> for TxEip4844WithSidecar
impl<'arbitrary> Arbitrary<'arbitrary> for TxEip4844WithSidecar
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 TxEip4844WithSidecar
impl Clone for TxEip4844WithSidecar
Source§fn clone(&self) -> TxEip4844WithSidecar
fn clone(&self) -> TxEip4844WithSidecar
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for TxEip4844WithSidecar
impl Debug for TxEip4844WithSidecar
Source§impl Default for TxEip4844WithSidecar
impl Default for TxEip4844WithSidecar
Source§fn default() -> TxEip4844WithSidecar
fn default() -> TxEip4844WithSidecar
Source§impl<'de> Deserialize<'de> for TxEip4844WithSidecar
impl<'de> Deserialize<'de> for TxEip4844WithSidecar
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<Eip4844: From<TxEip4844WithSidecar>> From<TxEip4844WithSidecar> for EthereumTypedTransaction<Eip4844>
impl<Eip4844: From<TxEip4844WithSidecar>> From<TxEip4844WithSidecar> for EthereumTypedTransaction<Eip4844>
Source§fn from(tx: TxEip4844WithSidecar) -> Self
fn from(tx: TxEip4844WithSidecar) -> Self
Source§impl From<TxEip4844WithSidecar> for TxEip4844
impl From<TxEip4844WithSidecar> for TxEip4844
Source§fn from(tx_with_sidecar: TxEip4844WithSidecar) -> Self
fn from(tx_with_sidecar: TxEip4844WithSidecar) -> Self
Consumes the TxEip4844WithSidecar and returns the inner TxEip4844.
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 TxEip4844WithSidecar
impl Hash for TxEip4844WithSidecar
Source§impl PartialEq for TxEip4844WithSidecar
impl PartialEq for TxEip4844WithSidecar
Source§impl Serialize for TxEip4844WithSidecar
impl Serialize for TxEip4844WithSidecar
Source§impl SignableTransaction<PrimitiveSignature> for TxEip4844WithSidecar
impl SignableTransaction<PrimitiveSignature> for TxEip4844WithSidecar
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 TxEip4844WithSidecar
impl Transaction for TxEip4844WithSidecar
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 TxEip4844WithSidecar
impl Typed2718 for TxEip4844WithSidecar
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 TxEip4844WithSidecar
impl StructuralPartialEq for TxEip4844WithSidecar
Auto Trait Implementations§
impl !Freeze for TxEip4844WithSidecar
impl RefUnwindSafe for TxEip4844WithSidecar
impl Send for TxEip4844WithSidecar
impl Sync for TxEip4844WithSidecar
impl Unpin for TxEip4844WithSidecar
impl UnwindSafe for TxEip4844WithSidecar
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