X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=src%2Fjs%2Findex.js;h=bad4cfb12a11e53487aa1f99fcf8e3f65c2cdd83;hb=1543fdbf090abaccffbf74b2417e676560da2a33;hp=cd3a5063c6e34162b498e9be13769b496a9a7252;hpb=bade150497a0459a8cb3b4a5cde315117b8430a7;p=perso%2FImmae%2FProjets%2FCryptomonnaies%2FBIP39.git diff --git a/src/js/index.js b/src/js/index.js index cd3a506..bad4cfb 100644 --- a/src/js/index.js +++ b/src/js/index.js @@ -6,15 +6,27 @@ var network = Bitcoin.networks.bitcoin; var addressRowTemplate = $("#address-row-template"); + var showIndex = true; + var showAddress = true; + var showPrivKey = true; + var phraseChangeTimeoutEvent = null; 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"); DOM.rootKey = $(".root-key"); DOM.extendedPrivKey = $(".extended-priv-key"); DOM.extendedPubKey = $(".extended-pub-key"); + DOM.bip32tab = $("#bip32-tab"); + DOM.bip44tab = $("#bip44-tab"); + DOM.bip32panel = $("#bip32"); + DOM.bip44panel = $("#bip44"); DOM.bip32path = $("#bip32-path"); DOM.bip44path = $("#bip44-path"); DOM.bip44purpose = $("#bip44 .purpose"); @@ -35,6 +47,7 @@ function init() { // Events + DOM.network.on("change", networkChanged); DOM.phrase.on("input", delayedPhraseChanged); DOM.passphrase.on("input", delayedPhraseChanged); DOM.generate.on("click", generateClicked); @@ -55,6 +68,34 @@ // Event handlers + function networkChanged(e) { + var n = e.target.value; + if (n == "bitcoin") { + network = Bitcoin.networks.bitcoin; + DOM.bip44coin.val(0); + } + else if (n == "bitcoin-testnet") { + network = Bitcoin.networks.testnet; + DOM.bip44coin.val(1); + } + else if (n == "litecoin") { + network = Bitcoin.networks.litecoin; + DOM.bip44coin.val(2); + } + else if (n == "dogecoin") { + network = Bitcoin.networks.dogecoin; + var NO_BIP44_VALUE = 9999; + DOM.bip44coin.val(NO_BIP44_VALUE); // This coin is not in BIP44 + } + setBip44DerivationPath(); + DOM.phraseNetwork.val(n); + DOM.bip44Network.val(n); + if(e.target != DOM.addressNetwork.dom){ + DOM.addressNetwork.val(n); + } + delayedPhraseChanged(); + } + function delayedPhraseChanged() { hideValidationError(); showPending(); @@ -121,14 +162,17 @@ } function toggleIndexes() { + showIndex = !showIndex; $("td.index span").toggleClass("invisible"); } function toggleAddresses() { + showAddress = !showAddress; $("td.address span").toggleClass("invisible"); } function togglePrivateKeys() { + showPrivKey = !showPrivKey; $("td.privkey span").toggleClass("invisible"); } @@ -199,6 +243,7 @@ function findPhraseErrors(phrase) { // TODO make this right // Preprocess the words + phrase = mnemonic.normalizeString(phrase); var parts = phrase.split(" "); var proper = []; for (var i=0; i