github.com/fibonacci-chain/fbc@v0.0.0-20231124064014-c7636198c1e9/x/distribution/client/cli/query.go (about) 1 package cli 2 3 import ( 4 "fmt" 5 "strings" 6 7 "github.com/spf13/cobra" 8 9 "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/client" 10 "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/client/context" 11 "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/client/flags" 12 "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/codec" 13 sdk "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/types" 14 "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/version" 15 16 "github.com/fibonacci-chain/fbc/x/distribution/client/common" 17 "github.com/fibonacci-chain/fbc/x/distribution/types" 18 ) 19 20 // GetQueryCmd returns the cli query commands for this module 21 func GetQueryCmd(queryRoute string, cdc *codec.Codec) *cobra.Command { 22 distQueryCmd := &cobra.Command{ 23 //Use: types.ModuleName, 24 Use: types.ShortUseByCli, 25 Short: "Querying commands for the distribution module", 26 DisableFlagParsing: true, 27 SuggestionsMinimumDistance: 2, 28 RunE: client.ValidateCmd, 29 } 30 31 distQueryCmd.AddCommand(flags.GetCommands( 32 GetCmdQueryParams(queryRoute, cdc), 33 GetCmdQueryValidatorCommission(queryRoute, cdc), 34 GetCmdQueryCommunityPool(queryRoute, cdc), 35 GetCmdQueryDelegatorRewards(queryRoute, cdc), 36 GetCmdQueryValidatorOutstandingRewards(queryRoute, cdc), 37 GetCmdQueryWithdrawAddr(queryRoute, cdc), 38 )...) 39 40 return distQueryCmd 41 } 42 43 // GetCmdQueryParams implements the query params command. 44 func GetCmdQueryParams(queryRoute string, cdc *codec.Codec) *cobra.Command { 45 return &cobra.Command{ 46 Use: "params", 47 Args: cobra.NoArgs, 48 Short: "Query distribution params", 49 RunE: func(cmd *cobra.Command, args []string) error { 50 cliCtx := context.NewCLIContext().WithCodec(cdc) 51 params, err := common.QueryParams(cliCtx, queryRoute) 52 if err != nil { 53 return err 54 } 55 return cliCtx.PrintOutput(params) 56 }, 57 } 58 } 59 60 // GetCmdQueryValidatorCommission implements the query validator commission command. 61 func GetCmdQueryValidatorCommission(queryRoute string, cdc *codec.Codec) *cobra.Command { 62 return &cobra.Command{ 63 Use: "commission [validator]", 64 Args: cobra.ExactArgs(1), 65 Short: "Query distribution validator commission", 66 Long: strings.TrimSpace( 67 fmt.Sprintf(`Query available rewards by a specified validator address. 68 69 Example: 70 $ %s query distr commission fbvaloper1alq9na49n9yycysh889rl90g9nhe58lcqkfpfg 71 `, 72 version.ClientName, 73 ), 74 ), 75 RunE: func(cmd *cobra.Command, args []string) error { 76 cliCtx := context.NewCLIContext().WithCodec(cdc) 77 78 validatorAddr, err := sdk.ValAddressFromBech32(args[0]) 79 if err != nil { 80 return err 81 } 82 83 res, err := common.QueryValidatorCommission(cliCtx, queryRoute, validatorAddr) 84 if err != nil { 85 return err 86 } 87 88 var vac types.ValidatorAccumulatedCommission 89 if err := cdc.UnmarshalJSON(res, &vac); err != nil { 90 return err 91 } 92 return cliCtx.PrintOutput(vac) 93 }, 94 } 95 } 96 97 // GetCmdQueryCommunityPool returns the command for fetching community pool info 98 func GetCmdQueryCommunityPool(queryRoute string, cdc *codec.Codec) *cobra.Command { 99 return &cobra.Command{ 100 Use: "community-pool", 101 Args: cobra.NoArgs, 102 Short: "Query the amount of coins in the community pool", 103 Long: strings.TrimSpace( 104 fmt.Sprintf(`Query all coins in the community pool which is under Governance control. 105 106 Example: 107 $ %s query distr community-pool 108 `, 109 version.ClientName, 110 ), 111 ), 112 RunE: func(cmd *cobra.Command, args []string) error { 113 cliCtx := context.NewCLIContext().WithCodec(cdc) 114 115 res, _, err := cliCtx.QueryWithData(fmt.Sprintf("custom/%s/community_pool", queryRoute), nil) 116 if err != nil { 117 return err 118 } 119 120 var result sdk.SysCoins 121 cdc.MustUnmarshalJSON(res, &result) 122 return cliCtx.PrintOutput(result) 123 }, 124 } 125 }