Skip to main content

SystemCallEvmAsync

Trait SystemCallEvmAsync 

Source
pub trait SystemCallEvmAsync: SystemCallEvm {
    // Required methods
    fn system_call_one_with_caller_async(
        &mut self,
        caller: Address,
        system_contract_address: Address,
        data: Bytes,
    ) -> impl Future<Output = AsyncResult<Self::ExecutionResult, Self::Error>> + Send + '_;
    fn system_call_with_caller_async(
        &mut self,
        caller: Address,
        system_contract_address: Address,
        data: Bytes,
    ) -> impl Future<Output = AsyncResult<ExecResultAndState<Self::ExecutionResult, Self::State>, Self::Error>> + Send + '_;

    // Provided methods
    fn system_call_one_async(
        &mut self,
        system_contract_address: Address,
        data: Bytes,
    ) -> impl Future<Output = AsyncResult<Self::ExecutionResult, Self::Error>> + Send + '_ { ... }
    fn system_call_async(
        &mut self,
        system_contract_address: Address,
        data: Bytes,
    ) -> impl Future<Output = AsyncResult<ExecResultAndState<Self::ExecutionResult, Self::State>, Self::Error>> + Send + '_ { ... }
}
Expand description

Async extension of the SystemCallEvm trait that runs execution on an async fiber.

Required Methods§

Source

fn system_call_one_with_caller_async( &mut self, caller: Address, system_contract_address: Address, data: Bytes, ) -> impl Future<Output = AsyncResult<Self::ExecutionResult, Self::Error>> + Send + '_

System call executed on an async fiber.

Source

fn system_call_with_caller_async( &mut self, caller: Address, system_contract_address: Address, data: Bytes, ) -> impl Future<Output = AsyncResult<ExecResultAndState<Self::ExecutionResult, Self::State>, Self::Error>> + Send + '_

System call executed and finalized on an async fiber.

Provided Methods§

Source

fn system_call_one_async( &mut self, system_contract_address: Address, data: Bytes, ) -> impl Future<Output = AsyncResult<Self::ExecutionResult, Self::Error>> + Send + '_

System call executed on an async fiber.

Source

fn system_call_async( &mut self, system_contract_address: Address, data: Bytes, ) -> impl Future<Output = AsyncResult<ExecResultAndState<Self::ExecutionResult, Self::State>, Self::Error>> + Send + '_

System call executed and finalized on an async fiber.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl<CTX, INSP, INST, PRECOMPILES> SystemCallEvmAsync for Evm<CTX, INSP, INST, PRECOMPILES, EthFrame<EthInterpreter>>
where CTX: ContextTr<Journal: JournalTr<State = EvmState>, Tx: SystemCallTx> + ContextSetters, INST: InstructionProvider<Context = CTX, InterpreterTypes = EthInterpreter>, PRECOMPILES: PrecompileProvider<CTX, Output = InterpreterResult>, Self: ExecuteEvm, <Self as ExecuteEvm>::ExecutionResult: Send, <Self as ExecuteEvm>::State: Send, <Self as ExecuteEvm>::Error: Send,

Available on crate feature asyncdb only.
Source§

fn system_call_one_with_caller_async( &mut self, caller: Address, system_contract_address: Address, data: Bytes, ) -> impl Future<Output = AsyncResult<Self::ExecutionResult, Self::Error>> + Send + '_

Source§

fn system_call_with_caller_async( &mut self, caller: Address, system_contract_address: Address, data: Bytes, ) -> impl Future<Output = AsyncResult<ExecResultAndState<Self::ExecutionResult, Self::State>, Self::Error>> + Send + '_

Implementors§