verifyPersonalMessageSignature function

PublicKey verifyPersonalMessageSignature(
  1. Uint8List message,
  2. String signature, {
  3. String? address,
})

Like verifySignature, for a personal message.

Implementation

PublicKey verifyPersonalMessageSignature(
  Uint8List message,
  String signature, {
  String? address,
}) {
  final publicKey = _publicKeyFromSignature(signature);
  if (!isValidPersonalMessageSignature(message, signature)) {
    throw ArgumentError('Signature is not valid for the provided message');
  }
  if (address != null && !publicKey.verifyAddress(address)) {
    throw ArgumentError('Signature is not valid for the provided address');
  }
  return publicKey;
}