pub async fn get_latest_l1_batch_header(&mut self) -> DalResult<Option<CommonL1BatchHeader>> {
        let Some(header) = sqlx::query_as!(
            CommonStorageL1BatchHeader,
            r#"
            SELECT
                number,
                is_sealed,
                timestamp,
                protocol_version,
                fee_address,
                l1_gas_price,
                l2_fair_gas_price,
                fair_pubdata_price
            FROM
                l1_batches
            ORDER BY
                number DESC
            LIMIT
                1
            "#,
        )
        .instrument("get_latest_l1_batch_header")
        .fetch_optional(self.storage)
        .await?
        else {
            return Ok(None);
        };

        Ok(Some(header.into()))
    }
Returns latest L1 batch's header (could be unsealed). The header contains fields that are
common for both unsealed and sealed batches. Returns `None` if there are no L1 batches.
core/lib/dal/src/blocks_dal.rs