tryDecode method

Future<Map<String, dynamic>> tryDecode(
  1. PublicKey recipientPublicKey,
  2. Message encodedMessage
)

Implementation

Future<Map<String, dynamic>> tryDecode(
  ct.PublicKey recipientPublicKey, Message encodedMessage) async {
    if (MessageType.ENCRYPTED != encodedMessage.messageType) {
      throw Exception('invalid message format');
    }

    var resultAndMessage = filterExceptions(
      () => decodeAesGcm(deriveSharedKey, keyPair, recipientPublicKey, encodedMessage.message),
      ['Unsupported state or unable to authenticate data']
    );
    if (resultAndMessage[0]){
      return { 'isDecoded': true, 'message': resultAndMessage[1] };
    }
    return { 'isDecoded': false, 'message': encodedMessage };
}