validateSignedCacao method
Implementation
@override
Future<bool> validateSignedCacao({
required Cacao cacao,
required String projectId,
}) async {
final CacaoSignature signature = cacao.s;
final CacaoPayload payload = cacao.p;
try {
final reconstructed = formatAuthMessage(
iss: payload.iss,
cacaoPayload: CacaoRequestPayload.fromCacaoPayload(payload),
);
final walletAddress = AddressUtils.getDidAddressAddress(payload.iss)!;
final chainId = AddressUtils.getDidAddressChainId(payload.iss)!;
final isValid = await AuthSignature.verifySignature(
walletAddress.toEIP55(),
reconstructed,
signature,
chainId,
projectId,
);
return isValid;
} catch (e) {
return false;
}
}