This repository has been archived by the owner on Dec 15, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy pathmain.go
118 lines (112 loc) · 2.72 KB
/
main.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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
package main
import (
"log"
"os"
"github.com/urfave/cli"
)
const (
defaultServer = "ac.testnet.libra.org:8000"
trustedWaypoint = ""
walletFile = "wallet.toml"
knownVersionFile = "client_state.toml"
)
var ServerAddr, TrustedWaypoint, WalletFile, KnownVersionFile string
func main() {
app := cli.NewApp()
app.Flags = []cli.Flag{
cli.StringFlag{
Name: "server",
Value: defaultServer,
Usage: "use Libra server `HOST:PORT`",
Destination: &ServerAddr,
},
cli.StringFlag{
Name: "waypoint, p",
Value: trustedWaypoint,
Usage: "trusted waypoint, set to 'insecure' to skip check",
Destination: &TrustedWaypoint,
},
cli.StringFlag{
Name: "wallet, w",
Value: walletFile,
Usage: "load or store account private keys in `FILE`",
Destination: &WalletFile,
},
cli.StringFlag{
Name: "client_state, c",
Value: knownVersionFile,
Usage: "load or store client state in `FILE`",
Destination: &KnownVersionFile,
},
}
app.Commands = []cli.Command{
{
Name: "query",
Aliases: []string{"q"},
Subcommands: []cli.Command{
{
Name: "ledger_info",
Usage: "",
Aliases: []string{"l"},
Action: cmdQueryLedgerInfo,
},
{
Name: "account_state",
Usage: "address_prefix",
Aliases: []string{"as"},
Action: cmdQueryAccountState,
},
{
Name: "transaction_range",
Usage: "start limit",
Aliases: []string{"tr"},
Action: cmdQueryTransactionRange,
},
{
Name: "transaction_by_seq",
Usage: "address_prefix sequence",
Aliases: []string{"ts"},
Action: cmdQueryTransactionByAccountSeq,
},
{
Name: "events",
Usage: "address_prefix sent|received start_seq asc|desc limit",
Aliases: []string{"ev"},
Action: cmdQueryEvents,
},
},
},
{
Name: "account",
Aliases: []string{"a"},
Subcommands: []cli.Command{
{
Name: "create",
Usage: "number_of_accounts",
Aliases: []string{"c"},
Action: cmdCreateAccounts,
},
{
Name: "list",
Aliases: []string{"ls"},
Action: cmdListAccounts,
},
{
Name: "mint",
Usage: "address_prefix amount",
Aliases: []string{"m"},
Action: cmdMint,
},
},
},
{
Name: "transfer",
Usage: "sender_address_prefix receiver_address_prefix amount [max_gas_amount [gas_unit_price_micro [expiration_seconds]]]",
Aliases: []string{"t"},
Action: cmdTransfer,
},
}
if err := app.Run(os.Args); err != nil {
log.Fatal(err)
}
}