Trait SystemCallCommitEvm

pub trait SystemCallCommitEvm: SystemCallEvm + ExecuteCommitEvm {
    // Required method
    fn transact_system_call_commit(
        &mut self,
        system_contract_address: Address,
        data: Bytes,
    ) -> Result<Self::ExecutionResult, Self::Error>;
}
Expand description

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

Required Methods§

fn transact_system_call_commit( &mut self, system_contract_address: Address, data: Bytes, ) -> Result<Self::ExecutionResult, Self::Error>

Transact the system call and commit to the state.

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§

§

impl<CTX, INSP, INST, PRECOMPILES> SystemCallCommitEvm for Evm<CTX, INSP, INST, PRECOMPILES>
where CTX: ContextTr + ContextSetters, <CTX as ContextTr>::Journal: JournalTr<State = HashMap<Address, Account>>, <CTX as ContextTr>::Db: DatabaseCommit, <CTX as ContextTr>::Tx: SystemCallTx, INST: InstructionProvider<Context = CTX, InterpreterTypes = EthInterpreter>, PRECOMPILES: PrecompileProvider<CTX, Output = InterpreterResult>,

§

fn transact_system_call_commit( &mut self, system_contract_address: Address, data: Bytes, ) -> Result<<Evm<CTX, INSP, INST, PRECOMPILES> as ExecuteEvm>::ExecutionResult, <Evm<CTX, INSP, INST, PRECOMPILES> as ExecuteEvm>::Error>

Implementors§