var DOM = {};
DOM.network = $(".network");
DOM.phraseNetwork = $("#network-phrase");
- DOM.bip44Network = $("#network-bip44");
DOM.phrase = $(".phrase");
DOM.passphrase = $(".passphrase");
DOM.generate = $(".generate");
DOM.indexToggle = $(".index-toggle");
DOM.addressToggle = $(".address-toggle");
DOM.privateKeyToggle = $(".private-key-toggle");
+ DOM.myceliumPath = $("#mycelium-path");
- var derivationPath = DOM.bip44path.val();
+ var derivationPath = $(".tab-pane.active .path").val();
function init() {
// Events
disableForms();
hidePending();
hideValidationError();
+ populateNetworkSelect();
}
// 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);
+ var network = e.target.value;
+ networks[network].onSelect();
+ setBip44DerivationPath();
delayedPhraseChanged();
}
.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();
+ function populateNetworkSelect() {
+ for (var i=0; i<networks.length; i++) {
+ var network = networks[i];
+ var option = $("<option>");
+ option.attr("value", i);
+ option.text(network.name);
+ DOM.phraseNetwork.append(option);
+ }
}
+ var networks = [
+ {
+ name: "Bitcoin",
+ onSelect: function() {
+ network = Bitcoin.networks.bitcoin;
+ DOM.bip44coin.val(0);
+ DOM.myceliumPath.val("m/44'/0'/0'/0");
+ },
+ },
+ {
+ name: "Bitcoin Testnet",
+ onSelect: function() {
+ network = Bitcoin.networks.testnet;
+ DOM.bip44coin.val(1);
+ DOM.myceliumPath.val("m/44'/1'/0'/0");
+ },
+ },
+ {
+ name: "Litecoin",
+ onSelect: function() {
+ network = Bitcoin.networks.litecoin;
+ DOM.bip44coin.val(2);
+ },
+ },
+ {
+ name: "Dogecoin",
+ onSelect: function() {
+ network = Bitcoin.networks.dogecoin;
+ DOM.bip44coin.val(3);
+ },
+ },
+ ]
+
init();
})();