INNER CODE UNIT · Rust
cheat_call
fuzzland/ityfuzz · src/evm/middlewares/cheatcode/mod.rs:139
pub fn cheat_call(&mut self, interp: &mut Interpreter, host: &mut FuzzHost<SC>) {
let op = interp.current_opcode();
let calldata = unsafe { pop_cheatcall_stack(interp, op) };
if let Err(err) = calldata {
cheat_call_error!(interp, err);
}
let (input, out_offset, out_len) = calldata.unwrap();
if let Err(err) = try_memory_resize(interp, out_offset, out_len) {
cheat_call_error!(interp, err);
}
let (caller, tx_origin) = (&interp.contract().caller, &host.env.tx.caller.clone());
// handle vm calls
let vm_call = VmCalls::abi_decode(&input, false).expect("decode cheatcode failed");
debug!("[cheatcode] vm.{:?}", vm_call);
let res = match vm_call {
// common