github.com/cosmos/cosmos-sdk@v0.50.10/x/distribution/autocli.go (about)

     1  package distribution
     2  
     3  import (
     4  	"fmt"
     5  
     6  	autocliv1 "cosmossdk.io/api/cosmos/autocli/v1"
     7  	distirbuitonv1beta1 "cosmossdk.io/api/cosmos/distribution/v1beta1"
     8  
     9  	"github.com/cosmos/cosmos-sdk/version"
    10  )
    11  
    12  // AutoCLIOptions implements the autocli.HasAutoCLIConfig interface.
    13  func (am AppModule) AutoCLIOptions() *autocliv1.ModuleOptions {
    14  	return &autocliv1.ModuleOptions{
    15  		Query: &autocliv1.ServiceCommandDescriptor{
    16  			Service: distirbuitonv1beta1.Query_ServiceDesc.ServiceName,
    17  			RpcCommandOptions: []*autocliv1.RpcCommandOptions{
    18  				{
    19  					RpcMethod: "Params",
    20  					Use:       "params",
    21  					Short:     "Query the current distribution parameters.",
    22  				},
    23  				{
    24  					RpcMethod: "ValidatorDistributionInfo",
    25  					Use:       "validator-distribution-info [validator]",
    26  					Short:     "Query validator distribution info",
    27  					Example:   fmt.Sprintf(`Example: $ %s query distribution validator-distribution-info [validator-address]`, version.AppName),
    28  
    29  					PositionalArgs: []*autocliv1.PositionalArgDescriptor{
    30  						{ProtoField: "validator_address"},
    31  					},
    32  				},
    33  				{
    34  					RpcMethod: "ValidatorOutstandingRewards",
    35  					Use:       "validator-outstanding-rewards [validator]",
    36  					Short:     "Query distribution outstanding (un-withdrawn) rewards for a validator and all their delegations",
    37  					Example:   fmt.Sprintf(`$ %s query distribution validator-outstanding-rewards [validator-address]`, version.AppName),
    38  					PositionalArgs: []*autocliv1.PositionalArgDescriptor{
    39  						{ProtoField: "validator_address"},
    40  					},
    41  				},
    42  				{
    43  					RpcMethod: "ValidatorCommission",
    44  					Use:       "commission [validator]",
    45  					Short:     "Query distribution validator commission",
    46  					Example:   fmt.Sprintf(`$ %s query distribution commission [validator-address]`, version.AppName),
    47  					PositionalArgs: []*autocliv1.PositionalArgDescriptor{
    48  						{ProtoField: "validator_address"},
    49  					},
    50  				},
    51  				{
    52  					RpcMethod: "ValidatorSlashes",
    53  					Use:       "slashes [validator] [start-height] [end-height]",
    54  					Short:     "Query distribution validator slashes",
    55  					Example:   fmt.Sprintf(`$ %s query distribution slashes [validator-address] 0 100`, version.AppName),
    56  					PositionalArgs: []*autocliv1.PositionalArgDescriptor{
    57  						{ProtoField: "validator_address"},
    58  						{ProtoField: "starting_height"},
    59  						{ProtoField: "ending_height"},
    60  					},
    61  				},
    62  				{
    63  					RpcMethod: "DelegationRewards",
    64  					Use:       "rewards-by-validator [delegator-addr] [validator-addr]",
    65  					Short:     "Query all distribution delegator from a particular validator",
    66  					Example:   fmt.Sprintf("$ %s query distribution rewards [delegator-address] [validator-address]", version.AppName),
    67  					PositionalArgs: []*autocliv1.PositionalArgDescriptor{
    68  						{ProtoField: "delegator_address"},
    69  						{ProtoField: "validator_address"},
    70  					},
    71  				},
    72  				{
    73  					RpcMethod: "DelegationTotalRewards",
    74  					Use:       "rewards [delegator-addr]",
    75  					Short:     "Query all distribution delegator rewards",
    76  					Long:      "Query all rewards earned by a delegator",
    77  					Example:   fmt.Sprintf("$ %s query distribution rewards [delegator-address]", version.AppName),
    78  					PositionalArgs: []*autocliv1.PositionalArgDescriptor{
    79  						{ProtoField: "delegator_address"},
    80  					},
    81  				},
    82  				{
    83  					RpcMethod: "CommunityPool",
    84  					Use:       "community-pool",
    85  					Short:     "Query the amount of coins in the community pool",
    86  					Example:   fmt.Sprintf(`$ %s query distribution community-pool`, version.AppName),
    87  				},
    88  			},
    89  		},
    90  		Tx: &autocliv1.ServiceCommandDescriptor{
    91  			Service: distirbuitonv1beta1.Msg_ServiceDesc.ServiceName,
    92  			RpcCommandOptions: []*autocliv1.RpcCommandOptions{
    93  				{
    94  					RpcMethod: "SetWithdrawAddress",
    95  					Use:       "set-withdraw-addr [withdraw-addr]",
    96  					Short:     "Change the default withdraw address for rewards associated with an address",
    97  					Example:   fmt.Sprintf("%s tx distribution set-withdraw-addr cosmos1gghjut3ccd8ay0zduzj64hwre2fxs9ld75ru9p --from mykey", version.AppName),
    98  					PositionalArgs: []*autocliv1.PositionalArgDescriptor{
    99  						{ProtoField: "withdraw_address"},
   100  					},
   101  				},
   102  				{
   103  					RpcMethod: "WithdrawDelegatorReward",
   104  					Use:       "withdraw-rewards [validator-addr]",
   105  					Short:     "Withdraw rewards from a given delegation address",
   106  					PositionalArgs: []*autocliv1.PositionalArgDescriptor{
   107  						{ProtoField: "validator_address"},
   108  					},
   109  				},
   110  				{
   111  					RpcMethod: "WithdrawValidatorCommission",
   112  					Use:       "withdraw-validator-commission [validator-addr]",
   113  					Short:     "Withdraw commissions from a validator address (must be a validator operator)",
   114  					PositionalArgs: []*autocliv1.PositionalArgDescriptor{
   115  						{ProtoField: "validator_address"},
   116  					},
   117  				},
   118  				{
   119  					RpcMethod: "DepositValidatorRewardsPool",
   120  					Use:       "fund-validator-rewards-pool [validator-addr] [amount]",
   121  					Short:     "Fund the validator rewards pool with the specified amount",
   122  					Example:   fmt.Sprintf("%s tx distribution fund-validator-rewards-pool cosmosvaloper1x20lytyf6zkcrv5edpkfkn8sz578qg5sqfyqnp 100uatom --from mykey", version.AppName),
   123  					PositionalArgs: []*autocliv1.PositionalArgDescriptor{
   124  						{ProtoField: "validator_address"},
   125  						{ProtoField: "amount", Varargs: true},
   126  					},
   127  				},
   128  				{
   129  					RpcMethod: "FundCommunityPool",
   130  					Use:       "fund-community-pool [amount]",
   131  					Short:     "Funds the community pool with the specified amount",
   132  					Example:   fmt.Sprintf(`$ %s tx distribution fund-community-pool 100uatom --from mykey`, version.AppName),
   133  					PositionalArgs: []*autocliv1.PositionalArgDescriptor{
   134  						{ProtoField: "amount", Varargs: true},
   135  					},
   136  				},
   137  				{
   138  					RpcMethod: "UpdateParams",
   139  					Skip:      true, // skipped because authority gated
   140  				},
   141  				{
   142  					RpcMethod: "CommunityPoolSpend",
   143  					Skip:      true, // skipped because authority gated
   144  				},
   145  			},
   146  			EnhanceCustomCommand: false, // use custom commands only until v0.51
   147  		},
   148  	}
   149  }