diff --git a/bin/hushlist b/bin/hushlist index 90ba00a..ca242f9 100755 --- a/bin/hushlist +++ b/bin/hushlist @@ -17,8 +17,9 @@ my $balance = $rpc->z_gettotalbalance; my $tbalance = $balance->{transparent}; my $zbalance = $balance->{private}; my $total_balance = $balance->{total}; +my $blockchain = "HUSH"; -print "Hushlist running on $chain chain, $blocks blocks\n"; +print "Hushlist running on $blockchain ${chain}net, $blocks blocks\n"; print "Balances: transparent $tbalance HUSH, private $zbalance HUSH\n"; # we only need one @@ -50,9 +51,12 @@ sub contact { } sub status { - my $name = shift || ''; - barf "Hushlist name required" unless $name; - my $status = $list->status($name); + my $name = shift; + if ($name) { + my $status = $list->status($name); + } else { + my $status = $list->global_status; + } } sub new { diff --git a/lib/Hush/List.pm b/lib/Hush/List.pm index b445840..2500640 100644 --- a/lib/Hush/List.pm +++ b/lib/Hush/List.pm @@ -84,6 +84,21 @@ sub new { return bless $hush_list, 'Hush::List'; } +# show overview of current hushlists +sub global_status { + my ($self) = @_; + my @hushlists = map { -d $_ && $_ } glob catdir($HUSHLIST_CONFIG_DIR,'*'); + print "Hushlists:\n"; + for my $hushlist (@hushlists) { + my $members_file = catfile($hushlist,'members.txt'); + if (-e $members_file) { + my @members = read_file($members_file); + print "\t- $hushlist: " . scalar(@members) . " members \n"; + } + } +} + +# show details about a particular hushlist sub status { my ($self,$name) = @_; @@ -98,7 +113,8 @@ sub status { my @nicknames = map { m/^[^ ]+(.*)/ } @members; my $num_members = @members; print "Hushlist '$name' has $num_members members, generated at $list_conf{generated}\n"; - map { print "\t - $_\n" } @nicknames; + #map { print "\t - $_\n" } @nicknames; + map { print "\t - $_" } @members; } }