signJson method
Adds a signature to this json from this olm account and returns the signed json.
Implementation
Map<String, Object?> signJson(Map<String, Object?> payload) {
if (!enabled) throw ('Encryption is disabled');
final signableJson = SignableJsonMap(payload);
final canonical = canonicalJson.encode(signableJson.jsonMap);
final signature = _olmAccount!.sign(String.fromCharCodes(canonical));
final userSignatures = signableJson.signatures[client.userID!] ??= {};
userSignatures['ed25519:$ourDeviceId'] = signature.toBase64();
return signableJson.toJson();
}