pub async fn save_verification_info(
        &mut self,
        verification_info: VerificationInfo,
        bytecode_keccak256: H256,
        bytecode_without_metadata_keccak256: H256,
    ) -> DalResult<()> {
        let mut transaction = self.storage.start_transaction().await?;
        let id = verification_info.request.id;
        let address = verification_info.request.req.contract_address;

        sqlx::query!(
            r#"
            UPDATE contract_verification_requests
            SET
                status = 'successful',
                updated_at = NOW()
            WHERE
                id = $1
            "#,
            verification_info.request.id as i64,
        )
        .instrument("save_verification_info#set_status")
        .with_arg("id", &id)
        .with_arg("address", &address)
        .execute(&mut transaction)
        .await?;

        // Serialization should always succeed.
        let verification_info_json = serde_json::to_value(verification_info)
            .expect("Failed to serialize verification info into serde_json");
        sqlx::query!(
            r#"
            INSERT INTO
            contract_verification_info_v2 (
                initial_contract_addr,
                bytecode_keccak256,
                bytecode_without_metadata_keccak256,
                verification_info
            )
            VALUES
            ($1, $2, $3, $4)
            ON CONFLICT (initial_contract_addr) DO
            UPDATE
            SET
            bytecode_keccak256 = $2,
            bytecode_without_metadata_keccak256 = $3,
            verification_info = $4
            "#,
            address.as_bytes(),
            bytecode_keccak256.as_bytes(),
            bytecode_without_metadata_keccak256.as_bytes(),
            &verification_info_json
        )
        .instrument("save_verification_info#insert")
        .with_arg("id", &id)
        .with_arg("address", &address)
        .execute(&mut transaction)
        .await?;

        transaction.commit().await
    }
Updates the verification request status and inserts the verification info upon successful verification.
core/lib/dal/src/contract_verification_dal.rs