decryptPayload method
Decrypts the data payload returned by Phantom Wallet
- Using
noncewe generated on server side and_dAppSecretKeywe decrypt the encrypted data. - Returns the decrypted
payloadas aMap<dynamic, dynamic>.
Implementation
Map<dynamic, dynamic> decryptPayload({
required String data,
required String nonce,
}) {
if (_sharedSecret == null) {
return <String, String>{};
}
final decryptedData = _sharedSecret?.decrypt(
ByteList(base58decode(data)),
nonce: Uint8List.fromList(base58decode(nonce)),
);
Map payload =
const JsonDecoder().convert(String.fromCharCodes(decryptedData!));
return payload;
}