X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=src%2Fjs%2Findex.js;h=866ad2460c3378d203749024368c8346f8193af4;hb=d5dc92fd1e61369d0c2f2d1240f68223cc6421b6;hp=c610d29d436cb38e98293357c573a674901c19ed;hpb=64ed10ff75b1be2d2dc47e0aea44b42e7e304af2;p=perso%2FImmae%2FProjets%2FCryptomonnaies%2FBIP39.git diff --git a/src/js/index.js b/src/js/index.js index c610d29..866ad24 100644 --- a/src/js/index.js +++ b/src/js/index.js @@ -3,7 +3,7 @@ var mnemonic = new Mnemonic("english"); var bip32RootKey = null; var bip32ExtendedKey = null; - var network = Bitcoin.networks.bitcoin; + var network = bitcoin.networks.bitcoin; var addressRowTemplate = $("#address-row-template"); var showIndex = true; @@ -15,8 +15,6 @@ var DOM = {}; DOM.network = $(".network"); DOM.phraseNetwork = $("#network-phrase"); - DOM.bip44Network = $("#network-bip44"); - DOM.addressNetwork = $("#network-address-type"); DOM.phrase = $(".phrase"); DOM.passphrase = $(".passphrase"); DOM.generate = $(".generate"); @@ -43,7 +41,7 @@ DOM.addressToggle = $(".address-toggle"); DOM.privateKeyToggle = $(".private-key-toggle"); - var derivationPath = DOM.bip44path.val(); + var derivationPath = $(".tab-pane.active .path").val(); function init() { // Events @@ -64,39 +62,15 @@ disableForms(); hidePending(); hideValidationError(); + populateNetworkSelect(); } // Event handlers function networkChanged(e) { - var n = e.target.value; - if (n == "bitcoin") { - network = Bitcoin.networks.bitcoin; - DOM.bip44coin.val(0); - setBip44DerivationPath(); - enableBip44Tab(); - } - else if (n == "bitcoin-testnet") { - network = Bitcoin.networks.testnet; - DOM.bip44coin.val(1); - setBip44DerivationPath(); - enableBip44Tab(); - } - else if (n == "litecoin") { - network = Bitcoin.networks.litecoin; - DOM.bip44coin.val(2); - setBip44DerivationPath(); - enableBip44Tab(); - } - else if (n == "dogecoin") { - network = Bitcoin.networks.dogecoin; - //disableBip44Tab(); - } - DOM.phraseNetwork.val(n); - DOM.bip44Network.val(n); - if(e.target != DOM.addressNetwork.dom){ - DOM.addressNetwork.val(n); - } + var network = e.target.value; + networks[network].onSelect(); + setBip44DerivationPath(); delayedPhraseChanged(); } @@ -212,7 +186,7 @@ function calcBip32Seed(phrase, passphrase, path) { var seed = mnemonic.toSeed(phrase, passphrase); - bip32RootKey = Bitcoin.HDNode.fromSeedHex(seed, network); + bip32RootKey = bitcoin.HDNode.fromSeedHex(seed, network); bip32ExtendedKey = bip32RootKey; // Derive the key from the path var pathBits = path.split("/"); @@ -410,28 +384,61 @@ .hide(); } - function enableBip44Tab() { - // show bip44 tab (but don't select it) - DOM.bip44tab.removeClass("hidden"); - DOM.bip44panel.removeClass("hidden"); - } - - function disableBip44Tab() { - // hide bip44 tab - DOM.bip44tab.addClass("hidden"); - DOM.bip44tab.removeClass("active"); - // hide bip44 panel - DOM.bip44panel.addClass("hidden"); - DOM.bip44panel.removeClass("active"); - // show bip32 tab - DOM.bip32tab.addClass("active"); - // show bip32 panel - DOM.bip32panel.addClass("active"); - // set the derivation path - var activePath = $("#bip32 .path"); - derivationPath = activePath.val(); + function populateNetworkSelect() { + for (var i=0; i"); + option.attr("value", i); + option.text(network.name); + DOM.phraseNetwork.append(option); + } } + var networks = [ + { + name: "Bitcoin", + onSelect: function() { + network = bitcoin.networks.bitcoin; + DOM.bip44coin.val(0); + }, + }, + { + name: "Bitcoin Testnet", + onSelect: function() { + network = bitcoin.networks.testnet; + DOM.bip44coin.val(1); + }, + }, + { + name: "Litecoin", + onSelect: function() { + network = bitcoin.networks.litecoin; + DOM.bip44coin.val(2); + }, + }, + { + name: "Dogecoin", + onSelect: function() { + network = bitcoin.networks.dogecoin; + DOM.bip44coin.val(3); + }, + }, + { + name: "ShadowCash", + onSelect: function() { + network = bitcoin.networks.shadow; + DOM.bip44coin.val(35); + }, + }, + { + name: "ShadowCash Testnet", + onSelect: function() { + network = bitcoin.networks.shadowtn; + DOM.bip44coin.val(1); + }, + }, + ] + init(); })();