+ function populateNetworkSelect() {
+ for (var i=0; i<networks.length; i++) {
+ var network = networks[i];
+ var option = $("<option>");
+ option.attr("value", i);
+ option.text(network.name);
+ if (network.name == "BTC - Bitcoin") {
+ option.prop("selected", true);
+ }
+ DOM.phraseNetwork.append(option);
+ }
+ }
+
+ function populateClientSelect() {
+ for (var i=0; i<clients.length; i++) {
+ var client = clients[i];
+ var option = $("<option>");
+ option.attr("value", i);
+ option.text(client.name);
+ DOM.bip32Client.append(option);
+ }
+ }
+
+ function getLanguage() {
+ var defaultLanguage = "english";
+ // Try to get from existing phrase
+ var language = getLanguageFromPhrase();
+ // Try to get from url if not from phrase
+ if (language.length == 0) {
+ language = getLanguageFromUrl();
+ }
+ // Default to English if no other option
+ if (language.length == 0) {
+ language = defaultLanguage;
+ }
+ return language;
+ }
+
+ function getLanguageFromPhrase(phrase) {
+ // Check if how many words from existing phrase match a language.
+ var language = "";
+ if (!phrase) {
+ phrase = DOM.phrase.val();
+ }
+ if (phrase.length > 0) {
+ var words = phraseToWordArray(phrase);
+ var languageMatches = {};
+ for (l in WORDLISTS) {
+ // Track how many words match in this language
+ languageMatches[l] = 0;
+ for (var i=0; i<words.length; i++) {
+ var wordInLanguage = WORDLISTS[l].indexOf(words[i]) > -1;
+ if (wordInLanguage) {
+ languageMatches[l]++;
+ }
+ }
+ // Find languages with most word matches.
+ // This is made difficult due to commonalities between Chinese
+ // simplified vs traditional.
+ var mostMatches = 0;
+ var mostMatchedLanguages = [];
+ for (var l in languageMatches) {
+ var numMatches = languageMatches[l];
+ if (numMatches > mostMatches) {
+ mostMatches = numMatches;
+ mostMatchedLanguages = [l];
+ }
+ else if (numMatches == mostMatches) {
+ mostMatchedLanguages.push(l);
+ }
+ }
+ }
+ if (mostMatchedLanguages.length > 0) {
+ // Use first language and warn if multiple detected
+ language = mostMatchedLanguages[0];
+ if (mostMatchedLanguages.length > 1) {
+ console.warn("Multiple possible languages");
+ console.warn(mostMatchedLanguages);
+ }
+ }
+ }
+ return language;
+ }
+
+ function getLanguageFromUrl() {
+ for (var language in WORDLISTS) {
+ if (window.location.hash.indexOf(language) > -1) {
+ return language;
+ }
+ }
+ return "";
+ }
+
+ function setMnemonicLanguage() {
+ var language = getLanguage();
+ // Load the bip39 mnemonic generator for this language if required
+ if (!(language in mnemonics)) {
+ mnemonics[language] = new Mnemonic(language);
+ }
+ mnemonic = mnemonics[language];
+ }
+
+ function convertPhraseToNewLanguage() {
+ var oldLanguage = getLanguageFromPhrase();
+ var newLanguage = getLanguageFromUrl();
+ var oldPhrase = DOM.phrase.val();
+ var oldWords = phraseToWordArray(oldPhrase);
+ var newWords = [];
+ for (var i=0; i<oldWords.length; i++) {
+ var oldWord = oldWords[i];
+ var index = WORDLISTS[oldLanguage].indexOf(oldWord);
+ var newWord = WORDLISTS[newLanguage][index];
+ newWords.push(newWord);
+ }
+ newPhrase = wordArrayToPhrase(newWords);
+ return newPhrase;
+ }
+
+ // TODO look at jsbip39 - mnemonic.splitWords
+ function phraseToWordArray(phrase) {
+ var words = phrase.split(/\s/g);
+ var noBlanks = [];
+ for (var i=0; i<words.length; i++) {
+ var word = words[i];
+ if (word.length > 0) {
+ noBlanks.push(word);
+ }
+ }
+ return noBlanks;
+ }
+
+ // TODO look at jsbip39 - mnemonic.joinWords
+ function wordArrayToPhrase(words) {
+ var phrase = words.join(" ");
+ var language = getLanguageFromPhrase(phrase);
+ if (language == "japanese") {
+ phrase = words.join("\u3000");
+ }
+ return phrase;
+ }
+
+ function isUsingOwnEntropy() {
+ return DOM.useEntropy.prop("checked");
+ }
+
+ function setMnemonicFromEntropy() {
+ clearEntropyFeedback();
+ // Get entropy value
+ var entropyStr = DOM.entropy.val();
+ // Work out minimum base for entropy
+ var entropy = Entropy.fromString(entropyStr);
+ if (entropy.binaryStr.length == 0) {
+ return;
+ }
+ // Show entropy details
+ showEntropyFeedback(entropy);
+ // Use entropy hash if not using raw entropy
+ var bits = entropy.binaryStr;
+ var mnemonicLength = DOM.entropyMnemonicLength.val();
+ if (mnemonicLength != "raw") {
+ // Get bits by hashing entropy with SHA256
+ var hash = sjcl.hash.sha256.hash(entropy.cleanStr);
+ var hex = sjcl.codec.hex.fromBits(hash);
+ bits = BigInteger.parse(hex, 16).toString(2);
+ while (bits.length % 256 != 0) {
+ bits = "0" + bits;
+ }
+ // Truncate hash to suit number of words
+ mnemonicLength = parseInt(mnemonicLength);
+ var numberOfBits = 32 * mnemonicLength / 3;
+ bits = bits.substring(0, numberOfBits);
+ // show warning for weak entropy override
+ if (mnemonicLength / 3 * 32 > entropy.binaryStr.length) {
+ DOM.entropyWeakEntropyOverrideWarning.removeClass("hidden");
+ }
+ else {
+ DOM.entropyWeakEntropyOverrideWarning.addClass("hidden");
+ }
+ }
+ else {
+ // hide warning for weak entropy override
+ DOM.entropyWeakEntropyOverrideWarning.addClass("hidden");
+ }
+ // Discard trailing entropy
+ var bitsToUse = Math.floor(bits.length / 32) * 32;
+ var start = bits.length - bitsToUse;
+ var binaryStr = bits.substring(start);
+ // Convert entropy string to numeric array
+ var entropyArr = [];
+ for (var i=0; i<binaryStr.length / 8; i++) {
+ var byteAsBits = binaryStr.substring(i*8, i*8+8);
+ var entropyByte = parseInt(byteAsBits, 2);
+ entropyArr.push(entropyByte)
+ }
+ // Convert entropy array to mnemonic
+ var phrase = mnemonic.toMnemonic(entropyArr);
+ // Set the mnemonic in the UI
+ DOM.phrase.val(phrase);
+ // Show the word indexes
+ showWordIndexes();
+ // Show the checksum
+ showChecksum();
+ }
+
+ function clearEntropyFeedback() {
+ DOM.entropyCrackTime.text("...");
+ DOM.entropyType.text("");
+ DOM.entropyWordCount.text("0");
+ DOM.entropyEventCount.text("0");
+ DOM.entropyBitsPerEvent.text("0");
+ DOM.entropyBits.text("0");
+ DOM.entropyFiltered.html(" ");
+ DOM.entropyBinary.html(" ");
+ }
+
+ function showEntropyFeedback(entropy) {
+ var numberOfBits = entropy.binaryStr.length;
+ var timeToCrack = "unknown";
+ try {
+ var z = zxcvbn(entropy.base.parts.join(""));
+ timeToCrack = z.crack_times_display.offline_fast_hashing_1e10_per_second;
+ if (z.feedback.warning != "") {
+ timeToCrack = timeToCrack + " - " + z.feedback.warning;
+ };
+ }
+ catch (e) {
+ console.log("Error detecting entropy strength with zxcvbn:");
+ console.log(e);
+ }
+ var entropyTypeStr = getEntropyTypeStr(entropy);
+ var wordCount = Math.floor(numberOfBits / 32) * 3;
+ var bitsPerEvent = entropy.bitsPerEvent.toFixed(2);
+ var spacedBinaryStr = addSpacesEveryElevenBits(entropy.binaryStr);
+ DOM.entropyFiltered.html(entropy.cleanHtml);
+ DOM.entropyType.text(entropyTypeStr);
+ DOM.entropyCrackTime.text(timeToCrack);
+ DOM.entropyEventCount.text(entropy.base.ints.length);
+ DOM.entropyBits.text(numberOfBits);
+ DOM.entropyWordCount.text(wordCount);
+ DOM.entropyBinary.text(spacedBinaryStr);
+ DOM.entropyBitsPerEvent.text(bitsPerEvent);
+ // detect and warn of filtering
+ var rawNoSpaces = DOM.entropy.val().replace(/\s/g, "");
+ var cleanNoSpaces = entropy.cleanStr.replace(/\s/g, "");
+ var isFiltered = rawNoSpaces.length != cleanNoSpaces.length;
+ if (isFiltered) {
+ DOM.entropyFilterWarning.removeClass('hidden');
+ }
+ else {
+ DOM.entropyFilterWarning.addClass('hidden');
+ }
+ }
+
+ function getEntropyTypeStr(entropy) {
+ var typeStr = entropy.base.str;
+ // Add some detail if these are cards
+ if (entropy.base.asInt == 52) {
+ var cardDetail = []; // array of message strings
+ // Detect duplicates
+ var dupes = [];
+ var dupeTracker = {};
+ for (var i=0; i<entropy.base.parts.length; i++) {
+ var card = entropy.base.parts[i];
+ var cardUpper = card.toUpperCase();
+ if (cardUpper in dupeTracker) {
+ dupes.push(card);
+ }
+ dupeTracker[cardUpper] = true;
+ }
+ if (dupes.length > 0) {
+ var dupeWord = "duplicates";
+ if (dupes.length == 1) {
+ dupeWord = "duplicate";
+ }
+ var msg = dupes.length + " " + dupeWord + ": " + dupes.slice(0,3).join(" ");
+ if (dupes.length > 3) {
+ msg += "...";
+ }
+ cardDetail.push(msg);
+ }
+ // Detect full deck
+ var uniqueCards = [];
+ for (var uniqueCard in dupeTracker) {
+ uniqueCards.push(uniqueCard);
+ }
+ if (uniqueCards.length == 52) {
+ cardDetail.unshift("full deck");
+ }
+ // Detect missing cards
+ var values = "A23456789TJQK";
+ var suits = "CDHS";
+ var missingCards = [];
+ for (var i=0; i<suits.length; i++) {
+ for (var j=0; j<values.length; j++) {
+ var card = values[j] + suits[i];
+ if (!(card in dupeTracker)) {
+ missingCards.push(card);
+ }
+ }
+ }
+ // Display missing cards if six or less, ie clearly going for full deck
+ if (missingCards.length > 0 && missingCards.length <= 6) {
+ var msg = missingCards.length + " missing: " + missingCards.slice(0,3).join(" ");
+ if (missingCards.length > 3) {
+ msg += "...";
+ }
+ cardDetail.push(msg);
+ }
+ // Add card details to typeStr
+ if (cardDetail.length > 0) {
+ typeStr += " (" + cardDetail.join(", ") + ")";
+ }
+ }
+ return typeStr;
+ }
+
+ function setQrEvents(els) {
+ els.on("mouseenter", createQr);
+ els.on("mouseleave", destroyQr);
+ els.on("click", toggleQr);
+ }
+
+ function createQr(e) {
+ var content = e.target.textContent || e.target.value;
+ if (content) {
+ var qrEl = kjua({
+ text: content,
+ render: "canvas",
+ size: 310,
+ ecLevel: 'H',
+ });
+ DOM.qrImage.append(qrEl);
+ if (!showQr) {
+ DOM.qrHider.addClass("hidden");
+ }
+ else {
+ DOM.qrHider.removeClass("hidden");
+ }
+ DOM.qrContainer.removeClass("hidden");
+ }
+ }
+
+ function destroyQr() {
+ DOM.qrImage.text("");
+ DOM.qrContainer.addClass("hidden");
+ }
+
+ function toggleQr() {
+ showQr = !showQr;
+ DOM.qrHider.toggleClass("hidden");
+ DOM.qrHint.toggleClass("hidden");
+ }
+
+ function bip44TabSelected() {
+ return DOM.bip44tab.hasClass("active");
+ }
+
+ function bip32TabSelected() {
+ return DOM.bip32tab.hasClass("active");
+ }
+
+ function networkHasSegwit() {
+ var n = network;
+ if ("baseNetwork" in network) {
+ n = bitcoinjs.bitcoin.networks[network.baseNetwork];
+ }
+ // check if only p2wpkh params are required
+ if (p2wpkhSelected()) {
+ return "p2wpkh" in n;
+ }
+ // check if only p2wpkh-in-p2sh params are required
+ else if (p2wpkhInP2shSelected()) {
+ return "p2wpkhInP2sh" in n;
+ }
+ // require both if it's unclear which params are required
+ return "p2wpkh" in n && "p2wpkhInP2sh" in n;
+ }
+
+ function bip49TabSelected() {
+ return DOM.bip49tab.hasClass("active");
+ }
+
+ function bip84TabSelected() {
+ return DOM.bip84tab.hasClass("active");
+ }
+
+ function bip141TabSelected() {
+ return DOM.bip141tab.hasClass("active");
+ }
+
+ function setHdCoin(coinValue) {
+ DOM.bip44coin.val(coinValue);
+ DOM.bip49coin.val(coinValue);
+ DOM.bip84coin.val(coinValue);
+ }
+
+ function showSegwitAvailable() {
+ DOM.bip49unavailable.addClass("hidden");
+ DOM.bip49available.removeClass("hidden");
+ DOM.bip84unavailable.addClass("hidden");
+ DOM.bip84available.removeClass("hidden");
+ DOM.bip141unavailable.addClass("hidden");
+ DOM.bip141available.removeClass("hidden");
+ }
+
+ function showSegwitUnavailable() {
+ DOM.bip49available.addClass("hidden");
+ DOM.bip49unavailable.removeClass("hidden");
+ DOM.bip84available.addClass("hidden");
+ DOM.bip84unavailable.removeClass("hidden");
+ DOM.bip141available.addClass("hidden");
+ DOM.bip141unavailable.removeClass("hidden");
+ }
+
+ function adjustNetworkForSegwit() {
+ // If segwit is selected the xpub/xprv prefixes need to be adjusted
+ // to avoid accidentally importing BIP49 xpub to BIP44 watch only
+ // wallet.
+ // See https://github.com/iancoleman/bip39/issues/125
+ var segwitNetworks = null;
+ // if a segwit network is alread selected, need to use base network to
+ // look up new parameters
+ if ("baseNetwork" in network) {
+ network = bitcoinjs.bitcoin.networks[network.baseNetwork];
+ }
+ // choose the right segwit params
+ if (p2wpkhSelected() && "p2wpkh" in network) {
+ network = network.p2wpkh;
+ }
+ else if (p2wpkhInP2shSelected() && "p2wpkhInP2sh" in network) {
+ network = network.p2wpkhInP2sh;
+ }
+ }
+
+ function lastIndexInTable() {
+ var pathText = DOM.addresses.find(".index").last().text();
+ var pathBits = pathText.split("/");
+ var lastBit = pathBits[pathBits.length-1];
+ var lastBitClean = lastBit.replace("'", "");
+ return parseInt(lastBitClean);
+ }
+
+ function uint8ArrayToHex(a) {
+ var s = ""
+ for (var i=0; i<a.length; i++) {
+ var h = a[i].toString(16);
+ while (h.length < 2) {
+ h = "0" + h;
+ }
+ s = s + h;
+ }
+ return s;
+ }
+
+ function showWordIndexes() {
+ var phrase = DOM.phrase.val();
+ var words = phraseToWordArray(phrase);
+ var wordIndexes = [];
+ var language = getLanguage();
+ for (var i=0; i<words.length; i++) {
+ var word = words[i];
+ var wordIndex = WORDLISTS[language].indexOf(word);
+ wordIndexes.push(wordIndex);
+ }
+ var wordIndexesStr = wordIndexes.join(", ");
+ DOM.entropyWordIndexes.text(wordIndexesStr);
+ }
+
+ function showChecksum() {
+ var phrase = DOM.phrase.val();
+ var words = phraseToWordArray(phrase);
+ var checksumBitlength = words.length / 3;
+ var checksum = "";
+ var binaryStr = "";
+ var language = getLanguage();
+ for (var i=words.length-1; i>=0; i--) {
+ var word = words[i];
+ var wordIndex = WORDLISTS[language].indexOf(word);
+ var wordBinary = wordIndex.toString(2);
+ while (wordBinary.length < 11) {
+ wordBinary = "0" + wordBinary;
+ }
+ var binaryStr = wordBinary + binaryStr;
+ if (binaryStr.length >= checksumBitlength) {
+ var start = binaryStr.length - checksumBitlength;
+ var end = binaryStr.length;
+ checksum = binaryStr.substring(start, end);
+ // add spaces so the last group is 11 bits, not the first
+ checksum = checksum.split("").reverse().join("")
+ checksum = addSpacesEveryElevenBits(checksum);
+ checksum = checksum.split("").reverse().join("")
+ break;
+ }
+ }
+ DOM.entropyChecksum.text(checksum);
+ }
+
+ 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);
+ }
+
+ function addSpacesEveryElevenBits(binaryStr) {
+ return binaryStr.match(/.{1,11}/g).join(" ");
+ }
+
+ var networks = [
+ {
+ name: "AC - Asiacoin",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.asiacoin;
+ setHdCoin(51);
+ },
+ },
+ {
+ name: "ACC - Adcoin",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.adcoin;
+ setHdCoin(161);
+ },
+ },
+ {
+ name: "AUR - Auroracoin",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.auroracoin;
+ setHdCoin(85);
+ },
+ },
+ {
+ name: "AXE - Axe",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.axe;
+ setHdCoin(4242);
+ },
+ },
+ {
+ name: "ANON - ANON",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.anon;
+ setHdCoin(220);
+ },
+ },
+ {
+ name: "BOLI - Bolivarcoin",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.bolivarcoin;
+ setHdCoin(278);
+ },
+ },
+ {
+ name: "BCA - Bitcoin Atom",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.atom;
+ setHdCoin(185);
+ },
+ },
+ {
+ name: "BCH - Bitcoin Cash",
+ onSelect: function() {
+ DOM.bitcoinCashAddressTypeContainer.removeClass("hidden");
+ setHdCoin(145);
+ },
+ },
+ {
+ name: "BEET - Beetlecoin",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.beetlecoin;
+ setHdCoin(800);
+ },
+ },
+ {
+ name: "BELA - Belacoin",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.belacoin;
+ setHdCoin(73);
+ },
+ },
+ {
+ name: "BLK - BlackCoin",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.blackcoin;
+ setHdCoin(10);
+ },
+ },
+ {
+ name: "BND - Blocknode",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.blocknode;
+ setHdCoin(2941);
+ },
+ },
+ {
+ name: "tBND - Blocknode Testnet",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.blocknode_testnet;
+ setHdCoin(1);
+ },
+ },
+ {
+ name: "BRIT - Britcoin",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.britcoin;
+ setHdCoin(70);
+ },
+ },
+ {
+ name: "BSD - Bitsend",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.bitsend;
+ setHdCoin(91);
+ },
+ },
+ {
+ name: "BST - BlockStamp",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.blockstamp;
+ setHdCoin(254);
+ },
+ },
+ {
+ name: "BTA - Bata",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.bata;
+ setHdCoin(89);
+ },
+ },
+ {
+ name: "BTC - Bitcoin",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.bitcoin;
+ setHdCoin(0);
+ },
+ },
+ {
+ name: "BTC - Bitcoin Testnet",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.testnet;
+ setHdCoin(1);
+ },
+ },
+ {
+ name: "BITG - Bitcoin Green",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.bitcoingreen;
+ setHdCoin(222);
+ },
+ },
+ {
+ name: "BTCP - Bitcoin Private",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.bitcoinprivate;
+ setHdCoin(183);
+ },
+ },
+ {
+ name: "BTCZ - Bitcoinz",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.bitcoinz;
+ setHdCoin(177);
+ },
+ },
+ {
+ name: "BTDX - BitCloud",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.bitcloud;
+ setHdCoin(218);
+ },
+ },
+ {
+ name: "BTG - Bitcoin Gold",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.bgold;
+ setHdCoin(156);
+ },
+ },
+ {
+ name: "BTX - Bitcore",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.bitcore;
+ setHdCoin(160);
+ },
+ },
+ {
+ name: "CCN - Cannacoin",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.cannacoin;
+ setHdCoin(19);
+ },
+ },
+ {
+ name: "CESC - Cryptoescudo",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.cannacoin;
+ setHdCoin(111);
+ },
+ },
+ {
+ name: "CDN - Canadaecoin",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.canadaecoin;
+ setHdCoin(34);
+ },
+ },
+ {
+ name: "CLAM - Clams",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.clam;
+ setHdCoin(23);
+ },
+ },
+ {
+ name: "CLO - Callisto",
+ segwitAvailable: false,
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.bitcoin;
+ setHdCoin(820);
+ },
+ },
+ {
+ name: "CLUB - Clubcoin",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.clubcoin;
+ setHdCoin(79);
+ },
+ },
+ {
+ name: "CMP - Compcoin",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.compcoin;
+ setHdCoin(71);
+ },
+ },
+ {
+ name: "CPU - CPUchain",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.cpuchain;
+ setHdCoin(363);
+ },
+ },
+ {
+ name: "CRAVE - Crave",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.crave;
+ setHdCoin(186);
+ },
+ },
+ {
+ name: "CRW - Crown (Legacy)",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.crown;
+ setHdCoin(72);
+ },
+ },
+ {
+ name: "CRW - Crown",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.crown;
+ setHdCoin(72);
+ },
+ },
+ {
+ name: "CSC - CasinoCoin",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.bitcoin;
+ setHdCoin(359);
+ },
+ },
+ {
+ name: "DASH - Dash",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.dash;
+ setHdCoin(5);
+ },
+ },
+ {
+ name: "DASH - Dash Testnet",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.dashtn;
+ setHdCoin(1);
+ },
+ },
+ {
+ name: "DFC - Defcoin",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.defcoin;
+ setHdCoin(1337);
+ },
+ },
+ {
+ name: "DGB - Digibyte",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.digibyte;
+ setHdCoin(20);
+ },
+ },
+ {
+ name: "DGC - Digitalcoin",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.digitalcoin;
+ setHdCoin(18);
+ },
+ },
+ {
+ name: "DMD - Diamond",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.diamond;
+ setHdCoin(152);
+ },
+ },
+ {
+ name: "DNR - Denarius",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.denarius;
+ setHdCoin(116);
+ },
+ },
+ {
+ name: "DOGE - Dogecoin",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.dogecoin;
+ setHdCoin(3);
+ },
+ },
+ {
+ name: "DOGEt - Dogecoin Testnet",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.dogecointestnet;
+ setHdCoin(1);
+ },
+ },
+ {
+ name: "DXN - DEXON",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.bitcoin;
+ setHdCoin(237);
+ },
+ },
+ {
+ name: "ECN - Ecoin",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.ecoin;
+ setHdCoin(115);
+ },
+ },
+ {
+ name: "EDRC - Edrcoin",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.edrcoin;
+ setHdCoin(56);
+ },
+ },
+ {
+ name: "EFL - Egulden",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.egulden;
+ setHdCoin(78);
+ },
+ },
+ {
+ name: "ELLA - Ellaism",
+ segwitAvailable: false,
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.bitcoin;
+ setHdCoin(163);
+ },
+ },
+ {
+ name: "EMC2 - Einsteinium",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.einsteinium;
+ setHdCoin(41);
+ },
+ },
+ {
+ name: "ERC - Europecoin",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.europecoin;
+ setHdCoin(151);
+ },
+ },
+ {
+ name: "EOS - EOSIO",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.bitcoin;
+ setHdCoin(194);
+ },
+ },
+ {
+ name: "ESN - Ethersocial Network",
+ segwitAvailable: false,
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.bitcoin;
+ setHdCoin(31102);
+ },
+ },
+ {
+ name: "ETC - Ethereum Classic",
+ segwitAvailable: false,
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.bitcoin;
+ setHdCoin(61);
+ },
+ },
+ {
+ name: "ETH - Ethereum",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.bitcoin;
+ setHdCoin(60);
+ },
+ },
+ {
+ name: "EXCL - Exclusivecoin",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.exclusivecoin;
+ setHdCoin(190);
+ },
+ },
+ {
+ name: "EXCC - ExchangeCoin",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.exchangecoin;
+ setHdCoin(0);
+ },
+ },
+ {
+ name: "EXP - Expanse",
+ segwitAvailable: false,
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.bitcoin;
+ setHdCoin(40);
+ },
+ },
+ {
+ name: "FIX - FIX",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.fix;
+ setHdCoin(336);
+ },
+ },
+ {
+ name: "FIX - FIX Testnet",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.fixtestnet;
+ setHdCoin(1);
+ },
+ },
+ {
+ name: "FJC - Fujicoin",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.fujicoin;
+ setHdCoin(75);
+ },
+ },
+ {
+ name: "FLASH - Flashcoin",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.flashcoin;
+ setHdCoin(120);
+ },
+ },
+ {
+ name: "FRST - Firstcoin",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.firstcoin;
+ setHdCoin(167);
+ },
+ },
+ {
+ name: "FTC - Feathercoin",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.feathercoin;
+ setHdCoin(8);
+ },
+ },
+ {
+ name: "GAME - GameCredits",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.game;
+ setHdCoin(101);
+ },
+ },
+ {
+ name: "GBX - Gobyte",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.gobyte;
+ setHdCoin(176);
+ },
+ },
+ {
+ name: "GCR - GCRCoin",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.gcr;
+ setHdCoin(79);
+ },
+ },
+ {
+ name: "GRC - Gridcoin",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.gridcoin;
+ setHdCoin(84);
+ },
+ },
+ {
+ name: "HNC - Helleniccoin",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.helleniccoin;
+ setHdCoin(168);
+ },
+ },
+ {
+ name: "HUSH - Hush (Legacy)",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.hush;
+ setHdCoin(197);
+ },
+ },
+ {
+ name: "HUSH - Hush3",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.hush3;
+ setHdCoin(197);
+ },
+ },
+ {
+ name: "INSN - Insane",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.insane;
+ setHdCoin(68);
+ },
+ },
+ {
+ name: "IOP - Iop",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.iop;
+ setHdCoin(66);
+ },
+ },
+ {
+ name: "IXC - Ixcoin",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.ixcoin;
+ setHdCoin(86);
+ },
+ },
+ {
+ name: "JBS - Jumbucks",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.jumbucks;
+ setHdCoin(26);
+ },
+ },
+ {
+ name: "KMD - Komodo",
+ bip49available: false,
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.komodo;
+ setHdCoin(141);
+ },
+ },
+ {
+ name: "KOBO - Kobocoin",
+ bip49available: false,
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.kobocoin;
+ setHdCoin(196);
+ },
+ },
+ {
+ name: "LBC - Library Credits",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.lbry;
+ setHdCoin(140);
+ },
+ },
+ {
+ name: "LCC - Litecoincash",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.litecoincash;
+ setHdCoin(192);
+ },
+ },
+ {
+ name: "LDCN - Landcoin",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.landcoin;
+ setHdCoin(63);
+ },
+ },
+ {
+ name: "LINX - Linx",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.linx;
+ setHdCoin(114);
+ },
+ },
+ {
+ name: "LKR - Lkrcoin",
+ segwitAvailable: false,
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.lkrcoin;
+ setHdCoin(557);
+ },
+ },
+ {
+ name: "LTC - Litecoin",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.litecoin;
+ setHdCoin(2);
+ DOM.litecoinLtubContainer.removeClass("hidden");
+ },
+ },
+ {
+ name: "LTCt - Litecoin Testnet",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.litecointestnet;
+ setHdCoin(1);
+ DOM.litecoinLtubContainer.removeClass("hidden");
+ },
+ },
+ {
+ name: "LTZ - LitecoinZ",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.litecoinz;
+ setHdCoin(221);
+ },
+ },
+ {
+ name: "LYNX - Lynx",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.lynx;
+ setHdCoin(191);
+ },
+ },
+ {
+ name: "MAZA - Maza",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.maza;
+ setHdCoin(13);
+ },
+ },
+ {
+ name: "MEC - Megacoin",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.megacoin;
+ setHdCoin(217);
+ },
+ },
+ {
+ name: "MIX - MIX",
+ segwitAvailable: false,
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.bitcoin;
+ setHdCoin(76);
+ },
+ },
+ {
+ name: "MNX - Minexcoin",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.minexcoin;
+ setHdCoin(182);
+ },
+ },
+ {
+ name: "MONA - Monacoin",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.monacoin,
+ setHdCoin(22);
+ },
+ },
+ {
+ name: "MUSIC - Musicoin",
+ segwitAvailable: false,
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.bitcoin;
+ setHdCoin(184);
+ },
+ },
+ {
+ name: "NAV - Navcoin",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.navcoin;
+ setHdCoin(130);
+ },
+ },
+ {
+ name: "NAS - Nebulas",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.bitcoin;
+ setHdCoin(2718);
+ },
+ },
+ {
+ name: "NEBL - Neblio",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.neblio;
+ setHdCoin(146);
+ },
+ },
+ {
+ name: "NEOS - Neoscoin",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.neoscoin;
+ setHdCoin(25);
+ },
+ },
+ {
+ name: "NIX - NIX Platform",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.nix;
+ setHdCoin(400);
+ },
+ },
+ {
+ name: "NLG - Gulden",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.gulden;
+ setHdCoin(87);
+ },
+ },
+ {
+ name: "NMC - Namecoin",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.namecoin;
+ setHdCoin(7);
+ },
+ },
+ {
+ name: "NRG - Energi",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.energi;
+ setHdCoin(204);
+ },
+ },
+ {
+ name: "NRO - Neurocoin",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.neurocoin;
+ setHdCoin(110);
+ },
+ },
+ {
+ name: "NSR - Nushares",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.nushares;
+ setHdCoin(11);
+ },
+ },
+ {
+ name: "NYC - Newyorkc",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.newyorkc;
+ setHdCoin(179);
+ },
+ },
+ {
+ name: "NVC - Novacoin",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.novacoin;
+ setHdCoin(50);
+ },
+ },
+ {
+ name: "OK - Okcash",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.okcash;
+ setHdCoin(69);
+ },
+ },
+ {
+ name: "OMNI - Omnicore",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.omnicore;
+ setHdCoin(200);
+ },
+ },
+ {
+ name: "ONION - DeepOnion",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.deeponion;
+ setHdCoin(305);
+ },
+ },
+ {
+ name: "ONX - Onixcoin",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.onixcoin;
+ setHdCoin(174);
+ },
+ },
+ {
+ name: "PHR - Phore",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.phore;
+ setHdCoin(444);
+ },
+ },
+ {
+ name: "PINK - Pinkcoin",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.pinkcoin;
+ setHdCoin(117);
+ },
+ },
+ {
+ name: "PIRL - Pirl",
+ segwitAvailable: false,
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.bitcoin;
+ setHdCoin(164);
+ },
+ },
+ {
+ name: "PIVX - PIVX",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.pivx;
+ setHdCoin(119);
+ },
+ },
+ {
+ name: "PIVX - PIVX Testnet",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.pivxtestnet;
+ setHdCoin(1);
+ },
+ },
+ {
+ name: "POA - Poa",
+ segwitAvailable: false,
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.bitcoin;
+ setHdCoin(178);
+ },
+ },
+ {
+ name: "POSW - POSWcoin",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.poswcoin;
+ setHdCoin(47);
+ },
+ },
+ {
+ name: "POT - Potcoin",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.potcoin;
+ setHdCoin(81);
+ },
+ },
+ {
+ name: "PPC - Peercoin",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.peercoin;
+ setHdCoin(6);
+ },
+ },
+ {
+ name: "PRJ - ProjectCoin",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.projectcoin;
+ setHdCoin(533);
+ },
+ },
+ {
+ name: "PSB - Pesobit",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.pesobit;
+ setHdCoin(62);
+ },
+ },
+ {
+ name: "PUT - Putincoin",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.putincoin;
+ setHdCoin(122);
+ },
+ },
+ {
+ name: "RVN - Ravencoin",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.ravencoin;
+ setHdCoin(175);
+ },
+ },
+ {
+ name: "RBY - Rubycoin",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.rubycoin;
+ setHdCoin(16);
+ },
+ },
+ {
+ name: "RDD - Reddcoin",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.reddcoin;
+ setHdCoin(4);
+ },
+ },
+ {
+ name: "RVR - RevolutionVR",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.revolutionvr;
+ setHdCoin(129);
+ },
+ },
+ {
+ name: "SAFE - Safecoin",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.safecoin;
+ setHdCoin(19165);
+ },
+ },
+ {
+ name: "SLS - Salus",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.salus;
+ setHdCoin(63);
+ },
+ },
+ {
+ name: "SDC - ShadowCash",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.shadow;
+ setHdCoin(35);
+ },
+ },
+ {
+ name: "SDC - ShadowCash Testnet",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.shadowtn;
+ setHdCoin(1);
+ },
+ },
+ {
+ name: "SLM - Slimcoin",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.slimcoin;
+ setHdCoin(63);
+ },
+ },
+ {
+ name: "SLM - Slimcoin Testnet",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.slimcointn;
+ setHdCoin(111);
+ },
+ },
+ {
+ name: "SLP - Simple Ledger Protocol",
+ onSelect: function() {
+ DOM.bitcoinCashAddressTypeContainer.removeClass("hidden");
+ setHdCoin(245);
+ },
+ },
+ {
+ name: "SLR - Solarcoin",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.solarcoin;
+ setHdCoin(58);
+ },
+ },
+ {
+ name: "SMLY - Smileycoin",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.smileycoin;
+ setHdCoin(59);
+ },
+ },
+ {
+ name: "STASH - Stash",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.stash;
+ setHdCoin(0xC0C0);
+ },
+ },
+ {
+ name: "STASH - Stash Testnet",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.stashtn;
+ setHdCoin(0xCAFE);
+ },
+ },
+ {
+ name: "STRAT - Stratis",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.stratis;
+ setHdCoin(105);
+ },
+ },
+ {
+ name: "TSTRAT - Stratis Testnet",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.stratistest;
+ setHdCoin(105);
+ },
+ },
+ {
+ name: "SYS - Syscoin",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.syscoin;
+ setHdCoin(57);
+ },
+ },
+ {
+ name: "THC - Hempcoin",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.hempcoin;
+ setHdCoin(113);
+ },
+ },
+ {
+ name: "TOA - Toa",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.toa;
+ setHdCoin(159);
+ },
+ },
+ {
+ name: "TWINS - TWINS",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.twins;
+ setHdCoin(970);
+ },
+ },
+ {
+ name: "TWINS - TWINS Testnet",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.twinstestnet;
+ setHdCoin(1);
+ },
+ },
+ {
+ name: "USC - Ultimatesecurecash",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.ultimatesecurecash;
+ setHdCoin(112);
+ },
+ },
+ {
+ name: "USNBT - NuBits",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.nubits;
+ setHdCoin(12);
+ },
+ },
+ {
+ name: "UNO - Unobtanium",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.unobtanium;
+ setHdCoin(92);
+ },
+ },
+ {
+ name: "VASH - Vpncoin",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.vpncoin;
+ setHdCoin(33);
+ },
+ },
+ {
+ name: "VET - VeChain",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.bitcoin;
+ setHdCoin(818);
+ },
+ },
+ {
+ name: "VIA - Viacoin",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.viacoin;
+ setHdCoin(14);
+ },
+ },
+ {
+ name: "VIA - Viacoin Testnet",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.viacointestnet;
+ setHdCoin(1);
+ },
+ },
+ {
+ name: "VIVO - Vivo",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.vivo;
+ setHdCoin(166);
+ },
+ },
+ {
+ name: "VTC - Vertcoin",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.vertcoin;
+ setHdCoin(28);
+ },
+ },
+ {
+ name: "WGR - Wagerr",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.wagerr;
+ setHdCoin(7825266);
+ },
+ },
+ {
+ name: "WC - Wincoin",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.wincoin;
+ setHdCoin(181);
+ },
+ },
+ {
+ name: "XAX - Artax",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.artax;
+ setHdCoin(219);
+ },
+ },
+ {
+ name: "XBC - Bitcoinplus",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.bitcoinplus;
+ setHdCoin(65);
+ },
+ },
+ {
+ name: "XLM - Stellar",
+ onSelect: function() {
+ network = stellarUtil.dummyNetwork;
+ setHdCoin(148);
+ },
+ },
+ {
+ name: "XMY - Myriadcoin",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.myriadcoin;
+ setHdCoin(90);
+ },
+ },
+ {
+ name: "XRP - Ripple",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.bitcoin;
+ setHdCoin(144);
+ },
+ },
+ {
+ name: "XVC - Vcash",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.vcash;
+ setHdCoin(127);
+ },
+ },
+ {
+ name: "XVG - Verge",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.verge;
+ setHdCoin(77);
+ },
+ },
+ {
+ name: "XUEZ - Xuez",
+ segwitAvailable: false,
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.xuez;
+ setHdCoin(225);
+ },
+ },
+ {
+ name: "XWC - Whitecoin",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.whitecoin;
+ setHdCoin(155);
+ },
+ },
+ {
+ name: "XZC - Zcoin",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.zcoin;
+ setHdCoin(136);
+ },
+ },
+ {
+ name: "ZCL - Zclassic",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.zclassic;
+ setHdCoin(147);
+ },
+ },
+ {
+ name: "ZEC - Zcash",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.zcash;
+ setHdCoin(133);
+ },
+ },
+ {
+ name: "ZEN - Zencash",
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.zencash;
+ setHdCoin(121);
+ },
+ },
+ ]
+
+ var clients = [
+ {
+ name: "Bitcoin Core",
+ onSelect: function() {
+ DOM.bip32path.val("m/0'/0'");
+ DOM.hardenedAddresses.prop('checked', true);
+ },
+ },
+ {
+ name: "blockchain.info",
+ onSelect: function() {
+ DOM.bip32path.val("m/44'/0'/0'");
+ DOM.hardenedAddresses.prop('checked', false);
+ },
+ },
+ {
+ name: "MultiBit HD",
+ onSelect: function() {
+ 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);
+ },
+ }
+ ]
+