Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
ultraviolet
GitHub Repository: ultraviolet/bitaddress.org
Path: blob/master/src/ninja.brainwallet.js
248 views
1
ninja.wallets.brainwallet = {
2
isOpen: function () {
3
return (document.getElementById("brainwallet").className.indexOf("selected") != -1);
4
},
5
6
open: function () {
7
document.getElementById("brainarea").style.display = "block";
8
document.getElementById("brainpassphrase").focus();
9
document.getElementById("brainwarning").innerHTML = ninja.translator.get("brainalertpassphrasewarning");
10
},
11
12
close: function () {
13
document.getElementById("brainarea").style.display = "none";
14
},
15
16
minPassphraseLength: 15,
17
18
view: function () {
19
var key = document.getElementById("brainpassphrase").value.toString()
20
document.getElementById("brainpassphrase").value = key;
21
var keyConfirm = document.getElementById("brainpassphraseconfirm").value.toString()
22
document.getElementById("brainpassphraseconfirm").value = keyConfirm;
23
24
if (key == keyConfirm || document.getElementById("brainpassphraseshow").checked) {
25
// enforce a minimum passphrase length
26
if (key.length >= ninja.wallets.brainwallet.minPassphraseLength) {
27
var bytes = Crypto.SHA256(key, { asBytes: true });
28
var btcKey = new Bitcoin.ECKey(bytes);
29
var isCompressed = document.getElementById("braincompressed").checked;
30
btcKey.setCompressed(isCompressed);
31
var bitcoinAddress = btcKey.getBitcoinAddress();
32
var privWif = btcKey.getBitcoinWalletImportFormat();
33
document.getElementById("brainbtcaddress").innerHTML = bitcoinAddress;
34
document.getElementById("brainbtcprivwif").innerHTML = privWif;
35
ninja.qrCode.showQrCode({
36
"brainqrcodepublic": bitcoinAddress,
37
"brainqrcodeprivate": privWif
38
});
39
document.getElementById("brainkeyarea").style.visibility = "visible";
40
}
41
else {
42
alert(ninja.translator.get("brainalertpassphrasetooshort") + ninja.translator.get("brainalertpassphrasewarning"));
43
ninja.wallets.brainwallet.clear();
44
}
45
}
46
else {
47
alert(ninja.translator.get("brainalertpassphrasedoesnotmatch"));
48
ninja.wallets.brainwallet.clear();
49
}
50
},
51
52
clear: function () {
53
document.getElementById("brainkeyarea").style.visibility = "hidden";
54
},
55
56
showToggle: function (element) {
57
if (element.checked) {
58
document.getElementById("brainpassphrase").setAttribute("type", "text");
59
document.getElementById("brainpassphraseconfirm").style.visibility = "hidden";
60
document.getElementById("brainlabelconfirm").style.visibility = "hidden";
61
}
62
else {
63
document.getElementById("brainpassphrase").setAttribute("type", "password");
64
document.getElementById("brainpassphraseconfirm").style.visibility = "visible";
65
document.getElementById("brainlabelconfirm").style.visibility = "visible";
66
}
67
}
68
};
69