github.com/fibonacci-chain/fbc@v0.0.0-20231124064014-c7636198c1e9/libs/cosmos-sdk/client/keys/list.go (about)

     1  package keys
     2  
     3  import (
     4  	"github.com/spf13/cobra"
     5  	"github.com/spf13/viper"
     6  
     7  	"github.com/fibonacci-chain/fbc/libs/cosmos-sdk/client/flags"
     8  	"github.com/fibonacci-chain/fbc/libs/cosmos-sdk/crypto/keys"
     9  	sdk "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/types"
    10  )
    11  
    12  const flagListNames = "list-names"
    13  
    14  // ListKeysCmd lists all keys in the key store.
    15  func ListKeysCmd() *cobra.Command {
    16  	cmd := &cobra.Command{
    17  		Use:   "list",
    18  		Short: "List all keys",
    19  		Long: `Return a list of all public keys stored by this key manager
    20  along with their associated name and address.`,
    21  		RunE: runListCmd,
    22  	}
    23  	cmd.Flags().Bool(flags.FlagIndentResponse, false, "Add indent to JSON response")
    24  	cmd.Flags().BoolP(flagListNames, "n", false, "List names only")
    25  	return cmd
    26  }
    27  
    28  func runListCmd(cmd *cobra.Command, _ []string) error {
    29  	kb, err := keys.NewKeyring(sdk.KeyringServiceName(), viper.GetString(flags.FlagKeyringBackend), viper.GetString(flags.FlagHome), cmd.InOrStdin())
    30  	if err != nil {
    31  		return err
    32  	}
    33  
    34  	infos, err := kb.List()
    35  	if err != nil {
    36  		return err
    37  	}
    38  
    39  	if !viper.GetBool(flagListNames) {
    40  		printInfos(infos)
    41  		return nil
    42  	}
    43  
    44  	cmd.SetOut(cmd.OutOrStdout())
    45  	for _, info := range infos {
    46  		cmd.Println(info.GetName())
    47  	}
    48  
    49  	return nil
    50  }