keecli 1.0.0 → 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # KeeCLI
2
2
 
3
- A professional command-line interface for trading on KeetaNetwork.
3
+ A command-line interface for trading on the Keeta Network Network.
4
4
 
5
5
  ## Installation
6
6
 
@@ -14,47 +14,87 @@ npm install -g keecli
14
14
 
15
15
  ### Authentication
16
16
 
17
- All commands require a passphrase for account authentication. You can provide it via:
17
+ All commands require authentication via either a passphrase or seed. You can provide credentials via:
18
18
 
19
+ **Passphrase Authentication:**
19
20
  - Command line flag: `-p "your passphrase"`
20
21
  - Environment variable: `export KEECLI_PASSPHRASE="your passphrase"`
21
22
 
23
+ **Seed Authentication:**
24
+ - Command line flag: `-s "your-seed-string"`
25
+ - Environment variable: `export KEECLI_SEED="your-seed-string"`
26
+
27
+ **Additional Options:**
28
+ - Network: `-n test|main|staging|dev` (default: test)
29
+ - Account offset: `-o 0` (default: 0)
30
+ - Custom resolver: `-r "resolver_address"`
31
+
22
32
  ### Commands
23
33
 
24
34
  #### List Available Tokens
25
35
  ```bash
36
+ # With passphrase on test network (default)
26
37
  keecli list-tokens -p "your passphrase"
27
- keecli list-tokens -p "your passphrase" -r "custom_resolver_address"
38
+
39
+ # With seed on main network
40
+ keecli list-tokens -s "your-seed-string" -n main
41
+
42
+ # With passphrase, custom offset, and resolver
43
+ keecli list-tokens -p "your passphrase" -o 5 -r "custom_resolver_address"
28
44
  ```
29
45
 
30
46
  #### List Token Conversions
31
47
  ```bash
48
+ # With passphrase
32
49
  keecli list-conversions -p "your passphrase" -t "TOKEN_SYMBOL"
50
+
51
+ # With seed on staging network
52
+ keecli list-conversions -s "your-seed" -n staging -t "TOKEN_SYMBOL"
33
53
  ```
34
54
 
35
55
  #### Execute Token Swap
36
56
  ```bash
57
+ # Basic swap with passphrase
37
58
  keecli swap -p "your passphrase" -f "FROM_TOKEN" -t "TO_TOKEN" -a "1000"
59
+
60
+ # Swap with seed on main network, offset 3
61
+ keecli swap -s "your-seed" -n main -o 3 -f "FROM_TOKEN" -t "TO_TOKEN" -a "1000"
38
62
  ```
39
63
 
40
64
  #### Check Account Balances
41
65
  ```bash
66
+ # With passphrase
42
67
  keecli balance -p "your passphrase"
68
+
69
+ # With seed, offset 2, on main network
70
+ keecli balance -s "your-seed" -o 2 -n main
43
71
  ```
44
72
 
45
73
  #### Send Tokens
46
74
  ```bash
75
+ # With passphrase
47
76
  keecli send TOKEN_SYMBOL recipient_address amount -p "your passphrase"
77
+
78
+ # With seed on different network
79
+ keecli send TOKEN_SYMBOL recipient_address amount -s "your-seed" -n main
48
80
  ```
49
81
 
50
82
  #### Get Receive Address
51
83
  ```bash
84
+ # With passphrase
52
85
  keecli receive -p "your passphrase"
86
+
87
+ # With seed and custom offset
88
+ keecli receive -s "your-seed" -o 10
53
89
  ```
54
90
 
55
91
  #### Request Test Tokens (Faucet)
56
92
  ```bash
93
+ # Faucet only works on test network
57
94
  keecli faucet -p "your passphrase"
95
+ keecli faucet -s "your-seed" -o 5
96
+
97
+ # Note: Faucet will error if you try to use it on other networks
58
98
  ```
59
99
 
60
100
  ### Environment Variables
@@ -62,7 +102,13 @@ keecli faucet -p "your passphrase"
62
102
  Set environment variables to avoid repeating common parameters:
63
103
 
64
104
  ```bash
105
+ # Authentication (choose one)
65
106
  export KEECLI_PASSPHRASE="your passphrase"
107
+ export KEECLI_SEED="your-seed-string"
108
+
109
+ # Optional configuration
110
+ export KEECLI_NETWORK="main"
111
+ export KEECLI_OFFSET="5"
66
112
  export KEECLI_RESOLVER="custom_resolver_address"
67
113
 
68
114
  # Now you can run commands without flags
@@ -72,33 +118,40 @@ keecli balance
72
118
 
73
119
  ### Global Options
74
120
 
75
- - `-p, --passphrase`: Your account passphrase (required)
76
- - `-r, --resolver`: Custom resolver address (optional)
121
+ **Authentication (required - choose one):**
122
+ - `-p, --passphrase`: Your account passphrase
123
+ - `-s, --seed`: Your account seed string
124
+
125
+ **Network Configuration (optional):**
126
+ - `-n, --network`: Network to connect to (test|main|staging|dev, default: test)
127
+ - `-o, --offset`: Account offset for seed derivation (default: 0)
128
+ - `-r, --resolver`: Custom resolver address
129
+
130
+ **General:**
77
131
  - `-h, --help`: Show help
78
132
  - `--version`: Show version
79
133
 
80
134
  ## Examples
81
135
 
82
136
  ```bash
83
- # Check your balances
137
+ # Check your balances with passphrase
84
138
  keecli balance -p "my secure passphrase"
85
139
 
86
- # List all available tokens
87
- keecli list-tokens -p "my secure passphrase"
88
-
89
- # Find what you can convert USDC to
90
- keecli list-conversions -t "USDC" -p "my secure passphrase"
140
+ # List tokens using seed on main network
141
+ keecli list-tokens -s "my-seed-string" -n main
91
142
 
92
- # Swap 1000 USDC to ETH
93
- keecli swap -f "USDC" -t "ETH" -a "1000" -p "my secure passphrase"
143
+ # Find conversions with offset account
144
+ keecli list-conversions -t "USDC" -p "my passphrase" -o 3
94
145
 
95
- # Send 500 USDC to someone
96
- keecli send USDC B62qn7... 500 -p "my secure passphrase"
146
+ # Swap on staging network with seed
147
+ keecli swap -f "USDC" -t "ETH" -a "1000" -s "my-seed" -n staging
97
148
 
