Trait AccessListTr

Source
pub trait AccessListTr {
    // Required method
    fn access_list(
        &self,
    ) -> impl Iterator<Item = (Address, impl Iterator<Item = B256>)>;

    // Provided method
    fn access_list_nums(&self) -> (usize, usize) { ... }
}
Expand description

Access list type is introduced in EIP-2930, and every transaction after it contains access list.

Note: Iterator over access list returns account address and storage slot keys that are warm loaded before transaction execution.

Number of account and storage slots is used to calculate initial tx gas cost.

Required Methods§

Source

fn access_list( &self, ) -> impl Iterator<Item = (Address, impl Iterator<Item = B256>)>

Iterate over access list.

Provided Methods§

Source

fn access_list_nums(&self) -> (usize, usize)

Returns number of account and storage slots.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl AccessListTr for AccessList

Source§

fn access_list( &self, ) -> impl Iterator<Item = (Address, impl Iterator<Item = B256>)>

Source§

impl<'a, T: 'a + AccessListTr + ?Sized> AccessListTr for &'a T

Source§

fn access_list( &self, ) -> impl Iterator<Item = (Address, impl Iterator<Item = B256>)>

Source§

fn access_list_nums(&self) -> (usize, usize)

Source§

impl<T: AccessListTr + ?Sized> AccessListTr for Box<T>

Source§

fn access_list( &self, ) -> impl Iterator<Item = (Address, impl Iterator<Item = B256>)>

Source§

fn access_list_nums(&self) -> (usize, usize)

Source§

impl<T: AccessListTr + ?Sized> AccessListTr for Rc<T>

Source§

fn access_list( &self, ) -> impl Iterator<Item = (Address, impl Iterator<Item = B256>)>

Source§

fn access_list_nums(&self) -> (usize, usize)

Source§

impl<T: AccessListTr + ?Sized> AccessListTr for Arc<T>

Source§

fn access_list( &self, ) -> impl Iterator<Item = (Address, impl Iterator<Item = B256>)>

Source§

fn access_list_nums(&self) -> (usize, usize)

Implementors§