Skip to main content

xmtp_id/associations/
verify_updates.rs

1use super::{IdentityUpdate, SignatureError, unverified::UnverifiedIdentityUpdate};
2use crate::scw_verifier::SmartContractSignatureVerifier;
3use futures::future::try_join_all;
4
5/// Convert a list of unverified updates to verified updates using the given smart contract verifier
6pub async fn verify_updates(
7    updates: Vec<UnverifiedIdentityUpdate>,
8    scw_verifier: impl SmartContractSignatureVerifier,
9) -> Result<Vec<IdentityUpdate>, SignatureError> {
10    try_join_all(
11        updates
12            .iter()
13            .map(|update| update.to_verified(&scw_verifier)),
14    )
15    .await
16}