pub fn schedule_values_update(&self, to_l2_block: L2BlockNumber) {
        let Some(values) = &self.values else {
            return;
        };

        values.command_sender.send_if_modified(|command| {
            if command.0 < to_l2_block {
                let now = Instant::now();
                let command_interval = now
                    .checked_duration_since(command.1)
                    .unwrap_or(Duration::ZERO);
                CACHE_METRICS
                    .values_command_interval
                    .observe(command_interval);
                tracing::debug!(
                    ?command_interval,
                    "Queued update command from L2 block {} to {to_l2_block}",
                    command.0
                );
                *command = (to_l2_block, now);
                true
            } else {
                // Filter out no-op updates right away in order to not wake up the update task unnecessarily.
                // Since the task updating the values cache (`PostgresStorageCachesTask`) is cancel-aware,
                // it can stop before some of `schedule_values_update()` calls; in this case, it's OK
                // to ignore the updates.
                false
            }
        });
    }
Schedules an update of the VM storage values cache to the specified L2 block. If the values cache is not configured,
this is a no-op.

# Panics

- Panics if the cache update task returned from `configure_storage_values_cache()` has panicked.
core/lib/state/src/postgres/mod.rs