encrypt method

Future<PrivateKey> encrypt (Uint8List keyphrase, Address addr, Uint8List salt, { ScryptParams params })

Implementation

Future<PrivateKey> encrypt(Uint8List keyphrase, Address addr, Uint8List salt,
    {ScryptParams params}) async {
  var pubkey = await getPublicKey();
  var addrExpect = await addr.toBase58();
  var addrActual = await (await Address.fromPubkey(pubkey)).toBase58();
  if (addrExpect != addrActual)
    throw ArgumentError(
        'Invalid addr, except: $addrExpect  got: $addrActual ');

  var enc = await Scrypt.encryptWithGcm(
      prikey: raw,
      addr58: Convert.strToBytes(addrExpect),
      salt: salt,
      pwd: keyphrase,
      params: params);

  return PrivateKey(enc,
      algorithm: algorithm, parameters: parameters, scrypt: params);
}