encode method
Future<String>
encode({
- required String topic,
- required Object payload,
- CryptoEncodeOptions? opts,
override
Implementation
@override
Future<String> encode({
required String topic,
required Object payload,
CryptoEncodeOptions? opts,
}) async {
_isInitialized();
final params = utils.validateEncoding(opts);
final message = jsonEncode(payload);
if (utils.isTypeOneEnvelope(params)) {
final selfPublicKey = params.senderPublicKey!;
final peerPublicKey = params.receiverPublicKey!;
topic = await generateSharedKey(
selfPublicKey: selfPublicKey,
peerPublicKey: peerPublicKey,
);
}
final symKey = _getSymKey(topic);
final result = utils.encrypt(
type: params.type,
symKey: symKey,
message: message,
senderPublicKey: params.senderPublicKey,
);
return result;
}