aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bip39-standalone.html521
-rw-r--r--changelog.md12
-rw-r--r--src/css/app.css3
-rw-r--r--src/index.html177
-rw-r--r--src/js/index.js228
-rw-r--r--src/js/segwit-parameters.js14
-rw-r--r--tests/spec/tests.js61
7 files changed, 604 insertions, 412 deletions
diff --git a/bip39-standalone.html b/bip39-standalone.html
index 35a88d7..a559e9d 100644
--- a/bip39-standalone.html
+++ b/bip39-standalone.html
@@ -6866,6 +6866,9 @@ button.close {
6866 overflow-x: scroll; 6866 overflow-x: scroll;
6867 font-family: monospace; 6867 font-family: monospace;
6868} 6868}
6869.visual-privacy .private-data {
6870 display: none;
6871}
6869</style> 6872</style>
6870 <meta content="Mnemonic code for generating deterministic keys" name="description"/> 6873 <meta content="Mnemonic code for generating deterministic keys" name="description"/>
6871 <meta content="width=device-width, initial-scale=1.0" name="viewport" /> 6874 <meta content="width=device-width, initial-scale=1.0" name="viewport" />
@@ -6877,7 +6880,7 @@ button.close {
6877 <div class="container"> 6880 <div class="container">
6878 6881
6879 <h1 class="text-center">Mnemonic Code Converter</h1> 6882 <h1 class="text-center">Mnemonic Code Converter</h1>
6880 <p class="version">v0.3.6</p> 6883 <p class="version">v0.3.7</p>
6881 <hr> 6884 <hr>
6882 <div class="row"> 6885 <div class="row">
6883 <div class="col-md-12"> 6886 <div class="col-md-12">
@@ -6931,7 +6934,7 @@ button.close {
6931 <div class="form-group"> 6934 <div class="form-group">
6932 <label for="entropy" class="col-sm-2 control-label">Entropy</label> 6935 <label for="entropy" class="col-sm-2 control-label">Entropy</label>
6933 <div class="col-sm-7"> 6936 <div class="col-sm-7">
6934 <textarea id="entropy" rows="2" class="entropy form-control" placeholder="Accepts either binary, base 6, 6-sided dice, base 10, hexadecimal or cards"></textarea> 6937 <textarea id="entropy" rows="2" class="entropy private-data form-control" placeholder="Accepts either binary, base 6, 6-sided dice, base 10, hexadecimal or cards"></textarea>
6935 <div class="row filter-warning text-danger hidden"> 6938 <div class="row filter-warning text-danger hidden">
6936 <p class="col-sm-12"> 6939 <p class="col-sm-12">
6937 <strong> 6940 <strong>
@@ -6958,19 +6961,19 @@ button.close {
6958 <div class="bits col-sm-3 form-control-static"></div> 6961 <div class="bits col-sm-3 form-control-static"></div>
6959 </div> 6962 </div>
6960 <label class="col-sm-3 control-label">Filtered Entropy</label> 6963 <label class="col-sm-3 control-label">Filtered Entropy</label>
6961 <div class="filtered col-sm-9 form-control-static"></div> 6964 <div class="filtered private-data col-sm-9 form-control-static"></div>
6962 <label class="col-sm-3 control-label">Raw Binary</label> 6965 <label class="col-sm-3 control-label">Raw Binary</label>
6963 <div class="binary col-sm-9 form-control-static"></div> 6966 <div class="binary private-data col-sm-9 form-control-static"></div>
6964 <label class="col-sm-3 control-label">Binary Checksum</label> 6967 <label class="col-sm-3 control-label">Binary Checksum</label>
6965 <div class="checksum col-sm-9 form-control-static">&nbsp;</div> 6968 <div class="checksum private-data col-sm-9 form-control-static">&nbsp;</div>
6966 <label class="col-sm-3 control-label">Word Indexes</label> 6969 <label class="col-sm-3 control-label">Word Indexes</label>
6967 <div class="word-indexes col-sm-9 form-control-static">&nbsp;</div> 6970 <div class="word-indexes private-data col-sm-9 form-control-static">&nbsp;</div>
6968 <label class="col-sm-3 control-label">Mnemonic Length</label> 6971 <label class="col-sm-3 control-label">Mnemonic Length</label>
6969 <div class="col-sm-9"> 6972 <div class="col-sm-9">
6970 <select class="mnemonic-length form-control"> 6973 <select class="mnemonic-length form-control">
6971 <option value="raw" selected>Use Raw Entropy (3 words per 32 bits)</option> 6974 <option value="raw" selected>Use Raw Entropy (3 words per 32 bits)</option>
6972 <option value="12">12 <span>Words</span></option> 6975 <option value="12">12 <span>Words</span></option>
6973 <option value="15">15 <span>Words</option> 6976 <option value="15">15 <span>Words</span></option>
6974 <option value="18">18 <span>Words</span></option> 6977 <option value="18">18 <span>Words</span></option>
6975 <option value="21">21 <span>Words</span></option> 6978 <option value="21">21 <span>Words</span></option>
6976 <option value="24">24 <span>Words</span></option> 6979 <option value="24">24 <span>Words</span></option>
@@ -7005,6 +7008,15 @@ button.close {
7005 </div> 7008 </div>
7006 </div> 7009 </div>
7007 <div class="form-group"> 7010 <div class="form-group">
7011 <div class="col-sm-2"></div>
7012 <div class="col-sm-10 checkbox">
7013 <label>
7014 <input type="checkbox" class="privacy-screen-toggle">
7015 <span>Hide all private info</span>
7016 </label>
7017 </div>
7018 </div>
7019 <div class="form-group">
7008 <label class="col-sm-2 control-label">Mnemonic Language</label> 7020 <label class="col-sm-2 control-label">Mnemonic Language</label>
7009 <div class="col-sm-10 languages"> 7021 <div class="col-sm-10 languages">
7010 <div class="form-control no-border"> 7022 <div class="form-control no-border">
@@ -7022,19 +7034,19 @@ button.close {
7022 <div class="form-group"> 7034 <div class="form-group">
7023 <label for="phrase" class="col-sm-2 control-label">BIP39 Mnemonic</label> 7035 <label for="phrase" class="col-sm-2 control-label">BIP39 Mnemonic</label>
7024 <div class="col-sm-10"> 7036 <div class="col-sm-10">
7025 <textarea id="phrase" class="phrase form-control" data-show-qr></textarea> 7037 <textarea id="phrase" class="phrase private-data form-control" data-show-qr></textarea>
7026 </div> 7038 </div>
7027 </div> 7039 </div>
7028 <div class="form-group"> 7040 <div class="form-group">
7029 <label for="passphrase" class="col-sm-2 control-label">BIP39 Passphrase (optional)</label> 7041 <label for="passphrase" class="col-sm-2 control-label">BIP39 Passphrase (optional)</label>
7030 <div class="col-sm-10"> 7042 <div class="col-sm-10">
7031 <textarea id="passphrase" class="passphrase form-control"></textarea> 7043 <textarea id="passphrase" class="passphrase private-data form-control"></textarea>
7032 </div> 7044 </div>
7033 </div> 7045 </div>
7034 <div class="form-group"> 7046 <div class="form-group">
7035 <label for="seed" class="col-sm-2 control-label">BIP39 Seed</label> 7047 <label for="seed" class="col-sm-2 control-label">BIP39 Seed</label>
7036 <div class="col-sm-10"> 7048 <div class="col-sm-10">
7037 <textarea id="seed" class="seed form-control" readonly="readonly" data-show-qr></textarea> 7049 <textarea id="seed" class="seed private-data form-control" readonly="readonly" data-show-qr></textarea>
7038 </div> 7050 </div>
7039 </div> 7051 </div>
7040 <div class="form-group"> 7052 <div class="form-group">
@@ -7048,7 +7060,7 @@ button.close {
7048 <div class="form-group"> 7060 <div class="form-group">
7049 <label for="root-key" class="col-sm-2 control-label">BIP32 Root Key</label> 7061 <label for="root-key" class="col-sm-2 control-label">BIP32 Root Key</label>
7050 <div class="col-sm-10"> 7062 <div class="col-sm-10">
7051 <textarea id="root-key" class="root-key form-control" data-show-qr></textarea> 7063 <textarea id="root-key" class="root-key private-data form-control" data-show-qr></textarea>
7052 </div> 7064 </div>
7053 </div> 7065 </div>
7054 <div class="form-group litecoin-ltub-container hidden"> 7066 <div class="form-group litecoin-ltub-container hidden">
@@ -7141,7 +7153,7 @@ button.close {
7141 <span>Account Extended Private Key</span> 7153 <span>Account Extended Private Key</span>
7142 </label> 7154 </label>
7143 <div class="col-sm-10"> 7155 <div class="col-sm-10">
7144 <textarea id="account-xprv" type="text" class="account-xprv form-control" readonly data-show-qr></textarea> 7156 <textarea id="account-xprv" type="text" class="account-xprv private-data form-control" readonly data-show-qr></textarea>
7145 </div> 7157 </div>
7146 </div> 7158 </div>
7147 <div class="form-group"> 7159 <div class="form-group">
@@ -7301,7 +7313,7 @@ button.close {
7301 <span>Account Extended Private Key</span> 7313 <span>Account Extended Private Key</span>
7302 </label> 7314 </label>
7303 <div class="col-sm-10"> 7315 <div class="col-sm-10">
7304 <textarea id="account-xprv" type="text" class="account-xprv form-control" readonly data-show-qr></textarea> 7316 <textarea id="account-xprv" type="text" class="account-xprv private-data form-control" readonly data-show-qr></textarea>
7305 </div> 7317 </div>
7306 </div> 7318 </div>
7307 <div class="form-group"> 7319 <div class="form-group">
@@ -7368,79 +7380,89 @@ button.close {
7368 <div id="bip84" class="tab-pane"> 7380 <div id="bip84" class="tab-pane">
7369 <form class="form-horizontal" role="form"> 7381 <form class="form-horizontal" role="form">
7370 <br> 7382 <br>
7371 <div class="col-sm-2"></div> 7383 <div class="unavailable hidden">
7372 <div class="col-sm-10"> 7384 <div class="form-group">
7373 <p> 7385 <div class="col-sm-2"></div>
7374 For more info see the 7386 <div class="col-sm-10">
7375 <a href="https://github.com/bitcoin/bips/blob/master/bip-0084.mediawiki" target="_blank">BIP84 spec</a>. 7387 <p>BIP84 is unavailable for this coin.</p>
7376 </p> 7388 </div>
7377 </div>
7378 <div class="form-group">
7379 <label for="purpose" class="col-sm-2 control-label">
7380 Purpose
7381 </label>
7382 <div class="col-sm-10">
7383 <input id="purpose" type="text" class="purpose form-control" value="84" readonly>
7384 </div> 7389 </div>
7385 </div> 7390 </div>
7386 <div class="form-group"> 7391 <div class="available">
7387 <label for="coin" class="col-sm-2 control-label"> 7392 <div class="col-sm-2"></div>
7388 Coin
7389 </label>
7390 <div class="col-sm-10"> 7393 <div class="col-sm-10">
7391 <input id="coin" type="text" class="coin form-control" value="0" readonly> 7394 <p>
7395 For more info see the
7396 <a href="https://github.com/bitcoin/bips/blob/master/bip-0084.mediawiki" target="_blank">BIP84 spec</a>.
7397 </p>
7392 </div> 7398 </div>
7393 </div> 7399 <div class="form-group">
7394 <div class="form-group"> 7400 <label for="purpose" class="col-sm-2 control-label">
7395 <label for="account" class="col-sm-2 control-label"> 7401 Purpose
7396 Account 7402 </label>
7397 </label> 7403 <div class="col-sm-10">
7398 <div class="col-sm-10"> 7404 <input id="purpose" type="text" class="purpose form-control" value="84" readonly>
7399 <input id="account" type="text" class="account form-control" value="0"> 7405 </div>
7400 </div> 7406 </div>
7401 </div> 7407 <div class="form-group">
7402 <div class="form-group"> 7408 <label for="coin" class="col-sm-2 control-label">
7403 <label for="change" class="col-sm-2 control-label"> 7409 Coin
7404 External / Internal 7410 </label>
7405 </label> 7411 <div class="col-sm-10">
7406 <div class="col-sm-10"> 7412 <input id="coin" type="text" class="coin form-control" value="0" readonly>
7407 <input id="change" type="text" class="change form-control" value="0"> 7413 </div>
7408 </div> 7414 </div>
7409 </div> 7415 <div class="form-group">
7410 <div class="form-group"> 7416 <label for="account" class="col-sm-2 control-label">
7411 <label class="col-sm-2 control-label"> 7417 Account
7412 </label> 7418 </label>
7413 <div class="col-sm-10"> 7419 <div class="col-sm-10">
7414 <p>The account extended keys can be used for importing to most BIP84 compatible wallets.</p> 7420 <input id="account" type="text" class="account form-control" value="0">
7421 </div>
7415 </div> 7422 </div>
7416 </div> 7423 <div class="form-group">
7417 <div class="form-group"> 7424 <label for="change" class="col-sm-2 control-label">
7418 <label for="account-xprv" class="col-sm-2 control-label"> 7425 External / Internal
7419 <span>Account Extended Private Key</span> 7426 </label>
7420 </label> 7427 <div class="col-sm-10">
7421 <div class="col-sm-10"> 7428 <input id="change" type="text" class="change form-control" value="0">
7422 <textarea id="account-xprv" type="text" class="account-xprv form-control" readonly data-show-qr></textarea> 7429 </div>
7423 </div> 7430 </div>
7424 </div> 7431 <div class="form-group">
7425 <div class="form-group"> 7432 <label class="col-sm-2 control-label">
7426 <label for="account-xpub" class="col-sm-2 control-label"> 7433 </label>
7427 <span>Account Extended Public Key</span> 7434 <div class="col-sm-10">
7428 </label> 7435 <p>The account extended keys can be used for importing to most BIP84 compatible wallets.</p>
7429 <div class="col-sm-10"> 7436 </div>
7430 <textarea id="account-xpub" type="text" class="account-xpub form-control" readonly data-show-qr></textarea>
7431 </div> 7437 </div>
7432 </div> 7438 <div class="form-group">
7433 <div class="form-group"> 7439 <label for="account-xprv" class="col-sm-2 control-label">
7434 <label class="col-sm-2 control-label"> 7440 <span>Account Extended Private Key</span>
7435 </label> 7441 </label>
7436 <div class="col-sm-10"> 7442 <div class="col-sm-10">
7437 <p>The BIP32 derivation path and extended keys are the basis for the derived addresses.</p> 7443 <textarea id="account-xprv" type="text" class="account-xprv private-data form-control" readonly data-show-qr></textarea>
7444 </div>
7438 </div> 7445 </div>
7439 </div> 7446 <div class="form-group">
7440 <div class="form-group"> 7447 <label for="account-xpub" class="col-sm-2 control-label">
7441 <label for="bip84-path" class="col-sm-2 control-label">BIP32 Derivation Path</label> 7448 <span>Account Extended Public Key</span>
7442 <div class="col-sm-10"> 7449 </label>
7443 <input id="bip84-path" type="text" class="path form-control" value="m/84'/0'/0'/0" readonly="readonly"> 7450 <div class="col-sm-10">
7451 <textarea id="account-xpub" type="text" class="account-xpub form-control" readonly data-show-qr></textarea>
7452 </div>
7453 </div>
7454 <div class="form-group">
7455 <label class="col-sm-2 control-label">
7456 </label>
7457 <div class="col-sm-10">
7458 <p>The BIP32 derivation path and extended keys are the basis for the derived addresses.</p>
7459 </div>
7460 </div>
7461 <div class="form-group">
7462 <label for="bip84-path" class="col-sm-2 control-label">BIP32 Derivation Path</label>
7463 <div class="col-sm-10">
7464 <input id="bip84-path" type="text" class="path form-control" value="m/84'/0'/0'/0" readonly="readonly">
7465 </div>
7444 </div> 7466 </div>
7445 </div> 7467 </div>
7446 </form> 7468 </form>
@@ -7450,7 +7472,7 @@ button.close {
7450 <div class="form-group"> 7472 <div class="form-group">
7451 <label for="extended-priv-key" class="col-sm-2 control-label">BIP32 Extended Private Key</label> 7473 <label for="extended-priv-key" class="col-sm-2 control-label">BIP32 Extended Private Key</label>
7452 <div class="col-sm-10"> 7474 <div class="col-sm-10">
7453 <textarea id="extended-priv-key" class="extended-priv-key form-control" readonly="readonly" data-show-qr></textarea> 7475 <textarea id="extended-priv-key" class="extended-priv-key private-data form-control" readonly="readonly" data-show-qr></textarea>
7454 </div> 7476 </div>
7455 </div> 7477 </div>
7456 <div class="form-group"> 7478 <div class="form-group">
@@ -7496,7 +7518,7 @@ button.close {
7496 <input type="checkbox" class="use-bip38"> 7518 <input type="checkbox" class="use-bip38">
7497 <span>Encrypt private keys using BIP38 and this password:</span> 7519 <span>Encrypt private keys using BIP38 and this password:</span>
7498 </label> 7520 </label>
7499 <input class="bip38-password"> 7521 <input class="bip38-password private-data">
7500 <span>Enabling BIP38 means each key will take several minutes to generate.</span> 7522 <span>Enabling BIP38 means each key will take several minutes to generate.</span>
7501 </div> 7523 </div>
7502 </div> 7524 </div>
@@ -7761,7 +7783,7 @@ button.close {
7761 <td class="index"><span></span></td> 7783 <td class="index"><span></span></td>
7762 <td class="address"><span data-show-qr></span></td> 7784 <td class="address"><span data-show-qr></span></td>
7763 <td class="pubkey"><span data-show-qr></span></td> 7785 <td class="pubkey"><span data-show-qr></span></td>
7764 <td class="privkey"><span data-show-qr></span></td> 7786 <td class="privkey private-data"><span data-show-qr></span></td>
7765 </tr> 7787 </tr>
7766 </script> 7788 </script>
7767 <script>// From 7789 <script>// From
@@ -42144,9 +42166,9 @@ bitcoinjs.bitcoin.networks.axe = {
42144 public: 0x0488b21e, 42166 public: 0x0488b21e,
42145 private: 0x0488ade4 42167 private: 0x0488ade4
42146 }, 42168 },
42147 pubKeyHash: 0x4B, 42169 pubKeyHash: 0x37,
42148 scriptHash: 0xCB, // TODO set this correctly 42170 scriptHash: 0x10, // TODO set this correctly
42149 wif: 0xCB 42171 wif: 0xcc
42150}; 42172};
42151 42173
42152bitcoinjs.bitcoin.networks.slimcoin = { 42174bitcoinjs.bitcoin.networks.slimcoin = {
@@ -43229,7 +43251,72 @@ bitcoinjs.bitcoin.networks.zcash = {
43229 scriptHash: 0x1CBD, 43251 scriptHash: 0x1CBD,
43230 wif: 0x80, 43252 wif: 0x80,
43231}; 43253};
43232</script> 43254
43255bitcoinjs.bitcoin.networks.xuez = {
43256 messagePrefix: 'unused',
43257 bip32: {
43258 public: 0x022d2533,
43259 private: 0x0221312b
43260 },
43261 pubKeyHash: 0x4b,
43262 scriptHash: 0x12,
43263 wif: 0xd4
43264};
43265
43266bitcoinjs.bitcoin.networks.bitcoinprivate = {
43267 messagePrefix: '\x18BitcoinPrivate Signed Message:\n',
43268 bip32: {
43269 public: 0x0488B21E,
43270 private: 0x0488ADE4,
43271 },
43272 pubKeyHash: 0x1325,
43273 scriptHash: 0x13AF,
43274 wif: 0x80,
43275};
43276
43277bitcoinjs.bitcoin.networks.bitcoinz = {
43278 messagePrefix: '\x18BitcoinZ Signed Message:\n',
43279 bip32: {
43280 public: 0x0488B21E,
43281 private: 0x0488ADE4,
43282 },
43283 pubKeyHash: 0x1CB8,
43284 scriptHash: 0x1CBD,
43285 wif: 0x80,
43286};
43287
43288bitcoinjs.bitcoin.networks.zclassic = {
43289 messagePrefix: '\x18Zcash Signed Message:\n',
43290 bip32: {
43291 public: 0x0488B21E,
43292 private: 0x0488ADE4,
43293 },
43294 pubKeyHash: 0x1CB8,
43295 scriptHash: 0x1CBD,
43296 wif: 0x80,
43297};
43298
43299bitcoinjs.bitcoin.networks.zencash = {
43300 messagePrefix: '\x18Zcash Signed Message:\n',
43301 bip32: {
43302 public: 0x0488B21E,
43303 private: 0x0488ADE4,
43304 },
43305 pubKeyHash: 0x2089,
43306 scriptHash: 0x2096,
43307 wif: 0x80,
43308};
43309
43310bitcoinjs.bitcoin.networks.energi = {
43311 messagePrefix: 'DarkCoin Signed Message:\n',
43312 bip32: {
43313 public: 0x03B8C856,
43314 private: 0xD7DC6E9F,
43315 },
43316 pubKeyHash: 0x21,
43317 scriptHash: 0x35,
43318 wif: 0x6a,
43319};</script>
43233 <script>(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.bitcoinjsBip38 = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){ 43320 <script>(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.bitcoinjsBip38 = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
43234var asn1 = exports; 43321var asn1 = exports;
43235 43322
@@ -71208,6 +71295,7 @@ bitcoinjs.bitcoin.networks.testnet.p2wpkhInP2sh = {
71208bitcoinjs.bitcoin.networks.litecoin.p2wpkhInP2sh = { 71295bitcoinjs.bitcoin.networks.litecoin.p2wpkhInP2sh = {
71209 baseNetwork: "litecoin", 71296 baseNetwork: "litecoin",
71210 messagePrefix: '\x19Litecoin Signed Message:\n', 71297 messagePrefix: '\x19Litecoin Signed Message:\n',
71298 bech32: 'ltc',
71211 bip32: { 71299 bip32: {
71212 public: 0x01b26ef6, 71300 public: 0x01b26ef6,
71213 private: 0x01b26792 71301 private: 0x01b26792
@@ -106178,6 +106266,7 @@ window.Entropy = new (function() {
106178 var generationProcesses = []; 106266 var generationProcesses = [];
106179 106267
106180 var DOM = {}; 106268 var DOM = {};
106269 DOM.privacyScreenToggle = $(".privacy-screen-toggle");
106181 DOM.network = $(".network"); 106270 DOM.network = $(".network");
106182 DOM.bip32Client = $("#bip32-client"); 106271 DOM.bip32Client = $("#bip32-client");
106183 DOM.phraseNetwork = $("#network-phrase"); 106272 DOM.phraseNetwork = $("#network-phrase");
@@ -106232,6 +106321,8 @@ window.Entropy = new (function() {
106232 DOM.bip49accountXprv = $("#bip49 .account-xprv"); 106321 DOM.bip49accountXprv = $("#bip49 .account-xprv");
106233 DOM.bip49accountXpub = $("#bip49 .account-xpub"); 106322 DOM.bip49accountXpub = $("#bip49 .account-xpub");
106234 DOM.bip49change = $("#bip49 .change"); 106323 DOM.bip49change = $("#bip49 .change");
106324 DOM.bip84unavailable = $("#bip84 .unavailable");
106325 DOM.bip84available = $("#bip84 .available");
106235 DOM.bip84path = $("#bip84-path"); 106326 DOM.bip84path = $("#bip84-path");
106236 DOM.bip84purpose = $("#bip84 .purpose"); 106327 DOM.bip84purpose = $("#bip84 .purpose");
106237 DOM.bip84coin = $("#bip84 .coin"); 106328 DOM.bip84coin = $("#bip84 .coin");
@@ -106271,6 +106362,7 @@ window.Entropy = new (function() {
106271 106362
106272 function init() { 106363 function init() {
106273 // Events 106364 // Events
106365 DOM.privacyScreenToggle.on("change", privacyScreenToggled);
106274 DOM.generatedStrength.on("change", generatedStrengthChanged); 106366 DOM.generatedStrength.on("change", generatedStrengthChanged);
106275 DOM.network.on("change", networkChanged); 106367 DOM.network.on("change", networkChanged);
106276 DOM.bip32Client.on("change", bip32ClientChanged); 106368 DOM.bip32Client.on("change", bip32ClientChanged);
@@ -106331,13 +106423,7 @@ window.Entropy = new (function() {
106331 var networkIndex = e.target.value; 106423 var networkIndex = e.target.value;
106332 var network = networks[networkIndex]; 106424 var network = networks[networkIndex];
106333 network.onSelect(); 106425 network.onSelect();
106334 if (network.segwitAvailable) { 106426 adjustNetworkForSegwit();
106335 adjustNetworkForSegwit();
106336 showSegwitAvailable();
106337 }
106338 else {
106339 showSegwitUnavailable();
106340 }
106341 if (seed != null) { 106427 if (seed != null) {
106342 phraseChanged(); 106428 phraseChanged();
106343 } 106429 }
@@ -106527,8 +106613,11 @@ window.Entropy = new (function() {
106527 showPending(); 106613 showPending();
106528 // Don't show segwit if it's selected but network doesn't support it 106614 // Don't show segwit if it's selected but network doesn't support it
106529 if (segwitSelected() && !networkHasSegwit()) { 106615 if (segwitSelected() && !networkHasSegwit()) {
106616 showSegwitUnavailable();
106617 hidePending();
106530 return; 106618 return;
106531 } 106619 }
106620 showSegwitAvailable();
106532 // Get the derivation path 106621 // Get the derivation path
106533 var derivationPath = getDerivationPath(); 106622 var derivationPath = getDerivationPath();
106534 var errorText = findDerivationPathErrors(derivationPath); 106623 var errorText = findDerivationPathErrors(derivationPath);
@@ -106603,6 +106692,17 @@ window.Entropy = new (function() {
106603 $("td.privkey span").toggleClass("invisible"); 106692 $("td.privkey span").toggleClass("invisible");
106604 } 106693 }
106605 106694
106695 function privacyScreenToggled() {
106696 // private-data contains elements added to DOM at runtime
106697 // so catch all by adding visual privacy class to the root of the DOM
106698 if (DOM.privacyScreenToggle.prop("checked")) {
106699 $("body").addClass("visual-privacy");
106700 }
106701 else {
106702 $("body").removeClass("visual-privacy");
106703 }
106704 }
106705
106606 // Private methods 106706 // Private methods
106607 106707
106608 function generateRandomPhrase() { 106708 function generateRandomPhrase() {
@@ -106634,6 +106734,37 @@ window.Entropy = new (function() {
106634 } 106734 }
106635 106735
106636 function calcBip32RootKeyFromBase58(rootKeyBase58) { 106736 function calcBip32RootKeyFromBase58(rootKeyBase58) {
106737 // try parsing with various segwit network params since this extended
106738 // key may be from any one of them.
106739 if (networkHasSegwit()) {
106740 var n = network;
106741 if ("baseNetwork" in n) {
106742 n = bitcoinjs.bitcoin.networks[n.baseNetwork];
106743 }
106744 // try parsing using base network params
106745 try {
106746 bip32RootKey = bitcoinjs.bitcoin.HDNode.fromBase58(rootKeyBase58, n);
106747 return;
106748 }
106749 catch (e) {}
106750 // try parsing using p2wpkh params
106751 if ("p2wpkh" in n) {
106752 try {
106753 bip32RootKey = bitcoinjs.bitcoin.HDNode.fromBase58(rootKeyBase58, n.p2wpkh);
106754 return;
106755 }
106756 catch (e) {}
106757 }
106758 // try parsing using p2wpkh-in-p2sh network params
106759 if ("p2wpkhInP2sh" in n) {
106760 try {
106761 bip32RootKey = bitcoinjs.bitcoin.HDNode.fromBase58(rootKeyBase58, n.p2wpkhInP2sh);
106762 return;
106763 }
106764 catch (e) {}
106765 }
106766 }
106767 // try the network params as currently specified
106637 bip32RootKey = bitcoinjs.bitcoin.HDNode.fromBase58(rootKeyBase58, network); 106768 bip32RootKey = bitcoinjs.bitcoin.HDNode.fromBase58(rootKeyBase58, network);
106638 } 106769 }
106639 106770
@@ -106707,6 +106838,37 @@ window.Entropy = new (function() {
106707 } 106838 }
106708 106839
106709 function validateRootKey(rootKeyBase58) { 106840 function validateRootKey(rootKeyBase58) {
106841 // try various segwit network params since this extended key may be from
106842 // any one of them.
106843 if (networkHasSegwit()) {
106844 var n = network;
106845 if ("baseNetwork" in n) {
106846 n = bitcoinjs.bitcoin.networks[n.baseNetwork];
106847 }
106848 // try parsing using base network params
106849 try {
106850 bitcoinjs.bitcoin.HDNode.fromBase58(rootKeyBase58, n);
106851 return "";
106852 }
106853 catch (e) {}
106854 // try parsing using p2wpkh params
106855 if ("p2wpkh" in n) {
106856 try {
106857 bitcoinjs.bitcoin.HDNode.fromBase58(rootKeyBase58, n.p2wpkh);
106858 return "";
106859 }
106860 catch (e) {}
106861 }
106862 // try parsing using p2wpkh-in-p2sh network params
106863 if ("p2wpkhInP2sh" in n) {
106864 try {
106865 bitcoinjs.bitcoin.HDNode.fromBase58(rootKeyBase58, n.p2wpkhInP2sh);
106866 return "";
106867 }
106868 catch (e) {}
106869 }
106870 }
106871 // try the network params as currently specified
106710 try { 106872 try {
106711 bitcoinjs.bitcoin.HDNode.fromBase58(rootKeyBase58, network); 106873 bitcoinjs.bitcoin.HDNode.fromBase58(rootKeyBase58, network);
106712 } 106874 }
@@ -106968,7 +107130,7 @@ window.Entropy = new (function() {
106968 var keyPair = key.keyPair; 107130 var keyPair = key.keyPair;
106969 var useUncompressed = useBip38; 107131 var useUncompressed = useBip38;
106970 if (useUncompressed) { 107132 if (useUncompressed) {
106971 keyPair = new bitcoinjs.bitcoin.ECPair(keyPair.d, null, { compressed: false }); 107133 keyPair = new bitcoinjs.bitcoin.ECPair(keyPair.d, null, { network: network, compressed: false });
106972 } 107134 }
106973 // get address 107135 // get address
106974 var address = keyPair.getAddress().toString(); 107136 var address = keyPair.getAddress().toString();
@@ -106976,7 +107138,7 @@ window.Entropy = new (function() {
106976 var hasPrivkey = !key.isNeutered(); 107138 var hasPrivkey = !key.isNeutered();
106977 var privkey = "NA"; 107139 var privkey = "NA";
106978 if (hasPrivkey) { 107140 if (hasPrivkey) {
106979 privkey = keyPair.toWIF(network); 107141 privkey = keyPair.toWIF();
106980 // BIP38 encode private key if required 107142 // BIP38 encode private key if required
106981 if (useBip38) { 107143 if (useBip38) {
106982 privkey = bitcoinjsBip38.encrypt(keyPair.d.toBuffer(), false, bip38password, function(p) { 107144 privkey = bitcoinjsBip38.encrypt(keyPair.d.toBuffer(), false, bip38password, function(p) {
@@ -107546,7 +107708,20 @@ window.Entropy = new (function() {
107546 } 107708 }
107547 107709
107548 function networkHasSegwit() { 107710 function networkHasSegwit() {
107549 return networks[DOM.network.val()].segwitAvailable; 107711 var n = network;
107712 if ("baseNetwork" in network) {
107713 n = bitcoinjs.bitcoin.networks[network.baseNetwork];
107714 }
107715 // check if only p2wpkh params are required
107716 if (p2wpkhSelected()) {
107717 return "p2wpkh" in n;
107718 }
107719 // check if only p2wpkh-in-p2sh params are required
107720 else if (p2wpkhInP2shSelected()) {
107721 return "p2wpkhInP2sh" in n;
107722 }
107723 // require both if it's unclear which params are required
107724 return "p2wpkh" in n && "p2wpkhInP2sh" in n;
107550 } 107725 }
107551 107726
107552 function bip49TabSelected() { 107727 function bip49TabSelected() {
@@ -107570,6 +107745,8 @@ window.Entropy = new (function() {
107570 function showSegwitAvailable() { 107745 function showSegwitAvailable() {
107571 DOM.bip49unavailable.addClass("hidden"); 107746 DOM.bip49unavailable.addClass("hidden");
107572 DOM.bip49available.removeClass("hidden"); 107747 DOM.bip49available.removeClass("hidden");
107748 DOM.bip84unavailable.addClass("hidden");
107749 DOM.bip84available.removeClass("hidden");
107573 DOM.bip141unavailable.addClass("hidden"); 107750 DOM.bip141unavailable.addClass("hidden");
107574 DOM.bip141available.removeClass("hidden"); 107751 DOM.bip141available.removeClass("hidden");
107575 } 107752 }
@@ -107577,6 +107754,8 @@ window.Entropy = new (function() {
107577 function showSegwitUnavailable() { 107754 function showSegwitUnavailable() {
107578 DOM.bip49available.addClass("hidden"); 107755 DOM.bip49available.addClass("hidden");
107579 DOM.bip49unavailable.removeClass("hidden"); 107756 DOM.bip49unavailable.removeClass("hidden");
107757 DOM.bip84available.addClass("hidden");
107758 DOM.bip84unavailable.removeClass("hidden");
107580 DOM.bip141available.addClass("hidden"); 107759 DOM.bip141available.addClass("hidden");
107581 DOM.bip141unavailable.removeClass("hidden"); 107760 DOM.bip141unavailable.removeClass("hidden");
107582 } 107761 }
@@ -107691,7 +107870,6 @@ window.Entropy = new (function() {
107691 var networks = [ 107870 var networks = [
107692 { 107871 {
107693 name: "AC - Asiacoin", 107872 name: "AC - Asiacoin",
107694 segwitAvailable: false,
107695 onSelect: function() { 107873 onSelect: function() {
107696 network = bitcoinjs.bitcoin.networks.asiacoin; 107874 network = bitcoinjs.bitcoin.networks.asiacoin;
107697 setHdCoin(51); 107875 setHdCoin(51);
@@ -107699,7 +107877,6 @@ window.Entropy = new (function() {
107699 }, 107877 },
107700 { 107878 {
107701 name: "ACC - Adcoin", 107879 name: "ACC - Adcoin",
107702 segwitAvailable: true,
107703 onSelect: function() { 107880 onSelect: function() {
107704 network = bitcoinjs.bitcoin.networks.adcoin; 107881 network = bitcoinjs.bitcoin.networks.adcoin;
107705 setHdCoin(161); 107882 setHdCoin(161);
@@ -107707,7 +107884,6 @@ window.Entropy = new (function() {
107707 }, 107884 },
107708 { 107885 {
107709 name: "AUR - Auroracoin", 107886 name: "AUR - Auroracoin",
107710 segwitAvailable: false,
107711 onSelect: function() { 107887 onSelect: function() {
107712 network = bitcoinjs.bitcoin.networks.auroracoin; 107888 network = bitcoinjs.bitcoin.networks.auroracoin;
107713 setHdCoin(85); 107889 setHdCoin(85);
@@ -107715,15 +107891,13 @@ window.Entropy = new (function() {
107715 }, 107891 },
107716 { 107892 {
107717 name: "AXE - Axe", 107893 name: "AXE - Axe",
107718 segwitAvailable: false,
107719 onSelect: function() { 107894 onSelect: function() {
107720 network = bitcoinjs.bitcoin.networks.axe; 107895 network = bitcoinjs.bitcoin.networks.axe;
107721 setHdCoin(0); 107896 setHdCoin(4242);
107722 }, 107897 },
107723 }, 107898 },
107724 { 107899 {
107725 name: "BCA - Bitcoin Atom", 107900 name: "BCA - Bitcoin Atom",
107726 segwitAvailable: true,
107727 onSelect: function() { 107901 onSelect: function() {
107728 network = bitcoinjs.bitcoin.networks.atom; 107902 network = bitcoinjs.bitcoin.networks.atom;
107729 setHdCoin(185); 107903 setHdCoin(185);
@@ -107731,7 +107905,6 @@ window.Entropy = new (function() {
107731 }, 107905 },
107732 { 107906 {
107733 name: "BCH - Bitcoin Cash", 107907 name: "BCH - Bitcoin Cash",
107734 segwitAvailable: false,
107735 onSelect: function() { 107908 onSelect: function() {
107736 DOM.bitcoinCashAddressTypeContainer.removeClass("hidden"); 107909 DOM.bitcoinCashAddressTypeContainer.removeClass("hidden");
107737 setHdCoin(145); 107910 setHdCoin(145);
@@ -107739,7 +107912,6 @@ window.Entropy = new (function() {
107739 }, 107912 },
107740 { 107913 {
107741 name: "BEET - Beetlecoin", 107914 name: "BEET - Beetlecoin",
107742 segwitAvailable: false,
107743 onSelect: function() { 107915 onSelect: function() {
107744 network = bitcoinjs.bitcoin.networks.beetlecoin; 107916 network = bitcoinjs.bitcoin.networks.beetlecoin;
107745 setHdCoin(800); 107917 setHdCoin(800);
@@ -107747,7 +107919,6 @@ window.Entropy = new (function() {
107747 }, 107919 },
107748 { 107920 {
107749 name: "BELA - Belacoin", 107921 name: "BELA - Belacoin",
107750 segwitAvailable: false,
107751 onSelect: function() { 107922 onSelect: function() {
107752 network = bitcoinjs.bitcoin.networks.belacoin; 107923 network = bitcoinjs.bitcoin.networks.belacoin;
107753 setHdCoin(73); 107924 setHdCoin(73);
@@ -107755,7 +107926,6 @@ window.Entropy = new (function() {
107755 }, 107926 },
107756 { 107927 {
107757 name: "BLK - BlackCoin", 107928 name: "BLK - BlackCoin",
107758 segwitAvailable: false,
107759 onSelect: function() { 107929 onSelect: function() {
107760 network = bitcoinjs.bitcoin.networks.blackcoin; 107930 network = bitcoinjs.bitcoin.networks.blackcoin;
107761 setHdCoin(10); 107931 setHdCoin(10);
@@ -107763,7 +107933,6 @@ window.Entropy = new (function() {
107763 }, 107933 },
107764 { 107934 {
107765 name: "BRIT - Britcoin", 107935 name: "BRIT - Britcoin",
107766 segwitAvailable: false,
107767 onSelect: function() { 107936 onSelect: function() {
107768 network = bitcoinjs.bitcoin.networks.britcoin; 107937 network = bitcoinjs.bitcoin.networks.britcoin;
107769 setHdCoin(70); 107938 setHdCoin(70);
@@ -107771,7 +107940,6 @@ window.Entropy = new (function() {
107771 }, 107940 },
107772 { 107941 {
107773 name: "BSD - Bitsend", 107942 name: "BSD - Bitsend",
107774 segwitAvailable: true,
107775 onSelect: function() { 107943 onSelect: function() {
107776 network = bitcoinjs.bitcoin.networks.bitsend; 107944 network = bitcoinjs.bitcoin.networks.bitsend;
107777 setHdCoin(91); 107945 setHdCoin(91);
@@ -107779,7 +107947,6 @@ window.Entropy = new (function() {
107779 }, 107947 },
107780 { 107948 {
107781 name: "BTA - Bata", 107949 name: "BTA - Bata",
107782 segwitAvailable: false,
107783 onSelect: function() { 107950 onSelect: function() {
107784 network = bitcoinjs.bitcoin.networks.bata; 107951 network = bitcoinjs.bitcoin.networks.bata;
107785 setHdCoin(89); 107952 setHdCoin(89);
@@ -107787,7 +107954,6 @@ window.Entropy = new (function() {
107787 }, 107954 },
107788 { 107955 {
107789 name: "BTC - Bitcoin", 107956 name: "BTC - Bitcoin",
107790 segwitAvailable: true,
107791 onSelect: function() { 107957 onSelect: function() {
107792 network = bitcoinjs.bitcoin.networks.bitcoin; 107958 network = bitcoinjs.bitcoin.networks.bitcoin;
107793 setHdCoin(0); 107959 setHdCoin(0);
@@ -107795,15 +107961,27 @@ window.Entropy = new (function() {
107795 }, 107961 },
107796 { 107962 {
107797 name: "BTC - Bitcoin Testnet", 107963 name: "BTC - Bitcoin Testnet",
107798 segwitAvailable: true,
107799 onSelect: function() { 107964 onSelect: function() {
107800 network = bitcoinjs.bitcoin.networks.testnet; 107965 network = bitcoinjs.bitcoin.networks.testnet;
107801 setHdCoin(1); 107966 setHdCoin(1);
107802 }, 107967 },
107803 }, 107968 },
107804 { 107969 {
107970 name: "BTCP - Bitcoin Private",
107971 onSelect: function() {
107972 network = bitcoinjs.bitcoin.networks.bitcoinprivate;
107973 setHdCoin(183);
107974 },
107975 },
107976 {
107977 name: "BTCZ - Bitcoinz",
107978 onSelect: function() {
107979 network = bitcoinjs.bitcoin.networks.bitcoinz;
107980 setHdCoin(177);
107981 },
107982 },
107983 {
107805 name: "BTG - Bitcoin Gold", 107984 name: "BTG - Bitcoin Gold",
107806 segwitAvailable: true,
107807 onSelect: function() { 107985 onSelect: function() {
107808 network = bitcoinjs.bitcoin.networks.bgold; 107986 network = bitcoinjs.bitcoin.networks.bgold;
107809 setHdCoin(156); 107987 setHdCoin(156);
@@ -107811,7 +107989,6 @@ window.Entropy = new (function() {
107811 }, 107989 },
107812 { 107990 {
107813 name: "BTX - Bitcore", 107991 name: "BTX - Bitcore",
107814 segwitAvailable: true,
107815 onSelect: function() { 107992 onSelect: function() {
107816 network = bitcoinjs.bitcoin.networks.bitcore; 107993 network = bitcoinjs.bitcoin.networks.bitcore;
107817 setHdCoin(160); 107994 setHdCoin(160);
@@ -107819,7 +107996,6 @@ window.Entropy = new (function() {
107819 }, 107996 },
107820 { 107997 {
107821 name: "CCN - Cannacoin", 107998 name: "CCN - Cannacoin",
107822 segwitAvailable: false,
107823 onSelect: function() { 107999 onSelect: function() {
107824 network = bitcoinjs.bitcoin.networks.cannacoin; 108000 network = bitcoinjs.bitcoin.networks.cannacoin;
107825 setHdCoin(19); 108001 setHdCoin(19);
@@ -107827,7 +108003,6 @@ window.Entropy = new (function() {
107827 }, 108003 },
107828 { 108004 {
107829 name: "CDN - Canadaecoin", 108005 name: "CDN - Canadaecoin",
107830 segwitAvailable: false,
107831 onSelect: function() { 108006 onSelect: function() {
107832 network = bitcoinjs.bitcoin.networks.canadaecoin; 108007 network = bitcoinjs.bitcoin.networks.canadaecoin;
107833 setHdCoin(34); 108008 setHdCoin(34);
@@ -107835,7 +108010,6 @@ window.Entropy = new (function() {
107835 }, 108010 },
107836 { 108011 {
107837 name: "CLAM - Clams", 108012 name: "CLAM - Clams",
107838 segwitAvailable: false,
107839 onSelect: function() { 108013 onSelect: function() {
107840 network = bitcoinjs.bitcoin.networks.clam; 108014 network = bitcoinjs.bitcoin.networks.clam;
107841 setHdCoin(23); 108015 setHdCoin(23);
@@ -107843,7 +108017,6 @@ window.Entropy = new (function() {
107843 }, 108017 },
107844 { 108018 {
107845 name: "CLUB - Clubcoin", 108019 name: "CLUB - Clubcoin",
107846 segwitAvailable: false,
107847 onSelect: function() { 108020 onSelect: function() {
107848 network = bitcoinjs.bitcoin.networks.clubcoin; 108021 network = bitcoinjs.bitcoin.networks.clubcoin;
107849 setHdCoin(79); 108022 setHdCoin(79);
@@ -107851,7 +108024,6 @@ window.Entropy = new (function() {
107851 }, 108024 },
107852 { 108025 {
107853 name: "CMP - Compcoin", 108026 name: "CMP - Compcoin",
107854 segwitAvailable: false,
107855 onSelect: function() { 108027 onSelect: function() {
107856 network = bitcoinjs.bitcoin.networks.compcoin; 108028 network = bitcoinjs.bitcoin.networks.compcoin;
107857 setHdCoin(71); 108029 setHdCoin(71);
@@ -107859,7 +108031,6 @@ window.Entropy = new (function() {
107859 }, 108031 },
107860 { 108032 {
107861 name: "CRAVE - Crave", 108033 name: "CRAVE - Crave",
107862 segwitAvailable: false,
107863 onSelect: function() { 108034 onSelect: function() {
107864 network = bitcoinjs.bitcoin.networks.crave; 108035 network = bitcoinjs.bitcoin.networks.crave;
107865 setHdCoin(186); 108036 setHdCoin(186);
@@ -107867,7 +108038,6 @@ window.Entropy = new (function() {
107867 }, 108038 },
107868 { 108039 {
107869 name: "CRW - Crown", 108040 name: "CRW - Crown",
107870 segwitAvailable: false,
107871 onSelect: function() { 108041 onSelect: function() {
107872 network = bitcoinjs.bitcoin.networks.crown; 108042 network = bitcoinjs.bitcoin.networks.crown;
107873 setHdCoin(72); 108043 setHdCoin(72);
@@ -107875,7 +108045,6 @@ window.Entropy = new (function() {
107875 }, 108045 },
107876 { 108046 {
107877 name: "DASH - Dash", 108047 name: "DASH - Dash",
107878 segwitAvailable: false,
107879 onSelect: function() { 108048 onSelect: function() {
107880 network = bitcoinjs.bitcoin.networks.dash; 108049 network = bitcoinjs.bitcoin.networks.dash;
107881 setHdCoin(5); 108050 setHdCoin(5);
@@ -107883,7 +108052,6 @@ window.Entropy = new (function() {
107883 }, 108052 },
107884 { 108053 {
107885 name: "DASH - Dash Testnet", 108054 name: "DASH - Dash Testnet",
107886 segwitAvailable: false,
107887 onSelect: function() { 108055 onSelect: function() {
107888 network = bitcoinjs.bitcoin.networks.dashtn; 108056 network = bitcoinjs.bitcoin.networks.dashtn;
107889 setHdCoin(1); 108057 setHdCoin(1);
@@ -107891,7 +108059,6 @@ window.Entropy = new (function() {
107891 }, 108059 },
107892 { 108060 {
107893 name: "DFC - Defcoin", 108061 name: "DFC - Defcoin",
107894 segwitAvailable: false,
107895 onSelect: function() { 108062 onSelect: function() {
107896 network = bitcoinjs.bitcoin.networks.defcoin; 108063 network = bitcoinjs.bitcoin.networks.defcoin;
107897 setHdCoin(1337); 108064 setHdCoin(1337);
@@ -107899,7 +108066,6 @@ window.Entropy = new (function() {
107899 }, 108066 },
107900 { 108067 {
107901 name: "DGB - Digibyte", 108068 name: "DGB - Digibyte",
107902 segwitAvailable: true,
107903 onSelect: function() { 108069 onSelect: function() {
107904 network = bitcoinjs.bitcoin.networks.digibyte; 108070 network = bitcoinjs.bitcoin.networks.digibyte;
107905 setHdCoin(20); 108071 setHdCoin(20);
@@ -107907,7 +108073,6 @@ window.Entropy = new (function() {
107907 }, 108073 },
107908 { 108074 {
107909 name: "DGC - Digitalcoin", 108075 name: "DGC - Digitalcoin",
107910 segwitAvailable: false,
107911 onSelect: function() { 108076 onSelect: function() {
107912 network = bitcoinjs.bitcoin.networks.digitalcoin; 108077 network = bitcoinjs.bitcoin.networks.digitalcoin;
107913 setHdCoin(18); 108078 setHdCoin(18);
@@ -107915,7 +108080,6 @@ window.Entropy = new (function() {
107915 }, 108080 },
107916 { 108081 {
107917 name: "DMD - Diamond", 108082 name: "DMD - Diamond",
107918 segwitAvailable: false,
107919 onSelect: function() { 108083 onSelect: function() {
107920 network = bitcoinjs.bitcoin.networks.diamond; 108084 network = bitcoinjs.bitcoin.networks.diamond;
107921 setHdCoin(152); 108085 setHdCoin(152);
@@ -107923,7 +108087,6 @@ window.Entropy = new (function() {
107923 }, 108087 },
107924 { 108088 {
107925 name: "DNR - Denarius", 108089 name: "DNR - Denarius",
107926 segwitAvailable: false,
107927 onSelect: function() { 108090 onSelect: function() {
107928 network = bitcoinjs.bitcoin.networks.denarius; 108091 network = bitcoinjs.bitcoin.networks.denarius;
107929 setHdCoin(116); 108092 setHdCoin(116);
@@ -107931,7 +108094,6 @@ window.Entropy = new (function() {
107931 }, 108094 },
107932 { 108095 {
107933 name: "DOGE - Dogecoin", 108096 name: "DOGE - Dogecoin",
107934 segwitAvailable: false,
107935 onSelect: function() { 108097 onSelect: function() {
107936 network = bitcoinjs.bitcoin.networks.dogecoin; 108098 network = bitcoinjs.bitcoin.networks.dogecoin;
107937 setHdCoin(3); 108099 setHdCoin(3);
@@ -107939,7 +108101,6 @@ window.Entropy = new (function() {
107939 }, 108101 },
107940 { 108102 {
107941 name: "ECN - Ecoin", 108103 name: "ECN - Ecoin",
107942 segwitAvailable: false,
107943 onSelect: function() { 108104 onSelect: function() {
107944 network = bitcoinjs.bitcoin.networks.ecoin; 108105 network = bitcoinjs.bitcoin.networks.ecoin;
107945 setHdCoin(115); 108106 setHdCoin(115);
@@ -107947,7 +108108,6 @@ window.Entropy = new (function() {
107947 }, 108108 },
107948 { 108109 {
107949 name: "EDRC - Edrcoin", 108110 name: "EDRC - Edrcoin",
107950 segwitAvailable: false,
107951 onSelect: function() { 108111 onSelect: function() {
107952 network = bitcoinjs.bitcoin.networks.edrcoin; 108112 network = bitcoinjs.bitcoin.networks.edrcoin;
107953 setHdCoin(56); 108113 setHdCoin(56);
@@ -107955,7 +108115,6 @@ window.Entropy = new (function() {
107955 }, 108115 },
107956 { 108116 {
107957 name: "EFL - Egulden", 108117 name: "EFL - Egulden",
107958 segwitAvailable: true,
107959 onSelect: function() { 108118 onSelect: function() {
107960 network = bitcoinjs.bitcoin.networks.egulden; 108119 network = bitcoinjs.bitcoin.networks.egulden;
107961 setHdCoin(78); 108120 setHdCoin(78);
@@ -107963,7 +108122,6 @@ window.Entropy = new (function() {
107963 }, 108122 },
107964 { 108123 {
107965 name: "EMC2 - Einsteinium", 108124 name: "EMC2 - Einsteinium",
107966 segwitAvailable: false,
107967 onSelect: function() { 108125 onSelect: function() {
107968 network = bitcoinjs.bitcoin.networks.einsteinium; 108126 network = bitcoinjs.bitcoin.networks.einsteinium;
107969 setHdCoin(41); 108127 setHdCoin(41);
@@ -107971,7 +108129,6 @@ window.Entropy = new (function() {
107971 }, 108129 },
107972 { 108130 {
107973 name: "ERC - Europecoin", 108131 name: "ERC - Europecoin",
107974 segwitAvailable: false,
107975 onSelect: function() { 108132 onSelect: function() {
107976 network = bitcoinjs.bitcoin.networks.europecoin; 108133 network = bitcoinjs.bitcoin.networks.europecoin;
107977 setHdCoin(151); 108134 setHdCoin(151);
@@ -107979,7 +108136,6 @@ window.Entropy = new (function() {
107979 }, 108136 },
107980 { 108137 {
107981 name: "ETH - Ethereum", 108138 name: "ETH - Ethereum",
107982 segwitAvailable: false,
107983 onSelect: function() { 108139 onSelect: function() {
107984 network = bitcoinjs.bitcoin.networks.bitcoin; 108140 network = bitcoinjs.bitcoin.networks.bitcoin;
107985 setHdCoin(60); 108141 setHdCoin(60);
@@ -107987,7 +108143,6 @@ window.Entropy = new (function() {
107987 }, 108143 },
107988 { 108144 {
107989 name: "EXCL - Exclusivecoin", 108145 name: "EXCL - Exclusivecoin",
107990 segwitAvailable: false,
107991 onSelect: function() { 108146 onSelect: function() {
107992 network = bitcoinjs.bitcoin.networks.exclusivecoin; 108147 network = bitcoinjs.bitcoin.networks.exclusivecoin;
107993 setHdCoin(190); 108148 setHdCoin(190);
@@ -107995,7 +108150,6 @@ window.Entropy = new (function() {
107995 }, 108150 },
107996 { 108151 {
107997 name: "FJC - Fujicoin", 108152 name: "FJC - Fujicoin",
107998 segwitAvailable: true,
107999 onSelect: function() { 108153 onSelect: function() {
108000 network = bitcoinjs.bitcoin.networks.fujicoin; 108154 network = bitcoinjs.bitcoin.networks.fujicoin;
108001 setHdCoin(75); 108155 setHdCoin(75);
@@ -108003,7 +108157,6 @@ window.Entropy = new (function() {
108003 }, 108157 },
108004 { 108158 {
108005 name: "FLASH - Flashcoin", 108159 name: "FLASH - Flashcoin",
108006 segwitAvailable: false,
108007 onSelect: function() { 108160 onSelect: function() {
108008 network = bitcoinjs.bitcoin.networks.flashcoin; 108161 network = bitcoinjs.bitcoin.networks.flashcoin;
108009 setHdCoin(120); 108162 setHdCoin(120);
@@ -108011,7 +108164,6 @@ window.Entropy = new (function() {
108011 }, 108164 },
108012 { 108165 {
108013 name: "FRST - Firstcoin", 108166 name: "FRST - Firstcoin",
108014 segwitAvailable: false,
108015 onSelect: function() { 108167 onSelect: function() {
108016 network = bitcoinjs.bitcoin.networks.firstcoin; 108168 network = bitcoinjs.bitcoin.networks.firstcoin;
108017 setHdCoin(167); 108169 setHdCoin(167);
@@ -108019,7 +108171,6 @@ window.Entropy = new (function() {
108019 }, 108171 },
108020 { 108172 {
108021 name: "FTC - Feathercoin", 108173 name: "FTC - Feathercoin",
108022 segwitAvailable: true,
108023 onSelect: function() { 108174 onSelect: function() {
108024 network = bitcoinjs.bitcoin.networks.feathercoin; 108175 network = bitcoinjs.bitcoin.networks.feathercoin;
108025 setHdCoin(8); 108176 setHdCoin(8);
@@ -108027,7 +108178,6 @@ window.Entropy = new (function() {
108027 }, 108178 },
108028 { 108179 {
108029 name: "GAME - GameCredits", 108180 name: "GAME - GameCredits",
108030 segwitAvailable: false,
108031 onSelect: function() { 108181 onSelect: function() {
108032 network = bitcoinjs.bitcoin.networks.game; 108182 network = bitcoinjs.bitcoin.networks.game;
108033 setHdCoin(101); 108183 setHdCoin(101);
@@ -108035,7 +108185,6 @@ window.Entropy = new (function() {
108035 }, 108185 },
108036 { 108186 {
108037 name: "GBX - Gobyte", 108187 name: "GBX - Gobyte",
108038 segwitAvailable: false,
108039 onSelect: function() { 108188 onSelect: function() {
108040 network = bitcoinjs.bitcoin.networks.gobyte; 108189 network = bitcoinjs.bitcoin.networks.gobyte;
108041 setHdCoin(176); 108190 setHdCoin(176);
@@ -108043,7 +108192,6 @@ window.Entropy = new (function() {
108043 }, 108192 },
108044 { 108193 {
108045 name: "GCR - GCRCoin", 108194 name: "GCR - GCRCoin",
108046 segwitAvailable: false,
108047 onSelect: function() { 108195 onSelect: function() {
108048 network = bitcoinjs.bitcoin.networks.gcr; 108196 network = bitcoinjs.bitcoin.networks.gcr;
108049 setHdCoin(79); 108197 setHdCoin(79);
@@ -108051,7 +108199,6 @@ window.Entropy = new (function() {
108051 }, 108199 },
108052 { 108200 {
108053 name: "GRC - Gridcoin", 108201 name: "GRC - Gridcoin",
108054 segwitAvailable: false,
108055 onSelect: function() { 108202 onSelect: function() {
108056 network = bitcoinjs.bitcoin.networks.gridcoin; 108203 network = bitcoinjs.bitcoin.networks.gridcoin;
108057 setHdCoin(84); 108204 setHdCoin(84);
@@ -108059,7 +108206,6 @@ window.Entropy = new (function() {
108059 }, 108206 },
108060 { 108207 {
108061 name: "HNC - Helleniccoin", 108208 name: "HNC - Helleniccoin",
108062 segwitAvailable: false,
108063 onSelect: function() { 108209 onSelect: function() {
108064 network = bitcoinjs.bitcoin.networks.helleniccoin; 108210 network = bitcoinjs.bitcoin.networks.helleniccoin;
108065 setHdCoin(168); 108211 setHdCoin(168);
@@ -108067,7 +108213,6 @@ window.Entropy = new (function() {
108067 }, 108213 },
108068 { 108214 {
108069 name: "INSN - Insane", 108215 name: "INSN - Insane",
108070 segwitAvailable: false,
108071 onSelect: function() { 108216 onSelect: function() {
108072 network = bitcoinjs.bitcoin.networks.insane; 108217 network = bitcoinjs.bitcoin.networks.insane;
108073 setHdCoin(68); 108218 setHdCoin(68);
@@ -108075,7 +108220,6 @@ window.Entropy = new (function() {
108075 }, 108220 },
108076 { 108221 {
108077 name: "IOP - Iop", 108222 name: "IOP - Iop",
108078 segwitAvailable: true,
108079 onSelect: function() { 108223 onSelect: function() {
108080 network = bitcoinjs.bitcoin.networks.iop; 108224 network = bitcoinjs.bitcoin.networks.iop;
108081 setHdCoin(66); 108225 setHdCoin(66);
@@ -108083,7 +108227,6 @@ window.Entropy = new (function() {
108083 }, 108227 },
108084 { 108228 {
108085 name: "IXC - Ixcoin", 108229 name: "IXC - Ixcoin",
108086 segwitAvailable: false,
108087 onSelect: function() { 108230 onSelect: function() {
108088 network = bitcoinjs.bitcoin.networks.ixcoin; 108231 network = bitcoinjs.bitcoin.networks.ixcoin;
108089 setHdCoin(86); 108232 setHdCoin(86);
@@ -108091,7 +108234,6 @@ window.Entropy = new (function() {
108091 }, 108234 },
108092 { 108235 {
108093 name: "JBS - Jumbucks", 108236 name: "JBS - Jumbucks",
108094 segwitAvailable: false,
108095 onSelect: function() { 108237 onSelect: function() {
108096 network = bitcoinjs.bitcoin.networks.jumbucks; 108238 network = bitcoinjs.bitcoin.networks.jumbucks;
108097 setHdCoin(26); 108239 setHdCoin(26);
@@ -108115,7 +108257,6 @@ window.Entropy = new (function() {
108115 }, 108257 },
108116 { 108258 {
108117 name: "LBC - Library Credits", 108259 name: "LBC - Library Credits",
108118 segwitAvailable: false,
108119 onSelect: function() { 108260 onSelect: function() {
108120 network = bitcoinjs.bitcoin.networks.lbry; 108261 network = bitcoinjs.bitcoin.networks.lbry;
108121 setHdCoin(140); 108262 setHdCoin(140);
@@ -108123,7 +108264,6 @@ window.Entropy = new (function() {
108123 }, 108264 },
108124 { 108265 {
108125 name: "LCC - Litecoincash", 108266 name: "LCC - Litecoincash",
108126 segwitAvailable: true,
108127 onSelect: function() { 108267 onSelect: function() {
108128 network = bitcoinjs.bitcoin.networks.litecoincash; 108268 network = bitcoinjs.bitcoin.networks.litecoincash;
108129 setHdCoin(192); 108269 setHdCoin(192);
@@ -108131,7 +108271,6 @@ window.Entropy = new (function() {
108131 }, 108271 },
108132 { 108272 {
108133 name: "LDCN - Landcoin", 108273 name: "LDCN - Landcoin",
108134 segwitAvailable: false,
108135 onSelect: function() { 108274 onSelect: function() {
108136 network = bitcoinjs.bitcoin.networks.landcoin; 108275 network = bitcoinjs.bitcoin.networks.landcoin;
108137 setHdCoin(63); 108276 setHdCoin(63);
@@ -108139,7 +108278,6 @@ window.Entropy = new (function() {
108139 }, 108278 },
108140 { 108279 {
108141 name: "LINX - Linx", 108280 name: "LINX - Linx",
108142 segwitAvailable: false,
108143 onSelect: function() { 108281 onSelect: function() {
108144 network = bitcoinjs.bitcoin.networks.linx; 108282 network = bitcoinjs.bitcoin.networks.linx;
108145 setHdCoin(114); 108283 setHdCoin(114);
@@ -108147,7 +108285,6 @@ window.Entropy = new (function() {
108147 }, 108285 },
108148 { 108286 {
108149 name: "LTC - Litecoin", 108287 name: "LTC - Litecoin",
108150 segwitAvailable: true,
108151 onSelect: function() { 108288 onSelect: function() {
108152 network = bitcoinjs.bitcoin.networks.litecoin; 108289 network = bitcoinjs.bitcoin.networks.litecoin;
108153 setHdCoin(2); 108290 setHdCoin(2);
@@ -108156,7 +108293,6 @@ window.Entropy = new (function() {
108156 }, 108293 },
108157 { 108294 {
108158 name: "LYNX - Lynx", 108295 name: "LYNX - Lynx",
108159 segwitAvailable: false,
108160 onSelect: function() { 108296 onSelect: function() {
108161 network = bitcoinjs.bitcoin.networks.lynx; 108297 network = bitcoinjs.bitcoin.networks.lynx;
108162 setHdCoin(191); 108298 setHdCoin(191);
@@ -108164,7 +108300,6 @@ window.Entropy = new (function() {
108164 }, 108300 },
108165 { 108301 {
108166 name: "MAZA - Maza", 108302 name: "MAZA - Maza",
108167 segwitAvailable: false,
108168 onSelect: function() { 108303 onSelect: function() {
108169 network = bitcoinjs.bitcoin.networks.maza; 108304 network = bitcoinjs.bitcoin.networks.maza;
108170 setHdCoin(13); 108305 setHdCoin(13);
@@ -108172,7 +108307,6 @@ window.Entropy = new (function() {
108172 }, 108307 },
108173 { 108308 {
108174 name: "MNX - Minexcoin", 108309 name: "MNX - Minexcoin",
108175 segwitAvailable: true,
108176 onSelect: function() { 108310 onSelect: function() {
108177 network = bitcoinjs.bitcoin.networks.minexcoin; 108311 network = bitcoinjs.bitcoin.networks.minexcoin;
108178 setHdCoin(182); 108312 setHdCoin(182);
@@ -108180,7 +108314,6 @@ window.Entropy = new (function() {
108180 }, 108314 },
108181 { 108315 {
108182 name: "MONA - Monacoin", 108316 name: "MONA - Monacoin",
108183 segwitAvailable: true,
108184 onSelect: function() { 108317 onSelect: function() {
108185 network = bitcoinjs.bitcoin.networks.monacoin, 108318 network = bitcoinjs.bitcoin.networks.monacoin,
108186 setHdCoin(22); 108319 setHdCoin(22);
@@ -108188,7 +108321,6 @@ window.Entropy = new (function() {
108188 }, 108321 },
108189 { 108322 {
108190 name: "NAV - Navcoin", 108323 name: "NAV - Navcoin",
108191 segwitAvailable: true,
108192 onSelect: function() { 108324 onSelect: function() {
108193 network = bitcoinjs.bitcoin.networks.navcoin; 108325 network = bitcoinjs.bitcoin.networks.navcoin;
108194 setHdCoin(130); 108326 setHdCoin(130);
@@ -108196,7 +108328,6 @@ window.Entropy = new (function() {
108196 }, 108328 },
108197 { 108329 {
108198 name: "NEBL - Neblio", 108330 name: "NEBL - Neblio",
108199 segwitAvailable: false,
108200 onSelect: function() { 108331 onSelect: function() {
108201 network = bitcoinjs.bitcoin.networks.neblio; 108332 network = bitcoinjs.bitcoin.networks.neblio;
108202 setHdCoin(146); 108333 setHdCoin(146);
@@ -108204,7 +108335,6 @@ window.Entropy = new (function() {
108204 }, 108335 },
108205 { 108336 {
108206 name: "NEOS - Neoscoin", 108337 name: "NEOS - Neoscoin",
108207 segwitAvailable: false,
108208 onSelect: function() { 108338 onSelect: function() {
108209 network = bitcoinjs.bitcoin.networks.neoscoin; 108339 network = bitcoinjs.bitcoin.networks.neoscoin;
108210 setHdCoin(25); 108340 setHdCoin(25);
@@ -108212,7 +108342,6 @@ window.Entropy = new (function() {
108212 }, 108342 },
108213 { 108343 {
108214 name: "NLG - Gulden", 108344 name: "NLG - Gulden",
108215 segwitAvailable: false,
108216 onSelect: function() { 108345 onSelect: function() {
108217 network = bitcoinjs.bitcoin.networks.gulden; 108346 network = bitcoinjs.bitcoin.networks.gulden;
108218 setHdCoin(87); 108347 setHdCoin(87);
@@ -108220,15 +108349,20 @@ window.Entropy = new (function() {
108220 }, 108349 },
108221 { 108350 {
108222 name: "NMC - Namecoin", 108351 name: "NMC - Namecoin",
108223 segwitAvailable: false,
108224 onSelect: function() { 108352 onSelect: function() {
108225 network = bitcoinjs.bitcoin.networks.namecoin; 108353 network = bitcoinjs.bitcoin.networks.namecoin;
108226 setHdCoin(7); 108354 setHdCoin(7);
108227 }, 108355 },
108228 }, 108356 },
108229 { 108357 {
108358 name: "NRG - Energi",
108359 onSelect: function() {
108360 network = bitcoinjs.bitcoin.networks.energi;
108361 setHdCoin(204);
108362 },
108363 },
108364 {
108230 name: "NRO - Neurocoin", 108365 name: "NRO - Neurocoin",
108231 segwitAvailable: false,
108232 onSelect: function() { 108366 onSelect: function() {
108233 network = bitcoinjs.bitcoin.networks.neurocoin; 108367 network = bitcoinjs.bitcoin.networks.neurocoin;
108234 setHdCoin(110); 108368 setHdCoin(110);
@@ -108236,7 +108370,6 @@ window.Entropy = new (function() {
108236 }, 108370 },
108237 { 108371 {
108238 name: "NSR - Nushares", 108372 name: "NSR - Nushares",
108239 segwitAvailable: false,
108240 onSelect: function() { 108373 onSelect: function() {
108241 network = bitcoinjs.bitcoin.networks.nushares; 108374 network = bitcoinjs.bitcoin.networks.nushares;
108242 setHdCoin(11); 108375 setHdCoin(11);
@@ -108244,7 +108377,6 @@ window.Entropy = new (function() {
108244 }, 108377 },
108245 { 108378 {
108246 name: "NYC - Newyorkc", 108379 name: "NYC - Newyorkc",
108247 segwitAvailable: false,
108248 onSelect: function() { 108380 onSelect: function() {
108249 network = bitcoinjs.bitcoin.networks.newyorkc; 108381 network = bitcoinjs.bitcoin.networks.newyorkc;
108250 setHdCoin(179); 108382 setHdCoin(179);
@@ -108252,7 +108384,6 @@ window.Entropy = new (function() {
108252 }, 108384 },
108253 { 108385 {
108254 name: "NVC - Novacoin", 108386 name: "NVC - Novacoin",
108255 segwitAvailable: false,
108256 onSelect: function() { 108387 onSelect: function() {
108257 network = bitcoinjs.bitcoin.networks.novacoin; 108388 network = bitcoinjs.bitcoin.networks.novacoin;
108258 setHdCoin(50); 108389 setHdCoin(50);
@@ -108260,7 +108391,6 @@ window.Entropy = new (function() {
108260 }, 108391 },
108261 { 108392 {
108262 name: "OK - Okcash", 108393 name: "OK - Okcash",
108263 segwitAvailable: false,
108264 onSelect: function() { 108394 onSelect: function() {
108265 network = bitcoinjs.bitcoin.networks.okcash; 108395 network = bitcoinjs.bitcoin.networks.okcash;
108266 setHdCoin(69); 108396 setHdCoin(69);
@@ -108268,7 +108398,6 @@ window.Entropy = new (function() {
108268 }, 108398 },
108269 { 108399 {
108270 name: "OMNI - Omnicore", 108400 name: "OMNI - Omnicore",
108271 segwitAvailable: true,
108272 onSelect: function() { 108401 onSelect: function() {
108273 network = bitcoinjs.bitcoin.networks.omnicore; 108402 network = bitcoinjs.bitcoin.networks.omnicore;
108274 setHdCoin(200); 108403 setHdCoin(200);
@@ -108276,7 +108405,6 @@ window.Entropy = new (function() {
108276 }, 108405 },
108277 { 108406 {
108278 name: "ONX - Onixcoin", 108407 name: "ONX - Onixcoin",
108279 segwitAvailable: false,
108280 onSelect: function() { 108408 onSelect: function() {
108281 network = bitcoinjs.bitcoin.networks.onixcoin; 108409 network = bitcoinjs.bitcoin.networks.onixcoin;
108282 setHdCoin(174); 108410 setHdCoin(174);
@@ -108284,7 +108412,6 @@ window.Entropy = new (function() {
108284 }, 108412 },
108285 { 108413 {
108286 name: "PINK - Pinkcoin", 108414 name: "PINK - Pinkcoin",
108287 segwitAvailable: false,
108288 onSelect: function() { 108415 onSelect: function() {
108289 network = bitcoinjs.bitcoin.networks.pinkcoin; 108416 network = bitcoinjs.bitcoin.networks.pinkcoin;
108290 setHdCoin(117); 108417 setHdCoin(117);
@@ -108292,7 +108419,6 @@ window.Entropy = new (function() {
108292 }, 108419 },
108293 { 108420 {
108294 name: "PIVX - PIVX", 108421 name: "PIVX - PIVX",
108295 segwitAvailable: false,
108296 onSelect: function() { 108422 onSelect: function() {
108297 network = bitcoinjs.bitcoin.networks.pivx; 108423 network = bitcoinjs.bitcoin.networks.pivx;
108298 setHdCoin(119); 108424 setHdCoin(119);
@@ -108300,7 +108426,6 @@ window.Entropy = new (function() {
108300 }, 108426 },
108301 { 108427 {
108302 name: "PIVX - PIVX Testnet", 108428 name: "PIVX - PIVX Testnet",
108303 segwitAvailable: false,
108304 onSelect: function() { 108429 onSelect: function() {
108305 network = bitcoinjs.bitcoin.networks.pivxtestnet; 108430 network = bitcoinjs.bitcoin.networks.pivxtestnet;
108306 setHdCoin(1); 108431 setHdCoin(1);
@@ -108308,7 +108433,6 @@ window.Entropy = new (function() {
108308 }, 108433 },
108309 { 108434 {
108310 name: "POSW - POSWcoin", 108435 name: "POSW - POSWcoin",
108311 segwitAvailable: false,
108312 onSelect: function() { 108436 onSelect: function() {
108313 network = bitcoinjs.bitcoin.networks.poswcoin; 108437 network = bitcoinjs.bitcoin.networks.poswcoin;
108314 setHdCoin(47); 108438 setHdCoin(47);
@@ -108316,7 +108440,6 @@ window.Entropy = new (function() {
108316 }, 108440 },
108317 { 108441 {
108318 name: "POT - Potcoin", 108442 name: "POT - Potcoin",
108319 segwitAvailable: false,
108320 onSelect: function() { 108443 onSelect: function() {
108321 network = bitcoinjs.bitcoin.networks.potcoin; 108444 network = bitcoinjs.bitcoin.networks.potcoin;
108322 setHdCoin(81); 108445 setHdCoin(81);
@@ -108324,7 +108447,6 @@ window.Entropy = new (function() {
108324 }, 108447 },
108325 { 108448 {
108326 name: "PPC - Peercoin", 108449 name: "PPC - Peercoin",
108327 segwitAvailable: false,
108328 onSelect: function() { 108450 onSelect: function() {
108329 network = bitcoinjs.bitcoin.networks.peercoin; 108451 network = bitcoinjs.bitcoin.networks.peercoin;
108330 setHdCoin(6); 108452 setHdCoin(6);
@@ -108332,7 +108454,6 @@ window.Entropy = new (function() {
108332 }, 108454 },
108333 { 108455 {
108334 name: "PSB - Pesobit", 108456 name: "PSB - Pesobit",
108335 segwitAvailable: false,
108336 onSelect: function() { 108457 onSelect: function() {
108337 network = bitcoinjs.bitcoin.networks.pesobit; 108458 network = bitcoinjs.bitcoin.networks.pesobit;
108338 setHdCoin(62); 108459 setHdCoin(62);
@@ -108340,7 +108461,6 @@ window.Entropy = new (function() {
108340 }, 108461 },
108341 { 108462 {
108342 name: "PUT - Putincoin", 108463 name: "PUT - Putincoin",
108343 segwitAvailable: false,
108344 onSelect: function() { 108464 onSelect: function() {
108345 network = bitcoinjs.bitcoin.networks.putincoin; 108465 network = bitcoinjs.bitcoin.networks.putincoin;
108346 setHdCoin(122); 108466 setHdCoin(122);
@@ -108348,7 +108468,6 @@ window.Entropy = new (function() {
108348 }, 108468 },
108349 { 108469 {
108350 name: "RBY - Rubycoin", 108470 name: "RBY - Rubycoin",
108351 segwitAvailable: false,
108352 onSelect: function() { 108471 onSelect: function() {
108353 network = bitcoinjs.bitcoin.networks.rubycoin; 108472 network = bitcoinjs.bitcoin.networks.rubycoin;
108354 setHdCoin(16); 108473 setHdCoin(16);
@@ -108356,15 +108475,13 @@ window.Entropy = new (function() {
108356 }, 108475 },
108357 { 108476 {
108358 name: "RDD - Reddcoin", 108477 name: "RDD - Reddcoin",
108359 segwitAvailable: false,
108360 onSelect: function() { 108478 onSelect: function() {
108361 network = bitcoinjs.bitcoin.networks.reddoin; 108479 network = bitcoinjs.bitcoin.networks.reddcoin;
108362 setHdCoin(4); 108480 setHdCoin(4);
108363 }, 108481 },
108364 }, 108482 },
108365 { 108483 {
108366 name: "RVR - RevolutionVR", 108484 name: "RVR - RevolutionVR",
108367 segwitAvailable: false,
108368 onSelect: function() { 108485 onSelect: function() {
108369 network = bitcoinjs.bitcoin.networks.revolutionvr; 108486 network = bitcoinjs.bitcoin.networks.revolutionvr;
108370 setHdCoin(129); 108487 setHdCoin(129);
@@ -108372,7 +108489,6 @@ window.Entropy = new (function() {
108372 }, 108489 },
108373 { 108490 {
108374 name: "SDC - ShadowCash", 108491 name: "SDC - ShadowCash",
108375 segwitAvailable: false,
108376 onSelect: function() { 108492 onSelect: function() {
108377 network = bitcoinjs.bitcoin.networks.shadow; 108493 network = bitcoinjs.bitcoin.networks.shadow;
108378 setHdCoin(35); 108494 setHdCoin(35);
@@ -108380,7 +108496,6 @@ window.Entropy = new (function() {
108380 }, 108496 },
108381 { 108497 {
108382 name: "SDC - ShadowCash Testnet", 108498 name: "SDC - ShadowCash Testnet",
108383 segwitAvailable: false,
108384 onSelect: function() { 108499 onSelect: function() {
108385 network = bitcoinjs.bitcoin.networks.shadowtn; 108500 network = bitcoinjs.bitcoin.networks.shadowtn;
108386 setHdCoin(1); 108501 setHdCoin(1);
@@ -108388,7 +108503,6 @@ window.Entropy = new (function() {
108388 }, 108503 },
108389 { 108504 {
108390 name: "SLM - Slimcoin", 108505 name: "SLM - Slimcoin",
108391 segwitAvailable: false,
108392 onSelect: function() { 108506 onSelect: function() {
108393 network = bitcoinjs.bitcoin.networks.slimcoin; 108507 network = bitcoinjs.bitcoin.networks.slimcoin;
108394 setHdCoin(63); 108508 setHdCoin(63);
@@ -108396,7 +108510,6 @@ window.Entropy = new (function() {
108396 }, 108510 },
108397 { 108511 {
108398 name: "SLM - Slimcoin Testnet", 108512 name: "SLM - Slimcoin Testnet",
108399 segwitAvailable: false,
108400 onSelect: function() { 108513 onSelect: function() {
108401 network = bitcoinjs.bitcoin.networks.slimcointn; 108514 network = bitcoinjs.bitcoin.networks.slimcointn;
108402 setHdCoin(111); 108515 setHdCoin(111);
@@ -108404,7 +108517,6 @@ window.Entropy = new (function() {
108404 }, 108517 },
108405 { 108518 {
108406 name: "SLR - Solarcoin", 108519 name: "SLR - Solarcoin",
108407 segwitAvailable: false,
108408 onSelect: function() { 108520 onSelect: function() {
108409 network = bitcoinjs.bitcoin.networks.solarcoin; 108521 network = bitcoinjs.bitcoin.networks.solarcoin;
108410 setHdCoin(58); 108522 setHdCoin(58);
@@ -108412,7 +108524,6 @@ window.Entropy = new (function() {
108412 }, 108524 },
108413 { 108525 {
108414 name: "SMLY - Smileycoin", 108526 name: "SMLY - Smileycoin",
108415 segwitAvailable: false,
108416 onSelect: function() { 108527 onSelect: function() {
108417 network = bitcoinjs.bitcoin.networks.smileycoin; 108528 network = bitcoinjs.bitcoin.networks.smileycoin;
108418 setHdCoin(59); 108529 setHdCoin(59);
@@ -108420,7 +108531,6 @@ window.Entropy = new (function() {
108420 }, 108531 },
108421 { 108532 {
108422 name: "STRAT - Stratis", 108533 name: "STRAT - Stratis",
108423 segwitAvailable: false,
108424 onSelect: function() { 108534 onSelect: function() {
108425 network = bitcoinjs.bitcoin.networks.stratis; 108535 network = bitcoinjs.bitcoin.networks.stratis;
108426 setHdCoin(105); 108536 setHdCoin(105);
@@ -108428,7 +108538,6 @@ window.Entropy = new (function() {
108428 }, 108538 },
108429 { 108539 {
108430 name: "SYS - Syscoin", 108540 name: "SYS - Syscoin",
108431 segwitAvailable: true,
108432 onSelect: function() { 108541 onSelect: function() {
108433 network = bitcoinjs.bitcoin.networks.syscoin; 108542 network = bitcoinjs.bitcoin.networks.syscoin;
108434 setHdCoin(57); 108543 setHdCoin(57);
@@ -108436,7 +108545,6 @@ window.Entropy = new (function() {
108436 }, 108545 },
108437 { 108546 {
108438 name: "THC - Hempcoin", 108547 name: "THC - Hempcoin",
108439 segwitAvailable: false,
108440 onSelect: function() { 108548 onSelect: function() {
108441 network = bitcoinjs.bitcoin.networks.hempcoin; 108549 network = bitcoinjs.bitcoin.networks.hempcoin;
108442 setHdCoin(113); 108550 setHdCoin(113);
@@ -108444,7 +108552,6 @@ window.Entropy = new (function() {
108444 }, 108552 },
108445 { 108553 {
108446 name: "TOA - Toa", 108554 name: "TOA - Toa",
108447 segwitAvailable: false,
108448 onSelect: function() { 108555 onSelect: function() {
108449 network = bitcoinjs.bitcoin.networks.toa; 108556 network = bitcoinjs.bitcoin.networks.toa;
108450 setHdCoin(159); 108557 setHdCoin(159);
@@ -108452,7 +108559,6 @@ window.Entropy = new (function() {
108452 }, 108559 },
108453 { 108560 {
108454 name: "USC - Ultimatesecurecash", 108561 name: "USC - Ultimatesecurecash",
108455 segwitAvailable: false,
108456 onSelect: function() { 108562 onSelect: function() {
108457 network = bitcoinjs.bitcoin.networks.ultimatesecurecash; 108563 network = bitcoinjs.bitcoin.networks.ultimatesecurecash;
108458 setHdCoin(112); 108564 setHdCoin(112);
@@ -108460,7 +108566,6 @@ window.Entropy = new (function() {
108460 }, 108566 },
108461 { 108567 {
108462 name: "USNBT - NuBits", 108568 name: "USNBT - NuBits",
108463 segwitAvailable: false,
108464 onSelect: function() { 108569 onSelect: function() {
108465 network = bitcoinjs.bitcoin.networks.nubits; 108570 network = bitcoinjs.bitcoin.networks.nubits;
108466 setHdCoin(12); 108571 setHdCoin(12);
@@ -108468,7 +108573,6 @@ window.Entropy = new (function() {
108468 }, 108573 },
108469 { 108574 {
108470 name: "UNO - Unobtanium", 108575 name: "UNO - Unobtanium",
108471 segwitAvailable: false,
108472 onSelect: function() { 108576 onSelect: function() {
108473 network = bitcoinjs.bitcoin.networks.unobtanium; 108577 network = bitcoinjs.bitcoin.networks.unobtanium;
108474 setHdCoin(92); 108578 setHdCoin(92);
@@ -108476,7 +108580,6 @@ window.Entropy = new (function() {
108476 }, 108580 },
108477 { 108581 {
108478 name: "VASH - Vpncoin", 108582 name: "VASH - Vpncoin",
108479 segwitAvailable: false,
108480 onSelect: function() { 108583 onSelect: function() {
108481 network = bitcoinjs.bitcoin.networks.vpncoin; 108584 network = bitcoinjs.bitcoin.networks.vpncoin;
108482 setHdCoin(33); 108585 setHdCoin(33);
@@ -108484,7 +108587,6 @@ window.Entropy = new (function() {
108484 }, 108587 },
108485 { 108588 {
108486 name: "VIA - Viacoin", 108589 name: "VIA - Viacoin",
108487 segwitAvailable: false,
108488 onSelect: function() { 108590 onSelect: function() {
108489 network = bitcoinjs.bitcoin.networks.viacoin; 108591 network = bitcoinjs.bitcoin.networks.viacoin;
108490 setHdCoin(14); 108592 setHdCoin(14);
@@ -108492,7 +108594,6 @@ window.Entropy = new (function() {
108492 }, 108594 },
108493 { 108595 {
108494 name: "VIA - Viacoin Testnet", 108596 name: "VIA - Viacoin Testnet",
108495 segwitAvailable: false,
108496 onSelect: function() { 108597 onSelect: function() {
108497 network = bitcoinjs.bitcoin.networks.viacointestnet; 108598 network = bitcoinjs.bitcoin.networks.viacointestnet;
108498 setHdCoin(1); 108599 setHdCoin(1);
@@ -108500,7 +108601,6 @@ window.Entropy = new (function() {
108500 }, 108601 },
108501 { 108602 {
108502 name: "VIVO - Vivo", 108603 name: "VIVO - Vivo",
108503 segwitAvailable: false,
108504 onSelect: function() { 108604 onSelect: function() {
108505 network = bitcoinjs.bitcoin.networks.vivo; 108605 network = bitcoinjs.bitcoin.networks.vivo;
108506 setHdCoin(166); 108606 setHdCoin(166);
@@ -108508,7 +108608,6 @@ window.Entropy = new (function() {
108508 }, 108608 },
108509 { 108609 {
108510 name: "VTC - Vertcoin", 108610 name: "VTC - Vertcoin",
108511 segwitAvailable: true,
108512 onSelect: function() { 108611 onSelect: function() {
108513 network = bitcoinjs.bitcoin.networks.vertcoin; 108612 network = bitcoinjs.bitcoin.networks.vertcoin;
108514 setHdCoin(28); 108613 setHdCoin(28);
@@ -108516,7 +108615,6 @@ window.Entropy = new (function() {
108516 }, 108615 },
108517 { 108616 {
108518 name: "WC - Wincoin", 108617 name: "WC - Wincoin",
108519 segwitAvailable: false,
108520 onSelect: function() { 108618 onSelect: function() {
108521 network = bitcoinjs.bitcoin.networks.wincoin; 108619 network = bitcoinjs.bitcoin.networks.wincoin;
108522 setHdCoin(181); 108620 setHdCoin(181);
@@ -108524,7 +108622,6 @@ window.Entropy = new (function() {
108524 }, 108622 },
108525 { 108623 {
108526 name: "XBC - Bitcoinplus", 108624 name: "XBC - Bitcoinplus",
108527 segwitAvailable: false,
108528 onSelect: function() { 108625 onSelect: function() {
108529 network = bitcoinjs.bitcoin.networks.bitcoinplus; 108626 network = bitcoinjs.bitcoin.networks.bitcoinplus;
108530 setHdCoin(65); 108627 setHdCoin(65);
@@ -108532,7 +108629,6 @@ window.Entropy = new (function() {
108532 }, 108629 },
108533 { 108630 {
108534 name: "XMY - Myriadcoin", 108631 name: "XMY - Myriadcoin",
108535 segwitAvailable: false,
108536 onSelect: function() { 108632 onSelect: function() {
108537 network = bitcoinjs.bitcoin.networks.myriadcoin; 108633 network = bitcoinjs.bitcoin.networks.myriadcoin;
108538 setHdCoin(90); 108634 setHdCoin(90);
@@ -108540,7 +108636,6 @@ window.Entropy = new (function() {
108540 }, 108636 },
108541 { 108637 {
108542 name: "XRP - Ripple", 108638 name: "XRP - Ripple",
108543 segwitAvailable: false,
108544 onSelect: function() { 108639 onSelect: function() {
108545 network = bitcoinjs.bitcoin.networks.bitcoin; 108640 network = bitcoinjs.bitcoin.networks.bitcoin;
108546 setHdCoin(144); 108641 setHdCoin(144);
@@ -108548,7 +108643,6 @@ window.Entropy = new (function() {
108548 }, 108643 },
108549 { 108644 {
108550 name: "XVC - Vcash", 108645 name: "XVC - Vcash",
108551 segwitAvailable: false,
108552 onSelect: function() { 108646 onSelect: function() {
108553 network = bitcoinjs.bitcoin.networks.vcash; 108647 network = bitcoinjs.bitcoin.networks.vcash;
108554 setHdCoin(127); 108648 setHdCoin(127);
@@ -108556,7 +108650,6 @@ window.Entropy = new (function() {
108556 }, 108650 },
108557 { 108651 {
108558 name: "XVG - Verge", 108652 name: "XVG - Verge",
108559 segwitAvailable: false,
108560 onSelect: function() { 108653 onSelect: function() {
108561 network = bitcoinjs.bitcoin.networks.verge; 108654 network = bitcoinjs.bitcoin.networks.verge;
108562 setHdCoin(77); 108655 setHdCoin(77);
@@ -108564,7 +108657,6 @@ window.Entropy = new (function() {
108564 }, 108657 },
108565 { 108658 {
108566 name: "XWC - Whitecoin", 108659 name: "XWC - Whitecoin",
108567 segwitAvailable: false,
108568 onSelect: function() { 108660 onSelect: function() {
108569 network = bitcoinjs.bitcoin.networks.whitecoin; 108661 network = bitcoinjs.bitcoin.networks.whitecoin;
108570 setHdCoin(155); 108662 setHdCoin(155);
@@ -108572,20 +108664,39 @@ window.Entropy = new (function() {
108572 }, 108664 },
108573 { 108665 {
108574 name: "XZC - Zcoin", 108666 name: "XZC - Zcoin",
108575 segwitAvailable: true,
108576 onSelect: function() { 108667 onSelect: function() {
108577 network = bitcoinjs.bitcoin.networks.zcoin; 108668 network = bitcoinjs.bitcoin.networks.zcoin;
108578 setHdCoin(136); 108669 setHdCoin(136);
108579 }, 108670 },
108580 }, 108671 },
108581 { 108672 {
108673 name: "ZCL - Zclassic",
108674 onSelect: function() {
108675 network = bitcoinjs.bitcoin.networks.zclassic;
108676 setHdCoin(147);
108677 },
108678 },
108679 {
108582 name: "ZEC - Zcash", 108680 name: "ZEC - Zcash",
108583 segwitAvailable: false,
108584 onSelect: function() { 108681 onSelect: function() {
108585 network = bitcoinjs.bitcoin.networks.zcash; 108682 network = bitcoinjs.bitcoin.networks.zcash;
108586 setHdCoin(133); 108683 setHdCoin(133);
108587 }, 108684 },
108588 }, 108685 },
108686 {
108687 name: "XUEZ - Xuez",
108688 onSelect: function() {
108689 network = bitcoinjs.bitcoin.networks.xuez;
108690 setHdCoin(225);
108691 },
108692 },
108693 {
108694 name: "ZEN - Zencash",
108695 onSelect: function() {
108696 network = bitcoinjs.bitcoin.networks.zencash;
108697 setHdCoin(121);
108698 },
108699 },
108589 ] 108700 ]
108590 108701
108591 var clients = [ 108702 var clients = [
diff --git a/changelog.md b/changelog.md
index 8fa0ada..dc8dce7 100644
--- a/changelog.md
+++ b/changelog.md
@@ -1,3 +1,15 @@
1# 0.3.7
2
3* Update AXE network parameters
4* Add new networks - Xuez, BTCP, BTCZ, ZCL, ZEN
5* Add litecoin bech32 params
6* Fix BIP38 for altcoins
7* Fix missing span closing tag
8* Add indicator to UI for when BIP84 is unavailable
9* Replace hasSegwit variable with test for segwit params
10* Allow xpub to be used as root key for segwit derivations
11* Add visual privacy safeguard
12
1# 0.3.6 13# 0.3.6
2 14
3* Add Kobocoin 15* Add Kobocoin
diff --git a/src/css/app.css b/src/css/app.css
index 71109ef..576b7d7 100644
--- a/src/css/app.css
+++ b/src/css/app.css
@@ -103,3 +103,6 @@ body {
103 overflow-x: scroll; 103 overflow-x: scroll;
104 font-family: monospace; 104 font-family: monospace;
105} 105}
106.visual-privacy .private-data {
107 display: none;
108}
diff --git a/src/index.html b/src/index.html
index a53a20b..0720867 100644
--- a/src/index.html
+++ b/src/index.html
@@ -15,7 +15,7 @@
15 <div class="container"> 15 <div class="container">
16 16
17 <h1 class="text-center">Mnemonic Code Converter</h1> 17 <h1 class="text-center">Mnemonic Code Converter</h1>
18 <p class="version">v0.3.6</p> 18 <p class="version">v0.3.7</p>
19 <hr> 19 <hr>
20 <div class="row"> 20 <div class="row">
21 <div class="col-md-12"> 21 <div class="col-md-12">
@@ -69,7 +69,7 @@
69 <div class="form-group"> 69 <div class="form-group">
70 <label for="entropy" class="col-sm-2 control-label">Entropy</label> 70 <label for="entropy" class="col-sm-2 control-label">Entropy</label>
71 <div class="col-sm-7"> 71 <div class="col-sm-7">
72 <textarea id="entropy" rows="2" class="entropy form-control" placeholder="Accepts either binary, base 6, 6-sided dice, base 10, hexadecimal or cards"></textarea> 72 <textarea id="entropy" rows="2" class="entropy private-data form-control" placeholder="Accepts either binary, base 6, 6-sided dice, base 10, hexadecimal or cards"></textarea>
73 <div class="row filter-warning text-danger hidden"> 73 <div class="row filter-warning text-danger hidden">
74 <p class="col-sm-12"> 74 <p class="col-sm-12">
75 <strong> 75 <strong>
@@ -96,19 +96,19 @@
96 <div class="bits col-sm-3 form-control-static"></div> 96 <div class="bits col-sm-3 form-control-static"></div>
97 </div> 97 </div>
98 <label class="col-sm-3 control-label">Filtered Entropy</label> 98 <label class="col-sm-3 control-label">Filtered Entropy</label>
99 <div class="filtered col-sm-9 form-control-static"></div> 99 <div class="filtered private-data col-sm-9 form-control-static"></div>
100 <label class="col-sm-3 control-label">Raw Binary</label> 100 <label class="col-sm-3 control-label">Raw Binary</label>
101 <div class="binary col-sm-9 form-control-static"></div> 101 <div class="binary private-data col-sm-9 form-control-static"></div>
102 <label class="col-sm-3 control-label">Binary Checksum</label> 102 <label class="col-sm-3 control-label">Binary Checksum</label>
103 <div class="checksum col-sm-9 form-control-static">&nbsp;</div> 103 <div class="checksum private-data col-sm-9 form-control-static">&nbsp;</div>
104 <label class="col-sm-3 control-label">Word Indexes</label> 104 <label class="col-sm-3 control-label">Word Indexes</label>
105 <div class="word-indexes col-sm-9 form-control-static">&nbsp;</div> 105 <div class="word-indexes private-data col-sm-9 form-control-static">&nbsp;</div>
106 <label class="col-sm-3 control-label">Mnemonic Length</label> 106 <label class="col-sm-3 control-label">Mnemonic Length</label>
107 <div class="col-sm-9"> 107 <div class="col-sm-9">
108 <select class="mnemonic-length form-control"> 108 <select class="mnemonic-length form-control">
109 <option value="raw" selected>Use Raw Entropy (3 words per 32 bits)</option> 109 <option value="raw" selected>Use Raw Entropy (3 words per 32 bits)</option>
110 <option value="12">12 <span>Words</span></option> 110 <option value="12">12 <span>Words</span></option>
111 <option value="15">15 <span>Words</option> 111 <option value="15">15 <span>Words</span></option>
112 <option value="18">18 <span>Words</span></option> 112 <option value="18">18 <span>Words</span></option>
113 <option value="21">21 <span>Words</span></option> 113 <option value="21">21 <span>Words</span></option>
114 <option value="24">24 <span>Words</span></option> 114 <option value="24">24 <span>Words</span></option>
@@ -143,6 +143,15 @@
143 </div> 143 </div>
144 </div> 144 </div>
145 <div class="form-group"> 145 <div class="form-group">
146 <div class="col-sm-2"></div>
147 <div class="col-sm-10 checkbox">
148 <label>
149 <input type="checkbox" class="privacy-screen-toggle">
150 <span>Hide all private info</span>
151 </label>
152 </div>
153 </div>
154 <div class="form-group">
146 <label class="col-sm-2 control-label">Mnemonic Language</label> 155 <label class="col-sm-2 control-label">Mnemonic Language</label>
147 <div class="col-sm-10 languages"> 156 <div class="col-sm-10 languages">
148 <div class="form-control no-border"> 157 <div class="form-control no-border">
@@ -160,19 +169,19 @@
160 <div class="form-group"> 169 <div class="form-group">
161 <label for="phrase" class="col-sm-2 control-label">BIP39 Mnemonic</label> 170 <label for="phrase" class="col-sm-2 control-label">BIP39 Mnemonic</label>
162 <div class="col-sm-10"> 171 <div class="col-sm-10">
163 <textarea id="phrase" class="phrase form-control" data-show-qr></textarea> 172 <textarea id="phrase" class="phrase private-data form-control" data-show-qr></textarea>
164 </div> 173 </div>
165 </div> 174 </div>
166 <div class="form-group"> 175 <div class="form-group">
167 <label for="passphrase" class="col-sm-2 control-label">BIP39 Passphrase (optional)</label> 176 <label for="passphrase" class="col-sm-2 control-label">BIP39 Passphrase (optional)</label>
168 <div class="col-sm-10"> 177 <div class="col-sm-10">
169 <textarea id="passphrase" class="passphrase form-control"></textarea> 178 <textarea id="passphrase" class="passphrase private-data form-control"></textarea>
170 </div> 179 </div>
171 </div> 180 </div>
172 <div class="form-group"> 181 <div class="form-group">
173 <label for="seed" class="col-sm-2 control-label">BIP39 Seed</label> 182 <label for="seed" class="col-sm-2 control-label">BIP39 Seed</label>
174 <div class="col-sm-10"> 183 <div class="col-sm-10">
175 <textarea id="seed" class="seed form-control" readonly="readonly" data-show-qr></textarea> 184 <textarea id="seed" class="seed private-data form-control" readonly="readonly" data-show-qr></textarea>
176 </div> 185 </div>
177 </div> 186 </div>
178 <div class="form-group"> 187 <div class="form-group">
@@ -186,7 +195,7 @@
186 <div class="form-group"> 195 <div class="form-group">
187 <label for="root-key" class="col-sm-2 control-label">BIP32 Root Key</label> 196 <label for="root-key" class="col-sm-2 control-label">BIP32 Root Key</label>
188 <div class="col-sm-10"> 197 <div class="col-sm-10">
189 <textarea id="root-key" class="root-key form-control" data-show-qr></textarea> 198 <textarea id="root-key" class="root-key private-data form-control" data-show-qr></textarea>
190 </div> 199 </div>
191 </div> 200 </div>
192 <div class="form-group litecoin-ltub-container hidden"> 201 <div class="form-group litecoin-ltub-container hidden">
@@ -279,7 +288,7 @@
279 <span>Account Extended Private Key</span> 288 <span>Account Extended Private Key</span>
280 </label> 289 </label>
281 <div class="col-sm-10"> 290 <div class="col-sm-10">
282 <textarea id="account-xprv" type="text" class="account-xprv form-control" readonly data-show-qr></textarea> 291 <textarea id="account-xprv" type="text" class="account-xprv private-data form-control" readonly data-show-qr></textarea>
283 </div> 292 </div>
284 </div> 293 </div>
285 <div class="form-group"> 294 <div class="form-group">
@@ -439,7 +448,7 @@
439 <span>Account Extended Private Key</span> 448 <span>Account Extended Private Key</span>
440 </label> 449 </label>
441 <div class="col-sm-10"> 450 <div class="col-sm-10">
442 <textarea id="account-xprv" type="text" class="account-xprv form-control" readonly data-show-qr></textarea> 451 <textarea id="account-xprv" type="text" class="account-xprv private-data form-control" readonly data-show-qr></textarea>
443 </div> 452 </div>
444 </div> 453 </div>
445 <div class="form-group"> 454 <div class="form-group">
@@ -506,79 +515,89 @@
506 <div id="bip84" class="tab-pane"> 515 <div id="bip84" class="tab-pane">
507 <form class="form-horizontal" role="form"> 516 <form class="form-horizontal" role="form">
508 <br> 517 <br>
509 <div class="col-sm-2"></div> 518 <div class="unavailable hidden">
510 <div class="col-sm-10"> 519 <div class="form-group">
511 <p> 520 <div class="col-sm-2"></div>
512 For more info see the 521 <div class="col-sm-10">
513 <a href="https://github.com/bitcoin/bips/blob/master/bip-0084.mediawiki" target="_blank">BIP84 spec</a>. 522 <p>BIP84 is unavailable for this coin.</p>
514 </p> 523 </div>
515 </div>
516 <div class="form-group">
517 <label for="purpose" class="col-sm-2 control-label">
518 Purpose
519 </label>
520 <div class="col-sm-10">
521 <input id="purpose" type="text" class="purpose form-control" value="84" readonly>
522 </div> 524 </div>
523 </div> 525 </div>
524 <div class="form-group"> 526 <div class="available">
525 <label for="coin" class="col-sm-2 control-label"> 527 <div class="col-sm-2"></div>
526 Coin
527 </label>
528 <div class="col-sm-10"> 528 <div class="col-sm-10">
529 <input id="coin" type="text" class="coin form-control" value="0" readonly> 529 <p>
530 For more info see the
531 <a href="https://github.com/bitcoin/bips/blob/master/bip-0084.mediawiki" target="_blank">BIP84 spec</a>.
532 </p>
530 </div> 533 </div>
531 </div> 534 <div class="form-group">
532 <div class="form-group"> 535 <label for="purpose" class="col-sm-2 control-label">
533 <label for="account" class="col-sm-2 control-label"> 536 Purpose
534 Account 537 </label>
535 </label> 538 <div class="col-sm-10">
536 <div class="col-sm-10"> 539 <input id="purpose" type="text" class="purpose form-control" value="84" readonly>
537 <input id="account" type="text" class="account form-control" value="0"> 540 </div>
538 </div> 541 </div>
539 </div> 542 <div class="form-group">
540 <div class="form-group"> 543 <label for="coin" class="col-sm-2 control-label">
541 <label for="change" class="col-sm-2 control-label"> 544 Coin
542 External / Internal 545 </label>
543 </label> 546 <div class="col-sm-10">
544 <div class="col-sm-10"> 547 <input id="coin" type="text" class="coin form-control" value="0" readonly>
545 <input id="change" type="text" class="change form-control" value="0"> 548 </div>
546 </div> 549 </div>
547 </div> 550 <div class="form-group">
548 <div class="form-group"> 551 <label for="account" class="col-sm-2 control-label">
549 <label class="col-sm-2 control-label"> 552 Account
550 </label> 553 </label>
551 <div class="col-sm-10"> 554 <div class="col-sm-10">
552 <p>The account extended keys can be used for importing to most BIP84 compatible wallets.</p> 555 <input id="account" type="text" class="account form-control" value="0">
556 </div>
553 </div> 557 </div>
554 </div> 558 <div class="form-group">
555 <div class="form-group"> 559 <label for="change" class="col-sm-2 control-label">
556 <label for="account-xprv" class="col-sm-2 control-label"> 560 External / Internal
557 <span>Account Extended Private Key</span> 561 </label>
558 </label> 562 <div class="col-sm-10">
559 <div class="col-sm-10"> 563 <input id="change" type="text" class="change form-control" value="0">
560 <textarea id="account-xprv" type="text" class="account-xprv form-control" readonly data-show-qr></textarea> 564 </div>
561 </div> 565 </div>
562 </div> 566 <div class="form-group">
563 <div class="form-group"> 567 <label class="col-sm-2 control-label">
564 <label for="account-xpub" class="col-sm-2 control-label"> 568 </label>
565 <span>Account Extended Public Key</span> 569 <div class="col-sm-10">
566 </label> 570 <p>The account extended keys can be used for importing to most BIP84 compatible wallets.</p>
567 <div class="col-sm-10"> 571 </div>
568 <textarea id="account-xpub" type="text" class="account-xpub form-control" readonly data-show-qr></textarea>
569 </div> 572 </div>
570 </div> 573 <div class="form-group">
571 <div class="form-group"> 574 <label for="account-xprv" class="col-sm-2 control-label">
572 <label class="col-sm-2 control-label"> 575 <span>Account Extended Private Key</span>
573 </label> 576 </label>
574 <div class="col-sm-10"> 577 <div class="col-sm-10">
575 <p>The BIP32 derivation path and extended keys are the basis for the derived addresses.</p> 578 <textarea id="account-xprv" type="text" class="account-xprv private-data form-control" readonly data-show-qr></textarea>
579 </div>
576 </div> 580 </div>
577 </div> 581 <div class="form-group">
578 <div class="form-group"> 582 <label for="account-xpub" class="col-sm-2 control-label">
579 <label for="bip84-path" class="col-sm-2 control-label">BIP32 Derivation Path</label> 583 <span>Account Extended Public Key</span>
580 <div class="col-sm-10"> 584 </label>
581 <input id="bip84-path" type="text" class="path form-control" value="m/84'/0'/0'/0" readonly="readonly"> 585 <div class="col-sm-10">
586 <textarea id="account-xpub" type="text" class="account-xpub form-control" readonly data-show-qr></textarea>
587 </div>
588 </div>
589 <div class="form-group">
590 <label class="col-sm-2 control-label">
591 </label>
592 <div class="col-sm-10">
593 <p>The BIP32 derivation path and extended keys are the basis for the derived addresses.</p>
594 </div>
595 </div>
596 <div class="form-group">
597 <label for="bip84-path" class="col-sm-2 control-label">BIP32 Derivation Path</label>
598 <div class="col-sm-10">
599 <input id="bip84-path" type="text" class="path form-control" value="m/84'/0'/0'/0" readonly="readonly">
600 </div>
582 </div> 601 </div>
583 </div> 602 </div>
584 </form> 603 </form>
@@ -588,7 +607,7 @@
588 <div class="form-group"> 607 <div class="form-group">
589 <label for="extended-priv-key" class="col-sm-2 control-label">BIP32 Extended Private Key</label> 608 <label for="extended-priv-key" class="col-sm-2 control-label">BIP32 Extended Private Key</label>
590 <div class="col-sm-10"> 609 <div class="col-sm-10">
591 <textarea id="extended-priv-key" class="extended-priv-key form-control" readonly="readonly" data-show-qr></textarea> 610 <textarea id="extended-priv-key" class="extended-priv-key private-data form-control" readonly="readonly" data-show-qr></textarea>
592 </div> 611 </div>
593 </div> 612 </div>
594 <div class="form-group"> 613 <div class="form-group">
@@ -634,7 +653,7 @@
634 <input type="checkbox" class="use-bip38"> 653 <input type="checkbox" class="use-bip38">
635 <span>Encrypt private keys using BIP38 and this password:</span> 654 <span>Encrypt private keys using BIP38 and this password:</span>
636 </label> 655 </label>
637 <input class="bip38-password"> 656 <input class="bip38-password private-data">
638 <span>Enabling BIP38 means each key will take several minutes to generate.</span> 657 <span>Enabling BIP38 means each key will take several minutes to generate.</span>
639 </div> 658 </div>
640 </div> 659 </div>
@@ -899,7 +918,7 @@
899 <td class="index"><span></span></td> 918 <td class="index"><span></span></td>
900 <td class="address"><span data-show-qr></span></td> 919 <td class="address"><span data-show-qr></span></td>
901 <td class="pubkey"><span data-show-qr></span></td> 920 <td class="pubkey"><span data-show-qr></span></td>
902 <td class="privkey"><span data-show-qr></span></td> 921 <td class="privkey private-data"><span data-show-qr></span></td>
903 </tr> 922 </tr>
904 </script> 923 </script>
905 <script src="js/polyfill.es6.js"></script> 924 <script src="js/polyfill.es6.js"></script>
diff --git a/src/js/index.js b/src/js/index.js
index 7d04a05..371cea9 100644
--- a/src/js/index.js
+++ b/src/js/index.js
@@ -23,6 +23,7 @@
23 var generationProcesses = []; 23 var generationProcesses = [];
24 24
25 var DOM = {}; 25 var DOM = {};
26 DOM.privacyScreenToggle = $(".privacy-screen-toggle");
26 DOM.network = $(".network"); 27 DOM.network = $(".network");
27 DOM.bip32Client = $("#bip32-client"); 28 DOM.bip32Client = $("#bip32-client");
28 DOM.phraseNetwork = $("#network-phrase"); 29 DOM.phraseNetwork = $("#network-phrase");
@@ -77,6 +78,8 @@
77 DOM.bip49accountXprv = $("#bip49 .account-xprv"); 78 DOM.bip49accountXprv = $("#bip49 .account-xprv");
78 DOM.bip49accountXpub = $("#bip49 .account-xpub"); 79 DOM.bip49accountXpub = $("#bip49 .account-xpub");
79 DOM.bip49change = $("#bip49 .change"); 80 DOM.bip49change = $("#bip49 .change");
81 DOM.bip84unavailable = $("#bip84 .unavailable");
82 DOM.bip84available = $("#bip84 .available");
80 DOM.bip84path = $("#bip84-path"); 83 DOM.bip84path = $("#bip84-path");
81 DOM.bip84purpose = $("#bip84 .purpose"); 84 DOM.bip84purpose = $("#bip84 .purpose");
82 DOM.bip84coin = $("#bip84 .coin"); 85 DOM.bip84coin = $("#bip84 .coin");
@@ -116,6 +119,7 @@
116 119
117 function init() { 120 function init() {
118 // Events 121 // Events
122 DOM.privacyScreenToggle.on("change", privacyScreenToggled);
119 DOM.generatedStrength.on("change", generatedStrengthChanged); 123 DOM.generatedStrength.on("change", generatedStrengthChanged);
120 DOM.network.on("change", networkChanged); 124 DOM.network.on("change", networkChanged);
121 DOM.bip32Client.on("change", bip32ClientChanged); 125 DOM.bip32Client.on("change", bip32ClientChanged);
@@ -176,13 +180,7 @@
176 var networkIndex = e.target.value; 180 var networkIndex = e.target.value;
177 var network = networks[networkIndex]; 181 var network = networks[networkIndex];
178 network.onSelect(); 182 network.onSelect();
179 if (network.segwitAvailable) { 183 adjustNetworkForSegwit();
180 adjustNetworkForSegwit();
181 showSegwitAvailable();
182 }
183 else {
184 showSegwitUnavailable();
185 }
186 if (seed != null) { 184 if (seed != null) {
187 phraseChanged(); 185 phraseChanged();
188 } 186 }
@@ -372,8 +370,11 @@
372 showPending(); 370 showPending();
373 // Don't show segwit if it's selected but network doesn't support it 371 // Don't show segwit if it's selected but network doesn't support it
374 if (segwitSelected() && !networkHasSegwit()) { 372 if (segwitSelected() && !networkHasSegwit()) {
373 showSegwitUnavailable();
374 hidePending();
375 return; 375 return;
376 } 376 }
377 showSegwitAvailable();
377 // Get the derivation path 378 // Get the derivation path
378 var derivationPath = getDerivationPath(); 379 var derivationPath = getDerivationPath();
379 var errorText = findDerivationPathErrors(derivationPath); 380 var errorText = findDerivationPathErrors(derivationPath);
@@ -448,6 +449,17 @@
448 $("td.privkey span").toggleClass("invisible"); 449 $("td.privkey span").toggleClass("invisible");
449 } 450 }
450 451
452 function privacyScreenToggled() {
453 // private-data contains elements added to DOM at runtime
454 // so catch all by adding visual privacy class to the root of the DOM
455 if (DOM.privacyScreenToggle.prop("checked")) {
456 $("body").addClass("visual-privacy");
457 }
458 else {
459 $("body").removeClass("visual-privacy");
460 }
461 }
462
451 // Private methods 463 // Private methods
452 464
453 function generateRandomPhrase() { 465 function generateRandomPhrase() {
@@ -479,6 +491,37 @@
479 } 491 }
480 492
481 function calcBip32RootKeyFromBase58(rootKeyBase58) { 493 function calcBip32RootKeyFromBase58(rootKeyBase58) {
494 // try parsing with various segwit network params since this extended
495 // key may be from any one of them.
496 if (networkHasSegwit()) {
497 var n = network;
498 if ("baseNetwork" in n) {
499 n = bitcoinjs.bitcoin.networks[n.baseNetwork];
500 }
501 // try parsing using base network params
502 try {
503 bip32RootKey = bitcoinjs.bitcoin.HDNode.fromBase58(rootKeyBase58, n);
504 return;
505 }
506 catch (e) {}
507 // try parsing using p2wpkh params
508 if ("p2wpkh" in n) {
509 try {
510 bip32RootKey = bitcoinjs.bitcoin.HDNode.fromBase58(rootKeyBase58, n.p2wpkh);
511 return;
512 }
513 catch (e) {}
514 }
515 // try parsing using p2wpkh-in-p2sh network params
516 if ("p2wpkhInP2sh" in n) {
517 try {
518 bip32RootKey = bitcoinjs.bitcoin.HDNode.fromBase58(rootKeyBase58, n.p2wpkhInP2sh);
519 return;
520 }
521 catch (e) {}
522 }
523 }
524 // try the network params as currently specified
482 bip32RootKey = bitcoinjs.bitcoin.HDNode.fromBase58(rootKeyBase58, network); 525 bip32RootKey = bitcoinjs.bitcoin.HDNode.fromBase58(rootKeyBase58, network);
483 } 526 }
484 527
@@ -552,6 +595,37 @@
552 } 595 }
553 596
554 function validateRootKey(rootKeyBase58) { 597 function validateRootKey(rootKeyBase58) {
598 // try various segwit network params since this extended key may be from
599 // any one of them.
600 if (networkHasSegwit()) {
601 var n = network;
602 if ("baseNetwork" in n) {
603 n = bitcoinjs.bitcoin.networks[n.baseNetwork];
604 }
605 // try parsing using base network params
606 try {
607 bitcoinjs.bitcoin.HDNode.fromBase58(rootKeyBase58, n);
608 return "";
609 }
610 catch (e) {}
611 // try parsing using p2wpkh params
612 if ("p2wpkh" in n) {
613 try {
614 bitcoinjs.bitcoin.HDNode.fromBase58(rootKeyBase58, n.p2wpkh);
615 return "";
616 }
617 catch (e) {}
618 }
619 // try parsing using p2wpkh-in-p2sh network params
620 if ("p2wpkhInP2sh" in n) {
621 try {
622 bitcoinjs.bitcoin.HDNode.fromBase58(rootKeyBase58, n.p2wpkhInP2sh);
623 return "";
624 }
625 catch (e) {}
626 }
627 }
628 // try the network params as currently specified
555 try { 629 try {
556 bitcoinjs.bitcoin.HDNode.fromBase58(rootKeyBase58, network); 630 bitcoinjs.bitcoin.HDNode.fromBase58(rootKeyBase58, network);
557 } 631 }
@@ -813,7 +887,7 @@
813 var keyPair = key.keyPair; 887 var keyPair = key.keyPair;
814 var useUncompressed = useBip38; 888 var useUncompressed = useBip38;
815 if (useUncompressed) { 889 if (useUncompressed) {
816 keyPair = new bitcoinjs.bitcoin.ECPair(keyPair.d, null, { compressed: false }); 890 keyPair = new bitcoinjs.bitcoin.ECPair(keyPair.d, null, { network: network, compressed: false });
817 } 891 }
818 // get address 892 // get address
819 var address = keyPair.getAddress().toString(); 893 var address = keyPair.getAddress().toString();
@@ -821,7 +895,7 @@
821 var hasPrivkey = !key.isNeutered(); 895 var hasPrivkey = !key.isNeutered();
822 var privkey = "NA"; 896 var privkey = "NA";
823 if (hasPrivkey) { 897 if (hasPrivkey) {
824 privkey = keyPair.toWIF(network); 898 privkey = keyPair.toWIF();
825 // BIP38 encode private key if required 899 // BIP38 encode private key if required
826 if (useBip38) { 900 if (useBip38) {
827 privkey = bitcoinjsBip38.encrypt(keyPair.d.toBuffer(), false, bip38password, function(p) { 901 privkey = bitcoinjsBip38.encrypt(keyPair.d.toBuffer(), false, bip38password, function(p) {
@@ -1398,7 +1472,20 @@
1398 } 1472 }
1399 1473
1400 function networkHasSegwit() { 1474 function networkHasSegwit() {
1401 return networks[DOM.network.val()].segwitAvailable; 1475 var n = network;
1476 if ("baseNetwork" in network) {
1477 n = bitcoinjs.bitcoin.networks[network.baseNetwork];
1478 }
1479 // check if only p2wpkh params are required
1480 if (p2wpkhSelected()) {
1481 return "p2wpkh" in n;
1482 }
1483 // check if only p2wpkh-in-p2sh params are required
1484 else if (p2wpkhInP2shSelected()) {
1485 return "p2wpkhInP2sh" in n;
1486 }
1487 // require both if it's unclear which params are required
1488 return "p2wpkh" in n && "p2wpkhInP2sh" in n;
1402 } 1489 }
1403 1490
1404 function bip49TabSelected() { 1491 function bip49TabSelected() {
@@ -1422,6 +1509,8 @@
1422 function showSegwitAvailable() { 1509 function showSegwitAvailable() {
1423 DOM.bip49unavailable.addClass("hidden"); 1510 DOM.bip49unavailable.addClass("hidden");
1424 DOM.bip49available.removeClass("hidden"); 1511 DOM.bip49available.removeClass("hidden");
1512 DOM.bip84unavailable.addClass("hidden");
1513 DOM.bip84available.removeClass("hidden");
1425 DOM.bip141unavailable.addClass("hidden"); 1514 DOM.bip141unavailable.addClass("hidden");
1426 DOM.bip141available.removeClass("hidden"); 1515 DOM.bip141available.removeClass("hidden");
1427 } 1516 }
@@ -1429,6 +1518,8 @@
1429 function showSegwitUnavailable() { 1518 function showSegwitUnavailable() {
1430 DOM.bip49available.addClass("hidden"); 1519 DOM.bip49available.addClass("hidden");
1431 DOM.bip49unavailable.removeClass("hidden"); 1520 DOM.bip49unavailable.removeClass("hidden");
1521 DOM.bip84available.addClass("hidden");
1522 DOM.bip84unavailable.removeClass("hidden");
1432 DOM.bip141available.addClass("hidden"); 1523 DOM.bip141available.addClass("hidden");
1433 DOM.bip141unavailable.removeClass("hidden"); 1524 DOM.bip141unavailable.removeClass("hidden");
1434 } 1525 }
@@ -1543,7 +1634,6 @@
1543 var networks = [ 1634 var networks = [
1544 { 1635 {
1545 name: "AC - Asiacoin", 1636 name: "AC - Asiacoin",
1546 segwitAvailable: false,
1547 onSelect: function() { 1637 onSelect: function() {
1548 network = bitcoinjs.bitcoin.networks.asiacoin; 1638 network = bitcoinjs.bitcoin.networks.asiacoin;
1549 setHdCoin(51); 1639 setHdCoin(51);
@@ -1551,7 +1641,6 @@
1551 }, 1641 },
1552 { 1642 {
1553 name: "ACC - Adcoin", 1643 name: "ACC - Adcoin",
1554 segwitAvailable: true,
1555 onSelect: function() { 1644 onSelect: function() {
1556 network = bitcoinjs.bitcoin.networks.adcoin; 1645 network = bitcoinjs.bitcoin.networks.adcoin;
1557 setHdCoin(161); 1646 setHdCoin(161);
@@ -1559,7 +1648,6 @@
1559 }, 1648 },
1560 { 1649 {
1561 name: "AUR - Auroracoin", 1650 name: "AUR - Auroracoin",
1562 segwitAvailable: false,
1563 onSelect: function() { 1651 onSelect: function() {
1564 network = bitcoinjs.bitcoin.networks.auroracoin; 1652 network = bitcoinjs.bitcoin.networks.auroracoin;
1565 setHdCoin(85); 1653 setHdCoin(85);
@@ -1567,7 +1655,6 @@
1567 }, 1655 },
1568 { 1656 {
1569 name: "AXE - Axe", 1657 name: "AXE - Axe",
1570 segwitAvailable: false,
1571 onSelect: function() { 1658 onSelect: function() {
1572 network = bitcoinjs.bitcoin.networks.axe; 1659 network = bitcoinjs.bitcoin.networks.axe;
1573 setHdCoin(4242); 1660 setHdCoin(4242);
@@ -1575,7 +1662,6 @@
1575 }, 1662 },
1576 { 1663 {
1577 name: "BCA - Bitcoin Atom", 1664 name: "BCA - Bitcoin Atom",
1578 segwitAvailable: true,
1579 onSelect: function() { 1665 onSelect: function() {
1580 network = bitcoinjs.bitcoin.networks.atom; 1666 network = bitcoinjs.bitcoin.networks.atom;
1581 setHdCoin(185); 1667 setHdCoin(185);
@@ -1583,7 +1669,6 @@
1583 }, 1669 },
1584 { 1670 {
1585 name: "BCH - Bitcoin Cash", 1671 name: "BCH - Bitcoin Cash",
1586 segwitAvailable: false,
1587 onSelect: function() { 1672 onSelect: function() {
1588 DOM.bitcoinCashAddressTypeContainer.removeClass("hidden"); 1673 DOM.bitcoinCashAddressTypeContainer.removeClass("hidden");
1589 setHdCoin(145); 1674 setHdCoin(145);
@@ -1591,7 +1676,6 @@
1591 }, 1676 },
1592 { 1677 {
1593 name: "BEET - Beetlecoin", 1678 name: "BEET - Beetlecoin",
1594 segwitAvailable: false,
1595 onSelect: function() { 1679 onSelect: function() {
1596 network = bitcoinjs.bitcoin.networks.beetlecoin; 1680 network = bitcoinjs.bitcoin.networks.beetlecoin;
1597 setHdCoin(800); 1681 setHdCoin(800);
@@ -1599,7 +1683,6 @@
1599 }, 1683 },
1600 { 1684 {
1601 name: "BELA - Belacoin", 1685 name: "BELA - Belacoin",
1602 segwitAvailable: false,
1603 onSelect: function() { 1686 onSelect: function() {
1604 network = bitcoinjs.bitcoin.networks.belacoin; 1687 network = bitcoinjs.bitcoin.networks.belacoin;
1605 setHdCoin(73); 1688 setHdCoin(73);
@@ -1607,7 +1690,6 @@
1607 }, 1690 },
1608 { 1691 {
1609 name: "BLK - BlackCoin", 1692 name: "BLK - BlackCoin",
1610 segwitAvailable: false,
1611 onSelect: function() { 1693 onSelect: function() {
1612 network = bitcoinjs.bitcoin.networks.blackcoin; 1694 network = bitcoinjs.bitcoin.networks.blackcoin;
1613 setHdCoin(10); 1695 setHdCoin(10);
@@ -1615,7 +1697,6 @@
1615 }, 1697 },
1616 { 1698 {
1617 name: "BRIT - Britcoin", 1699 name: "BRIT - Britcoin",
1618 segwitAvailable: false,
1619 onSelect: function() { 1700 onSelect: function() {
1620 network = bitcoinjs.bitcoin.networks.britcoin; 1701 network = bitcoinjs.bitcoin.networks.britcoin;
1621 setHdCoin(70); 1702 setHdCoin(70);
@@ -1623,7 +1704,6 @@
1623 }, 1704 },
1624 { 1705 {
1625 name: "BSD - Bitsend", 1706 name: "BSD - Bitsend",
1626 segwitAvailable: true,
1627 onSelect: function() { 1707 onSelect: function() {
1628 network = bitcoinjs.bitcoin.networks.bitsend; 1708 network = bitcoinjs.bitcoin.networks.bitsend;
1629 setHdCoin(91); 1709 setHdCoin(91);
@@ -1631,7 +1711,6 @@
1631 }, 1711 },
1632 { 1712 {
1633 name: "BTA - Bata", 1713 name: "BTA - Bata",
1634 segwitAvailable: false,
1635 onSelect: function() { 1714 onSelect: function() {
1636 network = bitcoinjs.bitcoin.networks.bata; 1715 network = bitcoinjs.bitcoin.networks.bata;
1637 setHdCoin(89); 1716 setHdCoin(89);
@@ -1639,7 +1718,6 @@
1639 }, 1718 },
1640 { 1719 {
1641 name: "BTC - Bitcoin", 1720 name: "BTC - Bitcoin",
1642 segwitAvailable: true,
1643 onSelect: function() { 1721 onSelect: function() {
1644 network = bitcoinjs.bitcoin.networks.bitcoin; 1722 network = bitcoinjs.bitcoin.networks.bitcoin;
1645 setHdCoin(0); 1723 setHdCoin(0);
@@ -1647,7 +1725,6 @@
1647 }, 1725 },
1648 { 1726 {
1649 name: "BTC - Bitcoin Testnet", 1727 name: "BTC - Bitcoin Testnet",
1650 segwitAvailable: true,
1651 onSelect: function() { 1728 onSelect: function() {
1652 network = bitcoinjs.bitcoin.networks.testnet; 1729 network = bitcoinjs.bitcoin.networks.testnet;
1653 setHdCoin(1); 1730 setHdCoin(1);
@@ -1655,7 +1732,6 @@
1655 }, 1732 },
1656 { 1733 {
1657 name: "BTCP - Bitcoin Private", 1734 name: "BTCP - Bitcoin Private",
1658 segwitAvailable: true,
1659 onSelect: function() { 1735 onSelect: function() {
1660 network = bitcoinjs.bitcoin.networks.bitcoinprivate; 1736 network = bitcoinjs.bitcoin.networks.bitcoinprivate;
1661 setHdCoin(183); 1737 setHdCoin(183);
@@ -1663,7 +1739,6 @@
1663 }, 1739 },
1664 { 1740 {
1665 name: "BTCZ - Bitcoinz", 1741 name: "BTCZ - Bitcoinz",
1666 segwitAvailable: false,
1667 onSelect: function() { 1742 onSelect: function() {
1668 network = bitcoinjs.bitcoin.networks.bitcoinz; 1743 network = bitcoinjs.bitcoin.networks.bitcoinz;
1669 setHdCoin(177); 1744 setHdCoin(177);
@@ -1671,7 +1746,6 @@
1671 }, 1746 },
1672 { 1747 {
1673 name: "BTG - Bitcoin Gold", 1748 name: "BTG - Bitcoin Gold",
1674 segwitAvailable: true,
1675 onSelect: function() { 1749 onSelect: function() {
1676 network = bitcoinjs.bitcoin.networks.bgold; 1750 network = bitcoinjs.bitcoin.networks.bgold;
1677 setHdCoin(156); 1751 setHdCoin(156);
@@ -1679,7 +1753,6 @@
1679 }, 1753 },
1680 { 1754 {
1681 name: "BTX - Bitcore", 1755 name: "BTX - Bitcore",
1682 segwitAvailable: true,
1683 onSelect: function() { 1756 onSelect: function() {
1684 network = bitcoinjs.bitcoin.networks.bitcore; 1757 network = bitcoinjs.bitcoin.networks.bitcore;
1685 setHdCoin(160); 1758 setHdCoin(160);
@@ -1687,7 +1760,6 @@
1687 }, 1760 },
1688 { 1761 {
1689 name: "CCN - Cannacoin", 1762 name: "CCN - Cannacoin",
1690 segwitAvailable: false,
1691 onSelect: function() { 1763 onSelect: function() {
1692 network = bitcoinjs.bitcoin.networks.cannacoin; 1764 network = bitcoinjs.bitcoin.networks.cannacoin;
1693 setHdCoin(19); 1765 setHdCoin(19);
@@ -1695,7 +1767,6 @@
1695 }, 1767 },
1696 { 1768 {
1697 name: "CDN - Canadaecoin", 1769 name: "CDN - Canadaecoin",
1698 segwitAvailable: false,
1699 onSelect: function() { 1770 onSelect: function() {
1700 network = bitcoinjs.bitcoin.networks.canadaecoin; 1771 network = bitcoinjs.bitcoin.networks.canadaecoin;
1701 setHdCoin(34); 1772 setHdCoin(34);
@@ -1703,7 +1774,6 @@
1703 }, 1774 },
1704 { 1775 {
1705 name: "CLAM - Clams", 1776 name: "CLAM - Clams",
1706 segwitAvailable: false,
1707 onSelect: function() { 1777 onSelect: function() {
1708 network = bitcoinjs.bitcoin.networks.clam; 1778 network = bitcoinjs.bitcoin.networks.clam;
1709 setHdCoin(23); 1779 setHdCoin(23);
@@ -1719,7 +1789,6 @@
1719 }, 1789 },
1720 { 1790 {
1721 name: "CLUB - Clubcoin", 1791 name: "CLUB - Clubcoin",
1722 segwitAvailable: false,
1723 onSelect: function() { 1792 onSelect: function() {
1724 network = bitcoinjs.bitcoin.networks.clubcoin; 1793 network = bitcoinjs.bitcoin.networks.clubcoin;
1725 setHdCoin(79); 1794 setHdCoin(79);
@@ -1727,7 +1796,6 @@
1727 }, 1796 },
1728 { 1797 {
1729 name: "CMP - Compcoin", 1798 name: "CMP - Compcoin",
1730 segwitAvailable: false,
1731 onSelect: function() { 1799 onSelect: function() {
1732 network = bitcoinjs.bitcoin.networks.compcoin; 1800 network = bitcoinjs.bitcoin.networks.compcoin;
1733 setHdCoin(71); 1801 setHdCoin(71);
@@ -1735,7 +1803,6 @@
1735 }, 1803 },
1736 { 1804 {
1737 name: "CRAVE - Crave", 1805 name: "CRAVE - Crave",
1738 segwitAvailable: false,
1739 onSelect: function() { 1806 onSelect: function() {
1740 network = bitcoinjs.bitcoin.networks.crave; 1807 network = bitcoinjs.bitcoin.networks.crave;
1741 setHdCoin(186); 1808 setHdCoin(186);
@@ -1743,7 +1810,6 @@
1743 }, 1810 },
1744 { 1811 {
1745 name: "CRW - Crown", 1812 name: "CRW - Crown",
1746 segwitAvailable: false,
1747 onSelect: function() { 1813 onSelect: function() {
1748 network = bitcoinjs.bitcoin.networks.crown; 1814 network = bitcoinjs.bitcoin.networks.crown;
1749 setHdCoin(72); 1815 setHdCoin(72);
@@ -1751,7 +1817,6 @@
1751 }, 1817 },
1752 { 1818 {
1753 name: "DASH - Dash", 1819 name: "DASH - Dash",
1754 segwitAvailable: false,
1755 onSelect: function() { 1820 onSelect: function() {
1756 network = bitcoinjs.bitcoin.networks.dash; 1821 network = bitcoinjs.bitcoin.networks.dash;
1757 setHdCoin(5); 1822 setHdCoin(5);
@@ -1759,7 +1824,6 @@
1759 }, 1824 },
1760 { 1825 {
1761 name: "DASH - Dash Testnet", 1826 name: "DASH - Dash Testnet",
1762 segwitAvailable: false,
1763 onSelect: function() { 1827 onSelect: function() {
1764 network = bitcoinjs.bitcoin.networks.dashtn; 1828 network = bitcoinjs.bitcoin.networks.dashtn;
1765 setHdCoin(1); 1829 setHdCoin(1);
@@ -1767,7 +1831,6 @@
1767 }, 1831 },
1768 { 1832 {
1769 name: "DFC - Defcoin", 1833 name: "DFC - Defcoin",
1770 segwitAvailable: false,
1771 onSelect: function() { 1834 onSelect: function() {
1772 network = bitcoinjs.bitcoin.networks.defcoin; 1835 network = bitcoinjs.bitcoin.networks.defcoin;
1773 setHdCoin(1337); 1836 setHdCoin(1337);
@@ -1775,7 +1838,6 @@
1775 }, 1838 },
1776 { 1839 {
1777 name: "DGB - Digibyte", 1840 name: "DGB - Digibyte",
1778 segwitAvailable: true,
1779 onSelect: function() { 1841 onSelect: function() {
1780 network = bitcoinjs.bitcoin.networks.digibyte; 1842 network = bitcoinjs.bitcoin.networks.digibyte;
1781 setHdCoin(20); 1843 setHdCoin(20);
@@ -1783,7 +1845,6 @@
1783 }, 1845 },
1784 { 1846 {
1785 name: "DGC - Digitalcoin", 1847 name: "DGC - Digitalcoin",
1786 segwitAvailable: false,
1787 onSelect: function() { 1848 onSelect: function() {
1788 network = bitcoinjs.bitcoin.networks.digitalcoin; 1849 network = bitcoinjs.bitcoin.networks.digitalcoin;
1789 setHdCoin(18); 1850 setHdCoin(18);
@@ -1791,7 +1852,6 @@
1791 }, 1852 },
1792 { 1853 {
1793 name: "DMD - Diamond", 1854 name: "DMD - Diamond",
1794 segwitAvailable: false,
1795 onSelect: function() { 1855 onSelect: function() {
1796 network = bitcoinjs.bitcoin.networks.diamond; 1856 network = bitcoinjs.bitcoin.networks.diamond;
1797 setHdCoin(152); 1857 setHdCoin(152);
@@ -1799,7 +1859,6 @@
1799 }, 1859 },
1800 { 1860 {
1801 name: "DNR - Denarius", 1861 name: "DNR - Denarius",
1802 segwitAvailable: false,
1803 onSelect: function() { 1862 onSelect: function() {
1804 network = bitcoinjs.bitcoin.networks.denarius; 1863 network = bitcoinjs.bitcoin.networks.denarius;
1805 setHdCoin(116); 1864 setHdCoin(116);
@@ -1807,7 +1866,6 @@
1807 }, 1866 },
1808 { 1867 {
1809 name: "DOGE - Dogecoin", 1868 name: "DOGE - Dogecoin",
1810 segwitAvailable: false,
1811 onSelect: function() { 1869 onSelect: function() {
1812 network = bitcoinjs.bitcoin.networks.dogecoin; 1870 network = bitcoinjs.bitcoin.networks.dogecoin;
1813 setHdCoin(3); 1871 setHdCoin(3);
@@ -1815,7 +1873,6 @@
1815 }, 1873 },
1816 { 1874 {
1817 name: "ECN - Ecoin", 1875 name: "ECN - Ecoin",
1818 segwitAvailable: false,
1819 onSelect: function() { 1876 onSelect: function() {
1820 network = bitcoinjs.bitcoin.networks.ecoin; 1877 network = bitcoinjs.bitcoin.networks.ecoin;
1821 setHdCoin(115); 1878 setHdCoin(115);
@@ -1823,7 +1880,6 @@
1823 }, 1880 },
1824 { 1881 {
1825 name: "EDRC - Edrcoin", 1882 name: "EDRC - Edrcoin",
1826 segwitAvailable: false,
1827 onSelect: function() { 1883 onSelect: function() {
1828 network = bitcoinjs.bitcoin.networks.edrcoin; 1884 network = bitcoinjs.bitcoin.networks.edrcoin;
1829 setHdCoin(56); 1885 setHdCoin(56);
@@ -1831,7 +1887,6 @@
1831 }, 1887 },
1832 { 1888 {
1833 name: "EFL - Egulden", 1889 name: "EFL - Egulden",
1834 segwitAvailable: true,
1835 onSelect: function() { 1890 onSelect: function() {
1836 network = bitcoinjs.bitcoin.networks.egulden; 1891 network = bitcoinjs.bitcoin.networks.egulden;
1837 setHdCoin(78); 1892 setHdCoin(78);
@@ -1839,7 +1894,6 @@
1839 }, 1894 },
1840 { 1895 {
1841 name: "EMC2 - Einsteinium", 1896 name: "EMC2 - Einsteinium",
1842 segwitAvailable: false,
1843 onSelect: function() { 1897 onSelect: function() {
1844 network = bitcoinjs.bitcoin.networks.einsteinium; 1898 network = bitcoinjs.bitcoin.networks.einsteinium;
1845 setHdCoin(41); 1899 setHdCoin(41);
@@ -1847,7 +1901,6 @@
1847 }, 1901 },
1848 { 1902 {
1849 name: "ERC - Europecoin", 1903 name: "ERC - Europecoin",
1850 segwitAvailable: false,
1851 onSelect: function() { 1904 onSelect: function() {
1852 network = bitcoinjs.bitcoin.networks.europecoin; 1905 network = bitcoinjs.bitcoin.networks.europecoin;
1853 setHdCoin(151); 1906 setHdCoin(151);
@@ -1863,7 +1916,6 @@
1863 }, 1916 },
1864 { 1917 {
1865 name: "ETH - Ethereum", 1918 name: "ETH - Ethereum",
1866 segwitAvailable: false,
1867 onSelect: function() { 1919 onSelect: function() {
1868 network = bitcoinjs.bitcoin.networks.bitcoin; 1920 network = bitcoinjs.bitcoin.networks.bitcoin;
1869 setHdCoin(60); 1921 setHdCoin(60);
@@ -1871,7 +1923,6 @@
1871 }, 1923 },
1872 { 1924 {
1873 name: "EXCL - Exclusivecoin", 1925 name: "EXCL - Exclusivecoin",
1874 segwitAvailable: false,
1875 onSelect: function() { 1926 onSelect: function() {
1876 network = bitcoinjs.bitcoin.networks.exclusivecoin; 1927 network = bitcoinjs.bitcoin.networks.exclusivecoin;
1877 setHdCoin(190); 1928 setHdCoin(190);
@@ -1887,7 +1938,6 @@
1887 }, 1938 },
1888 { 1939 {
1889 name: "FJC - Fujicoin", 1940 name: "FJC - Fujicoin",
1890 segwitAvailable: true,
1891 onSelect: function() { 1941 onSelect: function() {
1892 network = bitcoinjs.bitcoin.networks.fujicoin; 1942 network = bitcoinjs.bitcoin.networks.fujicoin;
1893 setHdCoin(75); 1943 setHdCoin(75);
@@ -1895,7 +1945,6 @@
1895 }, 1945 },
1896 { 1946 {
1897 name: "FLASH - Flashcoin", 1947 name: "FLASH - Flashcoin",
1898 segwitAvailable: false,
1899 onSelect: function() { 1948 onSelect: function() {
1900 network = bitcoinjs.bitcoin.networks.flashcoin; 1949 network = bitcoinjs.bitcoin.networks.flashcoin;
1901 setHdCoin(120); 1950 setHdCoin(120);
@@ -1903,7 +1952,6 @@
1903 }, 1952 },
1904 { 1953 {
1905 name: "FRST - Firstcoin", 1954 name: "FRST - Firstcoin",
1906 segwitAvailable: false,
1907 onSelect: function() { 1955 onSelect: function() {
1908 network = bitcoinjs.bitcoin.networks.firstcoin; 1956 network = bitcoinjs.bitcoin.networks.firstcoin;
1909 setHdCoin(167); 1957 setHdCoin(167);
@@ -1911,7 +1959,6 @@
1911 }, 1959 },
1912 { 1960 {
1913 name: "FTC - Feathercoin", 1961 name: "FTC - Feathercoin",
1914 segwitAvailable: true,
1915 onSelect: function() { 1962 onSelect: function() {
1916 network = bitcoinjs.bitcoin.networks.feathercoin; 1963 network = bitcoinjs.bitcoin.networks.feathercoin;
1917 setHdCoin(8); 1964 setHdCoin(8);
@@ -1919,7 +1966,6 @@
1919 }, 1966 },
1920 { 1967 {
1921 name: "GAME - GameCredits", 1968 name: "GAME - GameCredits",
1922 segwitAvailable: false,
1923 onSelect: function() { 1969 onSelect: function() {
1924 network = bitcoinjs.bitcoin.networks.game; 1970 network = bitcoinjs.bitcoin.networks.game;
1925 setHdCoin(101); 1971 setHdCoin(101);
@@ -1927,7 +1973,6 @@
1927 }, 1973 },
1928 { 1974 {
1929 name: "GBX - Gobyte", 1975 name: "GBX - Gobyte",
1930 segwitAvailable: false,
1931 onSelect: function() { 1976 onSelect: function() {
1932 network = bitcoinjs.bitcoin.networks.gobyte; 1977 network = bitcoinjs.bitcoin.networks.gobyte;
1933 setHdCoin(176); 1978 setHdCoin(176);
@@ -1935,7 +1980,6 @@
1935 }, 1980 },
1936 { 1981 {
1937 name: "GCR - GCRCoin", 1982 name: "GCR - GCRCoin",
1938 segwitAvailable: false,
1939 onSelect: function() { 1983 onSelect: function() {
1940 network = bitcoinjs.bitcoin.networks.gcr; 1984 network = bitcoinjs.bitcoin.networks.gcr;
1941 setHdCoin(79); 1985 setHdCoin(79);
@@ -1943,7 +1987,6 @@
1943 }, 1987 },
1944 { 1988 {
1945 name: "GRC - Gridcoin", 1989 name: "GRC - Gridcoin",
1946 segwitAvailable: false,
1947 onSelect: function() { 1990 onSelect: function() {
1948 network = bitcoinjs.bitcoin.networks.gridcoin; 1991 network = bitcoinjs.bitcoin.networks.gridcoin;
1949 setHdCoin(84); 1992 setHdCoin(84);
@@ -1951,7 +1994,6 @@
1951 }, 1994 },
1952 { 1995 {
1953 name: "HNC - Helleniccoin", 1996 name: "HNC - Helleniccoin",
1954 segwitAvailable: false,
1955 onSelect: function() { 1997 onSelect: function() {
1956 network = bitcoinjs.bitcoin.networks.helleniccoin; 1998 network = bitcoinjs.bitcoin.networks.helleniccoin;
1957 setHdCoin(168); 1999 setHdCoin(168);
@@ -1959,7 +2001,6 @@
1959 }, 2001 },
1960 { 2002 {
1961 name: "INSN - Insane", 2003 name: "INSN - Insane",
1962 segwitAvailable: false,
1963 onSelect: function() { 2004 onSelect: function() {
1964 network = bitcoinjs.bitcoin.networks.insane; 2005 network = bitcoinjs.bitcoin.networks.insane;
1965 setHdCoin(68); 2006 setHdCoin(68);
@@ -1967,7 +2008,6 @@
1967 }, 2008 },
1968 { 2009 {
1969 name: "IOP - Iop", 2010 name: "IOP - Iop",
1970 segwitAvailable: true,
1971 onSelect: function() { 2011 onSelect: function() {
1972 network = bitcoinjs.bitcoin.networks.iop; 2012 network = bitcoinjs.bitcoin.networks.iop;
1973 setHdCoin(66); 2013 setHdCoin(66);
@@ -1975,7 +2015,6 @@
1975 }, 2015 },
1976 { 2016 {
1977 name: "IXC - Ixcoin", 2017 name: "IXC - Ixcoin",
1978 segwitAvailable: false,
1979 onSelect: function() { 2018 onSelect: function() {
1980 network = bitcoinjs.bitcoin.networks.ixcoin; 2019 network = bitcoinjs.bitcoin.networks.ixcoin;
1981 setHdCoin(86); 2020 setHdCoin(86);
@@ -1983,7 +2022,6 @@
1983 }, 2022 },
1984 { 2023 {
1985 name: "JBS - Jumbucks", 2024 name: "JBS - Jumbucks",
1986 segwitAvailable: false,
1987 onSelect: function() { 2025 onSelect: function() {
1988 network = bitcoinjs.bitcoin.networks.jumbucks; 2026 network = bitcoinjs.bitcoin.networks.jumbucks;
1989 setHdCoin(26); 2027 setHdCoin(26);
@@ -2007,7 +2045,6 @@
2007 }, 2045 },
2008 { 2046 {
2009 name: "LBC - Library Credits", 2047 name: "LBC - Library Credits",
2010 segwitAvailable: false,
2011 onSelect: function() { 2048 onSelect: function() {
2012 network = bitcoinjs.bitcoin.networks.lbry; 2049 network = bitcoinjs.bitcoin.networks.lbry;
2013 setHdCoin(140); 2050 setHdCoin(140);
@@ -2015,7 +2052,6 @@
2015 }, 2052 },
2016 { 2053 {
2017 name: "LCC - Litecoincash", 2054 name: "LCC - Litecoincash",
2018 segwitAvailable: true,
2019 onSelect: function() { 2055 onSelect: function() {
2020 network = bitcoinjs.bitcoin.networks.litecoincash; 2056 network = bitcoinjs.bitcoin.networks.litecoincash;
2021 setHdCoin(192); 2057 setHdCoin(192);
@@ -2023,7 +2059,6 @@
2023 }, 2059 },
2024 { 2060 {
2025 name: "LDCN - Landcoin", 2061 name: "LDCN - Landcoin",
2026 segwitAvailable: false,
2027 onSelect: function() { 2062 onSelect: function() {
2028 network = bitcoinjs.bitcoin.networks.landcoin; 2063 network = bitcoinjs.bitcoin.networks.landcoin;
2029 setHdCoin(63); 2064 setHdCoin(63);
@@ -2031,7 +2066,6 @@
2031 }, 2066 },
2032 { 2067 {
2033 name: "LINX - Linx", 2068 name: "LINX - Linx",
2034 segwitAvailable: false,
2035 onSelect: function() { 2069 onSelect: function() {
2036 network = bitcoinjs.bitcoin.networks.linx; 2070 network = bitcoinjs.bitcoin.networks.linx;
2037 setHdCoin(114); 2071 setHdCoin(114);
@@ -2039,7 +2073,6 @@
2039 }, 2073 },
2040 { 2074 {
2041 name: "LTC - Litecoin", 2075 name: "LTC - Litecoin",
2042 segwitAvailable: true,
2043 onSelect: function() { 2076 onSelect: function() {
2044 network = bitcoinjs.bitcoin.networks.litecoin; 2077 network = bitcoinjs.bitcoin.networks.litecoin;
2045 setHdCoin(2); 2078 setHdCoin(2);
@@ -2048,7 +2081,6 @@
2048 }, 2081 },
2049 { 2082 {
2050 name: "LYNX - Lynx", 2083 name: "LYNX - Lynx",
2051 segwitAvailable: false,
2052 onSelect: function() { 2084 onSelect: function() {
2053 network = bitcoinjs.bitcoin.networks.lynx; 2085 network = bitcoinjs.bitcoin.networks.lynx;
2054 setHdCoin(191); 2086 setHdCoin(191);
@@ -2056,7 +2088,6 @@
2056 }, 2088 },
2057 { 2089 {
2058 name: "MAZA - Maza", 2090 name: "MAZA - Maza",
2059 segwitAvailable: false,
2060 onSelect: function() { 2091 onSelect: function() {
2061 network = bitcoinjs.bitcoin.networks.maza; 2092 network = bitcoinjs.bitcoin.networks.maza;
2062 setHdCoin(13); 2093 setHdCoin(13);
@@ -2072,7 +2103,6 @@
2072 }, 2103 },
2073 { 2104 {
2074 name: "MNX - Minexcoin", 2105 name: "MNX - Minexcoin",
2075 segwitAvailable: true,
2076 onSelect: function() { 2106 onSelect: function() {
2077 network = bitcoinjs.bitcoin.networks.minexcoin; 2107 network = bitcoinjs.bitcoin.networks.minexcoin;
2078 setHdCoin(182); 2108 setHdCoin(182);
@@ -2080,7 +2110,6 @@
2080 }, 2110 },
2081 { 2111 {
2082 name: "MONA - Monacoin", 2112 name: "MONA - Monacoin",
2083 segwitAvailable: true,
2084 onSelect: function() { 2113 onSelect: function() {
2085 network = bitcoinjs.bitcoin.networks.monacoin, 2114 network = bitcoinjs.bitcoin.networks.monacoin,
2086 setHdCoin(22); 2115 setHdCoin(22);
@@ -2096,7 +2125,6 @@
2096 }, 2125 },
2097 { 2126 {
2098 name: "NAV - Navcoin", 2127 name: "NAV - Navcoin",
2099 segwitAvailable: true,
2100 onSelect: function() { 2128 onSelect: function() {
2101 network = bitcoinjs.bitcoin.networks.navcoin; 2129 network = bitcoinjs.bitcoin.networks.navcoin;
2102 setHdCoin(130); 2130 setHdCoin(130);
@@ -2104,7 +2132,6 @@
2104 }, 2132 },
2105 { 2133 {
2106 name: "NEBL - Neblio", 2134 name: "NEBL - Neblio",
2107 segwitAvailable: false,
2108 onSelect: function() { 2135 onSelect: function() {
2109 network = bitcoinjs.bitcoin.networks.neblio; 2136 network = bitcoinjs.bitcoin.networks.neblio;
2110 setHdCoin(146); 2137 setHdCoin(146);
@@ -2112,7 +2139,6 @@
2112 }, 2139 },
2113 { 2140 {
2114 name: "NEOS - Neoscoin", 2141 name: "NEOS - Neoscoin",
2115 segwitAvailable: false,
2116 onSelect: function() { 2142 onSelect: function() {
2117 network = bitcoinjs.bitcoin.networks.neoscoin; 2143 network = bitcoinjs.bitcoin.networks.neoscoin;
2118 setHdCoin(25); 2144 setHdCoin(25);
@@ -2120,7 +2146,6 @@
2120 }, 2146 },
2121 { 2147 {
2122 name: "NLG - Gulden", 2148 name: "NLG - Gulden",
2123 segwitAvailable: false,
2124 onSelect: function() { 2149 onSelect: function() {
2125 network = bitcoinjs.bitcoin.networks.gulden; 2150 network = bitcoinjs.bitcoin.networks.gulden;
2126 setHdCoin(87); 2151 setHdCoin(87);
@@ -2128,7 +2153,6 @@
2128 }, 2153 },
2129 { 2154 {
2130 name: "NMC - Namecoin", 2155 name: "NMC - Namecoin",
2131 segwitAvailable: false,
2132 onSelect: function() { 2156 onSelect: function() {
2133 network = bitcoinjs.bitcoin.networks.namecoin; 2157 network = bitcoinjs.bitcoin.networks.namecoin;
2134 setHdCoin(7); 2158 setHdCoin(7);
@@ -2136,7 +2160,6 @@
2136 }, 2160 },
2137 { 2161 {
2138 name: "NRG - Energi", 2162 name: "NRG - Energi",
2139 segwitAvailable: false,
2140 onSelect: function() { 2163 onSelect: function() {
2141 network = bitcoinjs.bitcoin.networks.energi; 2164 network = bitcoinjs.bitcoin.networks.energi;
2142 setHdCoin(204); 2165 setHdCoin(204);
@@ -2144,7 +2167,6 @@
2144 }, 2167 },
2145 { 2168 {
2146 name: "NRO - Neurocoin", 2169 name: "NRO - Neurocoin",
2147 segwitAvailable: false,
2148 onSelect: function() { 2170 onSelect: function() {
2149 network = bitcoinjs.bitcoin.networks.neurocoin; 2171 network = bitcoinjs.bitcoin.networks.neurocoin;
2150 setHdCoin(110); 2172 setHdCoin(110);
@@ -2152,7 +2174,6 @@
2152 }, 2174 },
2153 { 2175 {
2154 name: "NSR - Nushares", 2176 name: "NSR - Nushares",
2155 segwitAvailable: false,
2156 onSelect: function() { 2177 onSelect: function() {
2157 network = bitcoinjs.bitcoin.networks.nushares; 2178 network = bitcoinjs.bitcoin.networks.nushares;
2158 setHdCoin(11); 2179 setHdCoin(11);
@@ -2160,7 +2181,6 @@
2160 }, 2181 },
2161 { 2182 {
2162 name: "NYC - Newyorkc", 2183 name: "NYC - Newyorkc",
2163 segwitAvailable: false,
2164 onSelect: function() { 2184 onSelect: function() {
2165 network = bitcoinjs.bitcoin.networks.newyorkc; 2185 network = bitcoinjs.bitcoin.networks.newyorkc;
2166 setHdCoin(179); 2186 setHdCoin(179);
@@ -2168,7 +2188,6 @@
2168 }, 2188 },
2169 { 2189 {
2170 name: "NVC - Novacoin", 2190 name: "NVC - Novacoin",
2171 segwitAvailable: false,
2172 onSelect: function() { 2191 onSelect: function() {
2173 network = bitcoinjs.bitcoin.networks.novacoin; 2192 network = bitcoinjs.bitcoin.networks.novacoin;
2174 setHdCoin(50); 2193 setHdCoin(50);
@@ -2176,7 +2195,6 @@
2176 }, 2195 },
2177 { 2196 {
2178 name: "OK - Okcash", 2197 name: "OK - Okcash",
2179 segwitAvailable: false,
2180 onSelect: function() { 2198 onSelect: function() {
2181 network = bitcoinjs.bitcoin.networks.okcash; 2199 network = bitcoinjs.bitcoin.networks.okcash;
2182 setHdCoin(69); 2200 setHdCoin(69);
@@ -2184,7 +2202,6 @@
2184 }, 2202 },
2185 { 2203 {
2186 name: "OMNI - Omnicore", 2204 name: "OMNI - Omnicore",
2187 segwitAvailable: true,
2188 onSelect: function() { 2205 onSelect: function() {
2189 network = bitcoinjs.bitcoin.networks.omnicore; 2206 network = bitcoinjs.bitcoin.networks.omnicore;
2190 setHdCoin(200); 2207 setHdCoin(200);
@@ -2192,7 +2209,6 @@
2192 }, 2209 },
2193 { 2210 {
2194 name: "ONX - Onixcoin", 2211 name: "ONX - Onixcoin",
2195 segwitAvailable: false,
2196 onSelect: function() { 2212 onSelect: function() {
2197 network = bitcoinjs.bitcoin.networks.onixcoin; 2213 network = bitcoinjs.bitcoin.networks.onixcoin;
2198 setHdCoin(174); 2214 setHdCoin(174);
@@ -2200,7 +2216,6 @@
2200 }, 2216 },
2201 { 2217 {
2202 name: "PINK - Pinkcoin", 2218 name: "PINK - Pinkcoin",
2203 segwitAvailable: false,
2204 onSelect: function() { 2219 onSelect: function() {
2205 network = bitcoinjs.bitcoin.networks.pinkcoin; 2220 network = bitcoinjs.bitcoin.networks.pinkcoin;
2206 setHdCoin(117); 2221 setHdCoin(117);
@@ -2216,7 +2231,6 @@
2216 }, 2231 },
2217 { 2232 {
2218 name: "PIVX - PIVX", 2233 name: "PIVX - PIVX",
2219 segwitAvailable: false,
2220 onSelect: function() { 2234 onSelect: function() {
2221 network = bitcoinjs.bitcoin.networks.pivx; 2235 network = bitcoinjs.bitcoin.networks.pivx;
2222 setHdCoin(119); 2236 setHdCoin(119);
@@ -2224,7 +2238,6 @@
2224 }, 2238 },
2225 { 2239 {
2226 name: "PIVX - PIVX Testnet", 2240 name: "PIVX - PIVX Testnet",
2227 segwitAvailable: false,
2228 onSelect: function() { 2241 onSelect: function() {
2229 network = bitcoinjs.bitcoin.networks.pivxtestnet; 2242 network = bitcoinjs.bitcoin.networks.pivxtestnet;
2230 setHdCoin(1); 2243 setHdCoin(1);
@@ -2240,7 +2253,6 @@
2240 }, 2253 },
2241 { 2254 {
2242 name: "POSW - POSWcoin", 2255 name: "POSW - POSWcoin",
2243 segwitAvailable: false,
2244 onSelect: function() { 2256 onSelect: function() {
2245 network = bitcoinjs.bitcoin.networks.poswcoin; 2257 network = bitcoinjs.bitcoin.networks.poswcoin;
2246 setHdCoin(47); 2258 setHdCoin(47);
@@ -2248,7 +2260,6 @@
2248 }, 2260 },
2249 { 2261 {
2250 name: "POT - Potcoin", 2262 name: "POT - Potcoin",
2251 segwitAvailable: false,
2252 onSelect: function() { 2263 onSelect: function() {
2253 network = bitcoinjs.bitcoin.networks.potcoin; 2264 network = bitcoinjs.bitcoin.networks.potcoin;
2254 setHdCoin(81); 2265 setHdCoin(81);
@@ -2256,7 +2267,6 @@
2256 }, 2267 },
2257 { 2268 {
2258 name: "PPC - Peercoin", 2269 name: "PPC - Peercoin",
2259 segwitAvailable: false,
2260 onSelect: function() { 2270 onSelect: function() {
2261 network = bitcoinjs.bitcoin.networks.peercoin; 2271 network = bitcoinjs.bitcoin.networks.peercoin;
2262 setHdCoin(6); 2272 setHdCoin(6);
@@ -2264,7 +2274,6 @@
2264 }, 2274 },
2265 { 2275 {
2266 name: "PSB - Pesobit", 2276 name: "PSB - Pesobit",
2267 segwitAvailable: false,
2268 onSelect: function() { 2277 onSelect: function() {
2269 network = bitcoinjs.bitcoin.networks.pesobit; 2278 network = bitcoinjs.bitcoin.networks.pesobit;
2270 setHdCoin(62); 2279 setHdCoin(62);
@@ -2272,7 +2281,6 @@
2272 }, 2281 },
2273 { 2282 {
2274 name: "PUT - Putincoin", 2283 name: "PUT - Putincoin",
2275 segwitAvailable: false,
2276 onSelect: function() { 2284 onSelect: function() {
2277 network = bitcoinjs.bitcoin.networks.putincoin; 2285 network = bitcoinjs.bitcoin.networks.putincoin;
2278 setHdCoin(122); 2286 setHdCoin(122);
@@ -2280,7 +2288,6 @@
2280 }, 2288 },
2281 { 2289 {
2282 name: "RBY - Rubycoin", 2290 name: "RBY - Rubycoin",
2283 segwitAvailable: false,
2284 onSelect: function() { 2291 onSelect: function() {
2285 network = bitcoinjs.bitcoin.networks.rubycoin; 2292 network = bitcoinjs.bitcoin.networks.rubycoin;
2286 setHdCoin(16); 2293 setHdCoin(16);
@@ -2288,15 +2295,13 @@
2288 }, 2295 },
2289 { 2296 {
2290 name: "RDD - Reddcoin", 2297 name: "RDD - Reddcoin",
2291 segwitAvailable: false,
2292 onSelect: function() { 2298 onSelect: function() {
2293 network = bitcoinjs.bitcoin.networks.reddoin; 2299 network = bitcoinjs.bitcoin.networks.reddcoin;
2294 setHdCoin(4); 2300 setHdCoin(4);
2295 }, 2301 },
2296 }, 2302 },
2297 { 2303 {
2298 name: "RVR - RevolutionVR", 2304 name: "RVR - RevolutionVR",
2299 segwitAvailable: false,
2300 onSelect: function() { 2305 onSelect: function() {
2301 network = bitcoinjs.bitcoin.networks.revolutionvr; 2306 network = bitcoinjs.bitcoin.networks.revolutionvr;
2302 setHdCoin(129); 2307 setHdCoin(129);
@@ -2304,7 +2309,6 @@
2304 }, 2309 },
2305 { 2310 {
2306 name: "SDC - ShadowCash", 2311 name: "SDC - ShadowCash",
2307 segwitAvailable: false,
2308 onSelect: function() { 2312 onSelect: function() {
2309 network = bitcoinjs.bitcoin.networks.shadow; 2313 network = bitcoinjs.bitcoin.networks.shadow;
2310 setHdCoin(35); 2314 setHdCoin(35);
@@ -2312,7 +2316,6 @@
2312 }, 2316 },
2313 { 2317 {
2314 name: "SDC - ShadowCash Testnet", 2318 name: "SDC - ShadowCash Testnet",
2315 segwitAvailable: false,
2316 onSelect: function() { 2319 onSelect: function() {
2317 network = bitcoinjs.bitcoin.networks.shadowtn; 2320 network = bitcoinjs.bitcoin.networks.shadowtn;
2318 setHdCoin(1); 2321 setHdCoin(1);
@@ -2320,7 +2323,6 @@
2320 }, 2323 },
2321 { 2324 {
2322 name: "SLM - Slimcoin", 2325 name: "SLM - Slimcoin",
2323 segwitAvailable: false,
2324 onSelect: function() { 2326 onSelect: function() {
2325 network = bitcoinjs.bitcoin.networks.slimcoin; 2327 network = bitcoinjs.bitcoin.networks.slimcoin;
2326 setHdCoin(63); 2328 setHdCoin(63);
@@ -2328,7 +2330,6 @@
2328 }, 2330 },
2329 { 2331 {
2330 name: "SLM - Slimcoin Testnet", 2332 name: "SLM - Slimcoin Testnet",
2331 segwitAvailable: false,
2332 onSelect: function() { 2333 onSelect: function() {
2333 network = bitcoinjs.bitcoin.networks.slimcointn; 2334 network = bitcoinjs.bitcoin.networks.slimcointn;
2334 setHdCoin(111); 2335 setHdCoin(111);
@@ -2336,7 +2337,6 @@
2336 }, 2337 },
2337 { 2338 {
2338 name: "SLR - Solarcoin", 2339 name: "SLR - Solarcoin",
2339 segwitAvailable: false,
2340 onSelect: function() { 2340 onSelect: function() {
2341 network = bitcoinjs.bitcoin.networks.solarcoin; 2341 network = bitcoinjs.bitcoin.networks.solarcoin;
2342 setHdCoin(58); 2342 setHdCoin(58);
@@ -2344,7 +2344,6 @@
2344 }, 2344 },
2345 { 2345 {
2346 name: "SMLY - Smileycoin", 2346 name: "SMLY - Smileycoin",
2347 segwitAvailable: false,
2348 onSelect: function() { 2347 onSelect: function() {
2349 network = bitcoinjs.bitcoin.networks.smileycoin; 2348 network = bitcoinjs.bitcoin.networks.smileycoin;
2350 setHdCoin(59); 2349 setHdCoin(59);
@@ -2352,7 +2351,6 @@
2352 }, 2351 },
2353 { 2352 {
2354 name: "STRAT - Stratis", 2353 name: "STRAT - Stratis",
2355 segwitAvailable: false,
2356 onSelect: function() { 2354 onSelect: function() {
2357 network = bitcoinjs.bitcoin.networks.stratis; 2355 network = bitcoinjs.bitcoin.networks.stratis;
2358 setHdCoin(105); 2356 setHdCoin(105);
@@ -2360,7 +2358,6 @@
2360 }, 2358 },
2361 { 2359 {
2362 name: "SYS - Syscoin", 2360 name: "SYS - Syscoin",
2363 segwitAvailable: true,
2364 onSelect: function() { 2361 onSelect: function() {
2365 network = bitcoinjs.bitcoin.networks.syscoin; 2362 network = bitcoinjs.bitcoin.networks.syscoin;
2366 setHdCoin(57); 2363 setHdCoin(57);
@@ -2368,7 +2365,6 @@
2368 }, 2365 },
2369 { 2366 {
2370 name: "THC - Hempcoin", 2367 name: "THC - Hempcoin",
2371 segwitAvailable: false,
2372 onSelect: function() { 2368 onSelect: function() {
2373 network = bitcoinjs.bitcoin.networks.hempcoin; 2369 network = bitcoinjs.bitcoin.networks.hempcoin;
2374 setHdCoin(113); 2370 setHdCoin(113);
@@ -2376,7 +2372,6 @@
2376 }, 2372 },
2377 { 2373 {
2378 name: "TOA - Toa", 2374 name: "TOA - Toa",
2379 segwitAvailable: false,
2380 onSelect: function() { 2375 onSelect: function() {
2381 network = bitcoinjs.bitcoin.networks.toa; 2376 network = bitcoinjs.bitcoin.networks.toa;
2382 setHdCoin(159); 2377 setHdCoin(159);
@@ -2384,7 +2379,6 @@
2384 }, 2379 },
2385 { 2380 {
2386 name: "USC - Ultimatesecurecash", 2381 name: "USC - Ultimatesecurecash",
2387 segwitAvailable: false,
2388 onSelect: function() { 2382 onSelect: function() {
2389 network = bitcoinjs.bitcoin.networks.ultimatesecurecash; 2383 network = bitcoinjs.bitcoin.networks.ultimatesecurecash;
2390 setHdCoin(112); 2384 setHdCoin(112);
@@ -2392,7 +2386,6 @@
2392 }, 2386 },
2393 { 2387 {
2394 name: "USNBT - NuBits", 2388 name: "USNBT - NuBits",
2395 segwitAvailable: false,
2396 onSelect: function() { 2389 onSelect: function() {
2397 network = bitcoinjs.bitcoin.networks.nubits; 2390 network = bitcoinjs.bitcoin.networks.nubits;
2398 setHdCoin(12); 2391 setHdCoin(12);
@@ -2400,7 +2393,6 @@
2400 }, 2393 },
2401 { 2394 {
2402 name: "UNO - Unobtanium", 2395 name: "UNO - Unobtanium",
2403 segwitAvailable: false,
2404 onSelect: function() { 2396 onSelect: function() {
2405 network = bitcoinjs.bitcoin.networks.unobtanium; 2397 network = bitcoinjs.bitcoin.networks.unobtanium;
2406 setHdCoin(92); 2398 setHdCoin(92);
@@ -2408,7 +2400,6 @@
2408 }, 2400 },
2409 { 2401 {
2410 name: "VASH - Vpncoin", 2402 name: "VASH - Vpncoin",
2411 segwitAvailable: false,
2412 onSelect: function() { 2403 onSelect: function() {
2413 network = bitcoinjs.bitcoin.networks.vpncoin; 2404 network = bitcoinjs.bitcoin.networks.vpncoin;
2414 setHdCoin(33); 2405 setHdCoin(33);
@@ -2416,7 +2407,6 @@
2416 }, 2407 },
2417 { 2408 {
2418 name: "VIA - Viacoin", 2409 name: "VIA - Viacoin",
2419 segwitAvailable: false,
2420 onSelect: function() { 2410 onSelect: function() {
2421 network = bitcoinjs.bitcoin.networks.viacoin; 2411 network = bitcoinjs.bitcoin.networks.viacoin;
2422 setHdCoin(14); 2412 setHdCoin(14);
@@ -2424,7 +2414,6 @@
2424 }, 2414 },
2425 { 2415 {
2426 name: "VIA - Viacoin Testnet", 2416 name: "VIA - Viacoin Testnet",
2427 segwitAvailable: false,
2428 onSelect: function() { 2417 onSelect: function() {
2429 network = bitcoinjs.bitcoin.networks.viacointestnet; 2418 network = bitcoinjs.bitcoin.networks.viacointestnet;
2430 setHdCoin(1); 2419 setHdCoin(1);
@@ -2432,7 +2421,6 @@
2432 }, 2421 },
2433 { 2422 {
2434 name: "VIVO - Vivo", 2423 name: "VIVO - Vivo",
2435 segwitAvailable: false,
2436 onSelect: function() { 2424 onSelect: function() {
2437 network = bitcoinjs.bitcoin.networks.vivo; 2425 network = bitcoinjs.bitcoin.networks.vivo;
2438 setHdCoin(166); 2426 setHdCoin(166);
@@ -2440,7 +2428,6 @@
2440 }, 2428 },
2441 { 2429 {
2442 name: "VTC - Vertcoin", 2430 name: "VTC - Vertcoin",
2443 segwitAvailable: true,
2444 onSelect: function() { 2431 onSelect: function() {
2445 network = bitcoinjs.bitcoin.networks.vertcoin; 2432 network = bitcoinjs.bitcoin.networks.vertcoin;
2446 setHdCoin(28); 2433 setHdCoin(28);
@@ -2448,7 +2435,6 @@
2448 }, 2435 },
2449 { 2436 {
2450 name: "WC - Wincoin", 2437 name: "WC - Wincoin",
2451 segwitAvailable: false,
2452 onSelect: function() { 2438 onSelect: function() {
2453 network = bitcoinjs.bitcoin.networks.wincoin; 2439 network = bitcoinjs.bitcoin.networks.wincoin;
2454 setHdCoin(181); 2440 setHdCoin(181);
@@ -2456,7 +2442,6 @@
2456 }, 2442 },
2457 { 2443 {
2458 name: "XBC - Bitcoinplus", 2444 name: "XBC - Bitcoinplus",
2459 segwitAvailable: false,
2460 onSelect: function() { 2445 onSelect: function() {
2461 network = bitcoinjs.bitcoin.networks.bitcoinplus; 2446 network = bitcoinjs.bitcoin.networks.bitcoinplus;
2462 setHdCoin(65); 2447 setHdCoin(65);
@@ -2464,7 +2449,6 @@
2464 }, 2449 },
2465 { 2450 {
2466 name: "XMY - Myriadcoin", 2451 name: "XMY - Myriadcoin",
2467 segwitAvailable: false,
2468 onSelect: function() { 2452 onSelect: function() {
2469 network = bitcoinjs.bitcoin.networks.myriadcoin; 2453 network = bitcoinjs.bitcoin.networks.myriadcoin;
2470 setHdCoin(90); 2454 setHdCoin(90);
@@ -2472,7 +2456,6 @@
2472 }, 2456 },
2473 { 2457 {
2474 name: "XRP - Ripple", 2458 name: "XRP - Ripple",
2475 segwitAvailable: false,
2476 onSelect: function() { 2459 onSelect: function() {
2477 network = bitcoinjs.bitcoin.networks.bitcoin; 2460 network = bitcoinjs.bitcoin.networks.bitcoin;
2478 setHdCoin(144); 2461 setHdCoin(144);
@@ -2480,7 +2463,6 @@
2480 }, 2463 },
2481 { 2464 {
2482 name: "XVC - Vcash", 2465 name: "XVC - Vcash",
2483 segwitAvailable: false,
2484 onSelect: function() { 2466 onSelect: function() {
2485 network = bitcoinjs.bitcoin.networks.vcash; 2467 network = bitcoinjs.bitcoin.networks.vcash;
2486 setHdCoin(127); 2468 setHdCoin(127);
@@ -2488,7 +2470,6 @@
2488 }, 2470 },
2489 { 2471 {
2490 name: "XVG - Verge", 2472 name: "XVG - Verge",
2491 segwitAvailable: false,
2492 onSelect: function() { 2473 onSelect: function() {
2493 network = bitcoinjs.bitcoin.networks.verge; 2474 network = bitcoinjs.bitcoin.networks.verge;
2494 setHdCoin(77); 2475 setHdCoin(77);
@@ -2504,7 +2485,6 @@
2504 }, 2485 },
2505 { 2486 {
2506 name: "XWC - Whitecoin", 2487 name: "XWC - Whitecoin",
2507 segwitAvailable: false,
2508 onSelect: function() { 2488 onSelect: function() {
2509 network = bitcoinjs.bitcoin.networks.whitecoin; 2489 network = bitcoinjs.bitcoin.networks.whitecoin;
2510 setHdCoin(155); 2490 setHdCoin(155);
@@ -2512,7 +2492,6 @@
2512 }, 2492 },
2513 { 2493 {
2514 name: "XZC - Zcoin", 2494 name: "XZC - Zcoin",
2515 segwitAvailable: true,
2516 onSelect: function() { 2495 onSelect: function() {
2517 network = bitcoinjs.bitcoin.networks.zcoin; 2496 network = bitcoinjs.bitcoin.networks.zcoin;
2518 setHdCoin(136); 2497 setHdCoin(136);
@@ -2520,7 +2499,6 @@
2520 }, 2499 },
2521 { 2500 {
2522 name: "ZCL - Zclassic", 2501 name: "ZCL - Zclassic",
2523 segwitAvailable: false,
2524 onSelect: function() { 2502 onSelect: function() {
2525 network = bitcoinjs.bitcoin.networks.zclassic; 2503 network = bitcoinjs.bitcoin.networks.zclassic;
2526 setHdCoin(147); 2504 setHdCoin(147);
@@ -2528,7 +2506,6 @@
2528 }, 2506 },
2529 { 2507 {
2530 name: "ZEC - Zcash", 2508 name: "ZEC - Zcash",
2531 segwitAvailable: false,
2532 onSelect: function() { 2509 onSelect: function() {
2533 network = bitcoinjs.bitcoin.networks.zcash; 2510 network = bitcoinjs.bitcoin.networks.zcash;
2534 setHdCoin(133); 2511 setHdCoin(133);
@@ -2536,7 +2513,6 @@
2536 }, 2513 },
2537 { 2514 {
2538 name: "ZEN - Zencash", 2515 name: "ZEN - Zencash",
2539 segwitAvailable: false,
2540 onSelect: function() { 2516 onSelect: function() {
2541 network = bitcoinjs.bitcoin.networks.zencash; 2517 network = bitcoinjs.bitcoin.networks.zencash;
2542 setHdCoin(121); 2518 setHdCoin(121);
diff --git a/src/js/segwit-parameters.js b/src/js/segwit-parameters.js
index f8b0347..b4530d5 100644
--- a/src/js/segwit-parameters.js
+++ b/src/js/segwit-parameters.js
@@ -56,9 +56,23 @@ bitcoinjs.bitcoin.networks.testnet.p2wpkhInP2sh = {
56 wif: 0xef 56 wif: 0xef
57}; 57};
58 58
59bitcoinjs.bitcoin.networks.litecoin.p2wpkh = {
60 baseNetwork: "litecoin",
61 messagePrefix: '\x19Litecoin Signed Message:\n',
62 bech32: 'ltc',
63 bip32: {
64 public: 0x04b24746,
65 private: 0x04b2430c
66 },
67 pubKeyHash: 0x30,
68 scriptHash: 0x32,
69 wif: 0xb0
70};
71
59bitcoinjs.bitcoin.networks.litecoin.p2wpkhInP2sh = { 72bitcoinjs.bitcoin.networks.litecoin.p2wpkhInP2sh = {
60 baseNetwork: "litecoin", 73 baseNetwork: "litecoin",
61 messagePrefix: '\x19Litecoin Signed Message:\n', 74 messagePrefix: '\x19Litecoin Signed Message:\n',
75 bech32: 'ltc',
62 bip32: { 76 bip32: {
63 public: 0x01b26ef6, 77 public: 0x01b26ef6,
64 private: 0x01b26792 78 private: 0x01b26792
diff --git a/tests/spec/tests.js b/tests/spec/tests.js
index 250a720..0ffc73b 100644
--- a/tests/spec/tests.js
+++ b/tests/spec/tests.js
@@ -616,7 +616,7 @@ it('Allows selection of monacoin', function(done) {
616it('Allows selection of AXE', function(done) { 616it('Allows selection of AXE', function(done) {
617 var params = { 617 var params = {
618 selectText: "AXE - Axe", 618 selectText: "AXE - Axe",
619 firstAddress: "XQ4HLxUVS3egk5ff1o9e2vJFJKSSsUH3B7", 619 firstAddress: "PScwtLUyPiGrqtKXrHF37DGETLXLZdw4up",
620 }; 620 };
621 testNetwork(done, params); 621 testNetwork(done, params);
622}); 622});
@@ -1057,7 +1057,7 @@ it('Allows selection of Putincoin', function(done) {
1057it('Allows selection of Reddcoin', function(done) { 1057it('Allows selection of Reddcoin', function(done) {
1058 var params = { 1058 var params = {
1059 selectText: "RDD - Reddcoin", 1059 selectText: "RDD - Reddcoin",
1060 firstAddress: "1M4druAcUfkXBaAcQ4cCgCLPHChiaib6kL", 1060 firstAddress: "RtgRvXMBng1y51ftteveFqwNfyRG18HpxQ",
1061 }; 1061 };
1062 testNetwork(done, params); 1062 testNetwork(done, params);
1063}); 1063});
@@ -3692,4 +3692,61 @@ it('Does not show a warning if entropy is stronger than mnemonic length', functi
3692 }); 3692 });
3693}); 3693});
3694 3694
3695it('Shows a warning for litecoin BIP84 (which does not have p2wpkh params)', function(done) {
3696 driver.findElement(By.css('.phrase'))
3697 .sendKeys('abandon abandon ability');
3698 selectNetwork("LTC - Litecoin");
3699 driver.findElement(By.css('#bip84-tab a'))
3700 .click()
3701 // bip84 unavailable is shown
3702 driver.sleep(feedbackDelay).then(function() {
3703 driver.findElement(By.css('#bip84 .unavailable'))
3704 .getAttribute("class")
3705 .then(function(classes) {
3706 expect(classes).not.toContain("hidden");
3707 done();
3708 });
3709 });
3710});
3711
3712it('Shows litecoin BIP49 addresses', function(done) {
3713 driver.findElement(By.css('.phrase'))
3714 .sendKeys('abandon abandon ability');
3715 selectNetwork("LTC - Litecoin");
3716 driver.findElement(By.css('#bip49-tab a'))
3717 .click()
3718 // bip49 addresses are shown
3719 driver.sleep(generateDelay).then(function() {
3720 driver.findElement(By.css('#bip49 .available'))
3721 .getAttribute("class")
3722 .then(function(classes) {
3723 expect(classes).not.toContain("hidden");
3724 // check first address
3725 getFirstAddress(function(address) {
3726 expect(address).toBe("MFwLPhsXoBuSLL8cLmW9uK6tChkzduV8qN");
3727 done();
3728 });
3729 });
3730 });
3731});
3732
3733it('Can use root keys to generate segwit table rows', function(done) {
3734 // segwit uses ypub / zpub instead of xpub but the root key should still
3735 // be valid regardless of the encoding used to import that key.
3736 // Maybe this breaks the reason for the different extended key prefixes, but
3737 // since the parsed root key is used behind the scenes anyhow this should be
3738 // allowed.
3739 driver.findElement(By.css('#root-key'))
3740 .sendKeys('xprv9s21ZrQH143K2jkGDCeTLgRewT9F2pH5JZs2zDmmjXes34geVnFiuNa8KTvY5WoYvdn4Ag6oYRoB6cXtc43NgJAEqDXf51xPm6fhiMCKwpi');
3741 driver.findElement(By.css('#bip49-tab a'))
3742 .click()
3743 // bip49 addresses are shown
3744 driver.sleep(generateDelay).then(function() {
3745 getFirstAddress(function(address) {
3746 expect(address).toBe("3QG2Y9AA4xZ846gKHZqNf7mvVKbLqMKxr2");
3747 done();
3748 });
3749 });
3750});
3751
3695}); 3752});