verify method

Future<bool> verify({
  1. String? registerJson,
  2. bool? isDeleted,
})

Verifies that signature was produced by actorDeviceKey over the canonical message for this clock and the supplied register value.

Implementation

Future<bool> verify({String? registerJson, bool? isDeleted}) async {
  if (signature.isEmpty || actorDeviceKey.isEmpty) {
    return false;
  }

  try {
    final valueDigest = await digestFor(
      registerName: registerName,
      registerJson: registerJson,
      isDeleted: isDeleted,
    );
    final message = getMessage(
      canvasId: canvasId,
      objectId: objectId,
      registerName: registerName,
      conversationKey: conversationKey,
      actorDeviceKey: actorDeviceKey,
      hlcTimestamp: hlcTimestamp,
      valueDigest: valueDigest,
    );
    return Signing.instance.verify(
      message: message,
      signature: signature,
      publicKey: actorDeviceKey,
    );
  } catch (_) {
    return false;
  }
}