From: iancoleman <1281387+iancoleman@users.noreply.github.com> Date: Sun, 10 Nov 2019 22:36:14 +0000 (+1100) Subject: Merge pull request #357 from PavlosTze/enable-segwit X-Git-Url: https://git.immae.eu/?a=commitdiff_plain;h=de5fe245ccc5b333efcf772d19d8965ffeb47272;hp=3e2af09e07b97ed333ff74aa462cf6bbc92fd1fa;p=perso%2FImmae%2FProjets%2FCryptomonnaies%2FBIP39.git Merge pull request #357 from PavlosTze/enable-segwit Enable segwit for MONKEY, BCA, BTX, MONA, SYS, VIA, DOGEt, LTCt --- diff --git a/src/css/app.css b/src/css/app.css index 576b7d7..c2a0294 100644 --- a/src/css/app.css +++ b/src/css/app.css @@ -31,6 +31,10 @@ body { .phrase { word-break: keep-all; } +.phraseSplitWarn { + text-align: right; + color: red; +} .generate-container .strength { /* override mobile width from bootstrap */ width: auto!important; diff --git a/src/index.html b/src/index.html index 95fccc1..bfb2bc1 100644 --- a/src/index.html +++ b/src/index.html @@ -172,6 +172,13 @@ +
+ +
+ +
+
+
diff --git a/src/js/index.js b/src/js/index.js index f3302a6..dc10d59 100644 --- a/src/js/index.js +++ b/src/js/index.js @@ -44,6 +44,8 @@ DOM.entropyWeakEntropyOverrideWarning = DOM.entropyContainer.find(".weak-entropy-override-warning"); DOM.entropyFilterWarning = DOM.entropyContainer.find(".filter-warning"); DOM.phrase = $(".phrase"); + DOM.splitPhrase = $(".phraseSplit"); + DOM.phraseSplitWarn = $(".phraseSplitWarn"); DOM.passphrase = $(".passphrase"); DOM.generateContainer = $(".generate-container"); DOM.generate = $(".generate"); @@ -232,7 +234,14 @@ if (phraseChangeTimeoutEvent != null) { clearTimeout(phraseChangeTimeoutEvent); } - phraseChangeTimeoutEvent = setTimeout(phraseChanged, 400); + phraseChangeTimeoutEvent = setTimeout(function() { + phraseChanged(); + var entropy = mnemonic.toRawEntropyHex(DOM.phrase.val()); + if (entropy !== null) { + DOM.entropyMnemonicLength.val("raw"); + DOM.entropy.val(entropy); + } + }, 400); } function phraseChanged() { @@ -297,6 +306,7 @@ clearDisplay(); clearEntropyFeedback(); DOM.phrase.val(""); + DOM.phraseSplit.val(""); showValidationError("Blank entropy"); return; } @@ -331,6 +341,7 @@ showPending(); // Clear existing mnemonic and passphrase DOM.phrase.val(""); + DOM.phraseSplit.val(""); DOM.passphrase.val(""); seed = null; if (rootKeyChangedTimeoutEvent != null) { @@ -417,6 +428,7 @@ if (DOM.phrase.val().length > 0) { var newPhrase = convertPhraseToNewLanguage(); DOM.phrase.val(newPhrase); + writeSplitPhrase(newPhrase); phraseChanged(); } else { @@ -477,6 +489,7 @@ // show the words var words = mnemonic.toMnemonic(data); DOM.phrase.val(words); + writeSplitPhrase(words); // show the entropy var entropyHex = uint8ArrayToHex(data); DOM.entropy.val(entropyHex); @@ -1010,6 +1023,7 @@ // Ethereum values are different if ((networks[DOM.network.val()].name == "ETH - Ethereum") || (networks[DOM.network.val()].name == "ETC - Ethereum Classic") + || (networks[DOM.network.val()].name == "EWT - EnergyWeb") || (networks[DOM.network.val()].name == "PIRL - Pirl") || (networks[DOM.network.val()].name == "MIX - MIX") || (networks[DOM.network.val()].name == "MUSIC - Musicoin") @@ -1415,6 +1429,40 @@ } return phrase; } + + function writeSplitPhrase(phrase) { + var wordCount = phrase.split(/\s/g).length; //get number of words in phrase + var left=[]; //initialize array of indexs + for (var i=0;i0) { //while indexs left + groupI=(groupI+1)%3; //get next group to insert index into + seed = seed * 16807 % 2147483647; //change random value.(simple predicatable random number generator works well for this use) + var selected=Math.floor(left.length*(seed - 1) / 2147483646); //get index in left we will use for this group + group[groupI].push(left[selected]); //add index to group + left.splice(selected,1); //remove selected index + } + var cards=[phrase.split(/\s/g),phrase.split(/\s/g),phrase.split(/\s/g)];//make array of cards + for (var i=0;i<3;i++) { //go through each card + for (var ii=0;ii 0) { - return false - } - // idx = map(lambda x: bin(self.wordlist.index(x))[2:].zfill(11), mnemonic) - var idx = []; - for (var i=0; i 0) { + return null; + } + // idx = map(lambda x: bin(self.wordlist.index(x))[2:].zfill(11), mnemonic) + var idx = []; + for (var i=0; i