pub(crate) fn initial_memory(l1_batch: &L1BatchEnv) -> Vec<(usize, U256)> {
        let (prev_block_hash, should_set_new_block) = l1_batch
            .previous_batch_hash
            .map(|prev_block_hash| (h256_to_u256(prev_block_hash), U256::one()))
            .unwrap_or_default();

        vec![
            (
                OPERATOR_ADDRESS_SLOT,
                address_to_u256(&l1_batch.fee_account),
            ),
            (PREV_BLOCK_HASH_SLOT, prev_block_hash),
            (NEW_BLOCK_TIMESTAMP_SLOT, U256::from(l1_batch.timestamp)),
            (NEW_BLOCK_NUMBER_SLOT, U256::from(l1_batch.number.0)),
            (
                FAIR_PUBDATA_PRICE_SLOT,
                U256::from(l1_batch.fee_input.fair_pubdata_price()),
            ),
            (
                FAIR_L2_GAS_PRICE_SLOT,
                U256::from(l1_batch.fee_input.fair_l2_gas_price()),
            ),
            (
                EXPECTED_BASE_FEE_SLOT,
                U256::from(get_batch_base_fee(l1_batch)),
            ),
            (SHOULD_SET_NEW_BLOCK_SLOT, should_set_new_block),
        ]
    }
Returns the initial memory for the bootloader based on the current batch environment.
core/lib/multivm/src/versions/vm_latest/bootloader/init.rs