metadataGenerateKey function

BigInt metadataGenerateKey(
  1. Uint8List seed
)

Implementation

BigInt metadataGenerateKey(Uint8List seed) {
  final hasher = SHA3Digest(256);
  hasher.update(seed, 0, seed.length);
  var hashResult = Uint8List(32);
  hasher.doFinal(hashResult, 0);

  var keyBytes = hashResult.sublist(0, 8);
  keyBytes[7] |= 0x80;

  var keyBigInt = BigInt.from(0);
  for (var i = 0; i < keyBytes.length; i++) {
    keyBigInt |= BigInt.from(keyBytes[i]) << (8 * i);
  }

  return keyBigInt;
}