98
- # Get your address to receive tokens
99
- keecli receive -p "my secure passphrase"
100
- ```
149
+ # Send using different account offset
150
+ keecli send USDC B62qn7... 500 -p "my passphrase" -o 2
101
151
 
102
- ## License
152
+ # Get address for offset account 5
153
+ keecli receive -s "my-seed" -o 5
103
154
 
104
- ISC
155
+ # Request test tokens (only works on test network)
156
+ keecli faucet -p "my passphrase"
157
+ ```
@@ -1 +1 @@
1
- {"version":3,"file":"balance.d.ts","sourceRoot":"","sources":["../../src/commands/balance.ts"],"names":[],"mappings":"AAcA,eAAO,MAAM,OAAO,EAAE,MAAkB,CAAC;AACzC,eAAO,MAAM,IAAI,EAAE,MAA+C,CAAC;AAEnE,eAAO,MAAM,OAAO,GAAI,OAAO,GAAG,QAe9B,CAAC;AAEL,eAAO,MAAM,OAAO,GAAU,MAAM,GAAG,KAAG,OAAO,CAAC,IAAI,CA2FrD,CAAC"}
1
+ {"version":3,"file":"balance.d.ts","sourceRoot":"","sources":["../../src/commands/balance.ts"],"names":[],"mappings":"AAiBA,eAAO,MAAM,OAAO,EAAE,MAAkB,CAAC;AACzC,eAAO,MAAM,IAAI,EAAE,MAA+C,CAAC;AAEnE,eAAO,MAAM,OAAO,GAAI,OAAO,GAAG,QAAiC,CAAC;AAEpE,eAAO,MAAM,OAAO,GAAU,MAAM,GAAG,KAAG,OAAO,CAAC,IAAI,CA+FrD,CAAC"}
@@ -1,26 +1,17 @@
1
- import { createUserClientFromPassphrase } from "../lib/account.js";
1
+ import { createUserClient } from "../lib/account.js";
2
2
  import { createFXClient } from "../lib/fx-client.js";
3
+ import { authArguments, validateAuthArgs, getAuthOptions, } from "../lib/command-args.js";
3
4
  export const command = "balance";
4
5
  export const desc = "Show account balances for all tokens";
