verifyPrsonalMessage method

  1. @override
bool verifyPrsonalMessage({
  1. required List<int> message,
  2. required List<int> signature,
})
override

verify personal message. the signature must be a valid sui signature.

Implementation

@override
bool verifyPrsonalMessage(
    {required List<int> message, required List<int> signature}) {
  try {
    final ed25519Signature = SuiBaseSignature.deserialize(signature)
        .cast<SuiEd25519Signature>(error: "Invalid signature scheme");
    final digest = SuiCryptoUtils.generatePersonalMessageDigest(message);
    return publicKey.verify(
        message: digest, signature: ed25519Signature.signature.signature);
  } on DartSuiPluginException {
    rethrow;
  } catch (_) {
    throw DartSuiPluginException(
        "Invalid signature. Deserialize signature failed.");
  }
}