Struct evm::executor::stack::StackExecutor [−][src]
pub struct StackExecutor<'config, 'precompiles, S, P> { /* fields omitted */ }Expand description
Stack-based executor.
Implementations
impl<'config, 'precompiles, S: StackState<'config>, P: PrecompileSet> StackExecutor<'config, 'precompiles, S, P>
impl<'config, 'precompiles, S: StackState<'config>, P: PrecompileSet> StackExecutor<'config, 'precompiles, S, P>
Return a reference to the precompile set.
pub fn new_with_precompiles(
state: S,
config: &'config Config,
precompile_set: &'precompiles P
) -> Self
pub fn new_with_precompiles(
state: S,
config: &'config Config,
precompile_set: &'precompiles P
) -> Self
Create a new stack-based executor with given precompiles.
Create a substate executor from the current executor.
Exit a substate. Panic if it results an empty substate stack.
Execute the runtime until it returns.
Execute a CREATE transaction.
Execute a CREATE2 transaction.
Execute a CALL transaction with a given caller, address, value and
gas limit and data.
Takes in an additional access_list parameter for EIP-2930 which was
introduced in the Ethereum Berlin hard fork. If you do not wish to use
this functionality, just pass in an empty vector.
Get fee needed for the current executor, given the price.
Get the create address from given scheme.
Trait Implementations
impl<'config, 'precompiles, S: StackState<'config>, P: PrecompileSet> Handler for StackExecutor<'config, 'precompiles, S, P>
impl<'config, 'precompiles, S: StackState<'config>, P: PrecompileSet> Handler for StackExecutor<'config, 'precompiles, S, P>
type CreateInterrupt = Infallible
type CreateInterrupt = Infallible
Type of CREATE interrupt.
type CreateFeedback = Infallible
type CreateFeedback = Infallible
Feedback value for CREATE interrupt.
type CallInterrupt = Infallible
type CallInterrupt = Infallible
Type of CALL interrupt.
type CallFeedback = Infallible
type CallFeedback = Infallible
Feedback value of CALL interrupt.
Get original storage value of address at index.
Checks if the address or (address, index) pair has been previously accessed
(or set in accessed_addresses / accessed_storage_keys via an access list
transaction).
References: Read more
Get environmental block hash.
Get environmental block number.
Get environmental coinbase.
Get environmental block timestamp.
Get environmental block difficulty.
Get environmental gas limit.
Environmental block base fee.
Set storage value of address at index.
Create a log owned by address with given topics and data.
Mark an address to be deleted, with funds transferred to target.
Invoke a create operation.
Invoke a call operation.
Pre-validation step for the runtime.
Feed in create feedback.
Feed in call feedback.