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 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 encode_with_signature_fields(
&self,
signature: &Signature,
out: &mut dyn BufMut,
)
pub fn encode_with_signature_fields( &self, signature: &Signature, out: &mut dyn BufMut, )
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<Signature<Secp256k1>>> for TxEip4844WithSidecar
impl SignableTransaction<Signature<Signature<Secp256k1>>> 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
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> 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 moreimpl<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: 304 bytes