/
autocli.go
89 lines (85 loc) · 3.04 KB
/
autocli.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
package auth
import (
"fmt"
authv1beta1 "cosmossdk.io/api/cosmos/auth/v1beta1"
autocliv1 "cosmossdk.io/api/cosmos/autocli/v1"
_ "cosmossdk.io/api/cosmos/crypto/secp256k1" // register to that it shows up in protoregistry.GlobalTypes
_ "cosmossdk.io/api/cosmos/crypto/secp256r1" // register to that it shows up in protoregistry.GlobalTypes
"github.com/cosmos/cosmos-sdk/version"
)
// AutoCLIOptions implements the autocli.HasAutoCLIConfig interface.
func (am AppModule) AutoCLIOptions() *autocliv1.ModuleOptions {
return &autocliv1.ModuleOptions{
Query: &autocliv1.ServiceCommandDescriptor{
Service: authv1beta1.Query_ServiceDesc.ServiceName,
RpcCommandOptions: []*autocliv1.RpcCommandOptions{
{
RpcMethod: "Accounts",
Use: "accounts",
Short: "Query all the accounts",
},
{
RpcMethod: "Account",
Use: "account [address]",
Short: "Query account by address",
PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "address"}},
},
{
RpcMethod: "AccountInfo",
Use: "account-info [address]",
Short: "Query account info which is common to all account types.",
PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "address"}},
},
{
RpcMethod: "AccountAddressByID",
Use: "address-by-acc-num [acc-num]",
Short: "Query account address by account number",
PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "id"}},
},
{
RpcMethod: "ModuleAccounts",
Use: "module-accounts",
Short: "Query all module accounts",
},
{
RpcMethod: "ModuleAccountByName",
Use: "module-account [module-name]",
Short: "Query module account info by module name",
Example: fmt.Sprintf("%s q auth module-account gov", version.AppName),
PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "name"}},
},
{
RpcMethod: "AddressBytesToString",
Use: "address-bytes-to-string [address-bytes]",
Short: "Transform an address bytes to string",
PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "address_bytes"}},
},
{
RpcMethod: "AddressStringToBytes",
Use: "address-string-to-bytes [address-string]",
Short: "Transform an address string to bytes",
PositionalArgs: []*autocliv1.PositionalArgDescriptor{{ProtoField: "address_string"}},
},
{
RpcMethod: "Bech32Prefix",
Use: "bech32-prefix",
Short: "Query the chain bech32 prefix (if applicable)",
},
{
RpcMethod: "Params",
Use: "params",
Short: "Query the current auth parameters",
},
},
},
Tx: &autocliv1.ServiceCommandDescriptor{
Service: authv1beta1.Msg_ServiceDesc.ServiceName,
RpcCommandOptions: []*autocliv1.RpcCommandOptions{
{
RpcMethod: "UpdateParams",
Skip: true, // skipped because authority gated
},
},
},
}
}