Struct evm_state::Executor[][src]

pub struct Executor {
    pub evm_backend: EvmBackend<Incomming>,
    // some fields omitted
}

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]

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]

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]

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]

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):

  1. Type: Call
  2. from: EVM_BURN_ADDRESS
  3. to: recipient (some address specified by method caller)
  4. data: empty,
  5. 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]

pub fn deconstruct(self) -> EvmBackend<Incomming>[src]

Trait Implementations

impl Debug for Executor[src]

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]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> MaybeDebug for T where
    T: Debug
[src]

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]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 
[src]