AMAXPrivateKey.fromRandom constructor

AMAXPrivateKey.fromRandom()

Generate the random AMAX private key

Implementation

factory AMAXPrivateKey.fromRandom() {
//    final int randomLimit = 1 << 32;
  final int randomLimit = 4294967296;
  Random randomGenerator;
  try {
    randomGenerator = Random.secure();
  } catch (e) {
    randomGenerator = Random();
  }

  int randomInt1 = randomGenerator.nextInt(randomLimit);
  Uint8List entropy1 = encodeBigInt(BigInt.from(randomInt1));

  int randomInt2 = randomGenerator.nextInt(randomLimit);
  Uint8List entropy2 = encodeBigInt(BigInt.from(randomInt2));

  int randomInt3 = randomGenerator.nextInt(randomLimit);
  Uint8List entropy3 = encodeBigInt(BigInt.from(randomInt3));

  List<int> entropy = entropy1.toList();
  entropy.addAll(entropy2);
  entropy.addAll(entropy3);
  Uint8List randomKey = Uint8List.fromList(entropy);
  Digest d = sha256.convert(randomKey);
  return AMAXPrivateKey.fromBuffer(Uint8List.fromList(d.bytes));
}