package cli import ( "fmt" "github.com/spf13/cobra" "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/client/flags" "github.com/kava-labs/kava/x/kavamint/types" ) // GetQueryCmd returns the cli query commands for the minting module. func GetQueryCmd() *cobra.Command { mintingQueryCmd := &cobra.Command{ Use: types.ModuleName, Short: "Querying commands for the minting module", DisableFlagParsing: true, SuggestionsMinimumDistance: 2, RunE: client.ValidateCmd, } mintingQueryCmd.AddCommand( GetCmdQueryParams(), GetCmdQueryInflation(), ) return mintingQueryCmd } // GetCmdQueryParams implements a command to return the current minting // parameters. func GetCmdQueryParams() *cobra.Command { cmd := &cobra.Command{ Use: "params", Short: "Query the current minting parameters", Args: cobra.NoArgs, RunE: func(cmd *cobra.Command, args []string) error { clientCtx, err := client.GetClientQueryContext(cmd) if err != nil { return err } queryClient := types.NewQueryClient(clientCtx) params := &types.QueryParamsRequest{} res, err := queryClient.Params(cmd.Context(), params) if err != nil { return err } return clientCtx.PrintProto(&res.Params) }, } flags.AddQueryFlagsToCmd(cmd) return cmd } // GetCmdQueryInflation implements a command to return the current minting // inflation value. func GetCmdQueryInflation() *cobra.Command { cmd := &cobra.Command{ Use: "inflation", Short: "Query the current cumulative minting inflation value", Args: cobra.NoArgs, RunE: func(cmd *cobra.Command, args []string) error { clientCtx, err := client.GetClientQueryContext(cmd) if err != nil { return err } queryClient := types.NewQueryClient(clientCtx) params := &types.QueryInflationRequest{} res, err := queryClient.Inflation(cmd.Context(), params) if err != nil { return err } return clientCtx.PrintString(fmt.Sprintf("%s\n", res.Inflation)) }, } flags.AddQueryFlagsToCmd(cmd) return cmd }