X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=src%2Fjs%2Findex.js;h=80c7fa87d7c1efbc92757a8f60c42fc657e4c03c;hb=3abab9b0874904f610cfeb7d136e97ca0ebac1e1;hp=012980876f5733f6898a0566203e37157a131ccf;hpb=6c08f364b30e711feac698546041388325a11834;p=perso%2FImmae%2FProjets%2FCryptomonnaies%2FBIP39.git diff --git a/src/js/index.js b/src/js/index.js index 0129808..80c7fa8 100644 --- a/src/js/index.js +++ b/src/js/index.js @@ -14,6 +14,7 @@ var showPubKey = true; var showPrivKey = true; var showQr = false; + var litecoinUseLtub = false; var entropyChangeTimeoutEvent = null; var phraseChangeTimeoutEvent = null; @@ -43,6 +44,8 @@ DOM.generate = $(".generate"); DOM.seed = $(".seed"); DOM.rootKey = $(".root-key"); + DOM.litecoinLtubContainer = $(".litecoin-ltub-container"); + DOM.litecoinUseLtub = $(".litecoin-use-ltub"); DOM.extendedPrivKey = $(".extended-priv-key"); DOM.extendedPubKey = $(".extended-pub-key"); DOM.bip32tab = $("#bip32-tab"); @@ -98,6 +101,7 @@ DOM.generate.on("click", generateClicked); DOM.more.on("click", showMore); DOM.rootKey.on("input", delayedRootKeyChanged); + DOM.litecoinUseLtub.on("change", litecoinUseLtubChanged); DOM.bip32path.on("input", calcForDerivationPath); DOM.bip44account.on("input", calcForDerivationPath); DOM.bip44change.on("input", calcForDerivationPath); @@ -123,6 +127,7 @@ function networkChanged(e) { clearDerivedKeys(); clearAddressesList(); + DOM.litecoinLtubContainer.addClass("hidden"); var networkIndex = e.target.value; var network = networks[networkIndex]; network.onSelect(); @@ -175,6 +180,10 @@ function delayedPhraseChanged() { hideValidationError(); + seed = null; + bip32RootKey = null; + bip32ExtendedKey = null; + clearAddressesList(); showPending(); if (phraseChangeTimeoutEvent != null) { clearTimeout(phraseChangeTimeoutEvent); @@ -184,7 +193,6 @@ function phraseChanged() { showPending(); - hideValidationError(); setMnemonicLanguage(); // Get the mnemonic phrase var phrase = DOM.phrase.val(); @@ -197,7 +205,6 @@ var passphrase = DOM.passphrase.val(); calcBip32RootKeyFromSeed(phrase, passphrase); calcForDerivationPath(); - hidePending(); } function delayedEntropyChanged() { @@ -272,11 +279,21 @@ calcForDerivationPath(); } + function litecoinUseLtubChanged() { + litecoinUseLtub = DOM.litecoinUseLtub.prop("checked"); + if (litecoinUseLtub) { + network = bitcoinjs.bitcoin.networks.litecoinLtub; + } + else { + network = bitcoinjs.bitcoin.networks.litecoin; + } + phraseChanged(); + } + function calcForDerivationPath() { - showPending(); clearDerivedKeys(); clearAddressesList(); - hideValidationError(); + showPending(); // Don't show bip49 if it's selected but network doesn't support it if (bip49TabSelected() && !networkHasBip49()) { return; @@ -296,7 +313,6 @@ displayBip49Info(); } displayBip32Info(); - hidePending(); } function generateClicked() { @@ -532,7 +548,9 @@ return "No root key"; } // Check no hardened derivation path when using xpub keys - var hardened = path.indexOf("'") > -1; + var hardenedPath = path.indexOf("'") > -1; + var hardenedAddresses = bip32TabSelected() && DOM.hardenedAddresses.prop("checked"); + var hardened = hardenedPath || hardenedAddresses; var isXpubkey = bip32RootKey.isNeutered(); if (hardened && isXpubkey) { return "Hardened derivation path is invalid with xpub key"; @@ -603,17 +621,19 @@ for (var i=0; i"); option.attr("value", i); option.text(network.name); + if (network.name == "BTC - Bitcoin") { + option.prop("selected", true); + } DOM.phraseNetwork.append(option); } } @@ -1163,6 +1189,14 @@ } var networks = [ + { + name: "BCH - Bitcoin Cash", + bip49available: false, + onSelect: function() { + network = bitcoinjs.bitcoin.networks.bitcoin; + setHdCoin(145); + }, + }, { name: "BTC - Bitcoin", bip49available: true, @@ -1249,8 +1283,18 @@ onSelect: function() { network = bitcoinjs.bitcoin.networks.litecoin; setHdCoin(2); + DOM.litecoinLtubContainer.removeClass("hidden"); }, }, + { + name: "MAZA - Maza", + bip49available: false, + onSelect: function() { + network = bitcoinjs.bitcoin.networks.maza; + setHdCoin(13); + }, + }, + { name: "NMC - Namecoin", bip49available: false, @@ -1259,6 +1303,22 @@ setHdCoin(7); }, }, + { + name: "PIVX - PIVX", + bip49available: false, + onSelect: function() { + network = bitcoinjs.bitcoin.networks.pivx; + setHdCoin(119); + }, + }, + { + name: "PIVX - PIVX Testnet", + bip49available: false, + onSelect: function() { + network = bitcoinjs.bitcoin.networks.pivxtestnet; + setHdCoin(1); + }, + }, { name: "PPC - Peercoin", bip49available: false, @@ -1315,6 +1375,14 @@ setHdCoin(1); }, }, + { + name: "XMY - Myriadcoin", + bip49available: false, + onSelect: function() { + network = bitcoinjs.bitcoin.networks.myriadcoin; + setHdCoin(90); + }, + }, { name: "XRP - Ripple", bip49available: false,