diff --git a/app/client/cli/peer/list.go b/app/client/cli/peer/list.go index 19b70b7e9..197903848 100644 --- a/app/client/cli/peer/list.go +++ b/app/client/cli/peer/list.go @@ -45,13 +45,12 @@ func listRunE(cmd *cobra.Command, _ []string) error { return ErrRouterType } routerType = debug.UnstakedRouterType - case allFlag: + // even if `allFlag` is false, we still want to print all peers + default: if stakedFlag || unstakedFlag { return ErrRouterType } routerType = debug.AllRouterTypes - default: - return ErrRouterType } debugMsg := &messaging.DebugMessage{ diff --git a/app/client/cli/peer/peer.go b/app/client/cli/peer/peer.go index 60403b7b8..725d49a3c 100644 --- a/app/client/cli/peer/peer.go +++ b/app/client/cli/peer/peer.go @@ -20,7 +20,7 @@ var ( ) func init() { - PeerCmd.PersistentFlags().BoolVarP(&allFlag, "all", "a", true, "operations apply to both staked & unstaked router peerstores") + PeerCmd.PersistentFlags().BoolVarP(&allFlag, "all", "a", false, "operations apply to both staked & unstaked router peerstores (default)") PeerCmd.PersistentFlags().BoolVarP(&stakedFlag, "staked", "s", false, "operations only apply to staked router peerstore (i.e. raintree)") PeerCmd.PersistentFlags().BoolVarP(&unstakedFlag, "unstaked", "u", false, "operations only apply to unstaked router peerstore (i.e. gossipsub)") PeerCmd.PersistentFlags().BoolVarP(&localFlag, "local", "l", false, "operations apply to the local (CLI binary's) P2P module instead of being broadcast") diff --git a/p2p/debug/list.go b/p2p/debug/list.go index 8c1d4f39c..6a752e71b 100644 --- a/p2p/debug/list.go +++ b/p2p/debug/list.go @@ -2,16 +2,20 @@ package debug import ( "fmt" + "os" + "github.com/pokt-network/pocket/p2p/providers/peerstore_provider" "github.com/pokt-network/pocket/p2p/types" + "github.com/pokt-network/pocket/p2p/utils" "github.com/pokt-network/pocket/shared/modules" - "os" ) +var peerListTableHeader = []string{"Peer ID", "Pokt Address", "ServiceURL"} + func PrintPeerList(bus modules.Bus, routerType RouterType) error { var ( peers types.PeerList - pstorePlurality = "" + routerPlurality = "" ) // TECHDEBT(#810, #811): use `bus.GetPeerstoreProvider()` after peerstore provider @@ -45,7 +49,7 @@ func PrintPeerList(bus modules.Bus, routerType RouterType) error { peers = pstore.GetPeerList() case AllRouterTypes: - pstorePlurality = "s" + routerPlurality = "s" // TODO_THIS_COMMIT: what about unstaked peers actors? // if !isStaked ... @@ -90,7 +94,7 @@ func PrintPeerList(bus modules.Bus, routerType RouterType) error { os.Stdout, "%s router peerstore%s:\n", routerType, - pstorePlurality, + routerPlurality, ); err != nil { return fmt.Errorf("printing to stdout: %w", err) } @@ -101,6 +105,29 @@ func PrintPeerList(bus modules.Bus, routerType RouterType) error { return nil } -func getPeerstoreProvider() (peerstore_provider.PeerstoreProvider, error) { - return nil, nil +// PrintPeerListTable prints a table of the passed peers to stdout. Header row is defined +// by `peerListTableHeader`. Row printing behavior is defined by `peerListRowConsumerFactory`. +func PrintPeerListTable(peers types.PeerList) error { + return utils.PrintTable(peerListTableHeader, peerListRowConsumerFactory(peers)) +} + +func peerListRowConsumerFactory(peers types.PeerList) utils.RowConsumer { + return func(provideRow utils.RowProvider) error { + for _, peer := range peers { + libp2pAddrInfo, err := utils.Libp2pAddrInfoFromPeer(peer) + if err != nil { + return fmt.Errorf("converting peer to libp2p addr info: %w", err) + } + + err = provideRow( + libp2pAddrInfo.ID.String(), + peer.GetAddress().String(), + peer.GetServiceURL(), + ) + if err != nil { + return err + } + } + return nil + } } diff --git a/p2p/debug/peers.go b/p2p/debug/peers.go index 56afd9e89..60f206b00 100644 --- a/p2p/debug/peers.go +++ b/p2p/debug/peers.go @@ -4,8 +4,6 @@ import ( "fmt" "os" - "github.com/pokt-network/pocket/p2p/types" - "github.com/pokt-network/pocket/p2p/utils" "github.com/pokt-network/pocket/shared/modules" ) @@ -17,8 +15,6 @@ const ( AllRouterTypes RouterType = "all" ) -var peerListTableHeader = []string{"Peer ID", "Pokt Address", "ServiceURL"} - func LogSelfAddress(bus modules.Bus) error { p2pModule := bus.GetP2PModule() if p2pModule == nil { @@ -33,30 +29,3 @@ func LogSelfAddress(bus modules.Bus) error { _, err = fmt.Fprintf(os.Stdout, "self address: %s", selfAddr.String()) return err } - -// PrintPeerListTable prints a table of the passed peers to stdout. Header row is defined -// by `peerListTableHeader`. Row printing behavior is defined by `peerListRowConsumerFactory`. -func PrintPeerListTable(peers types.PeerList) error { - return utils.PrintTable(peerListTableHeader, peerListRowConsumerFactory(peers)) -} - -func peerListRowConsumerFactory(peers types.PeerList) utils.RowConsumer { - return func(provideRow utils.RowProvider) error { - for _, peer := range peers { - libp2pAddrInfo, err := utils.Libp2pAddrInfoFromPeer(peer) - if err != nil { - return fmt.Errorf("converting peer to libp2p addr info: %w", err) - } - - err = provideRow( - libp2pAddrInfo.ID.String(), - peer.GetAddress().String(), - peer.GetServiceURL(), - ) - if err != nil { - return err - } - } - return nil - } -}