pub trait Inspector {
fn step(&mut self, machine: &mut Machine);
fn eval(&mut self, eval: Return, machine: &mut Machine);
fn load_account(&mut self, address: &H160);
fn sload(
&mut self,
address: &H160,
slot: &U256,
value: &U256,
is_cold: bool
);
fn sstore(
&mut self,
address: H160,
slot: U256,
new_value: U256,
old_value: U256,
original_value: U256,
is_cold: bool
);
fn call(
&mut self,
call: H160,
context: &CallContext,
transfer: &Transfer,
input: &Bytes,
gas_limit: u64,
is_static: bool
);
fn call_return(&mut self, exit: Return);
fn create(
&mut self,
caller: H160,
scheme: &CreateScheme,
value: U256,
init_code: &Bytes,
gas: u64
);
fn create_return(&mut self, address: H256);
fn selfdestruct(&mut self);
}