From 960e80ce2d1354eb15444b826c7a1dfd29997bc0 Mon Sep 17 00:00:00 2001 From: "Jonathan \"Duke\" Leto" Date: Mon, 15 Jan 2018 10:20:18 -0800 Subject: [PATCH] Detect valid privkeys --- lib/Hush/Util.pm | 15 ++++++++++++++- t/util.t | 5 +++-- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/lib/Hush/Util.pm b/lib/Hush/Util.pm index 4730494..5c5289f 100644 --- a/lib/Hush/Util.pm +++ b/lib/Hush/Util.pm @@ -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; } diff --git a/t/util.t b/t/util.t index ac08c09..406cc5c 100644 --- a/t/util.t +++ b/t/util.t @@ -2,8 +2,7 @@ use strict; use warnings; use Test::Most; -use Hush::Util qw/is_valid_zaddr/; - +use Hush::Util qw/is_valid_zaddr is_valid_privkey/; my @INVALID = qw( notevenCLOSE @@ -37,4 +36,6 @@ for my $z (@VALID) { ok( is_valid_zaddr($z), "$z is a valid zaddr"); } +#is_valid_privkey($hushlist); + done_testing;