DOM.entropyWordCount = DOM.entropyContainer.find(".word-count");
DOM.entropyBinary = DOM.entropyContainer.find(".binary");
DOM.entropyMnemonicLength = DOM.entropyContainer.find(".mnemonic-length");
+ DOM.entropyFilterWarning = DOM.entropyContainer.find(".filter-warning");
DOM.phrase = $(".phrase");
DOM.passphrase = $(".passphrase");
DOM.generateContainer = $(".generate-container");
DOM.bip49change = $("#bip49 .change");
DOM.generatedStrength = $(".generate-container .strength");
DOM.hardenedAddresses = $(".hardened-addresses");
+ DOM.useP2wpkhNestedInP2sh = $(".p2wpkh-nested-in-p2sh");
DOM.addresses = $(".addresses");
DOM.rowsToAdd = $(".rows-to-add");
DOM.more = $(".more");
DOM.bip49change.on("input", calcForDerivationPath);
DOM.tab.on("shown.bs.tab", calcForDerivationPath);
DOM.hardenedAddresses.on("change", calcForDerivationPath);
+ DOM.useP2wpkhNestedInP2sh.on("change", calcForDerivationPath);
DOM.indexToggle.on("click", toggleIndexes);
DOM.addressToggle.on("click", toggleAddresses);
DOM.publicKeyToggle.on("click", togglePublicKeys);
var self = this;
this.shouldGenerate = true;
var useHardenedAddresses = DOM.hardenedAddresses.prop("checked");
- var isP2wpkhNestedInP2sh = bip49TabSelected();
+ var isP2wpkhNestedInP2sh = bip49TabSelected() || (bip32TabSelected() && useP2wpkhNestedInP2sh());
var p2wpkhNestedInP2shAvailable = networkHasBip49();
function init() {
DOM.entropyWordCount.text(wordCount);
DOM.entropyBinary.text(entropy.binaryStr);
DOM.entropyBitsPerEvent.text(bitsPerEvent);
+ // detect and warn of filtering
+ var rawNoSpaces = DOM.entropy.val().replace(/\s/g, "");
+ var cleanNoSpaces = entropy.cleanStr.replace(/\s/g, "");
+ var isFiltered = rawNoSpaces.length != cleanNoSpaces.length;
+ if (isFiltered) {
+ DOM.entropyFilterWarning.removeClass('hidden');
+ }
+ else {
+ DOM.entropyFilterWarning.addClass('hidden');
+ }
}
function getEntropyTypeStr(entropy) {
return DOM.bip32tab.hasClass("active");
}
+ function useP2wpkhNestedInP2sh() {
+ return DOM.useP2wpkhNestedInP2sh.prop("checked");
+ }
+
function networkHasBip49() {
return networks[DOM.network.val()].p2wpkhNestedInP2shAvailable;
}
function showP2wpkhNestedInP2shAvailable() {
DOM.bip49unavailable.addClass("hidden");
DOM.bip49available.removeClass("hidden");
+ DOM.useP2wpkhNestedInP2sh.prop("disabled", false);
}
function showP2wpkhNestedInP2shUnavailable() {
DOM.bip49available.addClass("hidden");
DOM.bip49unavailable.removeClass("hidden");
+ DOM.useP2wpkhNestedInP2sh.prop("disabled", true);
+ DOM.useP2wpkhNestedInP2sh.prop("checked", false);
}
var networks = [
setHdCoin(60);
},
},
+ {
+ name: "FJC - Fujicoin",
+ p2wpkhNestedInP2shAvailable: false,
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.fujicoin;
+ setHdCoin(75);
+ },
+ },
{
name: "GAME - GameCredits",
p2wpkhNestedInP2shAvailable: false,
setHdCoin(111);
},
},
+ {
+ name: "USNBT - NuBits",
+ p2wpkhNestedInP2shAvailable: false,
+ onSelect: function() {
+ network = bitcoinjs.bitcoin.networks.nubits;
+ setHdCoin(12);
+ },
+ },
{
name: "VIA - Viacoin",
p2wpkhNestedInP2shAvailable: false,