pub async fn for_existing_block(
        connection: &mut Connection<'_, Core>,
        number: L2BlockNumber,
    ) -> anyhow::Result<Self> {
        let l1_batch = connection
            .storage_web3_dal()
            .resolve_l1_batch_number_of_l2_block(number)
            .await
            .with_context(|| format!("failed resolving L1 batch number of L2 block #{number}"))?;
        let l1_batch_timestamp = connection
            .blocks_web3_dal()
            .get_expected_l1_batch_timestamp(&l1_batch)
            .await
            .map_err(DalError::generalize)?
            .context("missing timestamp for non-pending block")?;
        Ok(Self {
            resolved_block_number: number,
            l1_batch_timestamp_s: Some(l1_batch_timestamp),
        })
    }
Fetches information for an existing block. Will error if the block is not present in Postgres.
core/lib/vm_executor/src/oneshot/block.rs