var generationProcesses = [];
var DOM = {};
+ DOM.privacyScreenToggle = $(".privacy-screen-toggle");
DOM.network = $(".network");
DOM.bip32Client = $("#bip32-client");
DOM.phraseNetwork = $("#network-phrase");
function init() {
// Events
+ DOM.privacyScreenToggle.on("change", privacyScreenToggled);
DOM.generatedStrength.on("change", generatedStrengthChanged);
DOM.network.on("change", networkChanged);
DOM.bip32Client.on("change", bip32ClientChanged);
// Don't show segwit if it's selected but network doesn't support it
if (segwitSelected() && !networkHasSegwit()) {
showSegwitUnavailable();
+ hidePending();
return;
}
showSegwitAvailable();
$("td.privkey span").toggleClass("invisible");
}
+ function privacyScreenToggled() {
+ // private-data contains elements added to DOM at runtime
+ // so catch all by adding visual privacy class to the root of the DOM
+ if (DOM.privacyScreenToggle.prop("checked")) {
+ $("body").addClass("visual-privacy");
+ }
+ else {
+ $("body").removeClass("visual-privacy");
+ }
+ }
+
// Private methods
function generateRandomPhrase() {
}
function calcBip32RootKeyFromBase58(rootKeyBase58) {
+ // try parsing with various segwit network params since this extended
+ // key may be from any one of them.
+ if (networkHasSegwit()) {
+ var n = network;
+ if ("baseNetwork" in n) {
+ n = bitcoinjs.bitcoin.networks[n.baseNetwork];
+ }
+ // try parsing using base network params
+ try {
+ bip32RootKey = bitcoinjs.bitcoin.HDNode.fromBase58(rootKeyBase58, n);
+ return;
+ }
+ catch (e) {}
+ // try parsing using p2wpkh params
+ if ("p2wpkh" in n) {
+ try {
+ bip32RootKey = bitcoinjs.bitcoin.HDNode.fromBase58(rootKeyBase58, n.p2wpkh);
+ return;
+ }
+ catch (e) {}
+ }
+ // try parsing using p2wpkh-in-p2sh network params
+ if ("p2wpkhInP2sh" in n) {
+ try {
+ bip32RootKey = bitcoinjs.bitcoin.HDNode.fromBase58(rootKeyBase58, n.p2wpkhInP2sh);
+ return;
+ }
+ catch (e) {}
+ }
+ }
+ // try the network params as currently specified
bip32RootKey = bitcoinjs.bitcoin.HDNode.fromBase58(rootKeyBase58, network);
}
}
function validateRootKey(rootKeyBase58) {
+ // try various segwit network params since this extended key may be from
+ // any one of them.
+ if (networkHasSegwit()) {
+ var n = network;
+ if ("baseNetwork" in n) {
+ n = bitcoinjs.bitcoin.networks[n.baseNetwork];
+ }
+ // try parsing using base network params
+ try {
+ bitcoinjs.bitcoin.HDNode.fromBase58(rootKeyBase58, n);
+ return "";
+ }
+ catch (e) {}
+ // try parsing using p2wpkh params
+ if ("p2wpkh" in n) {
+ try {
+ bitcoinjs.bitcoin.HDNode.fromBase58(rootKeyBase58, n.p2wpkh);
+ return "";
+ }
+ catch (e) {}
+ }
+ // try parsing using p2wpkh-in-p2sh network params
+ if ("p2wpkhInP2sh" in n) {
+ try {
+ bitcoinjs.bitcoin.HDNode.fromBase58(rootKeyBase58, n.p2wpkhInP2sh);
+ return "";
+ }
+ catch (e) {}
+ }
+ }
+ // try the network params as currently specified
try {
bitcoinjs.bitcoin.HDNode.fromBase58(rootKeyBase58, network);
}
{
name: "RDD - Reddcoin",
onSelect: function() {
- network = bitcoinjs.bitcoin.networks.reddoin;
+ network = bitcoinjs.bitcoin.networks.reddcoin;
setHdCoin(4);
},
},