From 573975a8a1587f5db5b1844cbe656a75109468ed Mon Sep 17 00:00:00 2001 From: Mario Rugiero Date: Thu, 11 Jan 2024 18:02:00 -0300 Subject: [PATCH] wip --- core/lib/multivm/src/versions/vm_latest/constants.rs | 5 ++--- core/lib/multivm/src/versions/vm_latest/old_vm/utils.rs | 7 ------- .../lib/multivm/src/versions/vm_latest/tracers/refunds.rs | 6 ++---- core/lib/multivm/src/versions/vm_latest/utils/fee.rs | 8 +++++++- .../src/versions/vm_refunds_enhancement/constants.rs | 5 ++--- .../multivm/src/versions/vm_virtual_blocks/constants.rs | 5 ++--- infrastructure/zk/src/init.ts | 1 + 7 files changed, 16 insertions(+), 21 deletions(-) diff --git a/core/lib/multivm/src/versions/vm_latest/constants.rs b/core/lib/multivm/src/versions/vm_latest/constants.rs index ab3887cf3b2..02dfa22876f 100644 --- a/core/lib/multivm/src/versions/vm_latest/constants.rs +++ b/core/lib/multivm/src/versions/vm_latest/constants.rs @@ -86,12 +86,11 @@ const INITIAL_BASE_PAGE: u32 = 8; pub const BOOTLOADER_HEAP_PAGE: u32 = heap_page_from_base(MemoryPage(INITIAL_BASE_PAGE)).0; pub const BLOCK_OVERHEAD_GAS: u32 = 1200000; pub const BLOCK_OVERHEAD_L1_GAS: u32 = 1000000; -pub const L1_GAS_PER_PUBDATA_BYTE: u32 = match core::option_env!("ETH_SENDER_SENDER_VALIDIUM_MODE") -{ +pub const L1_GAS_PER_PUBDATA_BYTE: u32 = match core::option_env!("VALIDIUM_MODE") { Some(_) => 0, _ => zksync_system_constants::L1_GAS_PER_PUBDATA_BYTE, }; -pub const BLOCK_OVERHEAD_PUBDATA: u32 = match core::option_env!("ETH_SENDER_SENDER_VALIDIUM_MODE") { +pub const BLOCK_OVERHEAD_PUBDATA: u32 = match core::option_env!("VALIDIUM_MODE") { Some(_) => 0, _ => BLOCK_OVERHEAD_L1_GAS / L1_GAS_PER_PUBDATA_BYTE, }; diff --git a/core/lib/multivm/src/versions/vm_latest/old_vm/utils.rs b/core/lib/multivm/src/versions/vm_latest/old_vm/utils.rs index 1dbe82a81d4..3e7d3e55c65 100644 --- a/core/lib/multivm/src/versions/vm_latest/old_vm/utils.rs +++ b/core/lib/multivm/src/versions/vm_latest/old_vm/utils.rs @@ -7,7 +7,6 @@ use zk_evm_1_4_0::{ }, }; use zksync_state::WriteStorage; -use zksync_system_constants::L1_GAS_PER_PUBDATA_BYTE; use zksync_types::{Address, U256}; use crate::vm_latest::{ @@ -96,12 +95,6 @@ pub(crate) fn precompile_calls_count_after_timestamp( sorted_timestamps.len() - sorted_timestamps.partition_point(|t| *t < from_timestamp) } -pub(crate) fn eth_price_per_pubdata_byte(l1_gas_price: u64) -> u64 { - // This value will typically be a lot less than u64 - // unless the gas price on L1 goes beyond tens of millions of gwei - l1_gas_price * (L1_GAS_PER_PUBDATA_BYTE as u64) -} - pub(crate) fn vm_may_have_ended_inner( vm: &ZkSyncVmState, ) -> Option { diff --git a/core/lib/multivm/src/versions/vm_latest/tracers/refunds.rs b/core/lib/multivm/src/versions/vm_latest/tracers/refunds.rs index e852fba1dac..4769ea99fd2 100644 --- a/core/lib/multivm/src/versions/vm_latest/tracers/refunds.rs +++ b/core/lib/multivm/src/versions/vm_latest/tracers/refunds.rs @@ -23,10 +23,7 @@ use crate::{ vm_latest::{ bootloader_state::BootloaderState, constants::{BOOTLOADER_HEAP_PAGE, OPERATOR_REFUNDS_OFFSET, TX_GAS_LIMIT_OFFSET}, - old_vm::{ - events::merge_events, history_recorder::HistoryMode, memory::SimpleMemory, - utils::eth_price_per_pubdata_byte, - }, + old_vm::{events::merge_events, history_recorder::HistoryMode, memory::SimpleMemory}, tracers::{ traits::VmTracer, utils::{ @@ -34,6 +31,7 @@ use crate::{ }, }, types::internals::ZkSyncVmState, + utils::fee::eth_price_per_pubdata_byte, }, }; diff --git a/core/lib/multivm/src/versions/vm_latest/utils/fee.rs b/core/lib/multivm/src/versions/vm_latest/utils/fee.rs index 23b744a348f..ce03267cafa 100644 --- a/core/lib/multivm/src/versions/vm_latest/utils/fee.rs +++ b/core/lib/multivm/src/versions/vm_latest/utils/fee.rs @@ -2,7 +2,13 @@ use zksync_system_constants::MAX_GAS_PER_PUBDATA_BYTE; use zksync_utils::ceil_div; -use crate::vm_latest::old_vm::utils::eth_price_per_pubdata_byte; +use crate::vm_latest::constants::L1_GAS_PER_PUBDATA_BYTE; + +pub(crate) fn eth_price_per_pubdata_byte(l1_gas_price: u64) -> u64 { + // This value will typically be a lot less than u64 + // unless the gas price on L1 goes beyond tens of millions of gwei + l1_gas_price * (L1_GAS_PER_PUBDATA_BYTE as u64) +} /// Calculates the amount of gas required to publish one byte of pubdata pub fn base_fee_to_gas_per_pubdata(l1_gas_price: u64, base_fee: u64) -> u64 { diff --git a/core/lib/multivm/src/versions/vm_refunds_enhancement/constants.rs b/core/lib/multivm/src/versions/vm_refunds_enhancement/constants.rs index 892eb214a0d..667422fd4e2 100644 --- a/core/lib/multivm/src/versions/vm_refunds_enhancement/constants.rs +++ b/core/lib/multivm/src/versions/vm_refunds_enhancement/constants.rs @@ -69,12 +69,11 @@ const INITIAL_BASE_PAGE: u32 = 8; pub const BOOTLOADER_HEAP_PAGE: u32 = heap_page_from_base(MemoryPage(INITIAL_BASE_PAGE)).0; pub const BLOCK_OVERHEAD_GAS: u32 = 1200000; pub const BLOCK_OVERHEAD_L1_GAS: u32 = 1000000; -pub const L1_GAS_PER_PUBDATA_BYTE: u32 = match core::option_env!("ETH_SENDER_SENDER_VALIDIUM_MODE") -{ +pub const L1_GAS_PER_PUBDATA_BYTE: u32 = match core::option_env!("VALIDIUM_MODE") { Some(_) => 0, _ => zksync_system_constants::L1_GAS_PER_PUBDATA_BYTE, }; -pub const BLOCK_OVERHEAD_PUBDATA: u32 = match core::option_env!("ETH_SENDER_SENDER_VALIDIUM_MODE") { +pub const BLOCK_OVERHEAD_PUBDATA: u32 = match core::option_env!("VALIDIUM_MODE") { Some(_) => 0, _ => BLOCK_OVERHEAD_L1_GAS / L1_GAS_PER_PUBDATA_BYTE, }; diff --git a/core/lib/multivm/src/versions/vm_virtual_blocks/constants.rs b/core/lib/multivm/src/versions/vm_virtual_blocks/constants.rs index cc7d634d5cc..f821602a305 100644 --- a/core/lib/multivm/src/versions/vm_virtual_blocks/constants.rs +++ b/core/lib/multivm/src/versions/vm_virtual_blocks/constants.rs @@ -69,12 +69,11 @@ const INITIAL_BASE_PAGE: u32 = 8; pub const BOOTLOADER_HEAP_PAGE: u32 = heap_page_from_base(MemoryPage(INITIAL_BASE_PAGE)).0; pub(crate) const BLOCK_OVERHEAD_GAS: u32 = 1200000; pub(crate) const BLOCK_OVERHEAD_L1_GAS: u32 = 1000000; -pub const L1_GAS_PER_PUBDATA_BYTE: u32 = match core::option_env!("ETH_SENDER_SENDER_VALIDIUM_MODE") -{ +pub const L1_GAS_PER_PUBDATA_BYTE: u32 = match core::option_env!("VALIDIUM_MODE") { Some(_) => 0, _ => zksync_system_constants::L1_GAS_PER_PUBDATA_BYTE, }; -pub const BLOCK_OVERHEAD_PUBDATA: u32 = match core::option_env!("ETH_SENDER_SENDER_VALIDIUM_MODE") { +pub const BLOCK_OVERHEAD_PUBDATA: u32 = match core::option_env!("VALIDIUM_MODE") { Some(_) => 0, _ => BLOCK_OVERHEAD_L1_GAS / L1_GAS_PER_PUBDATA_BYTE, }; diff --git a/infrastructure/zk/src/init.ts b/infrastructure/zk/src/init.ts index d744d5dc460..7ceb24003c2 100644 --- a/infrastructure/zk/src/init.ts +++ b/infrastructure/zk/src/init.ts @@ -51,6 +51,7 @@ export async function init(initArgs: InitArgs = DEFAULT_ARGS) { if (validiumMode) { await announced('Setting up validium mode to true'); process.env.ETH_SENDER_SENDER_VALIDIUM_MODE = 'true'; + process.env.VALIDIUM_MODE = 'true'; } else { await announced('Setting up validium mode to false'); process.env.ETH_SENDER_SENDER_VALIDIUM_MODE = 'false';