Vanity address generator prefixes are now checked for validity
This commit is contained in:
parent
fd902a46ef
commit
b70f7113a3
|
@ -10225,8 +10225,8 @@ bC0zLjUsMjAuNGgtNkwyNDQuOCwzMTAuNkwyNDQuOCwzMTAuNnoiLz4KPC9nPgo8L3N2Zz4K">
|
|||
<div class="col s5 offset-s1">
|
||||
<form>
|
||||
<input class="btn deep-orange" type="button" onclick="js:genwallet_prefix();" value="Generate wallet with prefix" action="" id="gen_prefix_widget"/>
|
||||
<p>(very slow for more than a few characters, no check for valid prefixes)</p>
|
||||
<input type="text" value="4" id="prefix_widget"/>
|
||||
<p>(very slow for more than a few characters)</p>
|
||||
<input type="text" value="4" id="prefix_widget" oninput="js:check_prefix_validity()"; />
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -10440,7 +10440,9 @@ function genwallet_prefix_worker()
|
|||
keys = cnUtil.create_address_if_prefix(seed,prefix);
|
||||
if (keys != null) {
|
||||
gen_prefix_widget = document.getElementById("gen_prefix_widget");
|
||||
prefix_widget = document.getElementById("prefix_widget");
|
||||
gen_prefix_widget.value = previous_button_text;
|
||||
prefix_widget.disabled = false;
|
||||
generating = false;
|
||||
break;
|
||||
}
|
||||
|
@ -10463,13 +10465,50 @@ function genwallet_prefix_worker()
|
|||
mnemonic_widget.innerHTML = mnemonic;
|
||||
}
|
||||
|
||||
var zerohex="0000000000000000000000000000000000000000000000000000000000000000";
|
||||
var ffhex="ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff";
|
||||
var lowest_address=cnUtil.pubkeys_to_string(zerohex,zerohex);
|
||||
var highest_address=cnUtil.pubkeys_to_string(ffhex,ffhex);
|
||||
|
||||
function is_valid_prefix(prefix)
|
||||
{
|
||||
if (prefix.length <= 0 || prefix.length >= 95)
|
||||
return false;
|
||||
var lowest=lowest_address.substr(0,prefix.length);
|
||||
var highest=highest_address.substr(0,prefix.length);
|
||||
if (prefix<lowest)
|
||||
return false;
|
||||
if (prefix>highest)
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
function check_prefix_validity()
|
||||
{
|
||||
gen_prefix_widget = document.getElementById("gen_prefix_widget");
|
||||
prefix_widget = document.getElementById("prefix_widget");
|
||||
if (gen_prefix_widget.value == "STOP")
|
||||
return;
|
||||
prefix=prefix_widget.value;
|
||||
if (is_valid_prefix(prefix)) {
|
||||
gen_prefix_widget.value = "Generate wallet with prefix";
|
||||
gen_prefix_widget.disabled = false;
|
||||
}
|
||||
else {
|
||||
gen_prefix_widget.value = "Invalid prefix";
|
||||
gen_prefix_widget.disabled = true;
|
||||
}
|
||||
}
|
||||
|
||||
generating = false;
|
||||
function genwallet_prefix()
|
||||
{
|
||||
gen_prefix_widget = document.getElementById("gen_prefix_widget");
|
||||
prefix_widget = document.getElementById("prefix_widget");
|
||||
if (generating) {
|
||||
generating = false;
|
||||
gen_prefix_widget.value = previous_button_text;
|
||||
prefix_widget.disabled = false;
|
||||
}
|
||||
else {
|
||||
prefix_widget = document.getElementById("prefix_widget");
|
||||
|
@ -10479,23 +10518,15 @@ function genwallet_prefix()
|
|||
alert("Bad prefix "+prefix+" should start with 4 and be at least one extra character");
|
||||
return;
|
||||
}
|
||||
/* Seems to pass strings that don't get found
|
||||
ok = false;
|
||||
try {
|
||||
if (cnBase58.decode(prefix) != "")
|
||||
ok = true;
|
||||
}
|
||||
catch(e) {
|
||||
}
|
||||
if (!ok) {
|
||||
alert("Bad prefix "+prefix+" is not a valid Monero address prefix");
|
||||
if (!is_valid_prefix(prefix)) {
|
||||
alert("Bad prefix "+prefix+" is not a valid address prefix");
|
||||
return;
|
||||
}
|
||||
*/
|
||||
|
||||
generating = true;
|
||||
previous_button_text = gen_prefix_widget.value;
|
||||
gen_prefix_widget.value = "STOP";
|
||||
prefix_widget.disabled = true;
|
||||
setTimeout(genwallet_prefix_worker, 0);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,17 +1,17 @@
|
|||
-----BEGIN PGP SIGNATURE-----
|
||||
Version: GnuPG v1
|
||||
|
||||
iQIcBAABAgAGBQJVmT2OAAoJEGhvB0VNbO/DhxAP/jjfhROkfM5KIYeX3eBE6jjC
|
||||
gAPiZH5ZkD61sHq1O8iJOy7CfAWZTP04Yyy4m5CaW5i5+wQgwpTTnWpMBDGBAjPN
|
||||
nc8Lfh8UxsI8zmzIWcYxacbCkSer3BAbVDBNBxsl2ydLuiJ1CkrrYo/UVtu2kT6L
|
||||
B41QPoxob8A3sXnRAFhPxAanaONmQcbBreThdn5G35ALiiYN/d792sifZpdyT//c
|
||||
j7n6HxUAQZsuAHPOCoweQ24l+SHx9JQmvPIeZ6lzJpI2ro/5a9OhOkUwClSKTxFD
|
||||
BfJhoqpn1N2+et3KYQGTYt5liv+SV0D70sFMyfMiejve+FUgWhxkXIoqw7KZbTah
|
||||
zoNc4qn0QHU70Uq1c4YZC6qUh1JwoPpX1QgPuZv5uQRuYYkllupjqIvb2RkmGZSB
|
||||
bBtHeCXeIU0qpLPCGZK6spn3Gsa8FA0ve2jA/G9WNZHK/xhxMVsx/++2iTQ17nWF
|
||||
o/pAO184VsU2MokWW/TBnBuKvQDVJcgdoPzY+wK5RhbqjoFMzQ4PCXYzTs3iumdV
|
||||
hTg0u1a6Hcu0bopYgqGDaqQV8NuZJAme+XXoe3QX8p2kQc3CVct+ZmDMkNC+XLtv
|
||||
FXtqYwyGQ4hbUxvAsSi1HkfEZ2h4B23CaKRyS/z0qJimSVa4EsPYvjRJ5ZFvgEXu
|
||||
RNTjRO1uInyn+ODy3UU5
|
||||
=P0KA
|
||||
iQIcBAABAgAGBQJVmURhAAoJEGhvB0VNbO/DK9kP/jhYtOfBA9rRx9d0jBQcS+Dy
|
||||
zTOK+f1ImqDxLi+S5D13NYe40GhQeIna0fUVsVpydrCFk+Vd4r3uQ6vRX2RZGv6t
|
||||
cy81aYUm00U2wLyNEcOPYIsxNth97LR1QuhmqiO9orhHRGSCzX86/imnwku2TeDv
|
||||
+w/5LolKbXo/8MyflwqiF+EGNHz2g0nsdYX07IyeVV37myE2iSS6jyfrqnlMOJ0O
|
||||
qUZvBKMdq5QygJDidZV83B0vq/wZ3LOJvbGj5VOzVRsJxt4elcn9DbDibrKUKBX8
|
||||
U4incogHfou0o+QXkhnYW2F8zHshzG9XD7aZHSpQUK5q5DD/dQc2hzhwLPVDWKGl
|
||||
eOZvtSpT3TIYiBxVIwL3kvqkP/DhkiUhwV/LJhLID4vv4RxVaaJTpMozPLMMZ+Yf
|
||||
XmrbmaDO1/TtLSM3FqM5ovNROwg6saJLny7kg0GdUCmaVl9FlvCRntO+MvOysNIG
|
||||
1q4E5PDxe5lY02pgx+mj/DDNUAHxIkKraE2J9vLQNXxNvrYl13EUf4xzecAcyd27
|
||||
K4Aw5d7p73Firfi/aX1Vlzo7T2tAVSAzndj3mEfmrOvSe1kBExFnM7Rp+re74qo8
|
||||
CcYrFi5IrYUzKsoJ55KE0RH0BmQNxcmjkdOfvVSylXDRW6JGZeynWpz/4WYEV0DD
|
||||
h1zi3z4YDWqMbqHEaMk0
|
||||
=lIJj
|
||||
-----END PGP SIGNATURE-----
|
||||
|
|
Loading…
Reference in New Issue