Trait evm_adapters::sputnik::SputnikExecutor[][src]

pub trait SputnikExecutor<S> {
Show 17 methods fn config(&self) -> &Config;
fn state(&self) -> &S;
fn state_mut(&mut self) -> &mut S;
fn expected_revert(&self) -> Option<&[u8]>;
fn set_tracing_enabled(&mut self, enabled: bool) -> bool;
fn tracing_enabled(&self) -> bool;
fn debug_calls(&self) -> Vec<DebugArena>;
fn all_logs(&self) -> Vec<String>;
fn gas_left(&self) -> U256;
fn transact_call(
        &mut self,
        caller: H160,
        address: H160,
        value: U256,
        data: Vec<u8>,
        gas_limit: u64,
        access_list: Vec<(H160, Vec<H256>)>
    ) -> (ExitReason, Vec<u8>);
fn transact_create(
        &mut self,
        caller: H160,
        value: U256,
        data: Vec<u8>,
        gas_limit: u64,
        access_list: Vec<(H160, Vec<H256>)>
    ) -> ExitReason;
fn create_address(&self, caller: CreateScheme) -> Address;
fn raw_logs(&self) -> Vec<RawLog>;
fn logs(&self) -> Vec<String>;
fn clear_logs(&mut self); fn traces(&self) -> Vec<CallTraceArena> { ... }
fn reset_traces(&mut self) { ... }
}
Expand description

Abstraction over the StackExecutor used inside of Sputnik, so that we can replace it with one that implements HEVM-style cheatcodes (or other features).

Required methods

Returns a vector of raw logs that occurred during the previous VM execution

Returns a vector of string parsed logs that occurred during the previous VM execution

Clears all logs in the current EVM instance, so that subsequent calls to logs do not print duplicate logs on shared EVM instances.

Provided methods

Gets a trace

Implementations on Foreign Types

Implementors