]> git.immae.eu Git - perso/Immae/Projets/Cryptomonnaies/BIP39.git/blobdiff - src/js/index.js
Partially revert Pull 371 BIP44 Default Change
[perso/Immae/Projets/Cryptomonnaies/BIP39.git] / src / js / index.js
index 8caa0ed440cfc3dcc012a15c2615a83cc4094024..0b34ade3b2bf17c432a5d4a71895cd76384da629 100644 (file)
@@ -15,7 +15,6 @@
     var showPrivKey = true;
     var showQr = false;
     var litecoinUseLtub = true;
-    var isDefaultBip44ChangeValue = true;
 
     var entropyChangeTimeoutEvent = null;
     var phraseChangeTimeoutEvent = null;
@@ -45,7 +44,7 @@
     DOM.entropyWeakEntropyOverrideWarning = DOM.entropyContainer.find(".weak-entropy-override-warning");
     DOM.entropyFilterWarning = DOM.entropyContainer.find(".filter-warning");
     DOM.phrase = $(".phrase");
-    DOM.splitPhrase = $(".phraseSplit");
+    DOM.phraseSplit = $(".phraseSplit");
     DOM.phraseSplitWarn = $(".phraseSplitWarn");
     DOM.passphrase = $(".passphrase");
     DOM.generateContainer = $(".generate-container");
@@ -72,7 +71,6 @@
     DOM.bip44accountXprv = $("#bip44 .account-xprv");
     DOM.bip44accountXpub = $("#bip44 .account-xpub");
     DOM.bip44change = $("#bip44 .change");
-    DOM.defaultBip44ChangeValue = $("#bip44 .default-bip44-change-value");
     DOM.bip49unavailable = $("#bip49 .unavailable");
     DOM.bip49available = $("#bip49 .available");
     DOM.bip49path = $("#bip49-path");
         DOM.litecoinUseLtub.on("change", litecoinUseLtubChanged);
         DOM.bip32path.on("input", calcForDerivationPath);
         DOM.bip44account.on("input", calcForDerivationPath);
-        DOM.bip44change.on("input", modifiedDefaultBip44ChangeValue);
         DOM.bip44change.on("input", calcForDerivationPath);
-        DOM.defaultBip44ChangeValue.on("click", resetDefaultBip44ChangeValue);
         DOM.bip49account.on("input", calcForDerivationPath);
         DOM.bip49change.on("input", calcForDerivationPath);
         DOM.bip84account.on("input", calcForDerivationPath);
         calcForDerivationPath();
         // Show the word indexes
         showWordIndexes();
+        writeSplitPhrase(phrase);
     }
 
     function tabChanged() {
             if (DOM.phrase.val().length > 0) {
                 var newPhrase = convertPhraseToNewLanguage();
                 DOM.phrase.val(newPhrase);
-                writeSplitPhrase(newPhrase);
                 phraseChanged();
             }
             else {
         // 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);
             var purpose = parseIntNoNaN(DOM.bip44purpose.val(), 44);
             var coin = parseIntNoNaN(DOM.bip44coin.val(), 0);
             var account = parseIntNoNaN(DOM.bip44account.val(), 0);
-            var change = parseIntNoNaN(DOM.bip44change.val(), "");
-            var path = "m";
-            path += "/" + purpose + "'";
-            path += "/" + coin + "'";
-            path += "/" + account + "'";
-            if (change !== "") {
-              path += "/" + change;
-            }
+            var change = parseIntNoNaN(DOM.bip44change.val(), 0);
+            var path = "m/";
+            path += purpose + "'/";
+            path += coin + "'/";
+            path += account + "'/";
+            path += change;
             DOM.bip44path.val(path);
             var derivationPath = DOM.bip44path.val();
             console.log("Using derivation path from BIP44 tab: " + derivationPath);
             for (var ii=0;ii<wordCount/3;ii++) cards[i][group[i][ii]]='XXXX';
             cards[i]='Card '+(i+1)+': '+wordArrayToPhrase(cards[i]);
         }
-        DOM.splitPhrase.val(cards.join("\r\n"));
+        DOM.phraseSplit.val(cards.join("\r\n"));
         var triesPerSecond=10000000000;
         var hackTime=Math.pow(2,wordCount*10/3)/triesPerSecond;
+        var displayRedText = false;
         if (hackTime<1) {
             hackTime="<1 second";
+            displayRedText = true;
         } else if (hackTime<86400) {
             hackTime=Math.floor(hackTime)+" seconds";
+            displayRedText = true;
         } else if(hackTime<31557600) {
             hackTime=Math.floor(hackTime/86400)+" days";
+            displayRedText = true;
         } else {
             hackTime=Math.floor(hackTime/31557600)+" years";
         }
         DOM.phraseSplitWarn.html("Time to hack with only one card: "+hackTime);
+        if (displayRedText) {
+            DOM.phraseSplitWarn.addClass("text-danger");
+        } else {
+            DOM.phraseSplitWarn.removeClass("text-danger");
+        }
     }
 
     function isUsingOwnEntropy() {
         return DOM.bip141tab.hasClass("active");
     }
 
-    function setBip44ChangeValue() {
-        if (isDefaultBip44ChangeValue) {
-            if (networkIsEthereum()) {
-                DOM.bip44change.val("");
-            } else {
-                DOM.bip44change.val(0);
-            }
-        }
-    }
-
-    function modifiedDefaultBip44ChangeValue() {
-        isDefaultBip44ChangeValue = false;
-    }
-
-    function resetDefaultBip44ChangeValue() {
-        isDefaultBip44ChangeValue = true;
-        setBip44ChangeValue();
-    }
-
     function setHdCoin(coinValue) {
         DOM.bip44coin.val(coinValue);
         DOM.bip49coin.val(coinValue);
         DOM.bip84coin.val(coinValue);
-        setBip44ChangeValue();
     }
 
     function showSegwitAvailable() {