From 5ddd5609b3990631a891622e16e2788e997f4c3c Mon Sep 17 00:00:00 2001 From: faramo_zayw Date: Mon, 18 Dec 2023 11:32:16 +0200 Subject: [PATCH] added EOF opcodes to logs --- evm_loader/program/src/evm/opcode_table.rs | 9 +++++++++ .../program/src/evm/tracing/tracers/struct_logger.rs | 6 ++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/evm_loader/program/src/evm/opcode_table.rs b/evm_loader/program/src/evm/opcode_table.rs index 95e36fbc1..4aa4ef36e 100644 --- a/evm_loader/program/src/evm/opcode_table.rs +++ b/evm_loader/program/src/evm/opcode_table.rs @@ -808,6 +808,15 @@ macro_rules! eof_opcode_table { } } } + + #[cfg(not(target_os = "solana"))] + pub const EOF_OPNAMES: [&str; 256] = { + let mut opnames: [&str; 256] = [""; 256]; + + $(opnames[$opcode as usize] = $opname;)* + + opnames + }; } } diff --git a/evm_loader/program/src/evm/tracing/tracers/struct_logger.rs b/evm_loader/program/src/evm/tracing/tracers/struct_logger.rs index 8687c7a17..0b534e6f8 100644 --- a/evm_loader/program/src/evm/tracing/tracers/struct_logger.rs +++ b/evm_loader/program/src/evm/tracing/tracers/struct_logger.rs @@ -4,7 +4,7 @@ use ethnum::U256; use serde::Serialize; use serde_json::Value; -use crate::evm::opcode_table::OPNAMES; +use crate::evm::opcode_table::{EOF_OPNAMES, OPNAMES}; use crate::evm::tracing::TraceConfig; use crate::evm::tracing::{EmulationResult, Event, EventListener}; use crate::types::hexbytes::HexBytes; @@ -77,7 +77,9 @@ impl StructLog { memory: Option>, stack: Option>, ) -> Self { - let op = OPNAMES[opcode as usize]; + let op = *EOF_OPNAMES + .get(opcode as usize) + .unwrap_or(&OPNAMES[opcode as usize]); Self { pc, op,