pub struct TxEip2930 {
pub chain_id: ChainId,
pub nonce: u64,
pub gas_price: u128,
pub gas_limit: u64,
pub to: TxKind,
pub value: U256,
pub access_list: AccessList,
pub input: Bytes,
}Expand description
Transaction with an AccessList (EIP-2930).
Fields§
§chain_id: ChainIdAdded as EIP-pub 155: Simple replay attack protection
nonce: u64A scalar value equal to the number of transactions sent by the sender; formally Tn.
gas_price: u128A scalar value equal to the number of Wei to be paid per unit of gas for all computation costs incurred as a result of the execution of this transaction; formally Tp.
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
gas_limit: u64A 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.
to: TxKindThe 160-bit address of the message call’s recipient or, for a contract creation transaction, ∅, used here to denote the only member of B0 ; formally Tt.
value: U256A 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: AccessListThe access list. See EIP-2930.
The access_list specifies a list of addresses and storage keys that the transaction
plans to access. 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.
input: BytesInput has two uses depending if to field is Create or Call.
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 TxEip2930
impl<'de> Deserialize<'de> for TxEip2930
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<TxEip2930> for EthereumTypedTransaction<Eip4844>
impl<Eip4844> From<TxEip2930> for EthereumTypedTransaction<Eip4844>
Source§impl IsTyped2718 for TxEip2930
impl IsTyped2718 for TxEip2930
Source§impl SignableTransaction<Signature> for TxEip2930
impl SignableTransaction<Signature> for TxEip2930
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 TxEip2930
impl Transaction for TxEip2930
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 TxEip2930
impl Typed2718 for TxEip2930
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 TxEip2930
impl StructuralPartialEq for TxEip2930
Auto Trait Implementations§
impl !Freeze for TxEip2930
impl RefUnwindSafe for TxEip2930
impl Send for TxEip2930
impl Sync for TxEip2930
impl Unpin for TxEip2930
impl UnwindSafe for TxEip2930
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§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.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 more