diff --git a/core/lib/multivm/src/versions/vm_latest/tracers/default_tracers.rs b/core/lib/multivm/src/versions/vm_latest/tracers/default_tracers.rs index 8fcbc83da7c..661ae5bc2ec 100755 --- a/core/lib/multivm/src/versions/vm_latest/tracers/default_tracers.rs +++ b/core/lib/multivm/src/versions/vm_latest/tracers/default_tracers.rs @@ -13,7 +13,7 @@ use zk_evm_1_5_0::{ zkevm_opcode_defs::{decoding::EncodingModeProduction, Opcode, RetOpcode}, }; -use super::{EvmDebugTracer, EvmDeployTracer, PubdataTracer}; +use super::{EvmDeployTracer, PubdataTracer}; use crate::{ glue::GlueInto, interface::{ @@ -64,7 +64,7 @@ pub struct DefaultExecutionTracer { // take into account e.g circuits produced by the initial bootloader memory commitment. pub(crate) circuits_tracer: CircuitsTracer, - pub(crate) evm_tracer: Option>, + // This tracer is responsible for handling EVM deployments and providing the data to the code decommitter. pub(crate) evm_deploy_tracer: EvmDeployTracer, subversion: MultiVMSubversion, @@ -98,7 +98,6 @@ impl DefaultExecutionTracer { circuits_tracer: CircuitsTracer::new(), evm_deploy_tracer: EvmDeployTracer::new(), storage, - evm_tracer: None, _phantom: PhantomData, } } @@ -177,9 +176,6 @@ macro_rules! dispatch_tracers { if let Some(tracer) = &mut $self.pubdata_tracer { tracer.$function($( $params ),*); } - if let Some(tracer) = &mut $self.evm_tracer { - tracer.$function($( $params ),*); - } $self.circuits_tracer.$function($( $params ),*); $self.evm_deploy_tracer.$function($( $params ),*); }; diff --git a/core/lib/multivm/src/versions/vm_latest/tracers/evm_debug_tracer.rs b/core/lib/multivm/src/versions/vm_latest/tracers/evm_debug_tracer.rs deleted file mode 100644 index 341cc878366..00000000000 --- a/core/lib/multivm/src/versions/vm_latest/tracers/evm_debug_tracer.rs +++ /dev/null @@ -1,117 +0,0 @@ -use std::{marker::PhantomData, str::FromStr}; - -use circuit_sequencer_api_1_4_2::sort_storage_access::sort_storage_access_queries; -use itertools::Itertools; -use zk_evm_1_4_1::aux_structures::LogQuery as LogQuery_1_4_1; -use zk_evm_1_5_0::{ - aux_structures::{LogQuery, Timestamp}, - tracing::{BeforeExecutionData, VmLocalStateData}, - zkevm_opcode_defs::{FatPointer, Opcode, UMAOpcode}, -}; -use zksync_state::interface::{StoragePtr, WriteStorage}; -use zksync_types::{Address, StorageKey, U256}; - -use crate::{ - interface::tracer::TracerExecutionStatus, - tracers::dynamic::vm_1_5_0::DynTracer, - vm_latest::{ - old_vm::utils::heap_page_from_base, BootloaderState, HistoryMode, SimpleMemory, VmTracer, - ZkSyncVmState, - }, -}; - -pub(crate) struct EvmDebugTracer { - counter: u32, - - _storage: PhantomData, - _history: PhantomData, -} - -impl EvmDebugTracer { - pub fn new() -> Self { - Self { - counter: 0, - _storage: PhantomData, - _history: PhantomData, - } - } -} - -impl DynTracer> for EvmDebugTracer { - fn before_execution( - &mut self, - state: VmLocalStateData<'_>, - data: BeforeExecutionData, - memory: &SimpleMemory, - storage: StoragePtr, - ) { - // FIXME: this catches not only Evm contracts - - let opcode_variant = data.opcode.variant; - let heap_page = - heap_page_from_base(state.vm_local_state.callstack.current.base_memory_page).0; - - let src0_value = data.src0_value.value; - - let fat_ptr = FatPointer::from_u256(src0_value); - - let value = data.src1_value.value; - - const DEBUG_SLOT: u32 = 32 * 32; - - let debug_magic = U256::from_dec_str( - "33509158800074003487174289148292687789659295220513886355337449724907776218753", - ) - .unwrap(); - - // Only `UMA` opcodes in the bootloader serve for vm hooks - if !matches!(opcode_variant.opcode, Opcode::UMA(UMAOpcode::HeapWrite)) - || fat_ptr.offset != DEBUG_SLOT - || value != debug_magic - { - // println!("I tried"); - return; - } - - let how_to_print_value = memory.read_slot(heap_page as usize, 32 + 1).value; - let value_to_print = memory.read_slot(heap_page as usize, 32 + 2).value; - - let print_as_hex_value = - U256::from_str("0x00debdebdebdebdebdebdebdebdebdebdebdebdebdebdebdebdebdebdebdebde") - .unwrap(); - let print_as_string_value = - U256::from_str("0x00debdebdebdebdebdebdebdebdebdebdebdebdebdebdebdebdebdebdebdebdf") - .unwrap(); - - if how_to_print_value == print_as_hex_value { - print!("PRINTED: "); - println!("0x{:02x}", value_to_print); - } - - if how_to_print_value == print_as_string_value { - print!("PRINTED: "); - let mut value = value_to_print.0; - value.reverse(); - for limb in value { - print!( - "{}", - String::from_utf8(limb.to_be_bytes().to_vec()).unwrap() - ); - } - println!(""); - } - - self.counter += 1; - } -} - -impl VmTracer for EvmDebugTracer { - // fn finish_cycle( - // &mut self, - // _state: &mut ZkSyncVmState, - // _bootloader_state: &mut BootloaderState, - // ) -> TracerExecutionStatus { - // let contract = _state.local_state.callstack.current.code_address; - - // } -} diff --git a/core/lib/multivm/src/versions/vm_latest/tracers/mod.rs b/core/lib/multivm/src/versions/vm_latest/tracers/mod.rs index 8f660df7ac1..82721a32264 100755 --- a/core/lib/multivm/src/versions/vm_latest/tracers/mod.rs +++ b/core/lib/multivm/src/versions/vm_latest/tracers/mod.rs @@ -1,6 +1,5 @@ pub(crate) use circuits_tracer::CircuitsTracer; pub(crate) use default_tracers::DefaultExecutionTracer; -pub(crate) use evm_debug_tracer::EvmDebugTracer; pub(crate) use evm_deploy_tracer::EvmDeployTracer; pub(crate) use pubdata_tracer::PubdataTracer; pub(crate) use refunds::RefundsTracer; @@ -8,7 +7,6 @@ pub(crate) use result_tracer::ResultTracer; pub(crate) mod circuits_tracer; pub(crate) mod default_tracers; -pub(crate) mod evm_debug_tracer; pub(crate) mod evm_deploy_tracer; pub(crate) mod pubdata_tracer; pub(crate) mod refunds; diff --git a/core/node/eth_watch/src/client.rs b/core/node/eth_watch/src/client.rs index 51b156d58e9..8be556b4288 100644 --- a/core/node/eth_watch/src/client.rs +++ b/core/node/eth_watch/src/client.rs @@ -70,7 +70,6 @@ impl EthHttpQueryClient { diamond_proxy_addr, governance_address ); - dbg!(&state_transition_manager_contract()); Self { client: client.for_component("watch"), topics: Vec::new(),