5
- export const builder = (yargs) => yargs.options({
6
- passphrase: {
7
- type: "string",
8
- demandOption: true,
9
- describe: "User passphrase for authentication",
10
- alias: "p",
11
- },
12
- resolver: {
13
- type: "string",
14
- demandOption: false,
15
- describe: "Resolver account public key string (uses default if not provided)",
16
- alias: "r",
17
- },
18
- });
6
+ export const builder = (yargs) => yargs.options(authArguments);
19
7
  export const handler = async (argv) => {
20
8
  try {
9
+ // Validate authentication arguments
10
+ validateAuthArgs(argv);
21
11
  console.log("Fetching account balances...");
22
- // Create user client from passphrase
23
- const userClient = await createUserClientFromPassphrase(argv.passphrase);
12
+ // Create user client from provided credentials
13
+ const authOptions = getAuthOptions(argv);
14
+ const userClient = await createUserClient(authOptions);
24
15
  // Create FX client for token registry lookup
25
16
  const fxClient = createFXClient(argv.resolver, userClient);
26
17
  // Get token registry for ticker lookup
@@ -1 +1 @@
1
- {"version":3,"file":"balance.js","sourceRoot":"","sources":["../../src/commands/balance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"balance.js","sourceRoot":"","sources":["../../src/commands/balance.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"faucet.d.ts","sourceRoot":"","sources":["../../src/commands/faucet.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,OAAO,EAAE,MAAiB,CAAC;AACxC,eAAO,MAAM,IAAI,EAAE,MACgD,CAAC;AAEpE,eAAO,MAAM,OAAO,GAAI,OAAO,GAAG,QAQ9B,CAAC;AAEL,eAAO,MAAM,OAAO,GAAU,MAAM,GAAG,KAAG,OAAO,CAAC,IAAI,CAkCrD,CAAC"}
1
+ {"version":3,"file":"faucet.d.ts","sourceRoot":"","sources":["../../src/commands/faucet.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,OAAO,EAAE,MAAiB,CAAC;AACxC,eAAO,MAAM,IAAI,EAAE,MACgD,CAAC;AAEpE,eAAO,MAAM,OAAO,GAAI,OAAO,GAAG,QASjC,CAAC;AAEF,eAAO,MAAM,OAAO,GAAU,MAAM,GAAG,KAAG,OAAO,CAAC,IAAI,CAiDrD,CAAC"}
@@ -1,21 +1,33 @@
1
- import { createUserClientFromPassphrase } from "../lib/account.js";
1
+ import { createUserClient } from "../lib/account.js";
2
2
  import { FaucetClient } from "../lib/faucet.js";
3
+ import { authArguments, validateAuthArgs, getAuthOptions, } from "../lib/command-args.js";
3
4
  export const command = "faucet";
4
5
  export const desc = "Request test tokens from the faucet and wait for them to arrive";
5
- export const builder = (yargs) => yargs.options({
6
- passphrase: {
7
- type: "string",
8
- demandOption: true,
9
- describe: "User passphrase for authentication",
10
- alias: "p",
11
- },
12
- });
6
+ export const builder = (yargs) => {
7
+ const faucetArgs = { ...authArguments };
8
+ // Override network description to clarify test-only requirement
9
+ faucetArgs.network = {
10
+ ...authArguments.network,
11
+ describe: "Network to connect to (faucet only works on 'test' network)",
12
+ default: "test",
13
+ };
14
+ return yargs.options(faucetArgs);
15
+ };
13
16
  export const handler = async (argv) => {
14
17
  try {
18
+ // Validate authentication arguments
19
+ validateAuthArgs(argv);
20
+ // Validate that faucet only works on test network
21
+ const authOptions = getAuthOptions(argv);
22
+ if (authOptions.network !== "test") {
23
+ console.error(`Error: Faucet is only available on the test network, but you specified: ${authOptions.network}`);
24
+ console.error("Please use --network test or omit the network flag (defaults to test)");
25
+ process.exit(1);
26
+ }
15
27
  console.log("Requesting tokens from faucet...");
16
- // Create user client from passphrase
28
+ // Create user client from provided credentials
17
29
  console.log("Authenticating...");
18
- const userClient = await createUserClientFromPassphrase(argv.passphrase);
30
+ const userClient = await createUserClient(authOptions);
19
31
  console.log(" User authenticated");
20
32
  console.log(` Account: ${userClient.account.publicKeyString.get()}`);
21
33
  // Request tokens and wait for them to arrive
@@ -1 +1 @@
1
- {"version":3,"file":"faucet.js","sourceRoot":"","sources":["../../src/commands/faucet.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,8BAA8B,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAMhD,MAAM,CAAC,MAAM,OAAO,GAAW,QAAQ,CAAC;AACxC,MAAM,CAAC,MAAM,IAAI,GACf,iEAAiE,CAAC;AAEpE,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,KAAU,EAAE,EAAE,CACpC,KAAK,CAAC,OAAO,CAAC;IACZ,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,YAAY,EAAE,IAAI;QAClB,QAAQ,EAAE,oCAAoC;QAC9C,KAAK,EAAE,GAAG;KACX;CACF,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,EAAE,IAAS,EAAiB,EAAE;IACxD,IAAI,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;QAEhD,qCAAqC;QACrC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QACjC,MAAM,UAAU,GAAG,MAAM,8BAA8B,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACzE,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,eAAe,UAAU,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAEvE,6CAA6C;QAC7C,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;QAClD,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,uBAAuB,CACvD,UAAU,EACV,UAAU,CAAC,OAAO,CACnB,CAAC;QAEF,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;YACxD,OAAO,CAAC,GAAG,CAAC,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;YACpC,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACpB,OAAO,CAAC,GAAG,CAAC,gBAAgB,MAAM,CAAC,QAAQ,aAAa,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,4BAA4B,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;YAC5D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CACX,0BAA0B,EAC1B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAC/C,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"faucet.js","sourceRoot":"","sources":["../../src/commands/faucet.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,cAAc,GAEf,MAAM,wBAAwB,CAAC;AAIhC,MAAM,CAAC,MAAM,OAAO,GAAW,QAAQ,CAAC;AACxC,MAAM,CAAC,MAAM,IAAI,GACf,iEAAiE,CAAC;AAEpE,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,KAAU,EAAE,EAAE;IACpC,MAAM,UAAU,GAAG,EAAE,GAAG,aAAa,EAAE,CAAC;IACxC,gEAAgE;IAChE,UAAU,CAAC,OAAO,GAAG;QACnB,GAAG,aAAa,CAAC,OAAO;QACxB,QAAQ,EAAE,6DAA6D;QACvE,OAAO,EAAE,MAAM;KAChB,CAAC;IACF,OAAO,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AACnC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,EAAE,IAAS,EAAiB,EAAE;IACxD,IAAI,CAAC;QACH,oCAAoC;QACpC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAEvB,kDAAkD;QAClD,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,WAAW,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;YACnC,OAAO,CAAC,KAAK,CACX,2EAA2E,WAAW,CAAC,OAAO,EAAE,CACjG,CAAC;YACF,OAAO,CAAC,KAAK,CACX,uEAAuE,CACxE,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;QAEhD,+CAA+C;QAC/C,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QACjC,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,WAAW,CAAC,CAAC;QACvD,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,eAAe,UAAU,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAEvE,6CAA6C;QAC7C,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;QAClD,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,uBAAuB,CACvD,UAAU,EACV,UAAU,CAAC,OAAO,CACnB,CAAC;QAEF,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;YACxD,OAAO,CAAC,GAAG,CAAC,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;YACpC,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACpB,OAAO,CAAC,GAAG,CAAC,gBAAgB,MAAM,CAAC,QAAQ,aAAa,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,4BAA4B,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;YAC5D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CACX,0BAA0B,EAC1B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAC/C,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"list-conversions.d.ts","sourceRoot":"","sources":["../../src/commands/list-conversions.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,OAAO,EAAE,MAAmC,CAAC;AAC1D,eAAO,MAAM,IAAI,EAAE,MACoC,CAAC;AAExD,eAAO,MAAM,OAAO,GAAI,OAAO,GAAG,QAqB5B,CAAC;AAEP,eAAO,MAAM,OAAO,GAAU,MAAM,GAAG,KAAG,OAAO,CAAC,IAAI,CA6CrD,CAAC"}
1
+ {"version":3,"file":"list-conversions.d.ts","sourceRoot":"","sources":["../../src/commands/list-conversions.ts"],"names":[],"mappings":"AAcA,eAAO,MAAM,OAAO,EAAE,MAAmC,CAAC;AAC1D,eAAO,MAAM,IAAI,EAAE,MACoC,CAAC;AAExD,eAAO,MAAM,OAAO,GAAI,OAAO,GAAG,QAOP,CAAC;AAE5B,eAAO,MAAM,OAAO,GAAU,MAAM,GAAG,KAAG,OAAO,CAAC,IAAI,CAiDrD,CAAC"}
@@ -1,5 +1,6 @@
1
- import { createUserClientFromPassphrase } from "../lib/account.js";
1
+ import { createUserClient } from "../lib/account.js";
2
2
  import { createFXClient } from "../lib/fx-client.js";
3
+ import { authArguments, validateAuthArgs, getAuthOptions, } from "../lib/command-args.js";
3
4
  export const command = "list-conversions <token>";
4
5
  export const desc = "List all possible conversions from a specific token";
5
6
  export const builder = (yargs) => yargs
@@ -8,25 +9,15 @@ export const builder = (yargs) => yargs
8
9
  type: "string",
9
10
  demandOption: true,
10
11
  })
11
- .options({
12
- passphrase: {
13
- type: "string",
14
- demandOption: true,
15
- describe: "User passphrase for authentication",
16
- alias: "p",
17
- },
18
- resolver: {
19
- type: "string",
20
- demandOption: false,
21
- describe: "Resolver account public key string (uses default if not provided)",
22
- alias: "r",
23
- },
24
- });
12
+ .options(authArguments);
25
13
  export const handler = async (argv) => {
26
14
  try {
15
+ // Validate authentication arguments
16
+ validateAuthArgs(argv);
27
17
  console.log(`Discovering conversions from ${argv.token}...`);
28
- // Create user client from passphrase
29
- const userClient = await createUserClientFromPassphrase(argv.passphrase);
18
+ // Create user client from provided credentials
19
+ const authOptions = getAuthOptions(argv);
20
+ const userClient = await createUserClient(authOptions);
30
21
  // Create FX client
31
22
  const fxClient = createFXClient(argv.resolver, userClient);
32
23
  // Get token registry for ticker lookup
@@ -1 +1 @@
1
- {"version":3,"file":"list-conversions.js","sourceRoot":"","sources":["../../src/commands/list-conversions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"list-conversions.js","sourceRoot":"","sources":["../../src/commands/list-conversions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,cAAc,GAEf,MAAM,wBAAwB,CAAC;AAMhC,MAAM,CAAC,MAAM,OAAO,GAAW,0BAA0B,CAAC;AAC1D,MAAM,CAAC,MAAM,IAAI,GACf,qDAAqD,CAAC;AAExD,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,KAAU,EAAE,EAAE,CACpC,KAAK;KACF,UAAU,CAAC,OAAO,EAAE;IACnB,QAAQ,EAAE,uCAAuC;IACjD,IAAI,EAAE,QAAQ;IACd,YAAY,EAAE,IAAI;CACnB,CAAC;KACD,OAAO,CAAC,aAAa,CAAC,CAAC;AAE5B,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,EAAE,IAAS,EAAiB,EAAE;IACxD,IAAI,CAAC;QACH,oCAAoC;QACpC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAEvB,OAAO,CAAC,GAAG,CAAC,gCAAgC,IAAI,CAAC,KAAK,KAAK,CAAC,CAAC;QAE7D,+CAA+C;QAC/C,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAEvD,mBAAmB;QACnB,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAE3D,uCAAuC;QACvC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,CAAC;QAC3C,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAEtE,mBAAmB;QACnB,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE/D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5D,OAAO,CAAC,GAAG,CAAC,4BAA4B,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;YACtD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChD,MAAM,YAAY,GAAG,WAAW;YAC9B,CAAC,CAAC,GAAG,WAAW,KAAK,IAAI,CAAC,KAAK,GAAG;YAClC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;QAEf,OAAO,CAAC,GAAG,CACT,WAAW,WAAW,CAAC,MAAM,gCAAgC,YAAY,GAAG,CAC7E,CAAC;QACF,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE;YACxC,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAC3C,MAAM,iBAAiB,GAAG,MAAM;gBAC9B,CAAC,CAAC,GAAG,MAAM,KAAK,UAAU,GAAG;gBAC7B,CAAC,CAAC,UAAU,CAAC;YACf,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,iBAAiB,EAAE,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CACX,4BAA4B,EAC5B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAC/C,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"list-tokens.d.ts","sourceRoot":"","sources":["../../src/commands/list-tokens.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,OAAO,EAAE,MAAsB,CAAC;AAC7C,eAAO,MAAM,IAAI,EAAE,MAAsD,CAAC;AAE1E,eAAO,MAAM,OAAO,GAAI,OAAO,GAAG,QAe9B,CAAC;AAEL,eAAO,MAAM,OAAO,GAAU,MAAM,GAAG,KAAG,OAAO,CAAC,IAAI,CA8BrD,CAAC"}
1
+ {"version":3,"file":"list-tokens.d.ts","sourceRoot":"","sources":["../../src/commands/list-tokens.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,OAAO,EAAE,MAAsB,CAAC;AAC7C,eAAO,MAAM,IAAI,EAAE,MAAsD,CAAC;AAE1E,eAAO,MAAM,OAAO,GAAI,OAAO,GAAG,QAAiC,CAAC;AAEpE,eAAO,MAAM,OAAO,GAAU,MAAM,GAAG,KAAG,OAAO,CAAC,IAAI,CAkCrD,CAAC"}
@@ -1,26 +1,17 @@
1
- import { createUserClientFromPassphrase } from "../lib/account.js";
1
+ import { createUserClient } from "../lib/account.js";
2
2
  import { createFXClient } from "../lib/fx-client.js";
3
+ import { authArguments, validateAuthArgs, getAuthOptions, } from "../lib/command-args.js";
3
4
  export const command = "list-tokens";
4
5
  export const desc = "List all available tokens from the resolver";
5
- export const builder = (yargs) => yargs.options({
6
- passphrase: {
7
- type: "string",
8
- demandOption: true,
9
- describe: "User passphrase for authentication",
10
- alias: "p",
11
- },
12
- resolver: {
13
- type: "string",
14
- demandOption: false,
15
- describe: "Resolver account public key string (uses default if not provided)",
16
- alias: "r",
17
- },
18
- });
6
+ export const builder = (yargs) => yargs.options(authArguments);
19
7
  export const handler = async (argv) => {
20
8
  try {
9
+ // Validate authentication arguments
10
+ validateAuthArgs(argv);
21
11
  console.log("Discovering available tokens...");
22
- // Create user client from passphrase
23
- const userClient = await createUserClientFromPassphrase(argv.passphrase);
12
+ // Create user client from provided credentials
13
+ const authOptions = getAuthOptions(argv);
14
+ const userClient = await createUserClient(authOptions);
24
15
  // Create FX client
25
16
  const fxClient = createFXClient(argv.resolver, userClient);
26
17
  // List tokens
@@ -1 +1 @@
1
- {"version":3,"file":"list-tokens.js","sourceRoot":"","sources":["../../src/commands/list-tokens.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,8BAA8B,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAOrD,MAAM,CAAC,MAAM,OAAO,GAAW,aAAa,CAAC;AAC7C,MAAM,CAAC,MAAM,IAAI,GAAW,6CAA6C,CAAC;AAE1E,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,KAAU,EAAE,EAAE,CACpC,KAAK,CAAC,OAAO,CAAC;IACZ,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,YAAY,EAAE,IAAI;QAClB,QAAQ,EAAE,oCAAoC;QAC9C,KAAK,EAAE,GAAG;KACX;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,QAAQ;QACd,YAAY,EAAE,KAAK;QACnB,QAAQ,EACN,mEAAmE;QACrE,KAAK,EAAE,GAAG;KACX;CACF,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,EAAE,IAAS,EAAiB,EAAE;IACxD,IAAI,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;QAE/C,qCAAqC;QACrC,MAAM,UAAU,GAAG,MAAM,8BAA8B,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAEzE,mBAAmB;QACnB,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAE3D,cAAc;QACd,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,CAAC;QAE3C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;YAC/B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,WAAW,MAAM,CAAC,MAAM,YAAY,CAAC,CAAC;QAClD,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAC9B,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,KAAK,CAAC,QAAQ,KAAK,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CACX,uBAAuB,EACvB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAC/C,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"list-tokens.js","sourceRoot":"","sources":["../../src/commands/list-tokens.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,cAAc,GAEf,MAAM,wBAAwB,CAAC;AAIhC,MAAM,CAAC,MAAM,OAAO,GAAW,aAAa,CAAC;AAC7C,MAAM,CAAC,MAAM,IAAI,GAAW,6CAA6C,CAAC;AAE1E,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;AAEpE,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,EAAE,IAAS,EAAiB,EAAE;IACxD,IAAI,CAAC;QACH,oCAAoC;QACpC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAEvB,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;QAE/C,+CAA+C;QAC/C,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAEvD,mBAAmB;QACnB,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAE3D,cAAc;QACd,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,CAAC;QAE3C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;YAC/B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,WAAW,MAAM,CAAC,MAAM,YAAY,CAAC,CAAC;QAClD,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAC9B,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,KAAK,CAAC,QAAQ,KAAK,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CACX,uBAAuB,EACvB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAC/C,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"receive.d.ts","sourceRoot":"","sources":["../../src/commands/receive.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,OAAO,EAAE,MAAkB,CAAC;AACzC,eAAO,MAAM,IAAI,EAAE,MAAsD,CAAC;AAE1E,eAAO,MAAM,OAAO,GAAI,OAAO,GAAG,QAQ9B,CAAC;AAEL,eAAO,MAAM,OAAO,GAAU,MAAM,GAAG,KAAG,OAAO,CAAC,IAAI,CAsBrD,CAAC"}
1
+ {"version":3,"file":"receive.d.ts","sourceRoot":"","sources":["../../src/commands/receive.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,OAAO,EAAE,MAAkB,CAAC;AACzC,eAAO,MAAM,IAAI,EAAE,MAAsD,CAAC;AAE1E,eAAO,MAAM,OAAO,GAAI,OAAO,GAAG,QAAiC,CAAC;AAEpE,eAAO,MAAM,OAAO,GAAU,MAAM,GAAG,KAAG,OAAO,CAAC,IAAI,CA0BrD,CAAC"}
@@ -1,19 +1,16 @@
1
- import { createUserClientFromPassphrase } from "../lib/account.js";
1
+ import { createUserClient } from "../lib/account.js";
2
+ import { authArguments, validateAuthArgs, getAuthOptions, } from "../lib/command-args.js";
2
3
  export const command = "receive";
3
4
  export const desc = "Show your account address to receive tokens";
4
- export const builder = (yargs) => yargs.options({
5
- passphrase: {
6
- type: "string",
7
- demandOption: true,
8
- describe: "User passphrase for authentication",
9
- alias: "p",
10
- },
11
- });
5
+ export const builder = (yargs) => yargs.options(authArguments);
12
6
  export const handler = async (argv) => {
13
7
  try {
8
+ // Validate authentication arguments
9
+ validateAuthArgs(argv);
14
10
  console.log("Getting your account address...");
15
- // Create user client from passphrase
16
- const userClient = await createUserClientFromPassphrase(argv.passphrase);
11
+ // Create user client from provided credentials
12
+ const authOptions = getAuthOptions(argv);
13
+ const userClient = await createUserClient(authOptions);
17
14
  // Get the account address
18
15
  const accountAddress = userClient.account.publicKeyString.get();
19
16
  console.log(`\nYour account address:`);
@@ -1 +1 @@
1
- {"version":3,"file":"receive.js","sourceRoot":"","sources":["../../src/commands/receive.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,8BAA8B,EAAE,MAAM,mBAAmB,CAAC;AAMnE,MAAM,CAAC,MAAM,OAAO,GAAW,SAAS,CAAC;AACzC,MAAM,CAAC,MAAM,IAAI,GAAW,6CAA6C,CAAC;AAE1E,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,KAAU,EAAE,EAAE,CACpC,KAAK,CAAC,OAAO,CAAC;IACZ,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,YAAY,EAAE,IAAI;QAClB,QAAQ,EAAE,oCAAoC;QAC9C,KAAK,EAAE,GAAG;KACX;CACF,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,EAAE,IAAS,EAAiB,EAAE;IACxD,IAAI,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;QAE/C,qCAAqC;QACrC,MAAM,UAAU,GAAG,MAAM,8BAA8B,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAEzE,0BAA0B;QAC1B,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC;QAEhE,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,GAAG,cAAc,EAAE,CAAC,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;QAEvD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CACX,gCAAgC,EAChC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAC/C,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"receive.js","sourceRoot":"","sources":["../../src/commands/receive.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,cAAc,GAEf,MAAM,wBAAwB,CAAC;AAIhC,MAAM,CAAC,MAAM,OAAO,GAAW,SAAS,CAAC;AACzC,MAAM,CAAC,MAAM,IAAI,GAAW,6CAA6C,CAAC;AAE1E,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;AAEpE,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,EAAE,IAAS,EAAiB,EAAE;IACxD,IAAI,CAAC;QACH,oCAAoC;QACpC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAEvB,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;QAE/C,+CAA+C;QAC/C,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAEvD,0BAA0B;QAC1B,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC;QAEhE,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,GAAG,cAAc,EAAE,CAAC,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;QAEvD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CACX,gCAAgC,EAChC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAC/C,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"send.d.ts","sourceRoot":"","sources":["../../src/commands/send.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,OAAO,EAAE,MAA4C,CAAC;AACnE,eAAO,MAAM,IAAI,EAAE,MAAyC,CAAC;AAE7D,eAAO,MAAM,OAAO,GAAI,OAAO,GAAG,QA+B5B,CAAC;AAEP,eAAO,MAAM,OAAO,GAAU,MAAM,GAAG,KAAG,OAAO,CAAC,IAAI,CAuDrD,CAAC"}
1
+ {"version":3,"file":"send.d.ts","sourceRoot":"","sources":["../../src/commands/send.ts"],"names":[],"mappings":"AAiBA,eAAO,MAAM,OAAO,EAAE,MAA4C,CAAC;AACnE,eAAO,MAAM,IAAI,EAAE,MAAyC,CAAC;AAE7D,eAAO,MAAM,OAAO,GAAI,OAAO,GAAG,QAiBP,CAAC;AAE5B,eAAO,MAAM,OAAO,GAAU,MAAM,GAAG,KAAG,OAAO,CAAC,IAAI,CA2DrD,CAAC"}
@@ -1,5 +1,6 @@
1
- import { createUserClientFromPassphrase } from "../lib/account.js";
1
+ import { createUserClient } from "../lib/account.js";
2
2
  import { createFXClient } from "../lib/fx-client.js";
3
+ import { authArguments, validateAuthArgs, getAuthOptions, } from "../lib/command-args.js";
3
4
  import * as KeetaNet from "@keetanetwork/keetanet-client";
4
5
  export const command = "send <token> <recipient> <amount>";
5
6
  export const desc = "Send tokens to another account";
@@ -19,25 +20,15 @@ export const builder = (yargs) => yargs
19
20
  type: "string",
20
21
  demandOption: true,
21
22
  })
22
- .options({
23
- passphrase: {
24
- type: "string",
25
- demandOption: true,
26
- describe: "User passphrase for authentication",
27
- alias: "p",
28
- },
29
- resolver: {
30
- type: "string",
31
- demandOption: false,
32
- describe: "Resolver account public key string (uses default if not provided)",
33
- alias: "r",
34
- },
35
- });
23
+ .options(authArguments);
36
24
  export const handler = async (argv) => {
37
25
  try {
26
+ // Validate authentication arguments
27
+ validateAuthArgs(argv);
38
28
  console.log(`Sending ${argv.amount} ${argv.token} to ${argv.recipient}...`);
39
- // Create user client from passphrase
40
- const userClient = await createUserClientFromPassphrase(argv.passphrase);
29
+ // Create user client from provided credentials
30
+ const authOptions = getAuthOptions(argv);
31
+ const userClient = await createUserClient(authOptions);
41
32
  // Create FX client for token registry lookup
42
33
  const fxClient = createFXClient(argv.resolver, userClient);
43
34
  // Get token registry to resolve ticker to address if needed
@@ -1 +1 @@
1
- {"version":3,"file":"send.js","sourceRoot":"","sources":["../../src/commands/send.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"send.js","sourceRoot":"","sources":["../../src/commands/send.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"swap.d.ts","sourceRoot":"","sources":["../../src/commands/swap.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,OAAO,EAAE,MAAe,CAAC;AACtC,eAAO,MAAM,IAAI,EAAE,MAA+B,CAAC;AAEnD,eAAO,MAAM,OAAO,GAAI,OAAO,GAAG,QAwC9B,CAAC;AAEL,eAAO,MAAM,OAAO,GAAU,MAAM,GAAG,KAAG,OAAO,CAAC,IAAI,CAwCrD,CAAC"}
1
+ {"version":3,"file":"swap.d.ts","sourceRoot":"","sources":["../../src/commands/swap.ts"],"names":[],"mappings":"AAiBA,eAAO,MAAM,OAAO,EAAE,MAAe,CAAC;AACtC,eAAO,MAAM,IAAI,EAAE,MAA+B,CAAC;AAEnD,eAAO,MAAM,OAAO,GAAI,OAAO,GAAG,QA4B9B,CAAC;AAEL,eAAO,MAAM,OAAO,GAAU,MAAM,GAAG,KAAG,OAAO,CAAC,IAAI,CA4CrD,CAAC"}
@@ -1,20 +1,10 @@
1
- import { createUserClientFromPassphrase } from "../lib/account.js";
1
+ import { createUserClient } from "../lib/account.js";
2
2
  import { createFXClient } from "../lib/fx-client.js";
3
+ import { authArguments, validateAuthArgs, getAuthOptions, } from "../lib/command-args.js";
3
4
  export const command = "swap";
4
5
  export const desc = "Execute a token swap";
5
6
  export const builder = (yargs) => yargs.options({
6
- passphrase: {
7
- type: "string",
8
- demandOption: true,
9
- describe: "User passphrase for authentication",
10
- alias: "p",
11
- },
12
- resolver: {
13
- type: "string",
14
- demandOption: false,
15
- describe: "Resolver account public key string (uses default if not provided)",
16
- alias: "r",
17
- },
7
+ ...authArguments,
18
8
  from: {
19
9
  type: "string",
20
10
  demandOption: true,
@@ -37,18 +27,21 @@ export const builder = (yargs) => yargs.options({
37
27
  type: "string",
38
28
  choices: ["from", "to"],
39
29
  default: "from",
40
- describe: "Whether the amount is specified in source (from) or target (to) token units",
30
+ describe: "Which token the amount refers to ('from' or 'to'). Default is 'from'",
41
31
  },
42
32
  });
43
33
  export const handler = async (argv) => {
44
34
  try {
35
+ // Validate authentication arguments
36
+ validateAuthArgs(argv);
45
37
  console.log(`Preparing to swap ${argv.amount} ${argv.affinity === "from" ? argv.from : argv.to}...`);
46
38
  console.log(` From: ${argv.from}`);
47
39
  console.log(` To: ${argv.to}`);
48
40
  console.log(` Amount: ${argv.amount} (${argv.affinity} token units)`);
49
- // Create user client from passphrase
41
+ // Create user client from provided credentials
50
42
  console.log("\nAuthenticating...");
51
- const userClient = await createUserClientFromPassphrase(argv.passphrase);
43
+ const authOptions = getAuthOptions(argv);
44
+ const userClient = await createUserClient(authOptions);
52
45
  console.log(" User authenticated");
53
46
  // Create FX client
54
47
  console.log("Connecting to FX service...");
@@ -1 +1 @@
1
- {"version":3,"file":"swap.js","sourceRoot":"","sources":["../../src/commands/swap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"swap.js","sourceRoot":"","sources":["../../src/commands/swap.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -31,12 +31,12 @@ async function main() {
31
31
  .command(receive);
32
32
  // Add examples
33
33
  cli
34
- .example('$0 list-tokens -p "my passphrase"', "List all available tokens (uses default resolver)")
35
- .example('$0 list-tokens -p "my passphrase" -r "0x06..."', "List all available tokens with custom resolver")
36
- .example('$0 list-conversions -p "my passphrase" -t "$TOKEN_A"', "List conversions from TOKEN_A")
37
- .example('$0 swap -p "my passphrase" -f "$TOKEN_A" -t "$TOKEN_B" -a "1000"', "Swap 1000 TOKEN_A to TOKEN_B")
38
- .example('$0 faucet -p "my passphrase"', "Request test tokens from faucet")
39
- .example('$0 balance -p "my passphrase"', "Show account balances for all tokens")
34
+ .example('$0 list-tokens -p "my passphrase"', "List all available tokens with passphrase (test network)")
35
+ .example('$0 list-tokens -s "my-seed-string" --network main', "List tokens with seed on main network")
36
+ .example('$0 list-tokens -p "my passphrase" -o 5 -n staging', "List tokens with passphrase, offset 5, staging network")
37
+ .example('$0 swap -p "my passphrase" -f "TOKEN_A" -t "TOKEN_B" -a "1000"', "Swap 1000 TOKEN_A to TOKEN_B")
38
+ .example('$0 faucet -p "my passphrase"', "Request test tokens from faucet (test network only)")
39
+ .example('$0 balance -s "seed" -o 3 --network main', "Show balances using seed with offset 3 on main network")
40
40
  .example('$0 send USDC recipient_address 1000 -p "my passphrase"', "Send 1000 USDC tokens to recipient")
41
41
  .example('$0 receive -p "my passphrase"', "Show your account address to receive tokens");
42
42
  // Parse and execute
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,kBAAkB;AAClB,OAAO,KAAK,UAAU,MAAM,2BAA2B,CAAC;AACxD,OAAO,KAAK,eAAe,MAAM,gCAAgC,CAAC;AAClE,OAAO,KAAK,IAAI,MAAM,oBAAoB,CAAC;AAC3C,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAC;AAC/C,OAAO,KAAK,OAAO,MAAM,uBAAuB,CAAC;AACjD,OAAO,KAAK,IAAI,MAAM,oBAAoB,CAAC;AAC3C,OAAO,KAAK,OAAO,MAAM,uBAAuB,CAAC;AAEjD,KAAK,UAAU,IAAI;IACjB,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SACrC,UAAU,CAAC,QAAQ,CAAC;SACpB,KAAK,CAAC,wBAAwB,CAAC;SAC/B,OAAO,CAAC,OAAO,CAAC;SAChB,IAAI,CAAC,GAAG,CAAC;SACT,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC;SAClB,aAAa,CAAC,CAAC,EAAE,4BAA4B,CAAC;SAC9C,MAAM,EAAE;SACR,GAAG,CAAC,QAAQ,CAAC;SACb,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC;IAErD,oBAAoB;IACpB,GAAG;SACA,OAAO,CAAC,UAAU,CAAC;SACnB,OAAO,CAAC,eAAe,CAAC;SACxB,OAAO,CAAC,IAAI,CAAC;SACb,OAAO,CAAC,MAAM,CAAC;SACf,OAAO,CAAC,OAAO,CAAC;SAChB,OAAO,CAAC,IAAI,CAAC;SACb,OAAO,CAAC,OAAO,CAAC,CAAC;IAEpB,eAAe;IACf,GAAG;SACA,OAAO,CACN,mCAAmC,EACnC,mDAAmD,CACpD;SACA,OAAO,CACN,gDAAgD,EAChD,gDAAgD,CACjD;SACA,OAAO,CACN,sDAAsD,EACtD,+BAA+B,CAChC;SACA,OAAO,CACN,kEAAkE,EAClE,8BAA8B,CAC/B;SACA,OAAO,CAAC,8BAA8B,EAAE,iCAAiC,CAAC;SAC1E,OAAO,CACN,+BAA+B,EAC/B,sCAAsC,CACvC;SACA,OAAO,CACN,wDAAwD,EACxD,oCAAoC,CACrC;SACA,OAAO,CACN,+BAA+B,EAC/B,6CAA6C,CAC9C,CAAC;IAEJ,oBAAoB;IACpB,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC;AACpB,CAAC;AAED,sCAAsC;AACtC,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE;IACnD,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAC5E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,6BAA6B;AAC7B,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,KAAK,EAAE,EAAE;IACxC,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;IACnD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,cAAc;AACd,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;IAC1C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,kBAAkB;AAClB,OAAO,KAAK,UAAU,MAAM,2BAA2B,CAAC;AACxD,OAAO,KAAK,eAAe,MAAM,gCAAgC,CAAC;AAClE,OAAO,KAAK,IAAI,MAAM,oBAAoB,CAAC;AAC3C,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAC;AAC/C,OAAO,KAAK,OAAO,MAAM,uBAAuB,CAAC;AACjD,OAAO,KAAK,IAAI,MAAM,oBAAoB,CAAC;AAC3C,OAAO,KAAK,OAAO,MAAM,uBAAuB,CAAC;AAEjD,KAAK,UAAU,IAAI;IACjB,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SACrC,UAAU,CAAC,QAAQ,CAAC;SACpB,KAAK,CAAC,wBAAwB,CAAC;SAC/B,OAAO,CAAC,OAAO,CAAC;SAChB,IAAI,CAAC,GAAG,CAAC;SACT,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC;SAClB,aAAa,CAAC,CAAC,EAAE,4BAA4B,CAAC;SAC9C,MAAM,EAAE;SACR,GAAG,CAAC,QAAQ,CAAC;SACb,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC;IAErD,oBAAoB;IACpB,GAAG;SACA,OAAO,CAAC,UAAU,CAAC;SACnB,OAAO,CAAC,eAAe,CAAC;SACxB,OAAO,CAAC,IAAI,CAAC;SACb,OAAO,CAAC,MAAM,CAAC;SACf,OAAO,CAAC,OAAO,CAAC;SAChB,OAAO,CAAC,IAAI,CAAC;SACb,OAAO,CAAC,OAAO,CAAC,CAAC;IAEpB,eAAe;IACf,GAAG;SACA,OAAO,CACN,mCAAmC,EACnC,0DAA0D,CAC3D;SACA,OAAO,CACN,mDAAmD,EACnD,uCAAuC,CACxC;SACA,OAAO,CACN,mDAAmD,EACnD,wDAAwD,CACzD;SACA,OAAO,CACN,gEAAgE,EAChE,8BAA8B,CAC/B;SACA,OAAO,CACN,8BAA8B,EAC9B,qDAAqD,CACtD;SACA,OAAO,CACN,0CAA0C,EAC1C,wDAAwD,CACzD;SACA,OAAO,CACN,wDAAwD,EACxD,oCAAoC,CACrC;SACA,OAAO,CACN,+BAA+B,EAC/B,6CAA6C,CAC9C,CAAC;IAEJ,oBAAoB;IACpB,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC;AACpB,CAAC;AAED,sCAAsC;AACtC,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE;IACnD,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAC5E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,6BAA6B;AAC7B,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,KAAK,EAAE,EAAE;IACxC,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;IACnD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,cAAc;AACd,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;IAC1C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -1,8 +1,19 @@
1
1
  import * as KeetaNet from "@keetanetwork/keetanet-client";
2
+ export type NetworkType = "test" | "main" | "staging" | "dev";
3
+ export interface AccountOptions {
4
+ passphrase?: string;
5
+ seed?: string;
6
+ offset?: number;
7
+ network?: NetworkType;
8
+ }
2
9
  /**
3
- * Create a user client from passphrase and network
10
+ * Create a user client from passphrase or seed with optional offset and network
4
11
  */
5
- export declare function createUserClientFromPassphrase(passphrase: string, network?: "test" | "main" | "staging" | "dev"): Promise<KeetaNet.UserClient>;
12
+ export declare function createUserClient(options: AccountOptions): Promise<KeetaNet.UserClient>;
13
+ /**
14
+ * Create a user client from passphrase and network (legacy function for backward compatibility)
15
+ */
16
+ export declare function createUserClientFromPassphrase(passphrase: string, network?: NetworkType, offset?: number): Promise<KeetaNet.UserClient>;
6
17
  /**
7
18
  * Create an account from a public key string (for resolver accounts)
8
19
  */
@@ -1 +1 @@
1
- {"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../../src/lib/account.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,+BAA+B,CAAC;AAE1D;;GAEG;AACH,wBAAsB,8BAA8B,CAClD,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,KAAc,GACpD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAI9B;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,eAAe,EAAE,MAAM,GAAG,GAAG,CAEvE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,GAAG,GAAG,MAAM,CAEtD"}
1
+ {"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../../src/lib/account.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,+BAA+B,CAAC;AAE1D,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,KAAK,CAAC;AAE9D,MAAM,WAAW,cAAc;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,WAAW,CAAC;CACvB;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAyB9B;AAED;;GAEG;AACH,wBAAsB,8BAA8B,CAClD,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,WAAoB,EAC7B,MAAM,GAAE,MAAU,GACjB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAE9B;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,eAAe,EAAE,MAAM,GAAG,GAAG,CAEvE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,GAAG,GAAG,MAAM,CAEtD"}
@@ -1,12 +1,31 @@
1
1
  import * as KeetaNet from "@keetanetwork/keetanet-client";
2
2
  /**
3
- * Create a user client from passphrase and network
3
+ * Create a user client from passphrase or seed with optional offset and network
4
4
  */
5
- export async function createUserClientFromPassphrase(passphrase, network = "test") {
6
- const seed = await KeetaNet.lib.Account.seedFromPassphrase(passphrase);
7
- const account = KeetaNet.lib.Account.fromSeed(seed, 0);
5
+ export async function createUserClient(options) {
6
+ const { passphrase, seed: providedSeed, offset = 0, network = "test", } = options;
7
+ if (!passphrase && !providedSeed) {
8
+ throw new Error("Either passphrase or seed must be provided");
9
+ }
10
+ if (passphrase && providedSeed) {
11
+ throw new Error("Cannot provide both passphrase and seed - choose one");
12
+ }
13
+ let seed;
14
+ if (passphrase) {
15
+ seed = await KeetaNet.lib.Account.seedFromPassphrase(passphrase);
16
+ }
17
+ else {
18
+ seed = providedSeed;
19
+ }
20
+ const account = KeetaNet.lib.Account.fromSeed(seed, offset);
8
21
  return KeetaNet.UserClient.fromNetwork(network, account);
9
22
  }
23
+ /**
24
+ * Create a user client from passphrase and network (legacy function for backward compatibility)
25
+ */
26
+ export async function createUserClientFromPassphrase(passphrase, network = "test", offset = 0) {
27
+ return createUserClient({ passphrase, network, offset });
28
+ }
10
29
  /**
11
30
  * Create an account from a public key string (for resolver accounts)
12
31
  */
@@ -1 +1 @@
1
- {"version":3,"file":"account.js","sourceRoot":"","sources":["../../src/lib/account.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,+BAA+B,CAAC;AAE1D;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAClD,UAAkB,EAClB,UAA+C,MAAM;IAErD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;IACvE,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACvD,OAAO,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAC3D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,0BAA0B,CAAC,eAAuB;IAChE,OAAO,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,mBAAmB,CAAC,eAAe,CAAC,CAAC;AACnE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAY;IAC5C,OAAO,OAAO,CAAC,OAAO,CAAC;AACzB,CAAC"}
1
+ {"version":3,"file":"account.js","sourceRoot":"","sources":["../../src/lib/account.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,+BAA+B,CAAC;AAW1D;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,OAAuB;IAEvB,MAAM,EACJ,UAAU,EACV,IAAI,EAAE,YAAY,EAClB,MAAM,GAAG,CAAC,EACV,OAAO,GAAG,MAAqB,GAChC,GAAG,OAAO,CAAC;IAEZ,IAAI,CAAC,UAAU,IAAI,CAAC,YAAY,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAChE,CAAC;IAED,IAAI,UAAU,IAAI,YAAY,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;IAC1E,CAAC;IAED,IAAI,IAAS,CAAC;IACd,IAAI,UAAU,EAAE,CAAC;QACf,IAAI,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;IACnE,CAAC;SAAM,CAAC;QACN,IAAI,GAAG,YAAa,CAAC;IACvB,CAAC;IAED,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC5D,OAAO,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAC3D,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAClD,UAAkB,EAClB,UAAuB,MAAM,EAC7B,SAAiB,CAAC;IAElB,OAAO,gBAAgB,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;AAC3D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,0BAA0B,CAAC,eAAuB;IAChE,OAAO,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,mBAAmB,CAAC,eAAe,CAAC,CAAC;AACnE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAY;IAC5C,OAAO,OAAO,CAAC,OAAO,CAAC;AACzB,CAAC"}
@@ -0,0 +1,18 @@
1
+ import type { Options } from "yargs";
2
+ import { NetworkType } from "./account.js";
3
+ export interface AuthOptions {
4
+ passphrase?: string;
5
+ seed?: string;
6
+ offset?: number;
7
+ network?: NetworkType;
8
+ resolver?: string;
9
+ }
10
+ export declare const authArguments: Record<string, Options>;
11
+ export declare function validateAuthArgs(argv: AuthOptions): void;
12
+ export declare function getAuthOptions(argv: AuthOptions): {
13
+ passphrase: string | undefined;
14
+ seed: string | undefined;
15
+ offset: number;
16
+ network: NetworkType;
17
+ };
18
+ //# sourceMappingURL=command-args.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-args.d.ts","sourceRoot":"","sources":["../../src/lib/command-args.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,MAAM,WAAW,WAAW;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CA6BjD,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,CAQxD;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,WAAW;;;;;EAO/C"}
@@ -0,0 +1,47 @@
1
+ export const authArguments = {
2
+ passphrase: {
3
+ type: "string",
4
+ describe: "User passphrase for authentication (mutually exclusive with seed)",
5
+ alias: "p",
6
+ },
7
+ seed: {
8
+ type: "string",
9
+ describe: "User seed for authentication (mutually exclusive with passphrase)",
10
+ alias: "s",
11
+ },
12
+ offset: {
13
+ type: "number",
14
+ describe: "Account offset/index for seed derivation",
15
+ alias: "o",
16
+ default: 0,
17
+ },
18
+ network: {
19
+ type: "string",
20
+ describe: "Network to connect to",
21
+ alias: "n",
22
+ choices: ["test", "main", "staging", "dev"],
23
+ default: "test",
24
+ },
25
+ resolver: {
26
+ type: "string",
27
+ describe: "Resolver account public key string (uses default if not provided)",
28
+ alias: "r",
29
+ },
30
+ };
31
+ export function validateAuthArgs(argv) {
32
+ if (!argv.passphrase && !argv.seed) {
33
+ throw new Error("Either --passphrase or --seed must be provided");
34
+ }
35
+ if (argv.passphrase && argv.seed) {
36
+ throw new Error("Cannot provide both --passphrase and --seed - choose one");
37
+ }
38
+ }
39
+ export function getAuthOptions(argv) {
40
+ return {
41
+ passphrase: argv.passphrase,
42
+ seed: argv.seed,
43
+ offset: argv.offset || 0,
44
+ network: argv.network || "test",
45
+ };
46
+ }
47
+ //# sourceMappingURL=command-args.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-args.js","sourceRoot":"","sources":["../../src/lib/command-args.ts"],"names":[],"mappings":"AAWA,MAAM,CAAC,MAAM,aAAa,GAA4B;IACpD,UAAU,EAAE;QACV,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,mEAAmE;QAC7E,KAAK,EAAE,GAAG;KACX;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,mEAAmE;QAC7E,KAAK,EAAE,GAAG;KACX;IACD,MAAM,EAAE;QACN,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,0CAA0C;QACpD,KAAK,EAAE,GAAG;QACV,OAAO,EAAE,CAAC;KACX;IACD,OAAO,EAAE;QACP,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,uBAAuB;QACjC,KAAK,EAAE,GAAG;QACV,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,CAAU;QACpD,OAAO,EAAE,MAAqB;KAC/B;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,mEAAmE;QAC7E,KAAK,EAAE,GAAG;KACX;CACF,CAAC;AAEF,MAAM,UAAU,gBAAgB,CAAC,IAAiB;IAChD,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACpE,CAAC;IAED,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;IAC9E,CAAC;AACH,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAiB;IAC9C,OAAO;QACL,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,CAAC;QACxB,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,MAAqB;KAC/C,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "keecli",
3
- "version": "1.0.0",
4
- "description": "KeeCLI - Trading CLI for KeetaNetwork",
3
+ "version": "1.1.1",
4
+ "description": "KeeCLI - CLI Wallet for Keeta Network",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
7
7
  "bin": {
@@ -30,7 +30,7 @@
30
30
  "LICENSE"
31
31
  ],
32
32
  "author": "xescure",
33
- "license": "ISC",
33
+ "license": "MPL-2.0",
34
34
  "repository": {
35
35
  "type": "git",
36
36
  "url": "git+https://github.com/xescure/keecli.git"