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 }