create static method

Future<DeviceRevokeEventBodyModel> create({
  1. required String mnemonic,
  2. required String revokedDeviceKey,
})

Implementation

static Future<DeviceRevokeEventBodyModel> create({
  required String mnemonic,
  required String revokedDeviceKey,
}) async {
  final timestamp = DateTime.now();
  final latestEvent = await Database.instance.events
      .latestDeviceEvent(revokedDeviceKey)
      .get();
  final lastEventHash = latestEvent?.hash;
  final lastEventSequence = latestEvent?.sequence;

  final peerKey = await _signing.getPeerPublicKey(mnemonic);
  final signature = await _signing.signPeerMessage(
    mnemonic,
    '$revokedDeviceKey|${timestamp.millisecondsSinceEpoch}|$lastEventHash|$lastEventSequence',
  );

  return DeviceRevokeEventBodyModel(
    peerKey: peerKey,
    peerSignature: signature,
    revokedDeviceKey: revokedDeviceKey,
    timestamp: timestamp,
    lastValidEventHash: lastEventHash,
    lastValidSequence: lastEventSequence,
  );
}