From 88311463c74f022177a21c5d88f8928dc8007d8b Mon Sep 17 00:00:00 2001 From: Ian Coleman Date: Fri, 1 Sep 2017 12:27:38 +1000 Subject: Allow P2WPKH nested in P2SH addresses on BIP32 tab --- src/index.html | 7 +++++++ src/js/index.js | 11 ++++++++++- 2 files changed, 17 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/index.html b/src/index.html index e204095..905f9ea 100644 --- a/src/index.html +++ b/src/index.html @@ -408,6 +408,13 @@ Use hardened addresses +
+
+ +
diff --git a/src/js/index.js b/src/js/index.js index 80e6609..9bd77b9 100644 --- a/src/js/index.js +++ b/src/js/index.js @@ -73,6 +73,7 @@ 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"); @@ -109,6 +110,7 @@ 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); @@ -637,7 +639,7 @@ 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() { @@ -1164,6 +1166,10 @@ return DOM.bip32tab.hasClass("active"); } + function useP2wpkhNestedInP2sh() { + return DOM.useP2wpkhNestedInP2sh.prop("checked"); + } + function networkHasBip49() { return networks[DOM.network.val()].p2wpkhNestedInP2shAvailable; } @@ -1180,11 +1186,14 @@ 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 = [ -- cgit v1.2.3