diff options
-rw-r--r-- | bip39-standalone.html | 45 | ||||
-rw-r--r-- | changelog.md | 5 | ||||
-rw-r--r-- | src/index.html | 2 |
3 files changed, 48 insertions, 4 deletions
diff --git a/bip39-standalone.html b/bip39-standalone.html index 3ec21db..f268cae 100644 --- a/bip39-standalone.html +++ b/bip39-standalone.html | |||
@@ -118,7 +118,7 @@ | |||
118 | <div class="container"> | 118 | <div class="container"> |
119 | 119 | ||
120 | <h1 class="text-center">Mnemonic Code Converter</h1> | 120 | <h1 class="text-center">Mnemonic Code Converter</h1> |
121 | <p class="version">v0.2.3</p> | 121 | <p class="version">v0.2.4</p> |
122 | <hr> | 122 | <hr> |
123 | <div class="row"> | 123 | <div class="row"> |
124 | <div class="col-md-12"> | 124 | <div class="col-md-12"> |
@@ -270,6 +270,15 @@ | |||
270 | <textarea id="root-key" class="root-key form-control" data-show-qr></textarea> | 270 | <textarea id="root-key" class="root-key form-control" data-show-qr></textarea> |
271 | </div> | 271 | </div> |
272 | </div> | 272 | </div> |
273 | <div class="form-group litecoin-ltub-container hidden"> | ||
274 | <label for="litecoin-use-ltub" class="col-sm-2 control-label" data-translate>Prefixes</label> | ||
275 | <div class="col-sm-10 checkbox"> | ||
276 | <label> | ||
277 | <input type="checkbox" id="litecoin-use-ltub" class="litecoin-use-ltub"> | ||
278 | Use <code>Ltpv / Ltub</code> instead of <code>xprv / xpub</code> | ||
279 | </label> | ||
280 | </div> | ||
281 | </div> | ||
273 | </form> | 282 | </form> |
274 | </div> | 283 | </div> |
275 | </div> | 284 | </div> |
@@ -16928,6 +16937,16 @@ module.exports = { | |||
16928 | litecoin: { | 16937 | litecoin: { |
16929 | messagePrefix: '\x19Litecoin Signed Message:\n', | 16938 | messagePrefix: '\x19Litecoin Signed Message:\n', |
16930 | bip32: { | 16939 | bip32: { |
16940 | public: 0x0488b21e, | ||
16941 | private: 0x0488ade4, | ||
16942 | }, | ||
16943 | pubKeyHash: 0x30, | ||
16944 | scriptHash: 0x32, | ||
16945 | wif: 0xb0 | ||
16946 | }, | ||
16947 | litecoinLtub: { | ||
16948 | messagePrefix: '\x19Litecoin Signed Message:\n', | ||
16949 | bip32: { | ||
16931 | public: 0x019da462, | 16950 | public: 0x019da462, |
16932 | private: 0x019d9cfe | 16951 | private: 0x019d9cfe |
16933 | }, | 16952 | }, |
@@ -22104,7 +22123,8 @@ module.exports = { | |||
22104 | 22123 | ||
22105 | }).call(this,require("buffer").Buffer) | 22124 | }).call(this,require("buffer").Buffer) |
22106 | },{"bs58check":80,"buffer":4}]},{},[33])(33) | 22125 | },{"bs58check":80,"buffer":4}]},{},[33])(33) |
22107 | });</script> | 22126 | }); |
22127 | </script> | ||
22108 | <script>bitcoinjs.bitcoin.networks.shadow = { | 22128 | <script>bitcoinjs.bitcoin.networks.shadow = { |
22109 | messagePrefix: "unused", | 22129 | messagePrefix: "unused", |
22110 | bip32: { | 22130 | bip32: { |
@@ -46111,6 +46131,7 @@ window.Entropy = new (function() { | |||
46111 | var showPubKey = true; | 46131 | var showPubKey = true; |
46112 | var showPrivKey = true; | 46132 | var showPrivKey = true; |
46113 | var showQr = false; | 46133 | var showQr = false; |
46134 | var litecoinUseLtub = false; | ||
46114 | 46135 | ||
46115 | var entropyChangeTimeoutEvent = null; | 46136 | var entropyChangeTimeoutEvent = null; |
46116 | var phraseChangeTimeoutEvent = null; | 46137 | var phraseChangeTimeoutEvent = null; |
@@ -46140,6 +46161,8 @@ window.Entropy = new (function() { | |||
46140 | DOM.generate = $(".generate"); | 46161 | DOM.generate = $(".generate"); |
46141 | DOM.seed = $(".seed"); | 46162 | DOM.seed = $(".seed"); |
46142 | DOM.rootKey = $(".root-key"); | 46163 | DOM.rootKey = $(".root-key"); |
46164 | DOM.litecoinLtubContainer = $(".litecoin-ltub-container"); | ||
46165 | DOM.litecoinUseLtub = $(".litecoin-use-ltub"); | ||
46143 | DOM.extendedPrivKey = $(".extended-priv-key"); | 46166 | DOM.extendedPrivKey = $(".extended-priv-key"); |
46144 | DOM.extendedPubKey = $(".extended-pub-key"); | 46167 | DOM.extendedPubKey = $(".extended-pub-key"); |
46145 | DOM.bip32tab = $("#bip32-tab"); | 46168 | DOM.bip32tab = $("#bip32-tab"); |
@@ -46195,6 +46218,7 @@ window.Entropy = new (function() { | |||
46195 | DOM.generate.on("click", generateClicked); | 46218 | DOM.generate.on("click", generateClicked); |
46196 | DOM.more.on("click", showMore); | 46219 | DOM.more.on("click", showMore); |
46197 | DOM.rootKey.on("input", delayedRootKeyChanged); | 46220 | DOM.rootKey.on("input", delayedRootKeyChanged); |
46221 | DOM.litecoinUseLtub.on("change", litecoinUseLtubChanged); | ||
46198 | DOM.bip32path.on("input", calcForDerivationPath); | 46222 | DOM.bip32path.on("input", calcForDerivationPath); |
46199 | DOM.bip44account.on("input", calcForDerivationPath); | 46223 | DOM.bip44account.on("input", calcForDerivationPath); |
46200 | DOM.bip44change.on("input", calcForDerivationPath); | 46224 | DOM.bip44change.on("input", calcForDerivationPath); |
@@ -46220,6 +46244,7 @@ window.Entropy = new (function() { | |||
46220 | function networkChanged(e) { | 46244 | function networkChanged(e) { |
46221 | clearDerivedKeys(); | 46245 | clearDerivedKeys(); |
46222 | clearAddressesList(); | 46246 | clearAddressesList(); |
46247 | DOM.litecoinLtubContainer.addClass("hidden"); | ||
46223 | var networkIndex = e.target.value; | 46248 | var networkIndex = e.target.value; |
46224 | var network = networks[networkIndex]; | 46249 | var network = networks[networkIndex]; |
46225 | network.onSelect(); | 46250 | network.onSelect(); |
@@ -46371,6 +46396,17 @@ window.Entropy = new (function() { | |||
46371 | calcForDerivationPath(); | 46396 | calcForDerivationPath(); |
46372 | } | 46397 | } |
46373 | 46398 | ||
46399 | function litecoinUseLtubChanged() { | ||
46400 | litecoinUseLtub = DOM.litecoinUseLtub.prop("checked"); | ||
46401 | if (litecoinUseLtub) { | ||
46402 | network = bitcoinjs.bitcoin.networks.litecoinLtub; | ||
46403 | } | ||
46404 | else { | ||
46405 | network = bitcoinjs.bitcoin.networks.litecoin; | ||
46406 | } | ||
46407 | phraseChanged(); | ||
46408 | } | ||
46409 | |||
46374 | function calcForDerivationPath() { | 46410 | function calcForDerivationPath() { |
46375 | clearDerivedKeys(); | 46411 | clearDerivedKeys(); |
46376 | clearAddressesList(); | 46412 | clearAddressesList(); |
@@ -46629,7 +46665,9 @@ window.Entropy = new (function() { | |||
46629 | return "No root key"; | 46665 | return "No root key"; |
46630 | } | 46666 | } |
46631 | // Check no hardened derivation path when using xpub keys | 46667 | // Check no hardened derivation path when using xpub keys |
46632 | var hardened = path.indexOf("'") > -1; | 46668 | var hardenedPath = path.indexOf("'") > -1; |
46669 | var hardenedAddresses = bip32TabSelected() && DOM.hardenedAddresses.prop("checked"); | ||
46670 | var hardened = hardenedPath || hardenedAddresses; | ||
46633 | var isXpubkey = bip32RootKey.isNeutered(); | 46671 | var isXpubkey = bip32RootKey.isNeutered(); |
46634 | if (hardened && isXpubkey) { | 46672 | if (hardened && isXpubkey) { |
46635 | return "Hardened derivation path is invalid with xpub key"; | 46673 | return "Hardened derivation path is invalid with xpub key"; |
@@ -47362,6 +47400,7 @@ window.Entropy = new (function() { | |||
47362 | onSelect: function() { | 47400 | onSelect: function() { |
47363 | network = bitcoinjs.bitcoin.networks.litecoin; | 47401 | network = bitcoinjs.bitcoin.networks.litecoin; |
47364 | setHdCoin(2); | 47402 | setHdCoin(2); |
47403 | DOM.litecoinLtubContainer.removeClass("hidden"); | ||
47365 | }, | 47404 | }, |
47366 | }, | 47405 | }, |
47367 | { | 47406 | { |
diff --git a/changelog.md b/changelog.md index 1018830..d41aa5e 100644 --- a/changelog.md +++ b/changelog.md | |||
@@ -1,3 +1,8 @@ | |||
1 | # 0.2.4 | ||
2 | |||
3 | * Show error when using xpub with hardened addresses | ||
4 | * Allow switching litecoin prefixes between xprv and Ltpv | ||
5 | |||
1 | # 0.2.3 | 6 | # 0.2.3 |
2 | 7 | ||
3 | * Add maza coin | 8 | * Add maza coin |
diff --git a/src/index.html b/src/index.html index a48079e..e204095 100644 --- a/src/index.html +++ b/src/index.html | |||
@@ -114,7 +114,7 @@ | |||
114 | <div class="container"> | 114 | <div class="container"> |
115 | 115 | ||
116 | <h1 class="text-center">Mnemonic Code Converter</h1> | 116 | <h1 class="text-center">Mnemonic Code Converter</h1> |
117 | <p class="version">v0.2.3</p> | 117 | <p class="version">v0.2.4</p> |
118 | <hr> | 118 | <hr> |
119 | <div class="row"> | 119 | <div class="row"> |
120 | <div class="col-md-12"> | 120 | <div class="col-md-12"> |