Struct alloy_consensus::transaction::TxEip7702
source · pub struct TxEip7702 {
pub chain_id: ChainId,
pub nonce: u64,
pub gas_limit: u64,
pub max_fee_per_gas: u128,
pub max_priority_fee_per_gas: u128,
pub to: Address,
pub value: U256,
pub access_list: AccessList,
pub authorization_list: Vec<SignedAuthorization>,
pub input: Bytes,
}
Expand description
A transaction with a priority fee (EIP-7702).
Fields§
§chain_id: ChainId
EIP-155: Simple replay attack protection
nonce: u64
A scalar value equal to the number of transactions sent by the sender; formally Tn.
gas_limit: u64
A scalar value equal to the maximum amount of gas that should be used in executing this transaction. This is paid up-front, before any computation is done and may not be increased later; formally Tg.
max_fee_per_gas: u128
A scalar value equal to the maximum amount of gas that should be used in executing this transaction. This is paid up-front, before any computation is done and may not be increased later; formally Tg.
As ethereum circulation is around 120mil eth as of 2022 that is around 120000000000000000000000000 wei we are safe to use u128 as its max number is: 340282366920938463463374607431768211455
This is also known as GasFeeCap
max_priority_fee_per_gas: u128
Max Priority fee that transaction is paying
As ethereum circulation is around 120mil eth as of 2022 that is around 120000000000000000000000000 wei we are safe to use u128 as its max number is: 340282366920938463463374607431768211455
This is also known as GasTipCap
to: Address
The 160-bit address of the message call’s recipient.
value: U256
A scalar value equal to the number of Wei to be transferred to the message call’s recipient or, in the case of contract creation, as an endowment to the newly created account; formally Tv.
access_list: AccessList
The accessList specifies a list of addresses and storage keys;
these addresses and storage keys are added into the accessed_addresses
and accessed_storage_keys
global sets (introduced in EIP-2929).
A gas cost is charged, though at a discount relative to the cost of
accessing outside the list.
Authorizations are used to temporarily set the code of its signer to
the code referenced by address
. These also include a chain_id
(which
can be set to zero and not evaluated) as well as an optional nonce
.
input: Bytes
Input has two uses depending if transaction is Create or Call (if to
field is None or
Some). pub init: An unlimited size byte array specifying the
EVM-code for the account initialisation procedure CREATE,
data: An unlimited size byte array specifying the
input data of the message call, formally Td.
Implementations§
Trait Implementations§
source§impl<'de> Deserialize<'de> for TxEip7702
impl<'de> Deserialize<'de> for TxEip7702
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<TxEip7702> for TypedTransaction
impl From<TxEip7702> for TypedTransaction
source§impl PartialEq for TxEip7702
impl PartialEq for TxEip7702
source§impl SignableTransaction<PrimitiveSignature> for TxEip7702
impl SignableTransaction<PrimitiveSignature> for TxEip7702
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>
fn into_signed(self, signature: Signature) -> Signed<Self>
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 TxEip7702
impl Transaction for TxEip7702
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§impl Typed2718 for TxEip7702
impl Typed2718 for TxEip7702
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 TxEip7702
impl StructuralPartialEq for TxEip7702
Auto Trait Implementations§
impl !Freeze for TxEip7702
impl RefUnwindSafe for TxEip7702
impl Send for TxEip7702
impl Sync for TxEip7702
impl Unpin for TxEip7702
impl UnwindSafe for TxEip7702
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§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.