]> git.immae.eu Git - perso/Immae/Projets/Cryptomonnaies/BIP39.git/blobdiff - bip39-standalone.html
Merge pull request #3 from robjohnson189/coin_selection
[perso/Immae/Projets/Cryptomonnaies/BIP39.git] / bip39-standalone.html
index b613f0fd31f79ea8e7ea1df4794de77f14b5a4f7..2769ec38e7d80a278f8d38d6852eb9710f35290c 100644 (file)
@@ -6255,6 +6255,17 @@ button.close {
                             <p>You can enter an existing BIP39 mnemonic, or generate a new random one. Typing your own twelve words will probably not work how you expect, since the words require a particular structure (the last word is a checksum)</p>
                             <p>For more info see the <a href="https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki" target="_blank">BIP39 spec</a></p>
                         </div>
+                        <div class="form-group">
+                            <label for="network-phrase" class="col-sm-2 control-label">Coin</label>
+                            <div class="col-sm-10">
+                                <select id="network-phrase" class="network form-control">
+                                    <option value="bitcoin">Bitcoin</option>
+                                    <option value="bitcoin-testnet">Bitcoin Testnet</option>
+                                    <option value="litecoin">Litecoin</option>
+                                    <option value="dogecoin">Dogecoin</option>
+                                </select>
+                            </div>
+                        </div>
                         <div class="form-group">
                             <label for="phrase" class="col-sm-2 control-label">BIP39 Mnemonic</label>
                             <div class="col-sm-10">
@@ -6294,9 +6305,12 @@ button.close {
                 <div class="col-md-12">
                     <h2>Derivation Path</h2>
                     <ul class="derivation-type nav nav-tabs" role="tablist">
-                        <li class="active">
-                        <a href="#bip44" role="tab" data-toggle="tab">BIP44</a></li>
-                        <li><a href="#bip32" role="tab" data-toggle="tab">BIP32</a></li>
+                        <li id="bip44-tab" class="active">
+                            <a href="#bip44" role="tab" data-toggle="tab">BIP44</a>
+                        </li>
+                        <li id="bip32-tab">
+                            <a href="#bip32" role="tab" data-toggle="tab">BIP32</a>
+                        </li>
                     </ul>
                     <div class="derivation-type tab-content">
                         <div id="bip44" class="tab-pane active">
@@ -6306,6 +6320,16 @@ button.close {
                                 <div class="col-sm-10">
                                     <p>For more info see the <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki" target="_blank">BIP44 spec</a></p>
                                 </div>
+                                <div class="form-group">
+                                    <label for="network-bip44" class="col-sm-2 control-label">Coin</label>
+                                    <div class="col-sm-10">
+                                        <select id="network-bip44" class="network form-control">
+                                            <option value="bitcoin">Bitcoin</option>
+                                            <option value="bitcoin-testnet">Bitcoin Testnet</option>
+                                            <option value="litecoin">Litecoin</option>
+                                        </select>
+                                    </div>
+                                </div>
                                 <div class="form-group">
                                     <label for="purpose" class="col-sm-2 control-label">
                                         <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki#purpose" target="_blank">Purpose</a>
@@ -6385,6 +6409,17 @@ button.close {
                 <div class="col-md-12">
                     <h2>Derived Addresses</h2>
                     <p>Note these addreses are derived from the <strong>BIP32 Extended Key</strong></p>
+                    <div class="form-group">
+                        <label for="network-address-type" class="col-sm-2 control-label">Coin</label>
+                        <div class="col-sm-10">
+                            <select id="network-address-type" class="network form-control">
+                                <option value="bitcoin">Bitcoin</option>
+                                <option value="bitcoin-testnet">Bitcoin Testnet</option>
+                                <option value="litecoin">Litecoin</option>
+                                <option value="dogecoin">Dogecoin</option>
+                            </select>
+                        </div>
+                    <div>
                     <table class="table table-striped">
                         <thead>
                             <th>
@@ -33818,12 +33853,20 @@ var Mnemonic = function(language) {
     var phraseChangeTimeoutEvent = null;
 
     var DOM = {};
+    DOM.network = $(".network");
+    DOM.phraseNetwork = $("#network-phrase");
+    DOM.bip44Network = $("#network-bip44");
+    DOM.addressNetwork = $("#network-address-type");
     DOM.phrase = $(".phrase");
     DOM.passphrase = $(".passphrase");
     DOM.generate = $(".generate");
     DOM.rootKey = $(".root-key");
     DOM.extendedPrivKey = $(".extended-priv-key");
     DOM.extendedPubKey = $(".extended-pub-key");
+    DOM.bip32tab = $("#bip32-tab");
+    DOM.bip44tab = $("#bip44-tab");
+    DOM.bip32panel = $("#bip32");
+    DOM.bip44panel = $("#bip44");
     DOM.bip32path = $("#bip32-path");
     DOM.bip44path = $("#bip44-path");
     DOM.bip44purpose = $("#bip44 .purpose");
@@ -33844,6 +33887,7 @@ var Mnemonic = function(language) {
 
     function init() {
         // Events
+        DOM.network.on("change", networkChanged);
         DOM.phrase.on("input", delayedPhraseChanged);
         DOM.passphrase.on("input", delayedPhraseChanged);
         DOM.generate.on("click", generateClicked);
@@ -33864,6 +33908,38 @@ var Mnemonic = function(language) {
 
     // Event handlers
 
+    function networkChanged(e) {
+        var n = e.target.value;
+        if (n == "bitcoin") {
+            network = Bitcoin.networks.bitcoin;
+            DOM.bip44coin.val(0);
+            setBip44DerivationPath();
+            enableBip44Tab();
+        }
+        else if (n == "bitcoin-testnet") {
+            network = Bitcoin.networks.testnet;
+            DOM.bip44coin.val(1);
+            setBip44DerivationPath();
+            enableBip44Tab();
+        }
+        else if (n == "litecoin") {
+            network = Bitcoin.networks.litecoin;
+            DOM.bip44coin.val(2);
+            setBip44DerivationPath();
+            enableBip44Tab();
+        }
+        else if (n == "dogecoin") {
+            network = Bitcoin.networks.dogecoin;
+            //disableBip44Tab();
+        }
+        DOM.phraseNetwork.val(n);
+        DOM.bip44Network.val(n);
+        if(e.target != DOM.addressNetwork.dom){
+            DOM.addressNetwork.val(n);
+        }
+        delayedPhraseChanged();
+    }
+
     function delayedPhraseChanged() {
         hideValidationError();
         showPending();
@@ -34174,6 +34250,28 @@ var Mnemonic = function(language) {
             .hide();
     }
 
+    function enableBip44Tab() {
+        // show bip44 tab (but don't select it)
+        DOM.bip44tab.removeClass("hidden");
+        DOM.bip44panel.removeClass("hidden");
+    }
+
+    function disableBip44Tab() {
+        // hide bip44 tab
+        DOM.bip44tab.addClass("hidden");
+        DOM.bip44tab.removeClass("active");
+        // hide bip44 panel
+        DOM.bip44panel.addClass("hidden");
+        DOM.bip44panel.removeClass("active");
+        // show bip32 tab
+        DOM.bip32tab.addClass("active");
+        // show bip32 panel
+        DOM.bip32panel.addClass("active");
+        // set the derivation path
+        var activePath = $("#bip32 .path");
+        derivationPath = activePath.val();
+    }
+
     init();
 
 })();