Vanity address generator prefixes are now checked for validity

aeon
moneromooo-monero 9 years ago
parent fd902a46ef
commit b70f7113a3
No known key found for this signature in database
GPG Key ID: 686F07454D6CEFC3

@ -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…
Cancel
Save