isValidSignature function

bool isValidSignature(
  1. Uint8List bytes,
  2. String signature, {
  3. String? address,
})

Whether signature is valid over bytes (and matches address if given). Returns false instead of throwing on malformed/invalid signatures.

Implementation

bool isValidSignature(Uint8List bytes, String signature, {String? address}) {
  try {
    final publicKey = _publicKeyFromSignature(signature);
    if (!publicKey.verify(bytes, base64Decode(signature))) return false;
    return address == null ? true : publicKey.verifyAddress(address);
  } catch (_) {
    return false;
  }
}