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  }