decode method
Implementation
@override
Future<String> decode(
String topic,
String encoded, {
DecodeOptions? options,
}) async {
_checkInitialized();
EncodingValidation params;
if (options == null) {
params = utils!.validateDecoding(
encoded,
);
} else {
params = utils!.validateDecoding(
encoded,
receiverPublicKey: options.receiverPublicKey,
);
}
if (utils!.isTypeOneEnvelope(params)) {
final String selfPublicKey = params.senderPublicKey!;
final String peerPublicKey = params.receiverPublicKey!;
topic = await generateSharedKey(selfPublicKey, peerPublicKey);
}
final String symKey = _getSymKey(topic);
final String message = await utils!.decrypt(symKey, encoded);
return message;
}