Trait Tx

Source
pub trait Tx: Send + Sync {
    // Required method
    fn fill_tx_env(&self, tx_env: &mut TxEnv);

    // Provided method
    fn fill_tx<Db: Database, Insp, Inst, Prec>(
        &self,
        evm: &mut Evm<Ctx<Db>, Insp, Inst, Prec>,
    )
       where Self: Sized { ... }
}
Expand description

Types that can fill the EVM transaction environment TxEnv.

Required Methods§

Source

fn fill_tx_env(&self, tx_env: &mut TxEnv)

Fill the transaction environment.

§Note:

It is generally expected that the filler will fill (or at least inspect) ALL fields of the transaction environment. This is because the EVM will NOT clear the transaction environment between transactions. If the filler does not fill a field, it will be left unchanged from the previous transaction.

Provided Methods§

Source

fn fill_tx<Db: Database, Insp, Inst, Prec>( &self, evm: &mut Evm<Ctx<Db>, Insp, Inst, Prec>, )
where Self: Sized,

Fill the transaction environment on the EVM.

Trait Implementations§

Source§

impl Tx for Box<dyn Tx>

Source§

fn fill_tx_env(&self, tx_env: &mut TxEnv)

Fill the transaction environment. Read more
Source§

fn fill_tx<Db: Database, Insp, Inst, Prec>( &self, evm: &mut Evm<Ctx<Db>, Insp, Inst, Prec>, )
where Self: Sized,

Fill the transaction environment on the EVM.

Implementations on Foreign Types§

Source§

impl Tx for Box<dyn Tx>

Source§

fn fill_tx_env(&self, tx_env: &mut TxEnv)

Source§

impl Tx for Arc<dyn Tx>

Source§

fn fill_tx_env(&self, tx_env: &mut TxEnv)

Source§

impl Tx for Signed<TxEip4844Variant>

Source§

fn fill_tx_env(&self, tx_env: &mut TxEnv)

Source§

impl Tx for Signed<TxEip1559>

Source§

fn fill_tx_env(&self, tx_env: &mut TxEnv)

Source§

impl Tx for Signed<TxEip2930>

Source§

fn fill_tx_env(&self, tx_env: &mut TxEnv)

Source§

impl Tx for Signed<TxEip4844>

Source§

fn fill_tx_env(&self, tx_env: &mut TxEnv)

Source§

impl Tx for Signed<TxEip4844WithSidecar>

Source§

fn fill_tx_env(&self, tx_env: &mut TxEnv)

Source§

impl Tx for Signed<TxLegacy>

Source§

fn fill_tx_env(&self, tx_env: &mut TxEnv)

Source§

impl Tx for TransactionRequest

Source§

fn fill_tx_env(&self, tx_env: &mut TxEnv)

Source§

impl Tx for TxEnv

Source§

fn fill_tx_env(&self, tx_env: &mut TxEnv)

Source§

impl Tx for TxEnvelope

Source§

fn fill_tx_env(&self, tx_env: &mut TxEnv)

Implementors§

Source§

impl Tx for SystemTx

Source§

impl<T> Tx for T
where T: Fn(&mut TxEnv) + Send + Sync,