github.com/cosmos/cosmos-sdk@v0.50.10/x/authz/module/autocli.go (about) 1 package authz 2 3 import ( 4 "fmt" 5 6 authzv1beta1 "cosmossdk.io/api/cosmos/authz/v1beta1" 7 autocliv1 "cosmossdk.io/api/cosmos/autocli/v1" 8 9 "github.com/cosmos/cosmos-sdk/version" 10 bank "github.com/cosmos/cosmos-sdk/x/bank/types" 11 ) 12 13 // AutoCLIOptions implements the autocli.HasAutoCLIConfig interface. 14 func (am AppModule) AutoCLIOptions() *autocliv1.ModuleOptions { 15 return &autocliv1.ModuleOptions{ 16 Query: &autocliv1.ServiceCommandDescriptor{ 17 Service: authzv1beta1.Query_ServiceDesc.ServiceName, 18 RpcCommandOptions: []*autocliv1.RpcCommandOptions{ 19 { 20 RpcMethod: "Grants", 21 Use: "grants [granter-addr] [grantee-addr] <msg-type-url>", 22 Short: "Query grants for a granter-grantee pair and optionally a msg-type-url", 23 Long: "Query authorization grants for a granter-grantee pair. If msg-type-url is set, it will select grants only for that msg type.", 24 Example: fmt.Sprintf("%s query authz grants cosmos1skj.. cosmos1skjwj.. %s", version.AppName, bank.SendAuthorization{}.MsgTypeURL()), 25 PositionalArgs: []*autocliv1.PositionalArgDescriptor{ 26 {ProtoField: "granter"}, 27 {ProtoField: "grantee"}, 28 {ProtoField: "msg_type_url", Optional: true}, 29 }, 30 }, 31 { 32 RpcMethod: "GranterGrants", 33 Use: "grants-by-granter [granter-addr]", 34 Short: "Query authorization grants granted by granter", 35 PositionalArgs: []*autocliv1.PositionalArgDescriptor{ 36 {ProtoField: "granter"}, 37 }, 38 }, 39 { 40 RpcMethod: "GranteeGrants", 41 Use: "grants-by-grantee [grantee-addr]", 42 Short: "Query authorization grants granted to a grantee", 43 PositionalArgs: []*autocliv1.PositionalArgDescriptor{ 44 {ProtoField: "grantee"}, 45 }, 46 }, 47 }, 48 }, 49 Tx: &autocliv1.ServiceCommandDescriptor{ 50 Service: authzv1beta1.Msg_ServiceDesc.ServiceName, 51 EnhanceCustomCommand: false, // use custom commands only until v0.51 52 RpcCommandOptions: []*autocliv1.RpcCommandOptions{ 53 { 54 RpcMethod: "Exec", 55 Use: "exec [msg-json-file] --from [grantee]", 56 Short: "Execute tx on behalf of granter account", 57 Example: fmt.Sprintf("$ %s tx authz exec msg.json --from grantee\n $ %[1]s tx bank send [granter] [recipient] [amount] --generate-only | jq .body.messages > msg.json && %[1]s tx authz exec msg.json --from grantee", version.AppName), 58 PositionalArgs: []*autocliv1.PositionalArgDescriptor{ 59 {ProtoField: "msgs", Varargs: true}, 60 }, 61 }, 62 { 63 RpcMethod: "Revoke", 64 Use: "revoke [grantee] [msg-type-url] --from [granter]", 65 Short: `Revoke authorization from a granter to a grantee`, 66 Example: fmt.Sprintf(`%s tx authz revoke cosmos1skj.. %s --from=cosmos1skj..`, 67 version.AppName, bank.SendAuthorization{}.MsgTypeURL()), 68 PositionalArgs: []*autocliv1.PositionalArgDescriptor{ 69 {ProtoField: "grantee"}, 70 {ProtoField: "msg_type_url"}, 71 }, 72 }, 73 }, 74 }, 75 } 76 }