From 08e70a5aaf4bb521d9fe4e8111060425aa6160b0 Mon Sep 17 00:00:00 2001 From: Leo Date: Tue, 10 Aug 2021 16:36:24 +0200 Subject: [PATCH] node/cmd: list missing guardians in list-nodes Change-Id: I12e2aacbeb37c0bae5ad1e796e009a1c7b2312e1 --- bridge/cmd/guardiand/adminnodes.go | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/bridge/cmd/guardiand/adminnodes.go b/bridge/cmd/guardiand/adminnodes.go index 3cd155d98..f76232404 100644 --- a/bridge/cmd/guardiand/adminnodes.go +++ b/bridge/cmd/guardiand/adminnodes.go @@ -78,6 +78,14 @@ func runListNodes(cmd *cobra.Command, args []string) { log.Fatalf("failed to list nodes: %v", err) } + gs, err := c.GetCurrentGuardianSet(ctx, &publicrpcv1.GetCurrentGuardianSetRequest{}) + if err != nil { + log.Fatalf("failed to list current guardian get: %v", err) + } + + log.Printf("current guardian set index: %d (%d guardians)", + gs.GuardianSet.Index, len(gs.GuardianSet.Addresses)) + nodes := lastHeartbeats.Entries sort.Slice(nodes, func(i, j int) bool { @@ -121,4 +129,18 @@ func runListNodes(cmd *cobra.Command, args []string) { } w.Flush() + fmt.Print("\n") + + for _, addr := range gs.GuardianSet.Addresses { + var found bool + for _, h := range nodes { + if h.VerifiedGuardianAddr == addr { + found = true + } + } + + if !found { + fmt.Printf("Missing guardian: %s\n", addr) + } + } }