X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=src%2Fjs%2Findex.js;h=69f5eab0e7445d24bb9f2624195a6af791771039;hb=3a8dbe99b4be2084794d1191a06eadc38db0917b;hp=88e891c92827f642c9e5a403b8dac774d0b141de;hpb=efe41586705d3eba480da31bb1002c4e54e73ef0;p=perso%2FImmae%2FProjets%2FCryptomonnaies%2FBIP39.git diff --git a/src/js/index.js b/src/js/index.js index 88e891c..69f5eab 100644 --- a/src/js/index.js +++ b/src/js/index.js @@ -35,6 +35,7 @@ DOM.bip44account = $("#bip44 .account"); DOM.bip44change = $("#bip44 .change"); DOM.strength = $(".strength"); + DOM.hardenedAddresses = $(".hardened-addresses"); DOM.addresses = $(".addresses"); DOM.rowsToAdd = $(".rows-to-add"); DOM.more = $(".more"); @@ -58,6 +59,7 @@ DOM.bip44account.on("input", calcForDerivationPath); DOM.bip44change.on("input", calcForDerivationPath); DOM.tab.on("shown.bs.tab", calcForDerivationPath); + DOM.hardenedAddresses.on("change", calcForDerivationPath); DOM.indexToggle.on("click", toggleIndexes); DOM.addressToggle.on("click", toggleAddresses); DOM.privateKeyToggle.on("click", togglePrivateKeys); @@ -70,9 +72,14 @@ // Event handlers function networkChanged(e) { - var network = e.target.value; - networks[network].onSelect(); - displayBip32Info(); + var networkIndex = e.target.value; + networks[networkIndex].onSelect(); + if (seed != null) { + phraseChanged(); + } + else { + rootKeyChanged(); + } } function delayedPhraseChanged() { @@ -200,7 +207,7 @@ } function calcBip32RootKeyFromBase58(rootKeyBase58) { - bip32RootKey = bitcoin.HDNode.fromBase58(rootKeyBase58); + bip32RootKey = bitcoin.HDNode.fromBase58(rootKeyBase58, network); } function calcBip32ExtendedKey(path) { @@ -362,16 +369,27 @@ function TableRow(index) { + var useHardenedAddresses = DOM.hardenedAddresses.prop("checked"); + function init() { calculateValues(); } function calculateValues() { setTimeout(function() { - var key = bip32ExtendedKey.derive(index); + var key = ""; + if (useHardenedAddresses) { + key = bip32ExtendedKey.deriveHardened(index); + } + else { + key = bip32ExtendedKey.derive(index); + } var address = key.getAddress().toString(); var privkey = key.privKey.toWIF(network); var indexText = getDerivationPath() + "/" + index; + if (useHardenedAddresses) { + indexText = indexText + "'"; + } addAddressToList(indexText, address, privkey); }, 50) } @@ -562,6 +580,27 @@ DOM.bip44coin.val(23); }, }, + { + name: "DASH", + onSelect: function() { + network = bitcoin.networks.dash; + DOM.bip44coin.val(5); + }, + }, + { + name: "Namecoin", + onSelect: function() { + network = bitcoin.networks.namecoin; + DOM.bip44coin.val(7); + }, + }, + { + name: "Peercoin", + onSelect: function() { + network = bitcoin.networks.peercoin; + DOM.bip44coin.val(6); + }, + }, ] init();