Trait ExecuteCommitEvm

pub trait ExecuteCommitEvm: ExecuteEvm {
    type CommitOutput;

    // Required method
    fn replay_commit(&mut self) -> Self::CommitOutput;

    // Provided method
    fn transact_commit(&mut self, tx: Self::Tx) -> Self::CommitOutput { ... }
}
Expand description

Extension of the ExecuteEvm trait that adds a method that commits the state after execution.

Required Associated Types§

type CommitOutput

Commit output of transaction execution.

Required Methods§

fn replay_commit(&mut self) -> Self::CommitOutput

Transact the transaction and commit to the state.

Provided Methods§

fn transact_commit(&mut self, tx: Self::Tx) -> Self::CommitOutput

Transact the transaction and commit to the state.

Implementations on Foreign Types§

§

impl<CTX, INSP, PRECOMPILE> ExecuteCommitEvm for OpEvm<CTX, INSP, EthInstructions<EthInterpreter, CTX>, PRECOMPILE>
where CTX: OpContextTr + ContextSetters, <CTX as ContextTr>::Db: DatabaseCommit, PRECOMPILE: PrecompileProvider<CTX, Output = InterpreterResult>,

§

type CommitOutput = Result<ExecutionResult<OpHaltReason>, EVMError<<<CTX as ContextTr>::Db as Database>::Error, OpTransactionError>>

§

fn replay_commit( &mut self, ) -> <OpEvm<CTX, INSP, EthInstructions<EthInterpreter, CTX>, PRECOMPILE> as ExecuteCommitEvm>::CommitOutput

Implementors§

§

impl<CTX, INSP, PRECOMPILES> ExecuteCommitEvm for Evm<CTX, INSP, EthInstructions<EthInterpreter, CTX>, PRECOMPILES>
where CTX: ContextTr + ContextSetters, <CTX as ContextTr>::Journal: JournalTr<FinalOutput = JournalOutput>, <CTX as ContextTr>::Db: DatabaseCommit, PRECOMPILES: PrecompileProvider<CTX, Output = InterpreterResult>,