validateSignature function

void validateSignature(
  1. RequestedProofs requestedProofs,
  2. String signature,
  3. ApplicationId applicationId
)

Implementation

void validateSignature(RequestedProofs requestedProofs, String signature,
    ApplicationId applicationId) {
  try {
    final messageHash =
        keccak256(utf8.encode(jsonEncode(requestedProofs.toJson())));

    String address =
        EthSigUtil.recoverSignature(signature: signature, message: messageHash);

    if (applicationId.toLowerCase() != address.toLowerCase()) {
      throw InvalidSignatureError();
    }
  } catch (err) {
    rethrow;
  }
}