@aztec/cli 0.1.0-alpha30 → 0.1.0-alpha32
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/.tsbuildinfo +1 -1
- package/README.md +53 -21
- package/dest/index.js +71 -35
- package/dest/utils.d.ts +22 -3
- package/dest/utils.d.ts.map +1 -1
- package/dest/utils.js +39 -9
- package/package.json +6 -6
- package/src/index.ts +117 -41
- package/src/utils.ts +48 -9
package/README.md
CHANGED
|
@@ -143,11 +143,10 @@ Syntax:
|
|
|
143
143
|
aztec-cli deploy <contractAbi> [options]
|
|
144
144
|
```
|
|
145
145
|
|
|
146
|
-
- `contractAbi`: Path to the compiled Noir contract's ABI file in JSON format.
|
|
147
|
-
- `constructorArgs` (optional): Contract constructor arguments.
|
|
148
|
-
|
|
149
146
|
Options:
|
|
150
147
|
|
|
148
|
+
- `-c, --contract-abi <fileLocation>`: Path to the compiled Noir contract's ABI file in JSON format. You can also use one of Aztec's example contracts found in [@aztec/noir-contracts](https://www.npmjs.com/package/@aztec/noir-contracts), e.g. ZkTokenContractAbi. You can get a full ist of the available contracts with `aztec-cli example-contracts`
|
|
149
|
+
- `-a, --args <constructorArgs...>` (optional): Contract constructor arguments Default: [].
|
|
151
150
|
- `-u, --rpc-url <string>`: URL of the Aztec RPC. Default: `http://localhost:8080`.
|
|
152
151
|
- `-k, --public-key <string>`: Public key of the deployer. If not provided, it will check the RPC for existing ones.
|
|
153
152
|
|
|
@@ -156,7 +155,13 @@ This command deploys a compiled Noir contract to Aztec. It requires the path to
|
|
|
156
155
|
Example usage:
|
|
157
156
|
|
|
158
157
|
```shell
|
|
159
|
-
aztec-cli deploy path/to/contract.abi.json ...args
|
|
158
|
+
aztec-cli deploy -c path/to/contract.abi.json -a ...args
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
With an Aztec example contract:
|
|
162
|
+
|
|
163
|
+
```shell
|
|
164
|
+
aztec-cli deploy -c ZkTokenContractAbi -a 333 0x134567890abcdef
|
|
160
165
|
```
|
|
161
166
|
|
|
162
167
|
### check-deploy
|
|
@@ -169,10 +174,9 @@ Syntax:
|
|
|
169
174
|
aztec-cli check-deploy <contractAddress> [options]
|
|
170
175
|
```
|
|
171
176
|
|
|
172
|
-
- `contractAddress`: An Aztec address to check if the contract has been deployed to.
|
|
173
|
-
|
|
174
177
|
Options:
|
|
175
178
|
|
|
179
|
+
- `-ca, --contract-address <address>`: An Aztec address to check if the contract has been deployed to.
|
|
176
180
|
- `-u, --rpc-url <string>`: URL of the Aztec RPC. Default: `http://localhost:8080`.
|
|
177
181
|
|
|
178
182
|
This command checks if a contract is deployed to the specified Aztec address. It verifies if the contract is present at the given address and displays the result.
|
|
@@ -180,7 +184,7 @@ This command checks if a contract is deployed to the specified Aztec address. It
|
|
|
180
184
|
Example usage:
|
|
181
185
|
|
|
182
186
|
```shell
|
|
183
|
-
aztec-cli check-deploy 0x123456789abcdef123456789abcdef12345678
|
|
187
|
+
aztec-cli check-deploy -ca 0x123456789abcdef123456789abcdef12345678
|
|
184
188
|
```
|
|
185
189
|
|
|
186
190
|
### get-tx-receipt
|
|
@@ -232,9 +236,33 @@ Example usage:
|
|
|
232
236
|
aztec-cli get-contract-data 0x123456789abcdef123456789abcdef12345678
|
|
233
237
|
```
|
|
234
238
|
|
|
239
|
+
### register-public-key
|
|
240
|
+
|
|
241
|
+
Register an account's public key to the RPC server.
|
|
242
|
+
To read about how keys are generated and used, head to our docs [here](https://github.com/AztecProtocol/aztec-packages/blob/master/docs/docs/aztec/developer/wallet-providers/keys.md#addresses-partial-addresses-and-public-keys).
|
|
243
|
+
|
|
244
|
+
Syntax:
|
|
245
|
+
|
|
246
|
+
```shell
|
|
247
|
+
aztec-cli register-public-key [options]
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
Options:
|
|
251
|
+
|
|
252
|
+
- `-a, --address <aztecAddress>`: The account's Aztec address.
|
|
253
|
+
- `-p, --public-key <publicKey>`: 'The account public key.'
|
|
254
|
+
- `-pa, --partial-address <partialAddress`: 'The partially computed address of the account contract.'
|
|
255
|
+
- `-u, --rpc-url <string>`: URL of the Aztec RPC. Default: `http://localhost:8080`.
|
|
256
|
+
|
|
257
|
+
Example usage:
|
|
258
|
+
|
|
259
|
+
```shell
|
|
260
|
+
aztec-cli register-public-key -p 0x20d9d93c4a9eb2b4bdb70ead07d28d1edb74bfd78443a8c36b098b024cd26f0e0647f5dbe3619453f42eb788c2beed0294c84676425047aadac23294605c4af9 -a 0x111fdc0f6bf831ca59f05863199762d643b782699d7ce6feaae40a923baf60af -pa 0x72bf7c9537875b0af267b4a8c497927e251f5988af6e30527feb16299042ed
|
|
261
|
+
```
|
|
262
|
+
|
|
235
263
|
### get-accounts
|
|
236
264
|
|
|
237
|
-
Gets all the Aztec accounts.
|
|
265
|
+
Gets all the Aztec accounts stored in an Aztec RPC.
|
|
238
266
|
|
|
239
267
|
Syntax:
|
|
240
268
|
|
|
@@ -278,7 +306,7 @@ Example usage:
|
|
|
278
306
|
aztec-cli get-account-public-key 0x123456789abcdef123456789abcdef12345678
|
|
279
307
|
```
|
|
280
308
|
|
|
281
|
-
###
|
|
309
|
+
### send
|
|
282
310
|
|
|
283
311
|
Calls a function on an Aztec contract.
|
|
284
312
|
|
|
@@ -288,13 +316,13 @@ Syntax:
|
|
|
288
316
|
aztec-cli call-fn <contractAbi> <contractAddress> <functionName> [functionArgs...] [options]
|
|
289
317
|
```
|
|
290
318
|
|
|
291
|
-
- `contractAbi`: The compiled contract's ABI in JSON format.
|
|
292
|
-
- `contractAddress`: Address of the contract.
|
|
293
319
|
- `functionName`: Name of the function to call.
|
|
294
|
-
- `functionArgs` (optional): Function arguments.
|
|
295
320
|
|
|
296
321
|
Options:
|
|
297
322
|
|
|
323
|
+
- `'-a, --args [functionArgs...]` (optional): Function arguments. Default: [].
|
|
324
|
+
- `-c, --contract-abi <fileLocation>`: The compiled contract's ABI in JSON format. You can also use one of Aztec's example contracts found in (@aztec/noir-contracts)[https://www.npmjs.com/package/@aztec/noir-contracts], e.g. ZkTokenContractAbi.
|
|
325
|
+
- `-ca, --contract-address <address>`: Address of the contract.
|
|
298
326
|
- `-k, --private-key <string>`: The sender's private key.
|
|
299
327
|
- `-u, --rpcUrl <string>`: URL of the Aztec RPC. Default: `http://localhost:8080`.
|
|
300
328
|
|
|
@@ -303,7 +331,7 @@ This command calls a function on an Aztec contract. It requires the contract's A
|
|
|
303
331
|
Example usage:
|
|
304
332
|
|
|
305
333
|
```shell
|
|
306
|
-
aztec-cli
|
|
334
|
+
aztec-cli send transfer -ca 0x123456789abcdef123456789abcdef12345678 -a 100 -c path/to/abi.json
|
|
307
335
|
```
|
|
308
336
|
|
|
309
337
|
### view-fn
|
|
@@ -313,16 +341,16 @@ Simulates the execution of a view (read-only) function on a deployed contract, w
|
|
|
313
341
|
Syntax:
|
|
314
342
|
|
|
315
343
|
```shell
|
|
316
|
-
aztec-cli
|
|
344
|
+
aztec-cli call <contractAbi> <contractAddress> <functionName> [functionArgs...] [options]
|
|
317
345
|
```
|
|
318
346
|
|
|
319
|
-
- `contractAbi`: The compiled contract's ABI in JSON format.
|
|
320
|
-
- `contractAddress`: Address of the contract.
|
|
321
347
|
- `functionName`: Name of the function to view.
|
|
322
|
-
- `functionArgs` (optional): Function arguments.
|
|
323
348
|
|
|
324
349
|
Options:
|
|
325
350
|
|
|
351
|
+
- `'-a, --args [functionArgs...]` (optional): Function arguments. Default: [].
|
|
352
|
+
- `-c, --contract-abi <fileLocation>`: The compiled contract's ABI in JSON format. You can also use one of Aztec's example contracts found in (@aztec/noir-contracts)[https://www.npmjs.com/package/@aztec/noir-contracts], e.g. ZkTokenContractAbi.
|
|
353
|
+
- `-ca, --contract-address <address>`: Address of the contract.
|
|
326
354
|
- `-f, --from <string>`: Public key of the transaction viewer. If empty, it will try to find an account in the RPC.
|
|
327
355
|
- `-u, --rpcUrl <string>`: URL of the Aztec RPC. Default: `http://localhost:8080`.
|
|
328
356
|
|
|
@@ -331,7 +359,7 @@ This command simulates the execution of a view function on a deployed contract w
|
|
|
331
359
|
Example usage:
|
|
332
360
|
|
|
333
361
|
```shell
|
|
334
|
-
aztec-cli
|
|
362
|
+
aztec-cli call balanceOf -c path/to/contract.abi.json -ca 0x123456789abcdef123456789abcdef12345678 -a balanceOf 0xabcdef1234567890abcdef1234567890abcdef12
|
|
335
363
|
```
|
|
336
364
|
|
|
337
365
|
### parse-parameter-struct
|
|
@@ -388,7 +416,7 @@ Gets the current Aztec L2 block number.
|
|
|
388
416
|
Syntax:
|
|
389
417
|
|
|
390
418
|
```shell
|
|
391
|
-
aztec-cli block-
|
|
419
|
+
aztec-cli block-number
|
|
392
420
|
```
|
|
393
421
|
|
|
394
422
|
Options:
|
|
@@ -397,10 +425,14 @@ Options:
|
|
|
397
425
|
|
|
398
426
|
This command retrieves and displays the current Aztec L2 block number.
|
|
399
427
|
|
|
400
|
-
|
|
428
|
+
### example-contracts
|
|
429
|
+
|
|
430
|
+
Lists the contracts available in [@aztec/noir-contracts](https://github.com/AztecProtocol/aztec-packages/tree/master/yarn-project/noir-contracts)
|
|
431
|
+
|
|
432
|
+
Syntax:
|
|
401
433
|
|
|
402
434
|
```shell
|
|
403
|
-
aztec-cli
|
|
435
|
+
aztec-cli example-contracts
|
|
404
436
|
```
|
|
405
437
|
|
|
406
438
|
## Conclusion
|
package/dest/index.js
CHANGED
|
@@ -7,7 +7,7 @@ import { L2BlockL2Logs, PrivateKey, TxHash } from '@aztec/types';
|
|
|
7
7
|
import { Command } from 'commander';
|
|
8
8
|
import { mnemonicToAccount } from 'viem/accounts';
|
|
9
9
|
import { encodeArgs, parseStructString } from './cli_encoder.js';
|
|
10
|
-
import { deployAztecContracts, getContractAbi, getTxSender, prepTx } from './utils.js';
|
|
10
|
+
import { deployAztecContracts, getAbiFunction, getContractAbi, getExampleContractArtifacts, getTxSender, prepTx, } from './utils.js';
|
|
11
11
|
const accountCreationSalt = Fr.ZERO;
|
|
12
12
|
const debugLogger = createDebugLogger('aztec:cli');
|
|
13
13
|
const log = createConsoleLogger();
|
|
@@ -27,12 +27,12 @@ async function main() {
|
|
|
27
27
|
program
|
|
28
28
|
.command('deploy-l1-contracts')
|
|
29
29
|
.description('Deploys all necessary Ethereum contracts for Aztec.')
|
|
30
|
-
.
|
|
30
|
+
.option('-u, --rpc-url <string>', 'Url of the ethereum host. Chain identifiers localhost and testnet can be used', ETHEREUM_HOST || 'http://localhost:8545')
|
|
31
31
|
.option('-a, --api-key <string>', 'Api key for the ethereum host', API_KEY)
|
|
32
32
|
.option('-p, --private-key <string>', 'The private key to use for deployment', PRIVATE_KEY)
|
|
33
33
|
.option('-m, --mnemonic <string>', 'The mnemonic to use in deployment', 'test test test test test test test test test test test junk')
|
|
34
|
-
.action(async (
|
|
35
|
-
const { rollupAddress, registryAddress, inboxAddress, outboxAddress, contractDeploymentEmitterAddress } = await deployAztecContracts(rpcUrl, options.apiKey ?? '', options.privateKey, options.mnemonic, debugLogger);
|
|
34
|
+
.action(async (options) => {
|
|
35
|
+
const { rollupAddress, registryAddress, inboxAddress, outboxAddress, contractDeploymentEmitterAddress } = await deployAztecContracts(options.rpcUrl, options.apiKey ?? '', options.privateKey, options.mnemonic, debugLogger);
|
|
36
36
|
log('\n');
|
|
37
37
|
log(`Rollup Address: ${rollupAddress.toString()}`);
|
|
38
38
|
log(`Registry Address: ${registryAddress.toString()}`);
|
|
@@ -69,7 +69,7 @@ async function main() {
|
|
|
69
69
|
.action(async (options) => {
|
|
70
70
|
const client = createAztecRpcClient(options.rpcUrl);
|
|
71
71
|
const privateKey = options.privateKey && Buffer.from(stripLeadingHex(options.privateKey), 'hex');
|
|
72
|
-
const wallet = await createAccounts(client, SchnorrSingleKeyAccountContractAbi, new PrivateKey(privateKey), accountCreationSalt, 1);
|
|
72
|
+
const wallet = await createAccounts(client, SchnorrSingleKeyAccountContractAbi, privateKey && new PrivateKey(privateKey), accountCreationSalt, 1);
|
|
73
73
|
const accounts = await wallet.getAccounts();
|
|
74
74
|
const pubKeys = await Promise.all(accounts.map(acc => wallet.getPublicKey(acc)));
|
|
75
75
|
log(`\nCreated account(s).`);
|
|
@@ -78,12 +78,12 @@ async function main() {
|
|
|
78
78
|
program
|
|
79
79
|
.command('deploy')
|
|
80
80
|
.description('Deploys a compiled Noir contract to Aztec.')
|
|
81
|
-
.
|
|
82
|
-
.
|
|
81
|
+
.option('-c, --contract-abi <file>', "A compiled Noir contract's ABI in JSON format or name of a contract ABI exported by @aztec/noir-contracts", undefined)
|
|
82
|
+
.option('-a, --args <constructorArgs...>', 'Contract constructor arguments', [])
|
|
83
83
|
.option('-u, --rpc-url <string>', 'URL of the Aztec RPC', AZTEC_RPC_HOST || 'http://localhost:8080')
|
|
84
84
|
.option('-k, --public-key <string>', 'Public key of the deployer. If not provided, it will check the RPC for existing ones.', PUBLIC_KEY)
|
|
85
|
-
.action(async (
|
|
86
|
-
const contractAbi = getContractAbi(
|
|
85
|
+
.action(async (options) => {
|
|
86
|
+
const contractAbi = await getContractAbi(options.contractAbi, log);
|
|
87
87
|
const constructorAbi = contractAbi.functions.find(({ name }) => name === 'constructor');
|
|
88
88
|
const client = createAztecRpcClient(options.rpcUrl);
|
|
89
89
|
let publicKey;
|
|
@@ -99,7 +99,11 @@ async function main() {
|
|
|
99
99
|
}
|
|
100
100
|
log(`Using Public Key: ${publicKey.toString()}`);
|
|
101
101
|
const deployer = new ContractDeployer(contractAbi, client);
|
|
102
|
-
const
|
|
102
|
+
const constructor = getAbiFunction(contractAbi, 'constructor');
|
|
103
|
+
if (constructor.parameters.length !== options.args.length) {
|
|
104
|
+
throw Error(`Invalid number of args passed. Expected ${constructor.parameters.length}; Received: ${options.args.length}`);
|
|
105
|
+
}
|
|
106
|
+
const tx = deployer.deploy(...encodeArgs(options.args, constructorAbi.parameters), publicKey.toBigInts()).send();
|
|
103
107
|
await tx.isMined();
|
|
104
108
|
const receipt = await tx.getReceipt();
|
|
105
109
|
log(`\nAztec Contract deployed at ${receipt.contractAddress?.toString()}\n`);
|
|
@@ -107,18 +111,18 @@ async function main() {
|
|
|
107
111
|
program
|
|
108
112
|
.command('check-deploy')
|
|
109
113
|
.description('Checks if a contract is deployed to the specified Aztec address.')
|
|
110
|
-
.
|
|
111
|
-
.option('-u, --rpc-url <
|
|
112
|
-
.action(async (
|
|
114
|
+
.option('-ca, --contract-address <address>', 'An Aztec address to check if contract has been deployed to.')
|
|
115
|
+
.option('-u, --rpc-url <url>', 'URL of the Aztec RPC', AZTEC_RPC_HOST || 'http://localhost:8080')
|
|
116
|
+
.action(async (options) => {
|
|
113
117
|
const client = createAztecRpcClient(options.rpcUrl);
|
|
114
|
-
const address = AztecAddress.fromString(
|
|
118
|
+
const address = AztecAddress.fromString(options.contractAddress);
|
|
115
119
|
const isDeployed = await client.isContractDeployed(address);
|
|
116
120
|
log(`\n${isDeployed.toString()}\n`);
|
|
117
121
|
});
|
|
118
122
|
program
|
|
119
123
|
.command('get-tx-receipt')
|
|
120
|
-
.description('Gets the receipt for the specified transaction hash.')
|
|
121
124
|
.argument('<txHash>', 'A TX hash to get the receipt for.')
|
|
125
|
+
.description('Gets the receipt for the specified transaction hash.')
|
|
122
126
|
.option('-u, --rpc-url <string>', 'URL of the Aztec RPC', AZTEC_RPC_HOST || 'http://localhost:8080')
|
|
123
127
|
.action(async (_txHash, options) => {
|
|
124
128
|
const client = createAztecRpcClient(options.rpcUrl);
|
|
@@ -137,14 +141,14 @@ async function main() {
|
|
|
137
141
|
.argument('<contractAddress>', 'Aztec address of the contract.')
|
|
138
142
|
.option('-u, --rpc-url <string>', 'URL of the Aztec RPC', AZTEC_RPC_HOST || 'http://localhost:8080')
|
|
139
143
|
.option('-b, --include-bytecode', "Include the contract's public function bytecode, if any.")
|
|
140
|
-
.action(async (
|
|
144
|
+
.action(async (contractAddress, options) => {
|
|
141
145
|
const client = createAztecRpcClient(options.rpcUrl);
|
|
142
|
-
const address = AztecAddress.fromString(
|
|
146
|
+
const address = AztecAddress.fromString(contractAddress);
|
|
143
147
|
const contractDataOrInfo = options.includeBytecode
|
|
144
148
|
? await client.getContractData(address)
|
|
145
149
|
: await client.getContractInfo(address);
|
|
146
150
|
if (!contractDataOrInfo) {
|
|
147
|
-
log(`No contract data found at ${
|
|
151
|
+
log(`No contract data found at ${contractAddress}`);
|
|
148
152
|
return;
|
|
149
153
|
}
|
|
150
154
|
let contractData;
|
|
@@ -188,8 +192,24 @@ async function main() {
|
|
|
188
192
|
L2BlockL2Logs.unrollLogs(logs).forEach(fnLog => log(`${fnLog.toString('ascii')}\n`));
|
|
189
193
|
}
|
|
190
194
|
});
|
|
195
|
+
program
|
|
196
|
+
.command('register-public-key')
|
|
197
|
+
.description("Register an account's public key to the RPC server")
|
|
198
|
+
.option('-a, --address <aztecAddress>', "The account's Aztec address.")
|
|
199
|
+
.option('-p, --public-key <publicKey>', 'The account public key.')
|
|
200
|
+
.option('-pa, --partial-address <partialAddress', 'The partially computed address of the account contract.')
|
|
201
|
+
.option('-u, --rpc-url <string>', 'URL of the Aztec RPC', AZTEC_RPC_HOST || 'http://localhost:8080')
|
|
202
|
+
.action(async (options) => {
|
|
203
|
+
const client = createAztecRpcClient(options.rpcUrl);
|
|
204
|
+
const address = AztecAddress.fromString(options.address);
|
|
205
|
+
const publicKey = Point.fromString(options.publicKey);
|
|
206
|
+
const partialAddress = Fr.fromString(options.partialAddress);
|
|
207
|
+
await client.addPublicKeyAndPartialAddress(address, publicKey, partialAddress);
|
|
208
|
+
log(`\nRegistered details for Address: ${options.address}\n`);
|
|
209
|
+
});
|
|
191
210
|
program
|
|
192
211
|
.command('get-accounts')
|
|
212
|
+
.description('Gets all the Aztec accounts stored in the Aztec RPC.')
|
|
193
213
|
.option('-u, --rpc-url <string>', 'URL of the Aztec RPC', AZTEC_RPC_HOST || 'http://localhost:8080')
|
|
194
214
|
.action(async (options) => {
|
|
195
215
|
const client = createAztecRpcClient(options.rpcUrl);
|
|
@@ -224,14 +244,18 @@ async function main() {
|
|
|
224
244
|
program
|
|
225
245
|
.command('send')
|
|
226
246
|
.description('Calls a function on an Aztec contract.')
|
|
227
|
-
.argument('<contractAbi>', "The compiled contract's ABI in JSON format", undefined)
|
|
228
|
-
.argument('<contractAddress>', 'Address of the contract')
|
|
229
247
|
.argument('<functionName>', 'Name of Function to view')
|
|
230
|
-
.
|
|
248
|
+
.option('-a, --args [functionArgs...]', 'Function arguments', [])
|
|
249
|
+
.option('-c, --contract-abi <fileLocation>', "A compiled Noir contract's ABI in JSON format or name of a contract ABI exported by @aztec/noir-contracts", undefined)
|
|
250
|
+
.option('-ca, --contract-address <address>', 'Aztec address of the contract.')
|
|
231
251
|
.option('-k, --private-key <string>', "The sender's private key.", PRIVATE_KEY)
|
|
232
252
|
.option('-u, --rpcUrl <string>', 'URL of the Aztec RPC', AZTEC_RPC_HOST || 'http://localhost:8080')
|
|
233
|
-
.action(async (
|
|
234
|
-
const { contractAddress, functionArgs, contractAbi } = prepTx(
|
|
253
|
+
.action(async (functionName, options) => {
|
|
254
|
+
const { contractAddress, functionArgs, contractAbi } = await prepTx(options.contractAbi, options.contractAddress, functionName, options.args, log);
|
|
255
|
+
const fnAbi = getAbiFunction(contractAbi, functionName);
|
|
256
|
+
if (fnAbi.parameters.length !== options.args.length) {
|
|
257
|
+
throw Error(`Invalid number of args passed. Expected ${fnAbi.parameters.length}; Received: ${options.args.length}`);
|
|
258
|
+
}
|
|
235
259
|
const client = createAztecRpcClient(options.rpcUrl);
|
|
236
260
|
const wallet = await getAccountWallet(client, SchnorrSingleKeyAccountContractAbi, PrivateKey.fromString(options.privateKey), accountCreationSalt);
|
|
237
261
|
const contract = await Contract.create(contractAddress, contractAbi, wallet);
|
|
@@ -250,14 +274,18 @@ async function main() {
|
|
|
250
274
|
program
|
|
251
275
|
.command('call')
|
|
252
276
|
.description('Simulates the execution of a view (read-only) function on a deployed contract, without modifying state.')
|
|
253
|
-
.argument('<contractAbi>', "The compiled contract's ABI in JSON format", undefined)
|
|
254
|
-
.argument('<contractAddress>', 'Address of the contract')
|
|
255
277
|
.argument('<functionName>', 'Name of Function to view')
|
|
256
|
-
.
|
|
278
|
+
.option('-a, --args [functionArgs...]', 'Function arguments', [])
|
|
279
|
+
.option('-c, --contract-abi <fileLocation>', "A compiled Noir contract's ABI in JSON format or name of a contract ABI exported by @aztec/noir-contracts", undefined)
|
|
280
|
+
.option('-ca, --contract-address <address>', 'Aztec address of the contract.')
|
|
257
281
|
.option('-f, --from <string>', 'Public key of the TX viewer. If empty, will try to find account in RPC.')
|
|
258
282
|
.option('-u, --rpcUrl <string>', 'URL of the Aztec RPC', AZTEC_RPC_HOST || 'http://localhost:8080')
|
|
259
|
-
.action(async (
|
|
260
|
-
const { contractAddress, functionArgs } = prepTx(
|
|
283
|
+
.action(async (functionName, options) => {
|
|
284
|
+
const { contractAddress, functionArgs, contractAbi } = await prepTx(options.contractAbi, options.contractAddress, functionName, options.args, log);
|
|
285
|
+
const fnAbi = getAbiFunction(contractAbi, functionName);
|
|
286
|
+
if (fnAbi.parameters.length !== options.args.length) {
|
|
287
|
+
throw Error(`Invalid number of args passed. Expected ${fnAbi.parameters.length}; Received: ${options.args.length}`);
|
|
288
|
+
}
|
|
261
289
|
const client = createAztecRpcClient(options.rpcUrl);
|
|
262
290
|
const from = await getTxSender(client, options.from);
|
|
263
291
|
const result = await client.viewTx(functionName, functionArgs, contractAddress, from);
|
|
@@ -268,16 +296,16 @@ async function main() {
|
|
|
268
296
|
.command('parse-parameter-struct')
|
|
269
297
|
.description("Helper for parsing an encoded string into a contract's parameter struct.")
|
|
270
298
|
.argument('<encodedString>', 'The encoded hex string')
|
|
271
|
-
.
|
|
272
|
-
.
|
|
273
|
-
.action((encodedString,
|
|
274
|
-
const contractAbi = getContractAbi(
|
|
299
|
+
.option('-c, --contract-abi <fileLocation>', "A compiled Noir contract's ABI in JSON format or name of a contract ABI exported by @aztec/noir-contracts", undefined)
|
|
300
|
+
.option('-p, --parameter <parameterName>', 'The name of the struct parameter to decode into')
|
|
301
|
+
.action(async (encodedString, options) => {
|
|
302
|
+
const contractAbi = await getContractAbi(options.contractAbi, log);
|
|
275
303
|
const parameterAbitype = contractAbi.functions
|
|
276
304
|
.map(({ parameters }) => parameters)
|
|
277
305
|
.flat()
|
|
278
|
-
.find(({ name, type }) => name ===
|
|
306
|
+
.find(({ name, type }) => name === options.parameter && type.kind === 'struct');
|
|
279
307
|
if (!parameterAbitype) {
|
|
280
|
-
log(`No struct parameter found with name ${
|
|
308
|
+
log(`No struct parameter found with name ${options.parameter}`);
|
|
281
309
|
return;
|
|
282
310
|
}
|
|
283
311
|
const data = parseStructString(encodedString, parameterAbitype.type);
|
|
@@ -292,10 +320,18 @@ async function main() {
|
|
|
292
320
|
const num = await client.getBlockNum();
|
|
293
321
|
log(`${num}\n`);
|
|
294
322
|
});
|
|
323
|
+
program
|
|
324
|
+
.command('example-contracts')
|
|
325
|
+
.description('Lists the example contracts available to deploy from @aztec/noir-contracts')
|
|
326
|
+
.action(async () => {
|
|
327
|
+
const abisList = await getExampleContractArtifacts();
|
|
328
|
+
const names = Object.keys(abisList);
|
|
329
|
+
names.forEach(name => log(name));
|
|
330
|
+
});
|
|
295
331
|
await program.parseAsync(process.argv);
|
|
296
332
|
}
|
|
297
333
|
main().catch(err => {
|
|
298
334
|
log(`Error thrown: ${err}`);
|
|
299
335
|
process.exit(1);
|
|
300
336
|
});
|
|
301
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFDTCxZQUFZLEVBQ1osUUFBUSxFQUNSLGdCQUFnQixFQUNoQixFQUFFLEVBQ0YsS0FBSyxFQUNMLGNBQWMsRUFDZCxvQkFBb0IsRUFDcEIsaUJBQWlCLEVBQ2pCLGdCQUFnQixHQUNqQixNQUFNLGlCQUFpQixDQUFDO0FBRXpCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMvRSxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNyRixPQUFPLEVBQWdCLGFBQWEsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRS9FLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDcEMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWxELE9BQU8sRUFBRSxVQUFVLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFdkYsTUFBTSxtQkFBbUIsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDO0FBRXBDLE1BQU0sV0FBVyxHQUFHLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBQ25ELE1BQU0sR0FBRyxHQUFHLG1CQUFtQixFQUFFLENBQUM7QUFDbEMsTUFBTSxlQUFlLEdBQUcsQ0FBQyxHQUFXLEVBQUUsRUFBRTtJQUN0QyxJQUFJLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUU7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
|
|
337
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFDTCxZQUFZLEVBQ1osUUFBUSxFQUNSLGdCQUFnQixFQUNoQixFQUFFLEVBQ0YsS0FBSyxFQUNMLGNBQWMsRUFDZCxvQkFBb0IsRUFDcEIsaUJBQWlCLEVBQ2pCLGdCQUFnQixHQUNqQixNQUFNLGlCQUFpQixDQUFDO0FBRXpCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMvRSxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNyRixPQUFPLEVBQWdCLGFBQWEsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRS9FLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDcEMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWxELE9BQU8sRUFBRSxVQUFVLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRSxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLGNBQWMsRUFDZCxjQUFjLEVBQ2QsMkJBQTJCLEVBQzNCLFdBQVcsRUFDWCxNQUFNLEdBQ1AsTUFBTSxZQUFZLENBQUM7QUFFcEIsTUFBTSxtQkFBbUIsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDO0FBRXBDLE1BQU0sV0FBVyxHQUFHLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBQ25ELE1BQU0sR0FBRyxHQUFHLG1CQUFtQixFQUFFLENBQUM7QUFDbEMsTUFBTSxlQUFlLEdBQUcsQ0FBQyxHQUFXLEVBQUUsRUFBRTtJQUN0QyxJQUFJLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxV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
|
package/dest/utils.d.ts
CHANGED
|
@@ -1,6 +1,19 @@
|
|
|
1
1
|
import { AztecAddress, AztecRPC } from '@aztec/aztec.js';
|
|
2
2
|
import { ContractAbi } from '@aztec/foundation/abi';
|
|
3
3
|
import { DebugLogger, LogFn } from '@aztec/foundation/log';
|
|
4
|
+
/**
|
|
5
|
+
* Helper type to dynamically import contarcts.
|
|
6
|
+
*/
|
|
7
|
+
interface ArtifactsType {
|
|
8
|
+
[key: string]: ContractAbi;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Helper to get an ABI function or throw error if it doesn't exist.
|
|
12
|
+
* @param abi - Contract's ABI in JSON format.
|
|
13
|
+
* @param fnName - Function name to be found.
|
|
14
|
+
* @returns The function's ABI.
|
|
15
|
+
*/
|
|
16
|
+
export declare function getAbiFunction(abi: ContractAbi, fnName: string): import("@aztec/foundation/abi").FunctionAbi;
|
|
4
17
|
/**
|
|
5
18
|
* Function to execute the 'deployRollupContracts' command.
|
|
6
19
|
* @param rpcUrl - The RPC URL of the ethereum node.
|
|
@@ -9,12 +22,17 @@ import { DebugLogger, LogFn } from '@aztec/foundation/log';
|
|
|
9
22
|
* @param mnemonic - The mnemonic to be used in contract deployment.
|
|
10
23
|
*/
|
|
11
24
|
export declare function deployAztecContracts(rpcUrl: string, apiKey: string, privateKey: string, mnemonic: string, debugLogger: DebugLogger): Promise<import("@aztec/ethereum").DeployL1Contracts>;
|
|
25
|
+
/**
|
|
26
|
+
* Gets all contracts available in \@aztec/noir-contracts.
|
|
27
|
+
* @returns The contract ABIs.
|
|
28
|
+
*/
|
|
29
|
+
export declare function getExampleContractArtifacts(): Promise<ArtifactsType>;
|
|
12
30
|
/**
|
|
13
31
|
* Reads a file and converts it to an Aztec Contract ABI.
|
|
14
32
|
* @param fileDir - The directory of the compiled contract ABI.
|
|
15
33
|
* @returns The parsed ContractABI.
|
|
16
34
|
*/
|
|
17
|
-
export declare function getContractAbi(fileDir: string, log: LogFn): ContractAbi
|
|
35
|
+
export declare function getContractAbi(fileDir: string, log: LogFn): Promise<ContractAbi>;
|
|
18
36
|
/**
|
|
19
37
|
* Utility to select a TX sender either from user input
|
|
20
38
|
* or from the first account that is found in an Aztec RPC instance.
|
|
@@ -32,9 +50,10 @@ export declare function getTxSender(client: AztecRPC, _from?: string): Promise<A
|
|
|
32
50
|
* @param log - Logger instance that will output to the CLI
|
|
33
51
|
* @returns Formatted contract address, function arguments and caller's aztec address.
|
|
34
52
|
*/
|
|
35
|
-
export declare function prepTx(contractFile: string, _contractAddress: string, functionName: string, _functionArgs: string[], log: LogFn): {
|
|
53
|
+
export declare function prepTx(contractFile: string, _contractAddress: string, functionName: string, _functionArgs: string[], log: LogFn): Promise<{
|
|
36
54
|
contractAddress: AztecAddress;
|
|
37
55
|
functionArgs: any[];
|
|
38
56
|
contractAbi: ContractAbi;
|
|
39
|
-
}
|
|
57
|
+
}>;
|
|
58
|
+
export {};
|
|
40
59
|
//# sourceMappingURL=utils.d.ts.map
|
package/dest/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEzD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAO3D;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,WAAW,wDAKzB;AAED;;;;GAIG;AACH,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEzD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAO3D;;GAEG;AACH,UAAU,aAAa;IACrB,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAAC;CAC5B;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,+CAM9D;AAED;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,WAAW,wDAKzB;AAED;;;GAGG;AACH,wBAAsB,2BAA2B,2BAGhD;AAED;;;;GAIG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,wBAuB/D;AAED;;;;;;GAMG;AACH,wBAAsB,WAAW,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,MAAM,yBAgBjE;AAED;;;;;;;;GAQG;AACH,wBAAsB,MAAM,CAC1B,YAAY,EAAE,MAAM,EACpB,gBAAgB,EAAE,MAAM,EACxB,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,EAAE,EACvB,GAAG,EAAE,KAAK;;;;GAaX"}
|
package/dest/utils.js
CHANGED
|
@@ -3,6 +3,19 @@ import { createEthereumChain, deployL1Contracts } from '@aztec/ethereum';
|
|
|
3
3
|
import fs from 'fs';
|
|
4
4
|
import { mnemonicToAccount, privateKeyToAccount } from 'viem/accounts';
|
|
5
5
|
import { encodeArgs } from './cli_encoder.js';
|
|
6
|
+
/**
|
|
7
|
+
* Helper to get an ABI function or throw error if it doesn't exist.
|
|
8
|
+
* @param abi - Contract's ABI in JSON format.
|
|
9
|
+
* @param fnName - Function name to be found.
|
|
10
|
+
* @returns The function's ABI.
|
|
11
|
+
*/
|
|
12
|
+
export function getAbiFunction(abi, fnName) {
|
|
13
|
+
const fn = abi.functions.find(({ name }) => name === fnName);
|
|
14
|
+
if (!fn) {
|
|
15
|
+
throw Error(`Function ${fnName} not found in contract ABI.`);
|
|
16
|
+
}
|
|
17
|
+
return fn;
|
|
18
|
+
}
|
|
6
19
|
/**
|
|
7
20
|
* Function to execute the 'deployRollupContracts' command.
|
|
8
21
|
* @param rpcUrl - The RPC URL of the ethereum node.
|
|
@@ -15,13 +28,33 @@ export async function deployAztecContracts(rpcUrl, apiKey, privateKey, mnemonic,
|
|
|
15
28
|
const chain = createEthereumChain(rpcUrl, apiKey);
|
|
16
29
|
return await deployL1Contracts(chain.rpcUrl, account, chain.chainInfo, debugLogger);
|
|
17
30
|
}
|
|
31
|
+
/**
|
|
32
|
+
* Gets all contracts available in \@aztec/noir-contracts.
|
|
33
|
+
* @returns The contract ABIs.
|
|
34
|
+
*/
|
|
35
|
+
export async function getExampleContractArtifacts() {
|
|
36
|
+
const artifacts = await import('@aztec/noir-contracts/artifacts');
|
|
37
|
+
return artifacts;
|
|
38
|
+
}
|
|
18
39
|
/**
|
|
19
40
|
* Reads a file and converts it to an Aztec Contract ABI.
|
|
20
41
|
* @param fileDir - The directory of the compiled contract ABI.
|
|
21
42
|
* @returns The parsed ContractABI.
|
|
22
43
|
*/
|
|
23
|
-
export function getContractAbi(fileDir, log) {
|
|
24
|
-
|
|
44
|
+
export async function getContractAbi(fileDir, log) {
|
|
45
|
+
// first check if it's a noir-contracts example
|
|
46
|
+
let contents;
|
|
47
|
+
const artifacts = await getExampleContractArtifacts();
|
|
48
|
+
if (artifacts[fileDir]) {
|
|
49
|
+
return artifacts[fileDir];
|
|
50
|
+
}
|
|
51
|
+
try {
|
|
52
|
+
contents = fs.readFileSync(fileDir, 'utf8');
|
|
53
|
+
}
|
|
54
|
+
catch {
|
|
55
|
+
throw Error(`Contract ${fileDir} not found`);
|
|
56
|
+
}
|
|
57
|
+
// if not found, try reading as path directly
|
|
25
58
|
let contractAbi;
|
|
26
59
|
try {
|
|
27
60
|
contractAbi = JSON.parse(contents);
|
|
@@ -67,7 +100,7 @@ export async function getTxSender(client, _from) {
|
|
|
67
100
|
* @param log - Logger instance that will output to the CLI
|
|
68
101
|
* @returns Formatted contract address, function arguments and caller's aztec address.
|
|
69
102
|
*/
|
|
70
|
-
export function prepTx(contractFile, _contractAddress, functionName, _functionArgs, log) {
|
|
103
|
+
export async function prepTx(contractFile, _contractAddress, functionName, _functionArgs, log) {
|
|
71
104
|
let contractAddress;
|
|
72
105
|
try {
|
|
73
106
|
contractAddress = AztecAddress.fromString(_contractAddress);
|
|
@@ -75,12 +108,9 @@ export function prepTx(contractFile, _contractAddress, functionName, _functionAr
|
|
|
75
108
|
catch {
|
|
76
109
|
throw new Error(`Unable to parse contract address ${_contractAddress}.`);
|
|
77
110
|
}
|
|
78
|
-
const contractAbi = getContractAbi(contractFile, log);
|
|
79
|
-
const functionAbi = contractAbi
|
|
80
|
-
if (!functionAbi) {
|
|
81
|
-
throw new Error(`Function ${functionName} not found on contract ABI.`);
|
|
82
|
-
}
|
|
111
|
+
const contractAbi = await getContractAbi(contractFile, log);
|
|
112
|
+
const functionAbi = getAbiFunction(contractAbi, functionName);
|
|
83
113
|
const functionArgs = encodeArgs(_functionArgs, functionAbi.parameters);
|
|
84
114
|
return { contractAddress, functionArgs, contractAbi };
|
|
85
115
|
}
|
|
86
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
116
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBWSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBSXpFLE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQztBQUNwQixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBUzlDOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLGNBQWMsQ0FBQyxHQUFnQixFQUFFLE1BQWM7SUFDN0QsTUFBTSxFQUFFLEdBQUcsR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFDLENBQUM7SUFDN0QsSUFBSSxDQUFDLEVBQUUsRUFBRTtRQUNQLE1BQU0sS0FBSyxDQUFDLFlBQVksTUFBTSw2QkFBNkIsQ0FBQyxDQUFDO0tBQzlEO0lBQ0QsT0FBTyxFQUFFLENBQUM7QUFDWixDQUFDO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsTUFBTSxDQUFDLEtBQUssVUFBVSxvQkFBb0IsQ0FDeEMsTUFBYyxFQUNkLE1BQWMsRUFDZCxVQUFrQixFQUNsQixRQUFnQixFQUNoQixXQUF3QjtJQUV4QixNQUFNLE9BQU8sR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsUUFBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLEtBQUssVUFBVSxFQUFFLENBQUMsQ0FBQztJQUNwRyxNQUFNLEtBQUssR0FBRyxtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDbEQsT0FBTyxNQUFN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
|