var mnemonic = new Mnemonic("english");
var bip32RootKey = null;
var bip32ExtendedKey = null;
- var network = Bitcoin.networks.bitcoin;
+ var network = bitcoin.networks.bitcoin;
var addressRowTemplate = $("#address-row-template");
var showIndex = true;
DOM.indexToggle = $(".index-toggle");
DOM.addressToggle = $(".address-toggle");
DOM.privateKeyToggle = $(".private-key-toggle");
+ DOM.myceliumPath = $("#mycelium-path");
var derivationPath = $(".tab-pane.active .path").val();
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);
- }
- else if (n == "bitcoin-testnet") {
- network = Bitcoin.networks.testnet;
- DOM.bip44coin.val(1);
- }
- else if (n == "litecoin") {
- network = Bitcoin.networks.litecoin;
- DOM.bip44coin.val(2);
- }
- else if (n == "dogecoin") {
- network = Bitcoin.networks.dogecoin;
- var UNOFFICIAL_BIP44_COIN = 9999;
- DOM.bip44coin.val(UNOFFICIAL_BIP44_COIN); // This coin is not in BIP44
- }
+ var network = e.target.value;
+ networks[network].onSelect();
setBip44DerivationPath();
delayedPhraseChanged();
}
function calcBip32Seed(phrase, passphrase, path) {
var seed = mnemonic.toSeed(phrase, passphrase);
- bip32RootKey = Bitcoin.HDNode.fromSeedHex(seed, network);
+ bip32RootKey = bitcoin.HDNode.fromSeedHex(seed, network);
bip32ExtendedKey = bip32RootKey;
// Derive the key from the path
var pathBits = path.split("/");
.hide();
}
+ 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();
})();