assertValidSignedClaim function
Implementation
void assertValidSignedClaim(
SignedClaim claim,
List<String> expectedWitnessAddresses,
) {
final witnessAddresses = recoverSignersOfSignedClaim(claim);
final witnessesNotSeen = Set<String>.from(expectedWitnessAddresses);
for (final witness in witnessAddresses) {
if (witnessesNotSeen.contains(witness)) {
witnessesNotSeen.remove(witness);
}
}
if (witnessesNotSeen.isNotEmpty) {
final missingWitnesses = witnessesNotSeen.join(', ');
logger.info(
'Claim validation failed. Missing signatures from: $missingWitnesses');
throw proofNotVerifiedError('Missing signatures from $missingWitnesses');
}
}