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§
Sourcefn 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_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.
Sourcefn 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 + '_
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§
Sourcefn system_call_one_async(
&mut self,
system_contract_address: Address,
data: Bytes,
) -> impl Future<Output = AsyncResult<Self::ExecutionResult, Self::Error>> + Send + '_
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.
Sourcefn system_call_async(
&mut self,
system_contract_address: Address,
data: Bytes,
) -> impl Future<Output = AsyncResult<ExecResultAndState<Self::ExecutionResult, Self::State>, 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 + '_
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.
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.