INNER CODE UNIT · Rust
log
fuzzland/ityfuzz · src/evm/middlewares/cheatcode/mod.rs:448
pub fn log(&mut self, interp: &mut Interpreter, expected_emits: &mut VecDeque<ExpectedEmit>) {
if expected_emits.is_empty() && self.recorded_logs.is_none() {
return;
}
debug!("[cheatcode] log");
let op = interp.current_opcode();
let data = try_or_continue!(peek_log_data(interp));
let topics = try_or_continue!(peek_log_topics(interp, op));
let address = &interp.contract().address;
// Handle expect emit
if !expected_emits.is_empty() {
handle_expect_emit(expected_emits, &Address::from(address.0), &topics, &data);
}
// Stores this log if `recordLogs` has been called
if let Some(storage_recorded_logs) = &mut self.recorded_logs {