X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=src%2Fjs%2Findex.js;h=8d756379560456c82f063a4605b5f3eb1a9d5fad;hb=7a5a87a0b9b8ed0b607f5c7aa4bbe03b902c34c1;hp=f593b3a937a427e46511a036b1c3a311d35bd530;hpb=b4fd763cebfb7f9497e12ca09b6271e1b39ac145;p=perso%2FImmae%2FProjets%2FCryptomonnaies%2FBIP39.git diff --git a/src/js/index.js b/src/js/index.js index f593b3a..8d75637 100644 --- a/src/js/index.js +++ b/src/js/index.js @@ -23,9 +23,8 @@ var DOM = {}; DOM.network = $(".network"); - DOM.client = $(".client"); + DOM.bip32Client = $("#bip32-client"); DOM.phraseNetwork = $("#network-phrase"); - DOM.phraseClient = $("#client-phrase"); DOM.useEntropy = $(".use-entropy"); DOM.entropyContainer = $(".entropy-container"); DOM.entropy = $(".entropy"); @@ -79,7 +78,7 @@ function init() { // Events DOM.network.on("change", networkChanged); - DOM.client.on("change", clientChanged); + DOM.bip32Client.on("change", bip32ClientChanged); DOM.useEntropy.on("change", setEntropyVisibility); DOM.entropy.on("input", delayedEntropyChanged); DOM.entropyMnemonicLength.on("change", entropyChanged); @@ -120,15 +119,21 @@ rootKeyChanged(); } } - - function clientChanged(e) { - var clientIndex = e.target.value; - clients[clientIndex].onSelect(); - if (seed != null) { - phraseChanged(); + + function bip32ClientChanged(e) { + var clientIndex = DOM.bip32Client.val(); + if (clientIndex == "custom") { + DOM.bip32path.prop("readonly", false); } else { - rootKeyChanged(); + DOM.bip32path.prop("readonly", true); + clients[clientIndex].onSelect(); + if (seed != null) { + phraseChanged(); + } + else { + rootKeyChanged(); + } } } @@ -579,6 +584,15 @@ if (useHardenedAddresses) { indexText = indexText + "'"; } + // Ethereum values are different + if (networks[DOM.network.val()].name == "Ethereum") { + var privKeyBuffer = key.privKey.d.toBuffer(); + privkey = privKeyBuffer.toString('hex'); + var addressBuffer = ethUtil.privateToAddress(privKeyBuffer); + var hexAddress = addressBuffer.toString('hex'); + var checksumAddress = ethUtil.toChecksumAddress(hexAddress); + address = ethUtil.addHexPrefix(checksumAddress); + } addAddressToList(indexText, address, pubkey, privkey); }, 50) } @@ -716,14 +730,14 @@ DOM.phraseNetwork.append(option); } } - + function populateClientSelect() { for (var i=0; i"); option.attr("value", i); option.text(client.name); - DOM.phraseClient.append(option); + DOM.bip32Client.append(option); } } @@ -1072,10 +1086,10 @@ }, }, { - name: "Litecoin", + name: "CLAM", onSelect: function() { - network = bitcoin.networks.litecoin; - DOM.bip44coin.val(2); + network = bitcoin.networks.clam; + DOM.bip44coin.val(23); }, }, { @@ -1086,31 +1100,24 @@ }, }, { - name: "ShadowCash", - onSelect: function() { - network = bitcoin.networks.shadow; - DOM.bip44coin.val(35); - }, - }, - { - name: "ShadowCash Testnet", + name: "DASH", onSelect: function() { - network = bitcoin.networks.shadowtn; - DOM.bip44coin.val(1); + network = bitcoin.networks.dash; + DOM.bip44coin.val(5); }, }, { - name: "Viacoin", + name: "Ethereum", onSelect: function() { - network = bitcoin.networks.viacoin; - DOM.bip44coin.val(14); + network = bitcoin.networks.bitcoin; + DOM.bip44coin.val(60); }, }, { - name: "Viacoin Testnet", + name: "GAME", onSelect: function() { - network = bitcoin.networks.viacointestnet; - DOM.bip44coin.val(1); + network = bitcoin.networks.game; + DOM.bip44coin.val(101); }, }, { @@ -1121,17 +1128,10 @@ }, }, { - name: "CLAM", - onSelect: function() { - network = bitcoin.networks.clam; - DOM.bip44coin.val(23); - }, - }, - { - name: "DASH", + name: "Litecoin", onSelect: function() { - network = bitcoin.networks.dash; - DOM.bip44coin.val(5); + network = bitcoin.networks.litecoin; + DOM.bip44coin.val(2); }, }, { @@ -1148,8 +1148,50 @@ DOM.bip44coin.val(6); }, }, + { + 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); + }, + }, + { + name: "Slimcoin", + onSelect: function() { + network = bitcoin.networks.slimcoin; + DOM.bip44coin.val(63); + }, + }, + { + name: "Slimcoin Testnet", + onSelect: function() { + network = bitcoin.networks.slimcointn; + DOM.bip44coin.val(111); + }, + }, + { + name: "Viacoin", + onSelect: function() { + network = bitcoin.networks.viacoin; + DOM.bip44coin.val(14); + }, + }, + { + name: "Viacoin Testnet", + onSelect: function() { + network = bitcoin.networks.viacointestnet; + DOM.bip44coin.val(1); + }, + }, ] - + var clients = [ { name: "Bitcoin Core",