Struct evm_state::Executor [−][src]
Fields
evm_backend: EvmBackend<Incomming>
Implementations
impl Executor
[src]
pub fn testing() -> Self
[src]
pub fn default_configs(state: EvmBackend<Incomming>) -> Self
[src]
pub fn with_config(
evm_backend: EvmBackend<Incomming>,
chain_context: ChainContext,
config: EvmConfig
) -> Self
[src]
evm_backend: EvmBackend<Incomming>,
chain_context: ChainContext,
config: EvmConfig
) -> Self
pub fn support_precompile(&self) -> bool
[src]
pub fn transaction_execute_unsinged<F>(
&mut self,
caller: H160,
tx: UnsignedTransaction,
precompiles: F
) -> Result<ExecutionResult, Error> where
F: FnMut(H160, &[u8], Option<u64>, &Context) -> Option<PrecompileCallResult>,
[src]
&mut self,
caller: H160,
tx: UnsignedTransaction,
precompiles: F
) -> Result<ExecutionResult, Error> where
F: FnMut(H160, &[u8], Option<u64>, &Context) -> Option<PrecompileCallResult>,
Perform transaction execution without verify signature.
pub fn transaction_execute<F>(
&mut self,
evm_tx: Transaction,
precompiles: F
) -> Result<ExecutionResult, Error> where
F: FnMut(H160, &[u8], Option<u64>, &Context) -> Option<PrecompileCallResult>,
[src]
&mut self,
evm_tx: Transaction,
precompiles: F
) -> Result<ExecutionResult, Error> where
F: FnMut(H160, &[u8], Option<u64>, &Context) -> Option<PrecompileCallResult>,
pub fn with_executor<'a, F, U, P>(&'a mut self, precompiles: P, func: F) -> U where
F: for<'r> FnOnce(&mut StackExecutor<'r, 'r, MemoryStackState<'r, 'r, ExecutorContext<'a, Incomming>>>) -> U,
P: FnMut(H160, &[u8], Option<u64>, &Context) -> Option<PrecompileCallResult>,
[src]
F: for<'r> FnOnce(&mut StackExecutor<'r, 'r, MemoryStackState<'r, 'r, ExecutorContext<'a, Incomming>>>) -> U,
P: FnMut(H160, &[u8], Option<u64>, &Context) -> Option<PrecompileCallResult>,
Do lowlevel operation with executor, without storing transaction into logs. Usefull for testing and transfering tokens from evm to solana and back.
pub fn deposit(&mut self, recipient: H160, amount: U256)
[src]
Mint evm tokens to some address.
Internally just mint token, and create system transaction (not implemented):
- Type: Call
- from: EVM_BURN_ADDRESS
- to: recipient (some address specified by method caller)
- data: empty,
- value: amount (specified by method caller)
After transaction EVM_BURN_ADDRESS will cleanup.
pub fn get_tx_receipt_by_hash(
&mut self,
tx: H256
) -> Option<&TransactionReceipt>
[src]
&mut self,
tx: H256
) -> Option<&TransactionReceipt>
pub fn deconstruct(self) -> EvmBackend<Incomming>
[src]
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for Executor
impl Send for Executor
impl Sync for Executor
impl Unpin for Executor
impl UnwindSafe for Executor
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> MaybeDebug for T where
T: Debug,
[src]
T: Debug,
impl<T> Same<T> for T
[src]
type Output = T
Should always be Self
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
[src]
V: MultiLane<T>,