X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=src%2Fjs%2Findex.js;h=b887a67857cc2403131b0f61ed13389131ecaadb;hb=d354a1dfab85fd97a12406c4e66ff374d1f207b3;hp=e63c65fd74cfb1382e00f97650c2c67e4ab29720;hpb=4e9b492ca4e1f90b985cfc2da94bddc60a36e386;p=perso%2FImmae%2FProjets%2FCryptomonnaies%2FBIP39.git diff --git a/src/js/index.js b/src/js/index.js index e63c65f..b887a67 100644 --- a/src/js/index.js +++ b/src/js/index.js @@ -91,6 +91,8 @@ DOM.useBitpayAddressesContainer = $(".use-bitpay-addresses-container"); DOM.useBitpayAddresses = $(".use-bitpay-addresses"); DOM.addresses = $(".addresses"); + DOM.csvTab = $("#csv-tab a"); + DOM.csv = $(".csv"); DOM.rowsToAdd = $(".rows-to-add"); DOM.more = $(".more"); DOM.moreRowsStartIndex = $(".more-rows-start-index"); @@ -135,6 +137,7 @@ DOM.addressToggle.on("click", toggleAddresses); DOM.publicKeyToggle.on("click", togglePublicKeys); DOM.privateKeyToggle.on("click", togglePrivateKeys); + DOM.csvTab.on("click", updateCsv); DOM.languages.on("click", languageChanged); DOM.useBitpayAddresses.on("change", useBitpayAddressesChange); setQrEvents(DOM.showQrEls); @@ -796,7 +799,7 @@ } // Ethereum values are different if (networks[DOM.network.val()].name == "ETH - Ethereum") { - var privKeyBuffer = key.keyPair.d.toBuffer(); + var privKeyBuffer = key.keyPair.d.toBuffer(32); privkey = privKeyBuffer.toString('hex'); var addressBuffer = ethUtil.privateToAddress(privKeyBuffer); var hexAddress = addressBuffer.toString('hex'); @@ -805,6 +808,18 @@ privkey = ethUtil.addHexPrefix(privkey); pubkey = ethUtil.addHexPrefix(pubkey); } + // Stellar is different + if (networks[DOM.network.val()].name == "XLM - Stellar") { + var purpose = parseIntNoNaN(DOM.bip44purpose.val(), 44); + var coin = parseIntNoNaN(DOM.bip44coin.val(), 0); + var path = "m/"; + path += purpose + "'/"; + path += coin + "'/" + index + "'"; + var keypair = stellarUtil.getKeypair(path, seed); + indexText = path; + privkey = keypair.secret(); + pubkey = address = keypair.publicKey(); + } // Ripple values are different if (networks[DOM.network.val()].name == "XRP - Ripple") { privkey = convertRipplePriv(privkey); @@ -831,6 +846,7 @@ addAddressToList(indexText, address, pubkey, privkey); if (isLast) { hidePending(); + updateCsv(); } }, 50) } @@ -871,6 +887,7 @@ function clearAddressesList() { DOM.addresses.empty(); + DOM.csv.val(""); stopGenerating(); } @@ -1426,7 +1443,35 @@ DOM.entropyWordIndexes.text(wordIndexesStr); } + function updateCsv() { + var tableCsv = "path,address,public key,private key\n"; + var rows = DOM.addresses.find("tr"); + for (var i=0; i