entropyToMnemonic function

List<String> entropyToMnemonic(
  1. Uint8List entropy
)

Implementation

List<String> entropyToMnemonic(Uint8List entropy) {
  if (entropy.length < 16) {
    throw ArgumentError(_invalidEntropy);
  }
  if (entropy.length > 32) {
    throw ArgumentError(_invalidEntropy);
  }
  if (entropy.length % 4 != 0) {
    throw ArgumentError(_invalidEntropy);
  }
  final entropyBits = _bytesToBinary(entropy);
  final checksumBits = _deriveChecksumBits(entropy);
  final bits = entropyBits + checksumBits;
  final regex = RegExp(r'.{1,11}', caseSensitive: false, multiLine: false);
  final chunks = regex
      .allMatches(bits)
      .map((match) => match.group(0)!)
      .toList(growable: false);

  final wordlist = english;

  final words = chunks
      .map((binary) => wordlist[_binaryToByte(binary)])
      .toList(growable: false);

  return words;
}