encode method

  1. @override
Mnemonic encode(
  1. List<int> entropyBytes
)
override

Encodes entropy bytes into an Electrum V1 mnemonic.

-entropyBytes: The entropy bytes to encode.

Implementation

@override
Mnemonic encode(List<int> entropyBytes) {
  // Check entropy length
  final int entropyByteLen = entropyBytes.length;
  if (!ElectrumV1EntropyGenerator.isValidEntropyByteLength(entropyByteLen)) {
    throw ArgumentException.invalidOperationArguments(
      "encode",
      name: "entropyBytes",
      reason: "Invalid entropy bytes length.",
    );
  }

  // Build mnemonic
  final List<String> mnemonic = [];
  for (int i = 0; i < entropyBytes.length ~/ 4; i++) {
    mnemonic.addAll(
      MnemonicUtils.bytesChunkToWords(
        entropyBytes.sublist(i * 4, (i * 4) + 4),
        wordsList,
        endian: Endian.big,
      ),
    );
  }

  return ElectrumV1Mnemonic.fromList(mnemonic);
}