@aztec/cli 0.17.0 → 0.77.0-testnet-ignition.17
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 +10 -16
- package/dest/cmds/contracts/index.d.ts +4 -0
- package/dest/cmds/contracts/index.d.ts.map +1 -0
- package/dest/cmds/contracts/index.js +12 -0
- package/dest/cmds/contracts/inspect_contract.d.ts +3 -0
- package/dest/cmds/contracts/inspect_contract.d.ts.map +1 -0
- package/dest/cmds/contracts/inspect_contract.js +37 -0
- package/dest/cmds/{parse_parameter_struct.d.ts → contracts/parse_parameter_struct.d.ts} +1 -4
- package/dest/cmds/contracts/parse_parameter_struct.d.ts.map +1 -0
- package/dest/cmds/contracts/parse_parameter_struct.js +13 -0
- package/dest/cmds/devnet/bootstrap_network.d.ts +3 -0
- package/dest/cmds/devnet/bootstrap_network.d.ts.map +1 -0
- package/dest/cmds/devnet/bootstrap_network.js +196 -0
- package/dest/cmds/devnet/faucet.d.ts +4 -0
- package/dest/cmds/devnet/faucet.d.ts.map +1 -0
- package/dest/cmds/devnet/faucet.js +26 -0
- package/dest/cmds/devnet/index.d.ts +4 -0
- package/dest/cmds/devnet/index.d.ts.map +1 -0
- package/dest/cmds/devnet/index.js +14 -0
- package/dest/cmds/infrastructure/index.d.ts +4 -0
- package/dest/cmds/infrastructure/index.d.ts.map +1 -0
- package/dest/cmds/infrastructure/index.js +24 -0
- package/dest/cmds/infrastructure/sequencers.d.ts +13 -0
- package/dest/cmds/infrastructure/sequencers.d.ts.map +1 -0
- package/dest/cmds/infrastructure/sequencers.js +93 -0
- package/dest/cmds/infrastructure/setup_l2_contract.d.ts +3 -0
- package/dest/cmds/infrastructure/setup_l2_contract.d.ts.map +1 -0
- package/dest/cmds/infrastructure/setup_l2_contract.js +43 -0
- package/dest/cmds/l1/advance_epoch.d.ts +3 -0
- package/dest/cmds/l1/advance_epoch.d.ts.map +1 -0
- package/dest/cmds/l1/advance_epoch.js +10 -0
- package/dest/cmds/l1/assume_proven_through.d.ts +3 -0
- package/dest/cmds/l1/assume_proven_through.d.ts.map +1 -0
- package/dest/cmds/l1/assume_proven_through.js +12 -0
- package/dest/cmds/l1/bridge_erc20.d.ts +4 -0
- package/dest/cmds/l1/bridge_erc20.d.ts.map +1 -0
- package/dest/cmds/l1/bridge_erc20.js +31 -0
- package/dest/cmds/l1/create_l1_account.d.ts +3 -0
- package/dest/cmds/l1/create_l1_account.d.ts.map +1 -0
- package/dest/cmds/l1/create_l1_account.js +15 -0
- package/dest/cmds/l1/deploy_l1_contracts.d.ts +4 -0
- package/dest/cmds/l1/deploy_l1_contracts.d.ts.map +1 -0
- package/dest/cmds/l1/deploy_l1_contracts.js +29 -0
- package/dest/cmds/l1/deploy_l1_verifier.d.ts +5 -0
- package/dest/cmds/l1/deploy_l1_verifier.d.ts.map +1 -0
- package/dest/cmds/l1/deploy_l1_verifier.js +54 -0
- package/dest/cmds/l1/deploy_new_rollup.d.ts +4 -0
- package/dest/cmds/l1/deploy_new_rollup.d.ts.map +1 -0
- package/dest/cmds/l1/deploy_new_rollup.js +19 -0
- package/dest/cmds/l1/get_l1_addresses.d.ts +4 -0
- package/dest/cmds/l1/get_l1_addresses.d.ts.map +1 -0
- package/dest/cmds/l1/get_l1_addresses.js +18 -0
- package/dest/cmds/l1/get_l1_balance.d.ts +4 -0
- package/dest/cmds/l1/get_l1_balance.d.ts.map +1 -0
- package/dest/cmds/l1/get_l1_balance.js +33 -0
- package/dest/cmds/l1/governance_utils.d.ts +50 -0
- package/dest/cmds/l1/governance_utils.d.ts.map +1 -0
- package/dest/cmds/l1/governance_utils.js +85 -0
- package/dest/cmds/l1/index.d.ts +4 -0
- package/dest/cmds/l1/index.d.ts.map +1 -0
- package/dest/cmds/l1/index.js +208 -0
- package/dest/cmds/l1/prover_stats.d.ts +14 -0
- package/dest/cmds/l1/prover_stats.d.ts.map +1 -0
- package/dest/cmds/l1/prover_stats.js +145 -0
- package/dest/cmds/l1/update_l1_validators.d.ts +30 -0
- package/dest/cmds/l1/update_l1_validators.d.ts.map +1 -0
- package/dest/cmds/l1/update_l1_validators.js +186 -0
- package/dest/cmds/misc/compute_selector.d.ts +3 -0
- package/dest/cmds/misc/compute_selector.d.ts.map +1 -0
- package/dest/cmds/misc/compute_selector.js +5 -0
- package/dest/cmds/misc/example_contracts.d.ts +3 -0
- package/dest/cmds/misc/example_contracts.d.ts.map +1 -0
- package/dest/cmds/misc/example_contracts.js +6 -0
- package/dest/cmds/misc/generate_bootnode_enr.d.ts +3 -0
- package/dest/cmds/misc/generate_bootnode_enr.d.ts.map +1 -0
- package/dest/cmds/misc/generate_bootnode_enr.js +5 -0
- package/dest/cmds/misc/generate_p2p_private_key.d.ts +3 -0
- package/dest/cmds/misc/generate_p2p_private_key.d.ts.map +1 -0
- package/dest/cmds/misc/generate_p2p_private_key.js +7 -0
- package/dest/cmds/misc/generate_secret_and_hash.d.ts +3 -0
- package/dest/cmds/misc/generate_secret_and_hash.d.ts.map +1 -0
- package/dest/cmds/misc/generate_secret_and_hash.js +11 -0
- package/dest/cmds/misc/generate_secret_key.d.ts +5 -0
- package/dest/cmds/misc/generate_secret_key.d.ts.map +1 -0
- package/dest/cmds/misc/generate_secret_key.js +6 -0
- package/dest/cmds/misc/index.d.ts +4 -0
- package/dest/cmds/misc/index.d.ts.map +1 -0
- package/dest/cmds/misc/index.js +44 -0
- package/dest/cmds/misc/setup_contracts.d.ts +7 -0
- package/dest/cmds/misc/setup_contracts.d.ts.map +1 -0
- package/dest/cmds/misc/setup_contracts.js +27 -0
- package/dest/cmds/misc/update/common.d.ts.map +1 -0
- package/dest/cmds/misc/update/common.js +3 -0
- package/dest/cmds/misc/update/github.d.ts.map +1 -0
- package/dest/cmds/misc/update/github.js +3 -0
- package/dest/{update → cmds/misc/update}/noir.d.ts +2 -2
- package/dest/cmds/misc/update/noir.d.ts.map +1 -0
- package/dest/cmds/misc/update/noir.js +45 -0
- package/dest/{update → cmds/misc/update}/npm.d.ts +3 -3
- package/dest/cmds/misc/update/npm.d.ts.map +1 -0
- package/dest/cmds/misc/update/npm.js +127 -0
- package/dest/cmds/misc/update/utils.d.ts +14 -0
- package/dest/cmds/misc/update/utils.d.ts.map +1 -0
- package/dest/cmds/misc/update/utils.js +38 -0
- package/dest/cmds/misc/update.d.ts +3 -0
- package/dest/cmds/misc/update.d.ts.map +1 -0
- package/dest/cmds/misc/update.js +52 -0
- package/dest/cmds/pxe/add_contract.d.ts +5 -0
- package/dest/cmds/pxe/add_contract.d.ts.map +1 -0
- package/dest/cmds/pxe/add_contract.js +29 -0
- package/dest/cmds/pxe/block_number.d.ts +3 -0
- package/dest/cmds/pxe/block_number.d.ts.map +1 -0
- package/dest/cmds/pxe/block_number.js +10 -0
- package/dest/cmds/pxe/get_account.d.ts +4 -0
- package/dest/cmds/pxe/get_account.d.ts.map +1 -0
- package/dest/cmds/pxe/get_account.js +10 -0
- package/dest/cmds/pxe/get_accounts.d.ts +3 -0
- package/dest/cmds/pxe/get_accounts.d.ts.map +1 -0
- package/dest/cmds/pxe/get_accounts.js +25 -0
- package/dest/cmds/pxe/get_block.d.ts +3 -0
- package/dest/cmds/pxe/get_block.d.ts.map +1 -0
- package/dest/cmds/pxe/get_block.js +9 -0
- package/dest/cmds/pxe/get_contract_data.d.ts +4 -0
- package/dest/cmds/pxe/get_contract_data.d.ts.map +1 -0
- package/dest/cmds/pxe/get_contract_data.js +31 -0
- package/dest/cmds/pxe/get_current_base_fee.d.ts +3 -0
- package/dest/cmds/pxe/get_current_base_fee.d.ts.map +1 -0
- package/dest/cmds/pxe/get_current_base_fee.js +7 -0
- package/dest/cmds/pxe/get_l1_to_l2_message_witness.d.ts +4 -0
- package/dest/cmds/pxe/get_l1_to_l2_message_witness.d.ts.map +1 -0
- package/dest/cmds/pxe/get_l1_to_l2_message_witness.js +11 -0
- package/dest/cmds/pxe/get_logs.d.ts +4 -0
- package/dest/cmds/pxe/get_logs.d.ts.map +1 -0
- package/dest/cmds/pxe/get_logs.js +51 -0
- package/dest/cmds/pxe/get_node_info.d.ts +3 -0
- package/dest/cmds/pxe/get_node_info.d.ts.map +1 -0
- package/dest/cmds/pxe/get_node_info.js +61 -0
- package/dest/cmds/pxe/get_pxe_info.d.ts +3 -0
- package/dest/cmds/pxe/get_pxe_info.d.ts.map +1 -0
- package/dest/cmds/pxe/get_pxe_info.js +11 -0
- package/dest/cmds/pxe/index.d.ts +4 -0
- package/dest/cmds/pxe/index.d.ts.map +1 -0
- package/dest/cmds/pxe/index.js +55 -0
- package/dest/utils/aztec.d.ts +68 -0
- package/dest/utils/aztec.d.ts.map +1 -0
- package/dest/utils/aztec.js +173 -0
- package/dest/{parse_args.d.ts → utils/commands.d.ts} +50 -12
- package/dest/utils/commands.d.ts.map +1 -0
- package/dest/utils/commands.js +303 -0
- package/dest/{encoding.d.ts → utils/encoding.d.ts} +1 -1
- package/dest/utils/encoding.d.ts.map +1 -0
- package/dest/utils/encoding.js +103 -0
- package/dest/utils/github.d.ts +4 -0
- package/dest/utils/github.d.ts.map +1 -0
- package/dest/utils/github.js +3 -0
- package/dest/utils/index.d.ts +5 -0
- package/dest/utils/index.d.ts.map +1 -0
- package/dest/utils/index.js +4 -0
- package/dest/utils/inspect.d.ts +17 -0
- package/dest/utils/inspect.d.ts.map +1 -0
- package/dest/utils/inspect.js +177 -0
- package/package.json +68 -22
- package/src/cmds/contracts/index.ts +34 -0
- package/src/cmds/contracts/inspect_contract.ts +51 -0
- package/src/cmds/contracts/parse_parameter_struct.ts +27 -0
- package/src/cmds/devnet/bootstrap_network.ts +318 -0
- package/src/cmds/devnet/faucet.ts +33 -0
- package/src/cmds/devnet/index.ts +60 -0
- package/src/cmds/infrastructure/index.ts +55 -0
- package/src/cmds/infrastructure/sequencers.ts +103 -0
- package/src/cmds/infrastructure/setup_l2_contract.ts +47 -0
- package/src/cmds/l1/advance_epoch.ts +12 -0
- package/src/cmds/l1/assume_proven_through.ts +19 -0
- package/src/cmds/l1/bridge_erc20.ts +52 -0
- package/src/cmds/l1/create_l1_account.ts +17 -0
- package/src/cmds/l1/deploy_l1_contracts.ts +63 -0
- package/src/cmds/l1/deploy_l1_verifier.ts +105 -0
- package/src/cmds/l1/deploy_new_rollup.ts +58 -0
- package/src/cmds/l1/get_l1_addresses.ts +30 -0
- package/src/cmds/l1/get_l1_balance.ts +44 -0
- package/src/cmds/l1/governance_utils.ts +187 -0
- package/src/cmds/l1/index.ts +556 -0
- package/src/cmds/l1/prover_stats.ts +202 -0
- package/src/cmds/l1/update_l1_validators.ts +238 -0
- package/src/cmds/misc/compute_selector.ts +7 -0
- package/src/cmds/misc/example_contracts.ts +12 -0
- package/src/cmds/misc/generate_bootnode_enr.ts +12 -0
- package/src/cmds/misc/generate_p2p_private_key.ts +10 -0
- package/src/cmds/misc/generate_secret_and_hash.ts +15 -0
- package/src/cmds/misc/generate_secret_key.ts +5 -0
- package/src/cmds/misc/index.ts +92 -0
- package/src/cmds/misc/setup_contracts.ts +40 -0
- package/src/cmds/misc/update/common.ts +16 -0
- package/src/cmds/misc/update/github.ts +3 -0
- package/src/cmds/misc/update/noir.ts +57 -0
- package/src/cmds/misc/update/npm.ts +154 -0
- package/src/cmds/misc/update/utils.ts +50 -0
- package/src/cmds/misc/update.ts +78 -0
- package/src/cmds/pxe/add_contract.ts +41 -0
- package/src/cmds/pxe/block_number.ts +9 -0
- package/src/cmds/pxe/get_account.ts +16 -0
- package/src/cmds/pxe/get_accounts.ts +35 -0
- package/src/cmds/pxe/get_block.ts +10 -0
- package/src/cmds/pxe/get_contract_data.ts +51 -0
- package/src/cmds/pxe/get_current_base_fee.ts +9 -0
- package/src/cmds/pxe/get_l1_to_l2_message_witness.ts +25 -0
- package/src/cmds/pxe/get_logs.ts +66 -0
- package/src/cmds/pxe/get_node_info.ts +71 -0
- package/src/cmds/pxe/get_pxe_info.ts +13 -0
- package/src/cmds/pxe/index.ts +170 -0
- package/src/utils/aztec.ts +248 -0
- package/src/utils/commands.ts +384 -0
- package/src/utils/encoding.ts +117 -0
- package/src/utils/github.ts +3 -0
- package/src/utils/index.ts +4 -0
- package/src/utils/inspect.ts +208 -0
- package/dest/bin/index.d.ts +0 -3
- package/dest/bin/index.d.ts.map +0 -1
- package/dest/bin/index.js +0 -19
- package/dest/client.d.ts +0 -17
- package/dest/client.d.ts.map +0 -1
- package/dest/client.js +0 -60
- package/dest/cmds/add_contract.d.ts +0 -7
- package/dest/cmds/add_contract.d.ts.map +0 -1
- package/dest/cmds/add_contract.js +0 -15
- package/dest/cmds/add_note.d.ts +0 -8
- package/dest/cmds/add_note.d.ts.map +0 -1
- package/dest/cmds/add_note.js +0 -13
- package/dest/cmds/block_number.d.ts +0 -6
- package/dest/cmds/block_number.d.ts.map +0 -1
- package/dest/cmds/block_number.js +0 -10
- package/dest/cmds/call.d.ts +0 -7
- package/dest/cmds/call.d.ts.map +0 -1
- package/dest/cmds/call.js +0 -18
- package/dest/cmds/check_deploy.d.ts +0 -7
- package/dest/cmds/check_deploy.d.ts.map +0 -1
- package/dest/cmds/check_deploy.js +0 -16
- package/dest/cmds/compute_selector.d.ts +0 -6
- package/dest/cmds/compute_selector.d.ts.map +0 -1
- package/dest/cmds/compute_selector.js +0 -9
- package/dest/cmds/create_account.d.ts +0 -7
- package/dest/cmds/create_account.d.ts.map +0 -1
- package/dest/cmds/create_account.js +0 -31
- package/dest/cmds/deploy.d.ts +0 -7
- package/dest/cmds/deploy.d.ts.map +0 -1
- package/dest/cmds/deploy.js +0 -58
- package/dest/cmds/deploy_l1_contracts.d.ts +0 -6
- package/dest/cmds/deploy_l1_contracts.d.ts.map +0 -1
- package/dest/cmds/deploy_l1_contracts.js +0 -15
- package/dest/cmds/example_contracts.d.ts +0 -6
- package/dest/cmds/example_contracts.d.ts.map +0 -1
- package/dest/cmds/example_contracts.js +0 -10
- package/dest/cmds/generate_p2p_private_key.d.ts +0 -6
- package/dest/cmds/generate_p2p_private_key.d.ts.map +0 -1
- package/dest/cmds/generate_p2p_private_key.js +0 -11
- package/dest/cmds/generate_private_key.d.ts +0 -6
- package/dest/cmds/generate_private_key.d.ts.map +0 -1
- package/dest/cmds/generate_private_key.js +0 -22
- package/dest/cmds/get_account.d.ts +0 -7
- package/dest/cmds/get_account.d.ts.map +0 -1
- package/dest/cmds/get_account.js +0 -15
- package/dest/cmds/get_accounts.d.ts +0 -6
- package/dest/cmds/get_accounts.d.ts.map +0 -1
- package/dest/cmds/get_accounts.js +0 -18
- package/dest/cmds/get_contract_data.d.ts +0 -7
- package/dest/cmds/get_contract_data.d.ts.map +0 -1
- package/dest/cmds/get_contract_data.js +0 -28
- package/dest/cmds/get_logs.d.ts +0 -7
- package/dest/cmds/get_logs.d.ts.map +0 -1
- package/dest/cmds/get_logs.js +0 -54
- package/dest/cmds/get_node_info.d.ts +0 -6
- package/dest/cmds/get_node_info.d.ts.map +0 -1
- package/dest/cmds/get_node_info.js +0 -15
- package/dest/cmds/get_recipient.d.ts +0 -7
- package/dest/cmds/get_recipient.d.ts.map +0 -1
- package/dest/cmds/get_recipient.js +0 -15
- package/dest/cmds/get_recipients.d.ts +0 -6
- package/dest/cmds/get_recipients.d.ts.map +0 -1
- package/dest/cmds/get_recipients.js +0 -18
- package/dest/cmds/get_tx_receipt.d.ts +0 -7
- package/dest/cmds/get_tx_receipt.d.ts.map +0 -1
- package/dest/cmds/get_tx_receipt.js +0 -16
- package/dest/cmds/inspect_contract.d.ts +0 -6
- package/dest/cmds/inspect_contract.d.ts.map +0 -1
- package/dest/cmds/inspect_contract.js +0 -19
- package/dest/cmds/parse_parameter_struct.d.ts.map +0 -1
- package/dest/cmds/parse_parameter_struct.js +0 -20
- package/dest/cmds/register_account.d.ts +0 -7
- package/dest/cmds/register_account.d.ts.map +0 -1
- package/dest/cmds/register_account.js +0 -13
- package/dest/cmds/register_recipient.d.ts +0 -7
- package/dest/cmds/register_recipient.d.ts.map +0 -1
- package/dest/cmds/register_recipient.js +0 -11
- package/dest/cmds/send.d.ts +0 -7
- package/dest/cmds/send.d.ts.map +0 -1
- package/dest/cmds/send.js +0 -27
- package/dest/cmds/unbox.d.ts +0 -7
- package/dest/cmds/unbox.d.ts.map +0 -1
- package/dest/cmds/unbox.js +0 -133
- package/dest/encoding.d.ts.map +0 -1
- package/dest/encoding.js +0 -114
- package/dest/github.d.ts.map +0 -1
- package/dest/github.js +0 -4
- package/dest/index.d.ts +0 -10
- package/dest/index.d.ts.map +0 -1
- package/dest/index.js +0 -321
- package/dest/parse_args.d.ts.map +0 -1
- package/dest/parse_args.js +0 -233
- package/dest/test/mocks.d.ts +0 -3
- package/dest/test/mocks.d.ts.map +0 -1
- package/dest/test/mocks.js +0 -65
- package/dest/update/common.d.ts.map +0 -1
- package/dest/update/common.js +0 -2
- package/dest/update/noir.d.ts.map +0 -1
- package/dest/update/noir.js +0 -63
- package/dest/update/npm.d.ts.map +0 -1
- package/dest/update/npm.js +0 -125
- package/dest/update/update.d.ts +0 -3
- package/dest/update/update.d.ts.map +0 -1
- package/dest/update/update.js +0 -58
- package/dest/utils.d.ts +0 -70
- package/dest/utils.d.ts.map +0 -1
- package/dest/utils.js +0 -168
- /package/dest/{update → cmds/misc/update}/common.d.ts +0 -0
- /package/dest/{github.d.ts → cmds/misc/update/github.d.ts} +0 -0
package/dest/index.js
DELETED
|
@@ -1,321 +0,0 @@
|
|
|
1
|
-
import { fileURLToPath } from '@aztec/foundation/url';
|
|
2
|
-
import { addCodegenCommanderAction } from '@aztec/noir-compiler/cli';
|
|
3
|
-
import { Command, Option } from 'commander';
|
|
4
|
-
import { lookup } from 'dns/promises';
|
|
5
|
-
import { readFileSync } from 'fs';
|
|
6
|
-
import { dirname, resolve } from 'path';
|
|
7
|
-
import { parseAztecAddress, parseEthereumAddress, parseField, parseOptionalAztecAddress, parseOptionalInteger, parseOptionalLogId, parseOptionalSelector, parseOptionalTxHash, parsePartialAddress, parsePrivateKey, parsePublicKey, parseSaltFromHexString, parseTxHash, } from './parse_args.js';
|
|
8
|
-
/**
|
|
9
|
-
* If we can successfully resolve 'host.docker.internal', then we are running in a container, and we should treat
|
|
10
|
-
* localhost as being host.docker.internal.
|
|
11
|
-
*/
|
|
12
|
-
const getLocalhost = () => lookup('host.docker.internal')
|
|
13
|
-
.then(() => 'host.docker.internal')
|
|
14
|
-
.catch(() => 'localhost');
|
|
15
|
-
const LOCALHOST = await getLocalhost();
|
|
16
|
-
const { ETHEREUM_HOST = `http://${LOCALHOST}:8545`, PRIVATE_KEY, API_KEY, CLI_VERSION } = process.env;
|
|
17
|
-
/**
|
|
18
|
-
* Returns commander program that defines the CLI.
|
|
19
|
-
* @param log - Console logger.
|
|
20
|
-
* @param debugLogger - Debug logger.
|
|
21
|
-
* @returns The CLI.
|
|
22
|
-
*/
|
|
23
|
-
export function getProgram(log, debugLogger) {
|
|
24
|
-
const program = new Command();
|
|
25
|
-
const packageJsonPath = resolve(dirname(fileURLToPath(import.meta.url)), '../package.json');
|
|
26
|
-
const cliVersion = CLI_VERSION || JSON.parse(readFileSync(packageJsonPath).toString()).version;
|
|
27
|
-
const logJson = (obj) => log(JSON.stringify(obj, null, 2));
|
|
28
|
-
program.name('aztec-cli').description('CLI for interacting with Aztec.').version(cliVersion);
|
|
29
|
-
const pxeOption = new Option('-u, --rpc-url <string>', 'URL of the PXE')
|
|
30
|
-
.env('PXE_URL')
|
|
31
|
-
.default(`http://${LOCALHOST}:8080`)
|
|
32
|
-
.makeOptionMandatory(true);
|
|
33
|
-
const createPrivateKeyOption = (description, mandatory) => new Option('-k, --private-key <string>', description)
|
|
34
|
-
.env('PRIVATE_KEY')
|
|
35
|
-
.argParser(parsePrivateKey)
|
|
36
|
-
.makeOptionMandatory(mandatory);
|
|
37
|
-
program
|
|
38
|
-
.command('deploy-l1-contracts')
|
|
39
|
-
.description('Deploys all necessary Ethereum contracts for Aztec.')
|
|
40
|
-
.requiredOption('-u, --rpc-url <string>', 'Url of the ethereum host. Chain identifiers localhost and testnet can be used', ETHEREUM_HOST)
|
|
41
|
-
.option('-a, --api-key <string>', 'Api key for the ethereum host', API_KEY)
|
|
42
|
-
.requiredOption('-p, --private-key <string>', 'The private key to use for deployment', PRIVATE_KEY)
|
|
43
|
-
.option('-m, --mnemonic <string>', 'The mnemonic to use in deployment', 'test test test test test test test test test test test junk')
|
|
44
|
-
.action(async (options) => {
|
|
45
|
-
const { deployL1Contracts } = await import('./cmds/deploy_l1_contracts.js');
|
|
46
|
-
await deployL1Contracts(options.rpcUrl, options.apiKey ?? '', options.privateKey, options.mnemonic, log, debugLogger);
|
|
47
|
-
});
|
|
48
|
-
program
|
|
49
|
-
.command('generate-private-key')
|
|
50
|
-
.summary('Generates an encryption private key.')
|
|
51
|
-
.description('Generates a private key which fits into the scalar field used by Grumpkin curve, can be used as an encryption private key.')
|
|
52
|
-
.option('-m, --mnemonic', 'An optional mnemonic string used for the private key generation. If not provided, random private key will be generated.')
|
|
53
|
-
.action(async (options) => {
|
|
54
|
-
const { generatePrivateKey } = await import('./cmds/generate_private_key.js');
|
|
55
|
-
generatePrivateKey(options.mnemonic, log);
|
|
56
|
-
});
|
|
57
|
-
program
|
|
58
|
-
.command('generate-p2p-private-key')
|
|
59
|
-
.summary('Generates a LibP2P peer private key.')
|
|
60
|
-
.description('Generates a private key that can be used for running a node on a LibP2P network.')
|
|
61
|
-
.action(async () => {
|
|
62
|
-
const { generateP2PPrivateKey } = await import('./cmds/generate_p2p_private_key.js');
|
|
63
|
-
await generateP2PPrivateKey(log);
|
|
64
|
-
});
|
|
65
|
-
program
|
|
66
|
-
.command('create-account')
|
|
67
|
-
.description('Creates an aztec account that can be used for sending transactions. Registers the account on the PXE and deploys an account contract. Uses a Schnorr single-key account which uses the same key for encryption and authentication (not secure for production usage).')
|
|
68
|
-
.summary('Creates an aztec account that can be used for sending transactions.')
|
|
69
|
-
.addOption(createPrivateKeyOption('Private key for note encryption and transaction signing. Uses random by default.', false))
|
|
70
|
-
.addOption(pxeOption)
|
|
71
|
-
// `options.wait` is default true. Passing `--no-wait` will set it to false.
|
|
72
|
-
// https://github.com/tj/commander.js#other-option-types-negatable-boolean-and-booleanvalue
|
|
73
|
-
.option('--no-wait', 'Skip waiting for the contract to be deployed. Print the hash of deployment transaction')
|
|
74
|
-
.action(async ({ rpcUrl, privateKey, wait }) => {
|
|
75
|
-
const { createAccount } = await import('./cmds/create_account.js');
|
|
76
|
-
await createAccount(rpcUrl, privateKey, wait, debugLogger, log);
|
|
77
|
-
});
|
|
78
|
-
program
|
|
79
|
-
.command('register-account')
|
|
80
|
-
.description('Registers an aztec account that can be used for sending transactions. Registers the account on the PXE. Uses a Schnorr single-key account which uses the same key for encryption and authentication (not secure for production usage).')
|
|
81
|
-
.summary('Registers an aztec account that can be used for sending transactions.')
|
|
82
|
-
.addOption(createPrivateKeyOption('Private key for note encryption and transaction signing.', true))
|
|
83
|
-
.requiredOption('-pa, --partial-address <partialAddress>', 'The partially computed address of the account contract.', parsePartialAddress)
|
|
84
|
-
.addOption(pxeOption)
|
|
85
|
-
.action(async ({ rpcUrl, privateKey, partialAddress }) => {
|
|
86
|
-
const { registerAccount } = await import('./cmds/register_account.js');
|
|
87
|
-
await registerAccount(rpcUrl, privateKey, partialAddress, debugLogger, log);
|
|
88
|
-
});
|
|
89
|
-
program
|
|
90
|
-
.command('deploy')
|
|
91
|
-
.description('Deploys a compiled Aztec.nr contract to Aztec.')
|
|
92
|
-
.argument('<artifact>', "A compiled Aztec.nr contract's artifact in JSON format or name of a contract artifact exported by @aztec/noir-contracts")
|
|
93
|
-
.option('-a, --args <constructorArgs...>', 'Contract constructor arguments', [])
|
|
94
|
-
.addOption(pxeOption)
|
|
95
|
-
.option('-k, --public-key <string>', 'Optional encryption public key for this address. Set this value only if this contract is expected to receive private notes, which will be encrypted using this public key.', parsePublicKey)
|
|
96
|
-
.option('-p, --portal-address <hex string>', 'Optional L1 portal address to link the contract to.', parseEthereumAddress)
|
|
97
|
-
.option('-s, --salt <hex string>', 'Optional deployment salt as a hex string for generating the deployment address.', parseSaltFromHexString)
|
|
98
|
-
.option('--json', 'Emit output as json')
|
|
99
|
-
// `options.wait` is default true. Passing `--no-wait` will set it to false.
|
|
100
|
-
// https://github.com/tj/commander.js#other-option-types-negatable-boolean-and-booleanvalue
|
|
101
|
-
.option('--no-wait', 'Skip waiting for the contract to be deployed. Print the hash of deployment transaction')
|
|
102
|
-
.action(async (artifactPath, { json, rpcUrl, publicKey, args: rawArgs, portalAddress, salt, wait }) => {
|
|
103
|
-
const { deploy } = await import('./cmds/deploy.js');
|
|
104
|
-
await deploy(artifactPath, json, rpcUrl, publicKey, rawArgs, portalAddress, salt, wait, debugLogger, log, logJson);
|
|
105
|
-
});
|
|
106
|
-
program
|
|
107
|
-
.command('check-deploy')
|
|
108
|
-
.description('Checks if a contract is deployed to the specified Aztec address.')
|
|
109
|
-
.requiredOption('-ca, --contract-address <address>', 'An Aztec address to check if contract has been deployed to.', parseAztecAddress)
|
|
110
|
-
.addOption(pxeOption)
|
|
111
|
-
.action(async (options) => {
|
|
112
|
-
const { checkDeploy } = await import('./cmds/check_deploy.js');
|
|
113
|
-
await checkDeploy(options.rpcUrl, options.contractAddress, debugLogger, log);
|
|
114
|
-
});
|
|
115
|
-
program
|
|
116
|
-
.command('add-contract')
|
|
117
|
-
.description('Adds an existing contract to the PXE. This is useful if you have deployed a contract outside of the PXE and want to use it with the PXE.')
|
|
118
|
-
.requiredOption('-c, --contract-artifact <fileLocation>', "A compiled Aztec.nr contract's ABI in JSON format or name of a contract ABI exported by @aztec/noir-contracts")
|
|
119
|
-
.requiredOption('-ca, --contract-address <address>', 'Aztec address of the contract.', parseAztecAddress)
|
|
120
|
-
.requiredOption('-pa, --partial-address <address>', 'Partial address of the contract', parsePartialAddress)
|
|
121
|
-
.option('-p, --public-key <public key>', 'Optional public key for this contract', parsePublicKey)
|
|
122
|
-
.option('--portal-address <address>', 'Optional address to a portal contract on L1', parseEthereumAddress)
|
|
123
|
-
.addOption(pxeOption)
|
|
124
|
-
.action(async (options) => {
|
|
125
|
-
const { addContract } = await import('./cmds/add_contract.js');
|
|
126
|
-
await addContract(options.rpcUrl, options.contractArtifact, options.contractAddress, options.partialAddress, options.publicKey, options.portalContract, debugLogger, log);
|
|
127
|
-
});
|
|
128
|
-
program
|
|
129
|
-
.command('get-tx-receipt')
|
|
130
|
-
.description('Gets the receipt for the specified transaction hash.')
|
|
131
|
-
.argument('<txHash>', 'A transaction hash to get the receipt for.', parseTxHash)
|
|
132
|
-
.addOption(pxeOption)
|
|
133
|
-
.action(async (txHash, options) => {
|
|
134
|
-
const { getTxReceipt } = await import('./cmds/get_tx_receipt.js');
|
|
135
|
-
await getTxReceipt(options.rpcUrl, txHash, debugLogger, log);
|
|
136
|
-
});
|
|
137
|
-
program
|
|
138
|
-
.command('get-contract-data')
|
|
139
|
-
.description('Gets information about the Aztec contract deployed at the specified address.')
|
|
140
|
-
.argument('<contractAddress>', 'Aztec address of the contract.', parseAztecAddress)
|
|
141
|
-
.addOption(pxeOption)
|
|
142
|
-
.option('-b, --include-bytecode <boolean>', "Include the contract's public function bytecode, if any.", false)
|
|
143
|
-
.action(async (contractAddress, options) => {
|
|
144
|
-
const { getContractData } = await import('./cmds/get_contract_data.js');
|
|
145
|
-
await getContractData(options.rpcUrl, contractAddress, options.includeBytecode, debugLogger, log);
|
|
146
|
-
});
|
|
147
|
-
program
|
|
148
|
-
.command('get-logs')
|
|
149
|
-
.description('Gets all the unencrypted logs from an intersection of all the filter params.')
|
|
150
|
-
.option('-tx, --tx-hash <txHash>', 'A transaction hash to get the receipt for.', parseOptionalTxHash)
|
|
151
|
-
.option('-fb, --from-block <blockNum>', 'Initial block number for getting logs (defaults to 1).', parseOptionalInteger)
|
|
152
|
-
.option('-tb, --to-block <blockNum>', 'Up to which block to fetch logs (defaults to latest).', parseOptionalInteger)
|
|
153
|
-
.option('-al --after-log <logId>', 'ID of a log after which to fetch the logs.', parseOptionalLogId)
|
|
154
|
-
.option('-ca, --contract-address <address>', 'Contract address to filter logs by.', parseOptionalAztecAddress)
|
|
155
|
-
.option('-s, --selector <hex string>', 'Event selector to filter logs by.', parseOptionalSelector)
|
|
156
|
-
.addOption(pxeOption)
|
|
157
|
-
.option('--follow', 'If set, will keep polling for new logs until interrupted.')
|
|
158
|
-
.action(async ({ txHash, fromBlock, toBlock, afterLog, contractAddress, selector, rpcUrl, follow }) => {
|
|
159
|
-
const { getLogs } = await import('./cmds/get_logs.js');
|
|
160
|
-
await getLogs(txHash, fromBlock, toBlock, afterLog, contractAddress, selector, rpcUrl, follow, debugLogger, log);
|
|
161
|
-
});
|
|
162
|
-
program
|
|
163
|
-
.command('register-recipient')
|
|
164
|
-
.description('Register a recipient in the PXE.')
|
|
165
|
-
.requiredOption('-a, --address <aztecAddress>', "The account's Aztec address.", parseAztecAddress)
|
|
166
|
-
.requiredOption('-p, --public-key <publicKey>', 'The account public key.', parsePublicKey)
|
|
167
|
-
.requiredOption('-pa, --partial-address <partialAddress>', 'The partially computed address of the account contract.', parsePartialAddress)
|
|
168
|
-
.addOption(pxeOption)
|
|
169
|
-
.action(async ({ address, publicKey, partialAddress, rpcUrl }) => {
|
|
170
|
-
const { registerRecipient } = await import('./cmds/register_recipient.js');
|
|
171
|
-
await registerRecipient(address, publicKey, partialAddress, rpcUrl, debugLogger, log);
|
|
172
|
-
});
|
|
173
|
-
program
|
|
174
|
-
.command('get-accounts')
|
|
175
|
-
.description('Gets all the Aztec accounts stored in the PXE.')
|
|
176
|
-
.addOption(pxeOption)
|
|
177
|
-
.action(async (options) => {
|
|
178
|
-
const { getAccounts } = await import('./cmds/get_accounts.js');
|
|
179
|
-
await getAccounts(options.rpcUrl, debugLogger, log);
|
|
180
|
-
});
|
|
181
|
-
program
|
|
182
|
-
.command('get-account')
|
|
183
|
-
.description('Gets an account given its Aztec address.')
|
|
184
|
-
.argument('<address>', 'The Aztec address to get account for', parseAztecAddress)
|
|
185
|
-
.addOption(pxeOption)
|
|
186
|
-
.action(async (address, options) => {
|
|
187
|
-
const { getAccount } = await import('./cmds/get_account.js');
|
|
188
|
-
await getAccount(address, options.rpcUrl, debugLogger, log);
|
|
189
|
-
});
|
|
190
|
-
program
|
|
191
|
-
.command('get-recipients')
|
|
192
|
-
.description('Gets all the recipients stored in the PXE.')
|
|
193
|
-
.addOption(pxeOption)
|
|
194
|
-
.action(async (options) => {
|
|
195
|
-
const { getRecipients } = await import('./cmds/get_recipients.js');
|
|
196
|
-
await getRecipients(options.rpcUrl, debugLogger, log);
|
|
197
|
-
});
|
|
198
|
-
program
|
|
199
|
-
.command('get-recipient')
|
|
200
|
-
.description('Gets a recipient given its Aztec address.')
|
|
201
|
-
.argument('<address>', 'The Aztec address to get recipient for', parseAztecAddress)
|
|
202
|
-
.addOption(pxeOption)
|
|
203
|
-
.action(async (address, options) => {
|
|
204
|
-
const { getRecipient } = await import('./cmds/get_recipient.js');
|
|
205
|
-
await getRecipient(address, options.rpcUrl, debugLogger, log);
|
|
206
|
-
});
|
|
207
|
-
program
|
|
208
|
-
.command('send')
|
|
209
|
-
.description('Calls a function on an Aztec contract.')
|
|
210
|
-
.argument('<functionName>', 'Name of function to execute')
|
|
211
|
-
.option('-a, --args [functionArgs...]', 'Function arguments', [])
|
|
212
|
-
.requiredOption('-c, --contract-artifact <fileLocation>', "A compiled Aztec.nr contract's ABI in JSON format or name of a contract ABI exported by @aztec/noir-contracts")
|
|
213
|
-
.requiredOption('-ca, --contract-address <address>', 'Aztec address of the contract.', parseAztecAddress)
|
|
214
|
-
.addOption(createPrivateKeyOption("The sender's private key.", true))
|
|
215
|
-
.addOption(pxeOption)
|
|
216
|
-
.option('--no-wait', 'Print transaction hash without waiting for it to be mined')
|
|
217
|
-
.action(async (functionName, options) => {
|
|
218
|
-
const { send } = await import('./cmds/send.js');
|
|
219
|
-
await send(functionName, options.args, options.contractArtifact, options.contractAddress, options.privateKey, options.rpcUrl, !options.noWait, debugLogger, log);
|
|
220
|
-
});
|
|
221
|
-
program
|
|
222
|
-
.command('call')
|
|
223
|
-
.description('Simulates the execution of a view (read-only) function on a deployed contract, without modifying state.')
|
|
224
|
-
.argument('<functionName>', 'Name of function to call')
|
|
225
|
-
.option('-a, --args [functionArgs...]', 'Function arguments', [])
|
|
226
|
-
.requiredOption('-c, --contract-artifact <fileLocation>', "A compiled Aztec.nr contract's ABI in JSON format or name of a contract ABI exported by @aztec/noir-contracts")
|
|
227
|
-
.requiredOption('-ca, --contract-address <address>', 'Aztec address of the contract.', parseAztecAddress)
|
|
228
|
-
.option('-f, --from <string>', 'Aztec address of the caller. If empty, will use the first account from RPC.')
|
|
229
|
-
.addOption(pxeOption)
|
|
230
|
-
.action(async (functionName, options) => {
|
|
231
|
-
const { call } = await import('./cmds/call.js');
|
|
232
|
-
await call(functionName, options.args, options.contractArtifact, options.contractAddress, options.from, options.rpcUrl, debugLogger, log);
|
|
233
|
-
});
|
|
234
|
-
program
|
|
235
|
-
.command('add-note')
|
|
236
|
-
.description('Adds a note to the database in the PXE.')
|
|
237
|
-
.argument('<address>', 'The Aztec address of the note owner.', parseAztecAddress)
|
|
238
|
-
.argument('<contractAddress>', 'Aztec address of the contract.', parseAztecAddress)
|
|
239
|
-
.argument('<storageSlot>', 'The storage slot of the note.', parseField)
|
|
240
|
-
.argument('<txHash>', 'The tx hash of the tx containing the note.', parseTxHash)
|
|
241
|
-
.requiredOption('-n, --note [note...]', 'The members of a Note serialized as hex strings.', [])
|
|
242
|
-
.addOption(pxeOption)
|
|
243
|
-
.action(async (address, contractAddress, storageSlot, txHash, options) => {
|
|
244
|
-
const { addNote } = await import('./cmds/add_note.js');
|
|
245
|
-
await addNote(address, contractAddress, storageSlot, txHash, options.note, options.rpcUrl, debugLogger);
|
|
246
|
-
});
|
|
247
|
-
// Helper for users to decode hex strings into structs if needed.
|
|
248
|
-
program
|
|
249
|
-
.command('parse-parameter-struct')
|
|
250
|
-
.description("Helper for parsing an encoded string into a contract's parameter struct.")
|
|
251
|
-
.argument('<encodedString>', 'The encoded hex string')
|
|
252
|
-
.requiredOption('-c, --contract-artifact <fileLocation>', "A compiled Aztec.nr contract's ABI in JSON format or name of a contract ABI exported by @aztec/noir-contracts")
|
|
253
|
-
.requiredOption('-p, --parameter <parameterName>', 'The name of the struct parameter to decode into')
|
|
254
|
-
.action(async (encodedString, options) => {
|
|
255
|
-
const { parseParameterStruct } = await import('./cmds/parse_parameter_struct.js');
|
|
256
|
-
await parseParameterStruct(encodedString, options.contractArtifact, options.parameter, log);
|
|
257
|
-
});
|
|
258
|
-
program
|
|
259
|
-
.command('block-number')
|
|
260
|
-
.description('Gets the current Aztec L2 block number.')
|
|
261
|
-
.addOption(pxeOption)
|
|
262
|
-
.action(async (options) => {
|
|
263
|
-
const { blockNumber } = await import('./cmds/block_number.js');
|
|
264
|
-
await blockNumber(options.rpcUrl, debugLogger, log);
|
|
265
|
-
});
|
|
266
|
-
program
|
|
267
|
-
.command('example-contracts')
|
|
268
|
-
.description('Lists the example contracts available to deploy from @aztec/noir-contracts')
|
|
269
|
-
.action(async () => {
|
|
270
|
-
const { exampleContracts } = await import('./cmds/example_contracts.js');
|
|
271
|
-
await exampleContracts(log);
|
|
272
|
-
});
|
|
273
|
-
program
|
|
274
|
-
.command('unbox')
|
|
275
|
-
.description('Unboxes an example contract from @aztec/boxes. Also Copies `noir-libs` dependencies and setup simple frontend for the contract using its ABI.')
|
|
276
|
-
.argument('<contractName>', 'Name of the contract to unbox, e.g. "PrivateToken"')
|
|
277
|
-
.argument('[localDirectory]', 'Local directory to unbox source folder to (relative or absolute), optional - defaults to `<contractName>/`')
|
|
278
|
-
.action(async (contractName, localDirectory) => {
|
|
279
|
-
const { unbox } = await import('./cmds/unbox.js');
|
|
280
|
-
unbox(contractName, localDirectory, cliVersion, log);
|
|
281
|
-
});
|
|
282
|
-
program
|
|
283
|
-
.command('get-node-info')
|
|
284
|
-
.description('Gets the information of an aztec node at a URL.')
|
|
285
|
-
.addOption(pxeOption)
|
|
286
|
-
.action(async (options) => {
|
|
287
|
-
const { getNodeInfo } = await import('./cmds/get_node_info.js');
|
|
288
|
-
await getNodeInfo(options.rpcUrl, debugLogger, log);
|
|
289
|
-
});
|
|
290
|
-
program
|
|
291
|
-
.command('inspect-contract')
|
|
292
|
-
.description('Shows list of external callable functions for a contract')
|
|
293
|
-
.argument('<contractArtifactFile>', `A compiled Noir contract's artifact in JSON format or name of a contract artifact exported by @aztec/noir-contracts`)
|
|
294
|
-
.action(async (contractArtifactFile) => {
|
|
295
|
-
const { inspectContract } = await import('./cmds/inspect_contract.js');
|
|
296
|
-
await inspectContract(contractArtifactFile, debugLogger, log);
|
|
297
|
-
});
|
|
298
|
-
program
|
|
299
|
-
.command('compute-selector')
|
|
300
|
-
.description('Given a function signature, it computes a selector')
|
|
301
|
-
.argument('<functionSignature>', 'Function signature to compute selector for e.g. foo(Field)')
|
|
302
|
-
.action(async (functionSignature) => {
|
|
303
|
-
const { computeSelector } = await import('./cmds/compute_selector.js');
|
|
304
|
-
computeSelector(functionSignature, log);
|
|
305
|
-
});
|
|
306
|
-
program
|
|
307
|
-
.command('update')
|
|
308
|
-
.description('Updates Nodejs and Noir dependencies')
|
|
309
|
-
.argument('[projectPath]', 'Path to the project directory', process.cwd())
|
|
310
|
-
.option('--contract [paths...]', 'Paths to contracts to update dependencies', [])
|
|
311
|
-
.option('--aztec-version <semver>', 'The version to update Aztec packages to. Defaults to latest', 'latest')
|
|
312
|
-
.addOption(pxeOption)
|
|
313
|
-
.action(async (projectPath, options) => {
|
|
314
|
-
const { update } = await import('./update/update.js');
|
|
315
|
-
const { contract, aztecVersion, rpcUrl } = options;
|
|
316
|
-
await update(projectPath, contract, rpcUrl, aztecVersion, log);
|
|
317
|
-
});
|
|
318
|
-
addCodegenCommanderAction(program, log);
|
|
319
|
-
return program;
|
|
320
|
-
}
|
|
321
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3RELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXJFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzVDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDdEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLElBQUksQ0FBQztBQUNsQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV4QyxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLG9CQUFvQixFQUNwQixVQUFVLEVBQ1YseUJBQXlCLEVBQ3pCLG9CQUFvQixFQUNwQixrQkFBa0IsRUFDbEIscUJBQXFCLEVBQ3JCLG1CQUFtQixFQUNuQixtQkFBbUIsRUFDbkIsZUFBZSxFQUNmLGNBQWMsRUFDZCxzQkFBc0IsRUFDdEIsV0FBVyxHQUNaLE1BQU0saUJBQWlCLENBQUM7QUFFekI7OztHQUdHO0FBQ0gsTUFBTSxZQUFZLEdBQUcsR0FBRyxFQUFFLENBQ3hCLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQztLQUMzQixJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsc0JBQXNCLENBQUM7S0FDbEMsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBRTlCLE1BQU0sU0FBUyxHQUFHLE1BQU0sWUFBWSxFQUFFLENBQUM7QUFDdkMsTUFBTSxFQUFFLGFBQWEsR0FBRyxVQUFVLFNBQVMsT0FBTyxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQztBQUV0Rzs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxVQUFVLENB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
|
package/dest/parse_args.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parse_args.d.ts","sourceRoot":"","sources":["../src/parse_args.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAgBjD;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,EAAE,CActD;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,CAM/D;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAMhE;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAKnF;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,GAAG,SAAS,CAKnE;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CASpF;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAStE;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAMlD;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAKtE;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,KAAK,CAMvD;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,EAAE,CAMvD;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,cAAc,CAYlE;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,EAAE,CAyB5C;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,CAElD"}
|
package/dest/parse_args.js
DELETED
|
@@ -1,233 +0,0 @@
|
|
|
1
|
-
import { FunctionSelector } from '@aztec/aztec.js/abi';
|
|
2
|
-
import { AztecAddress } from '@aztec/aztec.js/aztec_address';
|
|
3
|
-
import { EthAddress } from '@aztec/aztec.js/eth_address';
|
|
4
|
-
import { Fr, GrumpkinScalar, Point } from '@aztec/aztec.js/fields';
|
|
5
|
-
import { LogId } from '@aztec/aztec.js/log_id';
|
|
6
|
-
import { TxHash } from '@aztec/aztec.js/tx_hash';
|
|
7
|
-
import { InvalidArgumentError } from 'commander';
|
|
8
|
-
/**
|
|
9
|
-
* Removes the leading 0x from a hex string. If no leading 0x is found the string is returned unchanged.
|
|
10
|
-
* @param hex - A hex string
|
|
11
|
-
* @returns A new string with leading 0x removed
|
|
12
|
-
*/
|
|
13
|
-
const stripLeadingHex = (hex) => {
|
|
14
|
-
if (hex.length > 2 && hex.startsWith('0x')) {
|
|
15
|
-
return hex.substring(2);
|
|
16
|
-
}
|
|
17
|
-
return hex;
|
|
18
|
-
};
|
|
19
|
-
/**
|
|
20
|
-
* Parses a hex encoded string to an Fr integer to be used as salt
|
|
21
|
-
* @param str - Hex encoded string
|
|
22
|
-
* @returns A integer to be used as salt
|
|
23
|
-
*/
|
|
24
|
-
export function parseSaltFromHexString(str) {
|
|
25
|
-
const hex = stripLeadingHex(str);
|
|
26
|
-
// ensure it's a hex string
|
|
27
|
-
if (!hex.match(/^[0-9a-f]+$/i)) {
|
|
28
|
-
throw new InvalidArgumentError('Invalid hex string');
|
|
29
|
-
}
|
|
30
|
-
// pad it so that we may read it as a buffer.
|
|
31
|
-
// Buffer needs _exactly_ two hex characters per byte
|
|
32
|
-
const padded = hex.length % 2 === 1 ? '0' + hex : hex;
|
|
33
|
-
// finally, turn it into an integer
|
|
34
|
-
return Fr.fromBuffer(Buffer.from(padded, 'hex'));
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* Parses an AztecAddress from a string.
|
|
38
|
-
* @param address - A serialized Aztec address
|
|
39
|
-
* @returns An Aztec address
|
|
40
|
-
* @throws InvalidArgumentError if the input string is not valid.
|
|
41
|
-
*/
|
|
42
|
-
export function parseAztecAddress(address) {
|
|
43
|
-
try {
|
|
44
|
-
return AztecAddress.fromString(address);
|
|
45
|
-
}
|
|
46
|
-
catch {
|
|
47
|
-
throw new InvalidArgumentError(`Invalid address: ${address}`);
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Parses an Ethereum address from a string.
|
|
52
|
-
* @param address - A serialized Ethereum address
|
|
53
|
-
* @returns An Ethereum address
|
|
54
|
-
* @throws InvalidArgumentError if the input string is not valid.
|
|
55
|
-
*/
|
|
56
|
-
export function parseEthereumAddress(address) {
|
|
57
|
-
try {
|
|
58
|
-
return EthAddress.fromString(address);
|
|
59
|
-
}
|
|
60
|
-
catch {
|
|
61
|
-
throw new InvalidArgumentError(`Invalid address: ${address}`);
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* Parses an AztecAddress from a string.
|
|
66
|
-
* @param address - A serialized Aztec address
|
|
67
|
-
* @returns An Aztec address
|
|
68
|
-
* @throws InvalidArgumentError if the input string is not valid.
|
|
69
|
-
*/
|
|
70
|
-
export function parseOptionalAztecAddress(address) {
|
|
71
|
-
if (!address) {
|
|
72
|
-
return undefined;
|
|
73
|
-
}
|
|
74
|
-
return parseAztecAddress(address);
|
|
75
|
-
}
|
|
76
|
-
/**
|
|
77
|
-
* Parses an optional log ID string into a LogId object.
|
|
78
|
-
*
|
|
79
|
-
* @param logId - The log ID string to parse.
|
|
80
|
-
* @returns The parsed LogId object, or undefined if the log ID is missing or empty.
|
|
81
|
-
*/
|
|
82
|
-
export function parseOptionalLogId(logId) {
|
|
83
|
-
if (!logId) {
|
|
84
|
-
return undefined;
|
|
85
|
-
}
|
|
86
|
-
return LogId.fromString(logId);
|
|
87
|
-
}
|
|
88
|
-
/**
|
|
89
|
-
* Parses a selector from a string.
|
|
90
|
-
* @param selector - A serialized selector.
|
|
91
|
-
* @returns A selector.
|
|
92
|
-
* @throws InvalidArgumentError if the input string is not valid.
|
|
93
|
-
*/
|
|
94
|
-
export function parseOptionalSelector(selector) {
|
|
95
|
-
if (!selector) {
|
|
96
|
-
return undefined;
|
|
97
|
-
}
|
|
98
|
-
try {
|
|
99
|
-
return FunctionSelector.fromString(selector);
|
|
100
|
-
}
|
|
101
|
-
catch {
|
|
102
|
-
throw new InvalidArgumentError(`Invalid selector: ${selector}`);
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
/**
|
|
106
|
-
* Parses a string into an integer or returns undefined if the input is falsy.
|
|
107
|
-
*
|
|
108
|
-
* @param value - The string to parse into an integer.
|
|
109
|
-
* @returns The parsed integer, or undefined if the input string is falsy.
|
|
110
|
-
* @throws If the input is not a valid integer.
|
|
111
|
-
*/
|
|
112
|
-
export function parseOptionalInteger(value) {
|
|
113
|
-
if (!value) {
|
|
114
|
-
return undefined;
|
|
115
|
-
}
|
|
116
|
-
const parsed = Number(value);
|
|
117
|
-
if (!Number.isInteger(parsed)) {
|
|
118
|
-
throw new InvalidArgumentError('Invalid integer.');
|
|
119
|
-
}
|
|
120
|
-
return parsed;
|
|
121
|
-
}
|
|
122
|
-
/**
|
|
123
|
-
* Parses a TxHash from a string.
|
|
124
|
-
* @param txHash - A transaction hash
|
|
125
|
-
* @returns A TxHash instance
|
|
126
|
-
* @throws InvalidArgumentError if the input string is not valid.
|
|
127
|
-
*/
|
|
128
|
-
export function parseTxHash(txHash) {
|
|
129
|
-
try {
|
|
130
|
-
return TxHash.fromString(txHash);
|
|
131
|
-
}
|
|
132
|
-
catch {
|
|
133
|
-
throw new InvalidArgumentError(`Invalid transaction hash: ${txHash}`);
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
/**
|
|
137
|
-
* Parses an optional TxHash from a string.
|
|
138
|
-
* Calls parseTxHash internally.
|
|
139
|
-
* @param txHash - A transaction hash
|
|
140
|
-
* @returns A TxHash instance, or undefined if the input string is falsy.
|
|
141
|
-
* @throws InvalidArgumentError if the input string is not valid.
|
|
142
|
-
*/
|
|
143
|
-
export function parseOptionalTxHash(txHash) {
|
|
144
|
-
if (!txHash) {
|
|
145
|
-
return undefined;
|
|
146
|
-
}
|
|
147
|
-
return parseTxHash(txHash);
|
|
148
|
-
}
|
|
149
|
-
/**
|
|
150
|
-
* Parses a public key from a string.
|
|
151
|
-
* @param publicKey - A public key
|
|
152
|
-
* @returns A Point instance
|
|
153
|
-
* @throws InvalidArgumentError if the input string is not valid.
|
|
154
|
-
*/
|
|
155
|
-
export function parsePublicKey(publicKey) {
|
|
156
|
-
try {
|
|
157
|
-
return Point.fromString(publicKey);
|
|
158
|
-
}
|
|
159
|
-
catch (err) {
|
|
160
|
-
throw new InvalidArgumentError(`Invalid public key: ${publicKey}`);
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
/**
|
|
164
|
-
* Parses a partial address from a string.
|
|
165
|
-
* @param address - A partial address
|
|
166
|
-
* @returns A Fr instance
|
|
167
|
-
* @throws InvalidArgumentError if the input string is not valid.
|
|
168
|
-
*/
|
|
169
|
-
export function parsePartialAddress(address) {
|
|
170
|
-
try {
|
|
171
|
-
return Fr.fromString(address);
|
|
172
|
-
}
|
|
173
|
-
catch (err) {
|
|
174
|
-
throw new InvalidArgumentError(`Invalid partial address: ${address}`);
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
/**
|
|
178
|
-
* Parses a private key from a string.
|
|
179
|
-
* @param privateKey - A string
|
|
180
|
-
* @returns A private key
|
|
181
|
-
* @throws InvalidArgumentError if the input string is not valid.
|
|
182
|
-
*/
|
|
183
|
-
export function parsePrivateKey(privateKey) {
|
|
184
|
-
try {
|
|
185
|
-
const value = GrumpkinScalar.fromString(privateKey);
|
|
186
|
-
// most likely a badly formatted key was passed
|
|
187
|
-
if (value.isZero()) {
|
|
188
|
-
throw new Error('Private key must not be zero');
|
|
189
|
-
}
|
|
190
|
-
return value;
|
|
191
|
-
}
|
|
192
|
-
catch (err) {
|
|
193
|
-
throw new InvalidArgumentError(`Invalid private key: ${privateKey}`);
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
/**
|
|
197
|
-
* Parses a field from a string.
|
|
198
|
-
* @param field - A string representing the field.
|
|
199
|
-
* @returns A field.
|
|
200
|
-
* @throws InvalidArgumentError if the input string is not valid.
|
|
201
|
-
*/
|
|
202
|
-
export function parseField(field) {
|
|
203
|
-
try {
|
|
204
|
-
const isHex = field.startsWith('0x') || field.match(new RegExp(`^[0-9a-f]{${Fr.SIZE_IN_BYTES * 2}}$`, 'i'));
|
|
205
|
-
if (isHex) {
|
|
206
|
-
return Fr.fromString(field);
|
|
207
|
-
}
|
|
208
|
-
if (['true', 'false'].includes(field)) {
|
|
209
|
-
return new Fr(field === 'true');
|
|
210
|
-
}
|
|
211
|
-
const isNumber = +field || field === '0';
|
|
212
|
-
if (isNumber) {
|
|
213
|
-
return new Fr(BigInt(field));
|
|
214
|
-
}
|
|
215
|
-
const isBigInt = field.endsWith('n');
|
|
216
|
-
if (isBigInt) {
|
|
217
|
-
return new Fr(BigInt(field.replace(/n$/, '')));
|
|
218
|
-
}
|
|
219
|
-
return new Fr(BigInt(field));
|
|
220
|
-
}
|
|
221
|
-
catch (err) {
|
|
222
|
-
throw new InvalidArgumentError(`Invalid field: ${field}`);
|
|
223
|
-
}
|
|
224
|
-
}
|
|
225
|
-
/**
|
|
226
|
-
* Parses an array of strings to Frs.
|
|
227
|
-
* @param fields - An array of strings representing the fields.
|
|
228
|
-
* @returns An array of Frs.
|
|
229
|
-
*/
|
|
230
|
-
export function parseFields(fields) {
|
|
231
|
-
return fields.map(parseField);
|
|
232
|
-
}
|
|
233
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2VfYXJncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9wYXJzZV9hcmdzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDekQsT0FBTyxFQUFFLEVBQUUsRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDbkUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQy9DLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUVqRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFakQ7Ozs7R0FJRztBQUNILE1BQU0sZUFBZSxHQUFHLENBQUMsR0FBVyxFQUFFLEVBQUU7SUFDdEMsSUFBSSxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQzFDLE9BQU8sR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUN6QjtJQUNELE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQyxDQUFDO0FBRUY7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxzQkFBc0IsQ0FBQyxHQUFXO0lBQ2hELE1BQU0sR0FBRyxHQUFHLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUVqQywyQkFBMkI7SUFDM0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLEVBQUU7UUFDOUIsTUFBTSxJQUFJLG9CQUFvQixDQUFDLG9CQUFvQixDQUFDLENBQUM7S0FDdEQ7SUFFRCw2Q0FBNkM7SUFDN0MscURBQXFEO0lBQ3JELE1BQU0sTUFBTSxHQUFH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
|
package/dest/test/mocks.d.ts
DELETED
package/dest/test/mocks.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mocks.d.ts","sourceRoot":"","sources":["../../src/test/mocks.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,gBAAgB,EAAgB,MAAM,uBAAuB,CAAC;AAE/F,eAAO,MAAM,oBAAoB,EAAE,gBA8DlC,CAAC"}
|