Struct alloy_consensus::transaction::eip4844::TxEip4844WithSidecar
source · 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 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 encode_with_signature_fields<S>(
&self,
signature: &S,
out: &mut dyn BufMut,
)where
S: EncodableSignature,
pub fn encode_with_signature_fields<S>(
&self,
signature: &S,
out: &mut dyn BufMut,
)where
S: EncodableSignature,
Encodes the transaction from RLP bytes, including the signature. This does not encode a tx type byte or string header.
This does encode a list header and include a signature.
This encodes the following:
rlp([tx_payload, blobs, commitments, proofs])
where tx_payload
is the RLP encoding of the TxEip4844 transaction fields:
rlp([chain_id, nonce, max_priority_fee_per_gas, ..., v, r, s])
Trait Implementations§
source§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 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 From<TxEip4844WithSidecar> for TypedTransaction
impl From<TxEip4844WithSidecar> for TypedTransaction
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§fn eq(&self, other: &TxEip4844WithSidecar) -> bool
fn eq(&self, other: &TxEip4844WithSidecar) -> bool
self
and other
values to be equal, and is used
by ==
.source§impl Serialize for TxEip4844WithSidecar
impl Serialize for TxEip4844WithSidecar
source§impl SignableTransaction<Signature> for TxEip4844WithSidecar
impl SignableTransaction<Signature> 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 into_signed(self, signature: Signature) -> Signed<Self, Signature>
fn into_signed(self, signature: Signature) -> Signed<Self, Signature>
source§fn use_eip155(&self) -> bool
fn use_eip155(&self) -> bool
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 priority_fee_or_price(&self) -> u128
fn priority_fee_or_price(&self) -> u128
source§fn max_fee_per_blob_gas(&self) -> Option<u128>
fn max_fee_per_blob_gas(&self) -> Option<u128>
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 moreimpl 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§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§impl<T> FmtForward for T
impl<T> FmtForward for T
source§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self
to use its Binary
implementation when Debug
-formatted.source§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self
to use its Display
implementation when
Debug
-formatted.source§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self
to use its LowerExp
implementation when
Debug
-formatted.source§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self
to use its LowerHex
implementation when
Debug
-formatted.source§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self
to use its Octal
implementation when Debug
-formatted.source§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self
to use its Pointer
implementation when
Debug
-formatted.source§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self
to use its UpperExp
implementation when
Debug
-formatted.source§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self
to use its UpperHex
implementation when
Debug
-formatted.source§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
source§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
source§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read moresource§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read moresource§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
source§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
source§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self
, then passes self.as_ref()
into the pipe function.source§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self
, then passes self.as_mut()
into the pipe
function.source§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self
, then passes self.deref()
into the pipe function.source§impl<T> Tap for T
impl<T> Tap for T
source§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B>
of a value. Read moresource§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B>
of a value. Read moresource§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R>
view of a value. Read moresource§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R>
view of a value. Read moresource§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target
of a value. Read moresource§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target
of a value. Read moresource§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap()
only in debug builds, and is erased in release builds.source§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut()
only in debug builds, and is erased in release
builds.source§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow()
only in debug builds, and is erased in release
builds.source§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut()
only in debug builds, and is erased in release
builds.source§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref()
only in debug builds, and is erased in release
builds.source§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut()
only in debug builds, and is erased in release
builds.source§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref()
only in debug builds, and is erased in release
builds.