X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=src%2Fjs%2Findex.js;h=7d04a0540d862e2628e72ca9eb5e8c8426448c5b;hb=bb381a72ab07817e1216d5e12e2d4c5fc622d79b;hp=fc7e13b0e10822e8695e604948c58d89b51255f9;hpb=0702ecd3520c44cb8016f80329dcb5a3c8df88fc;p=perso%2FImmae%2FProjets%2FCryptomonnaies%2FBIP39.git diff --git a/src/js/index.js b/src/js/index.js index fc7e13b..7d04a05 100644 --- a/src/js/index.js +++ b/src/js/index.js @@ -91,8 +91,8 @@ DOM.generatedStrength = $(".generate-container .strength"); DOM.generatedStrengthWarning = $(".generate-container .warning"); DOM.hardenedAddresses = $(".hardened-addresses"); - DOM.useBitpayAddressesContainer = $(".use-bitpay-addresses-container"); - DOM.useBitpayAddresses = $(".use-bitpay-addresses"); + DOM.bitcoinCashAddressTypeContainer = $(".bch-addr-type-container"); + DOM.bitcoinCashAddressType = $("[name=bch-addr-type]") DOM.useBip38 = $(".use-bip38"); DOM.bip38Password = $(".bip38-password"); DOM.addresses = $(".addresses"); @@ -147,7 +147,7 @@ DOM.privateKeyToggle.on("click", togglePrivateKeys); DOM.csvTab.on("click", updateCsv); DOM.languages.on("click", languageChanged); - DOM.useBitpayAddresses.on("change", useBitpayAddressesChange); + DOM.bitcoinCashAddressType.on("change", bitcoinCashAddressTypeChange); setQrEvents(DOM.showQrEls); disableForms(); hidePending(); @@ -172,7 +172,7 @@ clearDerivedKeys(); clearAddressesList(); DOM.litecoinLtubContainer.addClass("hidden"); - DOM.useBitpayAddressesContainer.addClass("hidden"); + DOM.bitcoinCashAddressTypeContainer.addClass("hidden"); var networkIndex = e.target.value; var network = networks[networkIndex]; network.onSelect(); @@ -424,8 +424,7 @@ }, 50); } - function useBitpayAddressesChange() { - setBitcoinCashNetworkValues(); + function bitcoinCashAddressTypeChange() { phraseChanged(); } @@ -837,7 +836,14 @@ indexText = indexText + "'"; } // Ethereum values are different - if (networks[DOM.network.val()].name == "ETH - Ethereum") { + if ((networks[DOM.network.val()].name == "ETH - Ethereum") + || (networks[DOM.network.val()].name == "ETC - Ethereum Classic") + || (networks[DOM.network.val()].name == "PIRL - Pirl") + || (networks[DOM.network.val()].name == "MIX - MIX") + || (networks[DOM.network.val()].name == "MUSIC - Musicoin") + || (networks[DOM.network.val()].name == "POA - Poa") + || (networks[DOM.network.val()].name == "EXP - Expanse") + || (networks[DOM.network.val()].name == "CLO - Callisto")) { var privKeyBuffer = keyPair.d.toBuffer(32); privkey = privKeyBuffer.toString('hex'); var addressBuffer = ethUtil.privateToAddress(privKeyBuffer); @@ -852,6 +858,16 @@ privkey = convertRipplePriv(privkey); address = convertRippleAdrr(address); } + // Bitcoin Cash address format may vary + if (networks[DOM.network.val()].name == "BCH - Bitcoin Cash") { + var bchAddrType = DOM.bitcoinCashAddressType.filter(":checked").val(); + if (bchAddrType == "cashaddr") { + address = bchaddr.toCashAddress(address); + } + else if (bchAddrType == "bitpay") { + address = bchaddr.toBitpayAddress(address); + } + } // Segwit addresses are different if (isSegwit) { if (!segwitAvailable) { @@ -1155,7 +1171,7 @@ function wordArrayToPhrase(words) { var phrase = words.join(" "); var language = getLanguageFromPhrase(phrase); - if (language == "japanese" || language == "korean") { + if (language == "japanese") { phrase = words.join("\u3000"); } return phrase; @@ -1417,19 +1433,6 @@ DOM.bip141unavailable.removeClass("hidden"); } - function useBitpayAddresses() { - return !(DOM.useBitpayAddresses.prop("checked")); - } - - function setBitcoinCashNetworkValues() { - if (useBitpayAddresses()) { - network = bitcoinjs.bitcoin.networks.bitcoin; - } - else { - network = bitcoinjs.bitcoin.networks.bitcoinCashBitbpay; - } - } - function adjustNetworkForSegwit() { // If segwit is selected the xpub/xprv prefixes need to be adjusted // to avoid accidentally importing BIP49 xpub to BIP44 watch only @@ -1567,7 +1570,7 @@ segwitAvailable: false, onSelect: function() { network = bitcoinjs.bitcoin.networks.axe; - setHdCoin(0); + setHdCoin(4242); }, }, { @@ -1582,8 +1585,7 @@ name: "BCH - Bitcoin Cash", segwitAvailable: false, onSelect: function() { - DOM.useBitpayAddressesContainer.removeClass("hidden"); - setBitcoinCashNetworkValues(); + DOM.bitcoinCashAddressTypeContainer.removeClass("hidden"); setHdCoin(145); }, }, @@ -1651,6 +1653,22 @@ setHdCoin(1); }, }, + { + name: "BTCP - Bitcoin Private", + segwitAvailable: true, + onSelect: function() { + network = bitcoinjs.bitcoin.networks.bitcoinprivate; + setHdCoin(183); + }, + }, + { + name: "BTCZ - Bitcoinz", + segwitAvailable: false, + onSelect: function() { + network = bitcoinjs.bitcoin.networks.bitcoinz; + setHdCoin(177); + }, + }, { name: "BTG - Bitcoin Gold", segwitAvailable: true, @@ -1691,6 +1709,14 @@ setHdCoin(23); }, }, + { + name: "CLO - Callisto", + segwitAvailable: false, + onSelect: function() { + network = bitcoinjs.bitcoin.networks.bitcoin; + setHdCoin(820); + }, + }, { name: "CLUB - Clubcoin", segwitAvailable: false, @@ -1827,6 +1853,14 @@ setHdCoin(151); }, }, + { + name: "ETC - Ethereum Classic", + segwitAvailable: false, + onSelect: function() { + network = bitcoinjs.bitcoin.networks.bitcoin; + setHdCoin(61); + }, + }, { name: "ETH - Ethereum", segwitAvailable: false, @@ -1843,6 +1877,14 @@ setHdCoin(190); }, }, + { + name: "EXP - Expanse", + segwitAvailable: false, + onSelect: function() { + network = bitcoinjs.bitcoin.networks.bitcoin; + setHdCoin(40); + }, + }, { name: "FJC - Fujicoin", segwitAvailable: true, @@ -2020,6 +2062,14 @@ setHdCoin(13); }, }, + { + name: "MIX - MIX", + segwitAvailable: false, + onSelect: function() { + network = bitcoinjs.bitcoin.networks.bitcoin; + setHdCoin(76); + }, + }, { name: "MNX - Minexcoin", segwitAvailable: true, @@ -2036,6 +2086,14 @@ setHdCoin(22); }, }, + { + name: "MUSIC - Musicoin", + segwitAvailable: false, + onSelect: function() { + network = bitcoinjs.bitcoin.networks.bitcoin; + setHdCoin(184); + }, + }, { name: "NAV - Navcoin", segwitAvailable: true, @@ -2076,6 +2134,14 @@ setHdCoin(7); }, }, + { + name: "NRG - Energi", + segwitAvailable: false, + onSelect: function() { + network = bitcoinjs.bitcoin.networks.energi; + setHdCoin(204); + }, + }, { name: "NRO - Neurocoin", segwitAvailable: false, @@ -2140,6 +2206,14 @@ setHdCoin(117); }, }, + { + name: "PIRL - Pirl", + segwitAvailable: false, + onSelect: function() { + network = bitcoinjs.bitcoin.networks.bitcoin; + setHdCoin(164); + }, + }, { name: "PIVX - PIVX", segwitAvailable: false, @@ -2156,6 +2230,14 @@ setHdCoin(1); }, }, + { + name: "POA - Poa", + segwitAvailable: false, + onSelect: function() { + network = bitcoinjs.bitcoin.networks.bitcoin; + setHdCoin(178); + }, + }, { name: "POSW - POSWcoin", segwitAvailable: false, @@ -2412,6 +2494,14 @@ setHdCoin(77); }, }, + { + name: "XUEZ - Xuez", + segwitAvailable: false, + onSelect: function() { + network = bitcoinjs.bitcoin.networks.xuez; + setHdCoin(225); + }, + }, { name: "XWC - Whitecoin", segwitAvailable: false, @@ -2428,6 +2518,14 @@ setHdCoin(136); }, }, + { + name: "ZCL - Zclassic", + segwitAvailable: false, + onSelect: function() { + network = bitcoinjs.bitcoin.networks.zclassic; + setHdCoin(147); + }, + }, { name: "ZEC - Zcash", segwitAvailable: false, @@ -2436,6 +2534,14 @@ setHdCoin(133); }, }, + { + name: "ZEN - Zencash", + segwitAvailable: false, + onSelect: function() { + network = bitcoinjs.bitcoin.networks.zencash; + setHdCoin(121); + }, + }, ] var clients = [ @@ -2459,6 +2565,13 @@ DOM.bip32path.val("m/0'/0"); DOM.hardenedAddresses.prop('checked', false); }, + }, + { + name: "Coinomi, Ledger", + onSelect: function() { + DOM.bip32path.val("m/44'/"+DOM.bip44coin.val()+"'/0'"); + DOM.hardenedAddresses.prop('checked', false); + }, } ]