pub async fn insert_l1_batch_da_request_id(
        &mut self,
        number: L1BatchNumber,
        dispatch_request_id: &str,
        sent_at: chrono::NaiveDateTime,
        pubdata_type: PubdataType,
        l2_validator_address: Option<Address>,
    ) -> DalResult<()> {
        let update_result = sqlx::query!(
            r#"
            INSERT INTO
            data_availability (
                l1_batch_number,
                dispatch_request_id,
                client_type,
                l2_da_validator_address,
                sent_at,
                created_at,
                updated_at
            )
            VALUES
            ($1, $2, $3, $4, $5, NOW(), NOW())
            ON CONFLICT DO NOTHING
            "#,
            i64::from(number.0),
            dispatch_request_id,
            pubdata_type.to_string(),
            l2_validator_address.map(|addr| addr.as_bytes().to_vec()),
            sent_at,
        )
        .instrument("insert_l1_batch_da_request_id")
        .with_arg("number", &number)
        .with_arg("dispatch_request_id", &dispatch_request_id)
        .report_latency()
        .execute(self.storage)
        .await?;

        if update_result.rows_affected() == 0 {
            tracing::error!(
                "L1 batch #{number}: batch DA with request_id was attempted to be inserted twice"
            );
        }

        Ok(())
    }
Inserts the dispatch request id and basic fields for the given L1 batch
core/lib/dal/src/data_availability_dal.rs