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<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<'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§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§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 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 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§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)