DOM.entropyWordCount = DOM.entropyContainer.find(".word-count");
DOM.entropyBinary = DOM.entropyContainer.find(".binary");
DOM.entropyWordIndexes = DOM.entropyContainer.find(".word-indexes");
+ DOM.entropyChecksum = DOM.entropyContainer.find(".checksum");
DOM.entropyMnemonicLength = DOM.entropyContainer.find(".mnemonic-length");
DOM.entropyFilterWarning = DOM.entropyContainer.find(".filter-warning");
DOM.phrase = $(".phrase");
DOM.phrase.val(phrase);
// Show the word indexes
showWordIndexes();
+ // Show the checksum
+ showChecksum();
}
function clearEntropyFeedback() {
DOM.entropyWordIndexes.text(wordIndexesStr);
}
+ function showChecksum() {
+ var phrase = DOM.phrase.val();
+ var words = phraseToWordArray(phrase);
+ var checksumBitlength = words.length / 3;
+ var checksum = "";
+ var binaryStr = "";
+ var language = getLanguage();
+ for (var i=words.length-1; i>=0; i--) {
+ var word = words[i];
+ var wordIndex = WORDLISTS[language].indexOf(word);
+ var wordBinary = wordIndex.toString(2);
+ while (wordBinary.length < 11) {
+ wordBinary = "0" + wordBinary;
+ }
+ var binaryStr = wordBinary + binaryStr;
+ if (binaryStr.length >= checksumBitlength) {
+ var start = binaryStr.length - checksumBitlength;
+ var end = binaryStr.length;
+ checksum = binaryStr.substring(start, end);
+ }
+ }
+ DOM.entropyChecksum.text(checksum);
+ }
+
function updateCsv() {
var tableCsv = "path,address,public key,private key\n";
var rows = DOM.addresses.find("tr");