create<T extends EventBodyModel> static method
Implementation
static Future<EventModel<T>> create<T extends EventBodyModel>({
required String deviceKey,
required int sequence,
required String? prevHash,
required T body,
}) async {
final draft = EventModel.draft<T>(
deviceKey: deviceKey,
sequence: sequence,
prevHash: prevHash,
body: body,
);
final signature = await Signing.instance.signDeviceMessage(
draft.unsignedMessage,
);
final hash = await Signing.instance.hash(
"${draft.unsignedMessage}|$signature",
);
return EventModel<T>(
nonce: draft.nonce,
deviceKey: draft.deviceKey,
sequence: draft.sequence,
prevHash: draft.prevHash,
timestamp: draft.timestamp,
body: draft.body,
signature: signature,
hash: hash,
);
}