From bf6699416e9dc88995f55a985e153586612f0dbd Mon Sep 17 00:00:00 2001 From: Juan Munoz Date: Tue, 20 Aug 2024 15:06:43 -0300 Subject: [PATCH 1/2] initial commit --- .../versions/era_vm/bootloader_state/state.rs | 5 ----- .../era_vm/tests/get_used_contracts.rs | 1 - .../tests/tester/transaction_test_info.rs | 10 +++++----- .../src/versions/era_vm/tests/utils.rs | 4 ---- core/lib/multivm/src/versions/era_vm/vm.rs | 19 +++++-------------- 5 files changed, 10 insertions(+), 29 deletions(-) diff --git a/core/lib/multivm/src/versions/era_vm/bootloader_state/state.rs b/core/lib/multivm/src/versions/era_vm/bootloader_state/state.rs index a97bccd661bd..ccdd81f57c82 100644 --- a/core/lib/multivm/src/versions/era_vm/bootloader_state/state.rs +++ b/core/lib/multivm/src/versions/era_vm/bootloader_state/state.rs @@ -133,11 +133,6 @@ impl BootloaderState { pub(crate) fn last_l2_block(&self) -> &BootloaderL2Block { self.l2_blocks.last().unwrap() } - pub(crate) fn get_pubdata_information(&self) -> &PubdataInput { - self.pubdata_information - .get() - .expect("Pubdata information is not set") - } fn last_mut_l2_block(&mut self) -> &mut BootloaderL2Block { self.l2_blocks.last_mut().unwrap() diff --git a/core/lib/multivm/src/versions/era_vm/tests/get_used_contracts.rs b/core/lib/multivm/src/versions/era_vm/tests/get_used_contracts.rs index 8ec01ae8d0ae..494336be1a1f 100644 --- a/core/lib/multivm/src/versions/era_vm/tests/get_used_contracts.rs +++ b/core/lib/multivm/src/versions/era_vm/tests/get_used_contracts.rs @@ -1,6 +1,5 @@ use std::collections::HashSet; -use itertools::Itertools; use zksync_state::ReadStorage; use zksync_system_constants::CONTRACT_DEPLOYER_ADDRESS; use zksync_test_account::Account; diff --git a/core/lib/multivm/src/versions/era_vm/tests/tester/transaction_test_info.rs b/core/lib/multivm/src/versions/era_vm/tests/tester/transaction_test_info.rs index 96af0d214df0..d6b000bd9b9f 100644 --- a/core/lib/multivm/src/versions/era_vm/tests/tester/transaction_test_info.rs +++ b/core/lib/multivm/src/versions/era_vm/tests/tester/transaction_test_info.rs @@ -5,7 +5,7 @@ use era_vm::{ store::StorageKey, }; use zksync_state::ReadStorage; -use zksync_types::{ExecuteTransactionCommon, Transaction, H160, U256}; +use zksync_types::{ExecuteTransactionCommon, Transaction, U256}; use super::VmTester; use crate::{ @@ -213,11 +213,11 @@ impl Vm { state: VmStateDump { storage_changes: self.inner.state.storage_changes().clone(), transient_storage: self.inner.state.transient_storage().clone(), - l2_to_l1_logs: self.inner.state.l2_to_l1_logs().clone(), - events: self.inner.state.events().clone(), + l2_to_l1_logs: self.inner.state.l2_to_l1_logs().to_vec(), + events: self.inner.state.events().to_vec(), pubdata: self.inner.state.pubdata().clone(), - pubdata_costs: self.inner.state.pubdata_costs().clone(), - refunds: self.inner.state.refunds().clone(), + pubdata_costs: self.inner.state.pubdata_costs().to_vec(), + refunds: self.inner.state.refunds().to_vec(), decommitted_hashes: self.inner.state.decommitted_hashes().clone(), }, } diff --git a/core/lib/multivm/src/versions/era_vm/tests/utils.rs b/core/lib/multivm/src/versions/era_vm/tests/utils.rs index 64d6f1104c54..8475b832b183 100644 --- a/core/lib/multivm/src/versions/era_vm/tests/utils.rs +++ b/core/lib/multivm/src/versions/era_vm/tests/utils.rs @@ -19,10 +19,6 @@ use crate::vm_latest::CurrentExecutionState; pub(crate) static BASE_SYSTEM_CONTRACTS: Lazy = Lazy::new(BaseSystemContracts::load_from_disk); -pub fn lambda_storage_key_to_zk(key: StorageKey) -> ZKStorageKey { - ZKStorageKey::new(AccountTreeId::new(key.address), u256_to_h256(key.key)) -} - pub fn zk_storage_key_to_lambda(key: &ZKStorageKey) -> StorageKey { StorageKey { address: key.address().clone(), diff --git a/core/lib/multivm/src/versions/era_vm/vm.rs b/core/lib/multivm/src/versions/era_vm/vm.rs index 1ebd1a2e0baf..666ae6654136 100644 --- a/core/lib/multivm/src/versions/era_vm/vm.rs +++ b/core/lib/multivm/src/versions/era_vm/vm.rs @@ -352,15 +352,6 @@ impl Vm { } } - fn get_vm_hook_params(&self, heap: &era_vm::execution::Heap) -> Vec { - (get_vm_hook_start_position_latest()..get_vm_hook_start_position_latest() + 2) - .map(|word| { - let res = heap.read((word * 32) as u32); - res - }) - .collect() - } - pub(crate) fn insert_bytecodes<'a>(&mut self, bytecodes: impl IntoIterator) { for code in bytecodes { let mut program_code = vec![]; @@ -634,16 +625,16 @@ impl VmInterface for Vm { .map(|log| log.into_system_log()) .collect(), user_l2_to_l1_logs, - storage_refunds: state.refunds().clone(), - pubdata_costs: state.pubdata_costs().clone(), + storage_refunds: state.refunds().to_vec(), + pubdata_costs: state.pubdata_costs().to_vec(), } } fn inspect_transaction_with_bytecode_compression( &mut self, - tracer: Self::TracerDispatcher, - tx: zksync_types::Transaction, - with_compression: bool, + _tracer: Self::TracerDispatcher, + _tx: zksync_types::Transaction, + _with_compression: bool, ) -> ( Result<(), crate::interface::BytecodeCompressionError>, VmExecutionResultAndLogs, From 591f7db822f892d6323fe930290608db757af661 Mon Sep 17 00:00:00 2001 From: Gianbelinche <39842759+gianbelinche@users.noreply.github.com> Date: Tue, 3 Sep 2024 13:08:43 -0300 Subject: [PATCH 2/2] Finish merge --- .../multivm/src/versions/era_vm/bootloader_state/state.rs | 6 ++++++ core/lib/multivm/src/versions/era_vm/vm.rs | 6 +++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/core/lib/multivm/src/versions/era_vm/bootloader_state/state.rs b/core/lib/multivm/src/versions/era_vm/bootloader_state/state.rs index ccdd81f57c82..04868422bf61 100644 --- a/core/lib/multivm/src/versions/era_vm/bootloader_state/state.rs +++ b/core/lib/multivm/src/versions/era_vm/bootloader_state/state.rs @@ -130,6 +130,12 @@ impl BootloaderState { memory } + pub(crate) fn get_pubdata_information(&self) -> &PubdataInput { + self.pubdata_information + .get() + .expect("Pubdata information is not set") + } + pub(crate) fn last_l2_block(&self) -> &BootloaderL2Block { self.l2_blocks.last().unwrap() } diff --git a/core/lib/multivm/src/versions/era_vm/vm.rs b/core/lib/multivm/src/versions/era_vm/vm.rs index f2ade22531f4..af4dee3053a1 100644 --- a/core/lib/multivm/src/versions/era_vm/vm.rs +++ b/core/lib/multivm/src/versions/era_vm/vm.rs @@ -567,9 +567,9 @@ impl VmInterface for Vm { fn inspect_transaction_with_bytecode_compression( &mut self, - _tracer: Self::TracerDispatcher, - _tx: zksync_types::Transaction, - _with_compression: bool, + tracer: Self::TracerDispatcher, + tx: zksync_types::Transaction, + with_compression: bool, ) -> ( Result<(), crate::interface::BytecodeCompressionError>, VmExecutionResultAndLogs,