|
|
@ -6,6 +6,7 @@ use Carp qw/longmess/; |
|
|
|
our @EXPORT_OK = qw/ |
|
|
|
barf timing now |
|
|
|
is_valid_zaddr |
|
|
|
is_valid_privkey |
|
|
|
/; |
|
|
|
use Time::HiRes qw/gettimeofday tv_interval/; |
|
|
|
|
|
|
@ -17,13 +18,25 @@ sub timing { |
|
|
|
return sprintf "%1.4f", tv_interval($t0,$t1); |
|
|
|
} |
|
|
|
|
|
|
|
# valid for HUSH+ZEC, we need tables for other prefixes |
|
|
|
sub is_valid_zaddr { |
|
|
|
my ($z) = @_; |
|
|
|
#warn "zaddr=$z"; |
|
|
|
|
|
|
|
# TODO: only base58 is valid |
|
|
|
if ($z =~ m/^zc[a-z0-9]{93}$/i) { |
|
|
|
return $z; |
|
|
|
return 1; |
|
|
|
} else { |
|
|
|
return 0; |
|
|
|
} |
|
|
|
} |
|
|
|
# we never look at taddr privkeys |
|
|
|
# valid for HUSH+ZEC, we need tables for other prefixes |
|
|
|
sub is_valid_privkey { |
|
|
|
my ($p) = @_; |
|
|
|
$p =~ s!^hushlist://!!g; |
|
|
|
if ($p =~ m/^SK[a-z0-9]{53}$/i) { |
|
|
|
return 1; |
|
|
|
} else { |
|
|
|
return 0; |
|
|
|
} |
|
|
|