]> git.immae.eu Git - perso/Immae/Projets/Cryptomonnaies/BIP39.git/commitdiff
Add client select
authorAlexander Georgievskiy <galeksandrp@gmail.com>
Tue, 7 Feb 2017 22:51:24 +0000 (22:51 +0000)
committerAlexander Georgievskiy <galeksandrp@gmail.com>
Tue, 7 Feb 2017 22:51:24 +0000 (22:51 +0000)
src/index.html
src/js/index.js

index d2def0582abb4d1e3fbc03fc99ad310bd681ddc7..1c2ffcf776c0bbc0d09926227a7de0b4be122ea5 100644 (file)
                                 </select>
                             </div>
                         </div>
+                        <div class="form-group">
+                            <label for="client-phrase" class="col-sm-2 control-label" data-translate>Client</label>
+                            <div class="col-sm-10">
+                                <select id="client-phrase" class="client form-control">
+                                    <!-- populated by javascript -->
+                                </select>
+                            </div>
+                        </div>
                         <div class="form-group">
                             <label for="root-key" class="col-sm-2 control-label" data-translate>BIP32 Root Key</label>
                             <div class="col-sm-10">
index c3c0a4aae4da5bddedde6543a668659a8516139a..f593b3a937a427e46511a036b1c3a311d35bd530 100644 (file)
@@ -23,7 +23,9 @@
 
     var DOM = {};
     DOM.network = $(".network");
+    DOM.client = $(".client");
     DOM.phraseNetwork = $("#network-phrase");
+    DOM.phraseClient = $("#client-phrase");
     DOM.useEntropy = $(".use-entropy");
     DOM.entropyContainer = $(".entropy-container");
     DOM.entropy = $(".entropy");
@@ -77,6 +79,7 @@
     function init() {
         // Events
         DOM.network.on("change", networkChanged);
+        DOM.client.on("change", clientChanged);
         DOM.useEntropy.on("change", setEntropyVisibility);
         DOM.entropy.on("input", delayedEntropyChanged);
         DOM.entropyMnemonicLength.on("change", entropyChanged);
         hidePending();
         hideValidationError();
         populateNetworkSelect();
+        populateClientSelect();
     }
 
     // Event handlers
             rootKeyChanged();
         }
     }
+    
+    function clientChanged(e) {
+        var clientIndex = e.target.value;
+        clients[clientIndex].onSelect();
+        if (seed != null) {
+            phraseChanged();
+        }
+        else {
+            rootKeyChanged();
+        }
+    }
 
     function setEntropyVisibility() {
         if (isUsingOwnEntropy()) {
             DOM.phraseNetwork.append(option);
         }
     }
+    
+    function populateClientSelect() {
+        for (var i=0; i<clients.length; i++) {
+            var client = clients[i];
+            var option = $("<option>");
+            option.attr("value", i);
+            option.text(client.name);
+            DOM.phraseClient.append(option);
+        }
+    }
 
     function getLanguage() {
         var defaultLanguage = "english";
             },
         },
     ]
+    
+    var clients = [
+        {
+            name: "Bitcoin Core",
+            onSelect: function() {
+                DOM.bip32path.val("m/0'/0'");
+                DOM.hardenedAddresses.prop('checked', true);
+            },
+        },
+        {
+            name: "blockchain.info",
+            onSelect: function() {
+                DOM.bip32path.val("m/44'/0'/0'");
+                DOM.hardenedAddresses.prop('checked', false);
+            },
+        },
+        {
+            name: "MultiBit HD",
+            onSelect: function() {
+                DOM.bip32path.val("m/0'/0");
+                DOM.hardenedAddresses.prop('checked', false);
+            },
+        }
+    ]
 
     init();