<div class="filtered col-sm-9 form-control-static"></div>
<label class="col-sm-3 control-label">Raw Binary</label>
<div class="binary col-sm-9 form-control-static"></div>
+ <label class="col-sm-3 control-label">Binary Checksum</label>
+ <div class="checksum col-sm-9 form-control-static"> </div>
<label class="col-sm-3 control-label">Word Indexes</label>
<div class="word-indexes col-sm-9 form-control-static"> </div>
<label class="col-sm-3 control-label">Mnemonic Length</label>
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");
});
}, bip38delay + 5000);
+it('Shows the checksum for the entropy', function(done) {
+ driver.findElement(By.css('.use-entropy'))
+ .click();
+ driver.findElement(By.css('.entropy'))
+ .sendKeys("00000000000000000000000000000000");
+ driver.sleep(generateDelay).then(function() {
+ driver.findElement(By.css('.checksum'))
+ .getText()
+ .then(function(text) {
+ expect(text).toBe("1");
+ done();
+ });
+ });
+});
+
});