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
fn set_tracing_enabled(&mut self, enabled: bool) -> bool
fn tracing_enabled(&self) -> bool
fn debug_calls(&self) -> Vec<DebugArena>
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
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
fn clear_logs(&mut self)
fn clear_logs(&mut self)
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
fn traces(&self) -> Vec<CallTraceArena>
fn traces(&self) -> Vec<CallTraceArena>
Gets a trace