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");
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);
}
// 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');
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);
addAddressToList(indexText, address, pubkey, privkey);
if (isLast) {
hidePending();
+ updateCsv();
}
}, 50)
}
function clearAddressesList() {
DOM.addresses.empty();
+ DOM.csv.val("");
stopGenerating();
}
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<rows.length; i++) {
+ var row = $(rows[i]);
+ var cells = row.find("td");
+ for (var j=0; j<cells.length; j++) {
+ var cell = $(cells[j]);
+ if (!cell.children().hasClass("invisible")) {
+ tableCsv = tableCsv + cell.text();
+ }
+ if (j != cells.length - 1) {
+ tableCsv = tableCsv + ",";
+ }
+ }
+ tableCsv = tableCsv + "\n";
+ }
+ DOM.csv.val(tableCsv);
+ }
+
var networks = [
+ {
+ name: "AXE - Axe",
+ segwitAvailable: false,
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.axe;
+ setHdCoin(0);
+ },
+ },
{
name: "BCH - Bitcoin Cash",
segwitAvailable: false,
setHdCoin(1);
},
},
+ {
+ name: "XLM - Stellar",
+ onSelect: function() {
+ segwitAvailable: false,
+ network = null;
+ setHdCoin(148);
+ },
+ },
{
name: "XMY - Myriadcoin",
segwitAvailable: false,