validateCheckSum method

void validateCheckSum(
  1. List<String> words,
  2. MoneroLanguages language
)

Validates the checksum of a list of Monero mnemonic words.

-words: The list of Monero mnemonic words to validate. -language: The Monero language used in the mnemonic.

Implementation

void validateCheckSum(List<String> words, MoneroLanguages language) {
  MoneroWordsNum.values.firstWhere(
    (element) => element.value == words.length,
    orElse:
        () =>
            throw ArgumentException.invalidOperationArguments(
              "decode",
              name: "mnemonic",
              reason: "Invalid mnemonic length.",
            ),
  );
  final checkSum = MoneroMnemonicUtils.computeChecksum(
    words.sublist(0, words.length - 1),
    language,
  );
  if (words.last != checkSum) {
    throw MnemonicException.invalidChecksum;
  }
}