github.com/Finschia/finschia-sdk@v0.48.1/client/keys/list.go (about)

     1  package keys
     2  
     3  import (
     4  	"github.com/spf13/cobra"
     5  
     6  	"github.com/Finschia/finschia-sdk/client"
     7  )
     8  
     9  const flagListNames = "list-names"
    10  
    11  // ListKeysCmd lists all keys in the key store.
    12  func ListKeysCmd() *cobra.Command {
    13  	cmd := &cobra.Command{
    14  		Use:   "list",
    15  		Short: "List all keys",
    16  		Long: `Return a list of all public keys stored by this key manager
    17  along with their associated name and address.`,
    18  		RunE: runListCmd,
    19  	}
    20  
    21  	cmd.Flags().BoolP(flagListNames, "n", false, "List names only")
    22  	return cmd
    23  }
    24  
    25  func runListCmd(cmd *cobra.Command, _ []string) error {
    26  	clientCtx, err := client.GetClientQueryContext(cmd)
    27  	if err != nil {
    28  		return err
    29  	}
    30  
    31  	infos, err := clientCtx.Keyring.List()
    32  	if err != nil {
    33  		return err
    34  	}
    35  
    36  	if ok, _ := cmd.Flags().GetBool(flagListNames); !ok {
    37  		printInfos(cmd.OutOrStdout(), infos, clientCtx.OutputFormat)
    38  		return nil
    39  	}
    40  
    41  	for _, info := range infos {
    42  		cmd.Println(info.GetName())
    43  	}
    44  
    45  	return nil
    46  }