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

     1  package module
     2  
     3  import (
     4  	autocliv1 "cosmossdk.io/api/cosmos/autocli/v1"
     5  	groupv1 "cosmossdk.io/api/cosmos/group/v1"
     6  )
     7  
     8  // AutoCLIOptions implements the autocli.HasAutoCLIConfig interface.
     9  func (am AppModule) AutoCLIOptions() *autocliv1.ModuleOptions {
    10  	return &autocliv1.ModuleOptions{
    11  		Query: &autocliv1.ServiceCommandDescriptor{
    12  			Service: groupv1.Query_ServiceDesc.ServiceName,
    13  			RpcCommandOptions: []*autocliv1.RpcCommandOptions{
    14  				{
    15  					RpcMethod: "GroupInfo",
    16  					Use:       "group-info [group-id]",
    17  					Short:     "Query for group info by group id",
    18  					PositionalArgs: []*autocliv1.PositionalArgDescriptor{
    19  						{ProtoField: "group_id"},
    20  					},
    21  				},
    22  				{
    23  					RpcMethod: "GroupPolicyInfo",
    24  					Use:       "group-policy-info [group-policy-account]",
    25  					Short:     "Query for group policy info by account address of group policy",
    26  					PositionalArgs: []*autocliv1.PositionalArgDescriptor{
    27  						{ProtoField: "address"},
    28  					},
    29  				},
    30  				{
    31  					RpcMethod: "GroupMembers",
    32  					Use:       "group-members [group-id]",
    33  					Short:     "Query for group members by group id",
    34  					PositionalArgs: []*autocliv1.PositionalArgDescriptor{
    35  						{ProtoField: "group_id"},
    36  					},
    37  				},
    38  				{
    39  					RpcMethod: "GroupsByAdmin",
    40  					Use:       "groups-by-admin [admin]",
    41  					Short:     "Query for groups by admin account address",
    42  					PositionalArgs: []*autocliv1.PositionalArgDescriptor{
    43  						{ProtoField: "admin"},
    44  					},
    45  				},
    46  				{
    47  					RpcMethod: "GroupPoliciesByGroup",
    48  					Use:       "group-policies-by-group [group-id]",
    49  					Short:     "Query for group policies by group id",
    50  					PositionalArgs: []*autocliv1.PositionalArgDescriptor{
    51  						{ProtoField: "group_id"},
    52  					},
    53  				},
    54  				{
    55  					RpcMethod: "GroupPoliciesByAdmin",
    56  					Use:       "group-policies-by-admin [admin]",
    57  					Short:     "Query for group policies by admin account address",
    58  					PositionalArgs: []*autocliv1.PositionalArgDescriptor{
    59  						{ProtoField: "admin"},
    60  					},
    61  				},
    62  				{
    63  					RpcMethod: "Proposal",
    64  					Use:       "proposal [proposal-id]",
    65  					Short:     "Query for proposal by id",
    66  					PositionalArgs: []*autocliv1.PositionalArgDescriptor{
    67  						{ProtoField: "proposal_id"},
    68  					},
    69  				},
    70  				{
    71  					RpcMethod: "ProposalsByGroupPolicy",
    72  					Use:       "proposals-by-group-policy [group-policy-account]",
    73  					Short:     "Query for proposals by account address of group policy",
    74  					PositionalArgs: []*autocliv1.PositionalArgDescriptor{
    75  						{ProtoField: "address"},
    76  					},
    77  				},
    78  				{
    79  					RpcMethod: "VoteByProposalVoter",
    80  					Use:       "vote [proposal-id] [voter]",
    81  					Short:     "Query for vote by proposal id and voter account address",
    82  					PositionalArgs: []*autocliv1.PositionalArgDescriptor{
    83  						{ProtoField: "proposal_id"},
    84  						{ProtoField: "voter"},
    85  					},
    86  				},
    87  				{
    88  					RpcMethod: "VotesByProposal",
    89  					Use:       "votes-by-proposal [proposal-id]",
    90  					Short:     "Query for votes by proposal id",
    91  					PositionalArgs: []*autocliv1.PositionalArgDescriptor{
    92  						{ProtoField: "proposal_id"},
    93  					},
    94  				},
    95  				{
    96  					RpcMethod: "VotesByVoter",
    97  					Use:       "votes-by-voter [voter]",
    98  					Short:     "Query for votes by voter account address",
    99  					PositionalArgs: []*autocliv1.PositionalArgDescriptor{
   100  						{ProtoField: "voter"},
   101  					},
   102  				},
   103  				{
   104  					RpcMethod: "GroupsByMember",
   105  					Use:       "groups-by-member [address]",
   106  					Short:     "Query for groups by member address",
   107  					PositionalArgs: []*autocliv1.PositionalArgDescriptor{
   108  						{ProtoField: "address"},
   109  					},
   110  				},
   111  				{
   112  					RpcMethod: "TallyResult",
   113  					Use:       "tally-result [proposal-id]",
   114  					Short:     "Query tally result of proposal",
   115  					PositionalArgs: []*autocliv1.PositionalArgDescriptor{
   116  						{ProtoField: "proposal_id"},
   117  					},
   118  				},
   119  				{
   120  					RpcMethod: "Groups",
   121  					Use:       "groups",
   122  					Short:     "Query for all groups on chain",
   123  				},
   124  			},
   125  		},
   126  		Tx: &autocliv1.ServiceCommandDescriptor{
   127  			Service:              groupv1.Msg_ServiceDesc.ServiceName,
   128  			EnhanceCustomCommand: false, // use custom commands only until v0.51
   129  			RpcCommandOptions: []*autocliv1.RpcCommandOptions{
   130  				{
   131  					RpcMethod: "UpdateGroupAdmin",
   132  					Use:       "update-group-admin [admin] [group-id] [new-admin]",
   133  					Short:     "Update a group's admin",
   134  					PositionalArgs: []*autocliv1.PositionalArgDescriptor{
   135  						{ProtoField: "admin"}, {ProtoField: "group_id"}, {ProtoField: "new_admin"},
   136  					},
   137  				},
   138  				{
   139  					RpcMethod: "UpdateGroupMetadata",
   140  					Use:       "update-group-metadata [admin] [group-id] [metadata]",
   141  					Short:     "Update a group's metadata",
   142  					PositionalArgs: []*autocliv1.PositionalArgDescriptor{
   143  						{ProtoField: "admin"}, {ProtoField: "group_id"}, {ProtoField: "metadata"},
   144  					},
   145  				},
   146  				{
   147  					RpcMethod: "UpdateGroupPolicyAdmin",
   148  					Use:       "update-group-policy-admin [admin] [group-policy-account] [new-admin]",
   149  					Short:     "Update a group policy admin",
   150  					PositionalArgs: []*autocliv1.PositionalArgDescriptor{
   151  						{ProtoField: "admin"}, {ProtoField: "group_policy_address"}, {ProtoField: "new_admin"},
   152  					},
   153  				},
   154  				{
   155  					RpcMethod: "UpdateGroupPolicyMetadata",
   156  					Use:       "update-group-policy-metadata [admin] [group-policy-account] [new-metadata]",
   157  					Short:     "Update a group policy metadata",
   158  					PositionalArgs: []*autocliv1.PositionalArgDescriptor{
   159  						{ProtoField: "admin"}, {ProtoField: "group_policy_address"}, {ProtoField: "metadata"},
   160  					},
   161  				},
   162  				{
   163  					RpcMethod: "WithdrawProposal",
   164  					Use:       "withdraw-proposal [proposal-id] [group-policy-admin-or-proposer]",
   165  					Short:     "Withdraw a submitted proposal",
   166  					PositionalArgs: []*autocliv1.PositionalArgDescriptor{
   167  						{ProtoField: "proposal_id"}, {ProtoField: "address"},
   168  					},
   169  				},
   170  				{
   171  					RpcMethod: "Vote",
   172  					Use:       "vote [proposal-id] [voter] [vote-option] [metadata]",
   173  					Long: `Vote on a proposal.
   174  Parameters:
   175  	proposal-id: unique ID of the proposal
   176  	voter: voter account addresses.
   177  	vote-option: choice of the voter(s)
   178  		VOTE_OPTION_UNSPECIFIED: no-op
   179  		VOTE_OPTION_NO: no
   180  		VOTE_OPTION_YES: yes
   181  		VOTE_OPTION_ABSTAIN: abstain
   182  		VOTE_OPTION_NO_WITH_VETO: no-with-veto
   183  	Metadata: metadata for the vote
   184  `,
   185  					PositionalArgs: []*autocliv1.PositionalArgDescriptor{
   186  						{ProtoField: "proposal_id"}, {ProtoField: "voter"}, {ProtoField: "option"}, {ProtoField: "metadata"},
   187  					},
   188  					FlagOptions: map[string]*autocliv1.FlagOptions{
   189  						"exec": {Name: "exec", DefaultValue: "", Usage: "Set to 'try' for trying to execute proposal immediately after voting"},
   190  					},
   191  				},
   192  				{
   193  					RpcMethod: "Exec",
   194  					Use:       "exec [proposal-id]",
   195  					Short:     "Execute a proposal",
   196  					PositionalArgs: []*autocliv1.PositionalArgDescriptor{
   197  						{ProtoField: "proposal_id"},
   198  					},
   199  				},
   200  				{
   201  					RpcMethod: "LeaveGroup",
   202  					Use:       "leave-group [member-address] [group-id]",
   203  					Short:     "Remove member from the group",
   204  					PositionalArgs: []*autocliv1.PositionalArgDescriptor{
   205  						{ProtoField: "address"}, {ProtoField: "group_id"},
   206  					},
   207  				},
   208  			},
   209  		},
   210  	}
   211  }