aboutsummaryrefslogtreecommitdiff
path: root/src/js/index.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/js/index.js')
-rw-r--r--src/js/index.js59
1 files changed, 59 insertions, 0 deletions
diff --git a/src/js/index.js b/src/js/index.js
index 81958fc..09bcdd9 100644
--- a/src/js/index.js
+++ b/src/js/index.js
@@ -13,12 +13,19 @@
13 var phraseChangeTimeoutEvent = null; 13 var phraseChangeTimeoutEvent = null;
14 14
15 var DOM = {}; 15 var DOM = {};
16 DOM.network = $(".network");
17 DOM.phraseNetwork = $("#network-phrase");
18 DOM.bip44Network = $("#network-bip44");
16 DOM.phrase = $(".phrase"); 19 DOM.phrase = $(".phrase");
17 DOM.passphrase = $(".passphrase"); 20 DOM.passphrase = $(".passphrase");
18 DOM.generate = $(".generate"); 21 DOM.generate = $(".generate");
19 DOM.rootKey = $(".root-key"); 22 DOM.rootKey = $(".root-key");
20 DOM.extendedPrivKey = $(".extended-priv-key"); 23 DOM.extendedPrivKey = $(".extended-priv-key");
21 DOM.extendedPubKey = $(".extended-pub-key"); 24 DOM.extendedPubKey = $(".extended-pub-key");
25 DOM.bip32tab = $("#bip32-tab");
26 DOM.bip44tab = $("#bip44-tab");
27 DOM.bip32panel = $("#bip32");
28 DOM.bip44panel = $("#bip44");
22 DOM.bip32path = $("#bip32-path"); 29 DOM.bip32path = $("#bip32-path");
23 DOM.bip44path = $("#bip44-path"); 30 DOM.bip44path = $("#bip44-path");
24 DOM.bip44purpose = $("#bip44 .purpose"); 31 DOM.bip44purpose = $("#bip44 .purpose");
@@ -39,6 +46,7 @@
39 46
40 function init() { 47 function init() {
41 // Events 48 // Events
49 DOM.network.on("change", networkChanged);
42 DOM.phrase.on("input", delayedPhraseChanged); 50 DOM.phrase.on("input", delayedPhraseChanged);
43 DOM.passphrase.on("input", delayedPhraseChanged); 51 DOM.passphrase.on("input", delayedPhraseChanged);
44 DOM.generate.on("click", generateClicked); 52 DOM.generate.on("click", generateClicked);
@@ -59,6 +67,35 @@
59 67
60 // Event handlers 68 // Event handlers
61 69
70 function networkChanged(e) {
71 var n = e.target.value;
72 if (n == "bitcoin") {
73 network = Bitcoin.networks.bitcoin;
74 DOM.bip44coin.val(0);
75 setBip44DerivationPath();
76 enableBip44Tab();
77 }
78 else if (n == "bitcoin-testnet") {
79 network = Bitcoin.networks.testnet;
80 DOM.bip44coin.val(1);
81 setBip44DerivationPath();
82 enableBip44Tab();
83 }
84 else if (n == "litecoin") {
85 network = Bitcoin.networks.litecoin;
86 DOM.bip44coin.val(2);
87 setBip44DerivationPath();
88 enableBip44Tab();
89 }
90 else if (n == "dogecoin") {
91 network = Bitcoin.networks.dogecoin;
92 disableBip44Tab();
93 }
94 DOM.phraseNetwork.val(n);
95 DOM.bip44Network.val(n);
96 delayedPhraseChanged();
97 }
98
62 function delayedPhraseChanged() { 99 function delayedPhraseChanged() {
63 hideValidationError(); 100 hideValidationError();
64 showPending(); 101 showPending();
@@ -369,6 +406,28 @@
369 .hide(); 406 .hide();
370 } 407 }
371 408
409 function enableBip44Tab() {
410 // show bip44 tab (but don't select it)
411 DOM.bip44tab.removeClass("hidden");
412 DOM.bip44panel.removeClass("hidden");
413 }
414
415 function disableBip44Tab() {
416 // hide bip44 tab
417 DOM.bip44tab.addClass("hidden");
418 DOM.bip44tab.removeClass("active");
419 // hide bip44 panel
420 DOM.bip44panel.addClass("hidden");
421 DOM.bip44panel.removeClass("active");
422 // show bip32 tab
423 DOM.bip32tab.addClass("active");
424 // show bip32 panel
425 DOM.bip32panel.addClass("active");
426 // set the derivation path
427 var activePath = $("#bip32 .path");
428 derivationPath = activePath.val();
429 }
430
372 init(); 431 init();
373 432
374})(); 433})();