@aztec/cli 0.16.2 → 0.16.3
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/dest/bin/index.js +4 -3
- package/dest/cmds/add_contract.d.ts +7 -0
- package/dest/cmds/add_contract.d.ts.map +1 -0
- package/dest/cmds/add_contract.js +15 -0
- package/dest/cmds/add_note.d.ts +8 -0
- package/dest/cmds/add_note.d.ts.map +1 -0
- package/dest/cmds/add_note.js +13 -0
- package/dest/cmds/block_number.d.ts +6 -0
- package/dest/cmds/block_number.d.ts.map +1 -0
- package/dest/cmds/block_number.js +10 -0
- package/dest/cmds/call.d.ts +7 -0
- package/dest/cmds/call.d.ts.map +1 -0
- package/dest/cmds/call.js +18 -0
- package/dest/cmds/check_deploy.d.ts +7 -0
- package/dest/cmds/check_deploy.d.ts.map +1 -0
- package/dest/cmds/check_deploy.js +16 -0
- package/dest/cmds/compute_selector.d.ts +6 -0
- package/dest/cmds/compute_selector.d.ts.map +1 -0
- package/dest/cmds/compute_selector.js +9 -0
- package/dest/cmds/create_account.d.ts +7 -0
- package/dest/cmds/create_account.d.ts.map +1 -0
- package/dest/cmds/create_account.js +30 -0
- package/dest/cmds/deploy.d.ts +7 -0
- package/dest/cmds/deploy.d.ts.map +1 -0
- package/dest/cmds/deploy.js +58 -0
- package/dest/cmds/deploy_l1_contracts.d.ts +6 -0
- package/dest/cmds/deploy_l1_contracts.d.ts.map +1 -0
- package/dest/cmds/deploy_l1_contracts.js +15 -0
- package/dest/cmds/example_contracts.d.ts +6 -0
- package/dest/cmds/example_contracts.d.ts.map +1 -0
- package/dest/cmds/example_contracts.js +10 -0
- package/dest/cmds/generate_p2p_private_key.d.ts +6 -0
- package/dest/cmds/generate_p2p_private_key.d.ts.map +1 -0
- package/dest/cmds/generate_p2p_private_key.js +11 -0
- package/dest/cmds/generate_private_key.d.ts +6 -0
- package/dest/cmds/generate_private_key.d.ts.map +1 -0
- package/dest/cmds/generate_private_key.js +22 -0
- package/dest/cmds/get_account.d.ts +7 -0
- package/dest/cmds/get_account.d.ts.map +1 -0
- package/dest/cmds/get_account.js +15 -0
- package/dest/cmds/get_accounts.d.ts +6 -0
- package/dest/cmds/get_accounts.d.ts.map +1 -0
- package/dest/cmds/get_accounts.js +18 -0
- package/dest/cmds/get_contract_data.d.ts +7 -0
- package/dest/cmds/get_contract_data.d.ts.map +1 -0
- package/dest/cmds/get_contract_data.js +28 -0
- package/dest/cmds/get_logs.d.ts +7 -0
- package/dest/cmds/get_logs.d.ts.map +1 -0
- package/dest/cmds/get_logs.js +54 -0
- package/dest/cmds/get_node_info.d.ts +6 -0
- package/dest/cmds/get_node_info.d.ts.map +1 -0
- package/dest/cmds/get_node_info.js +15 -0
- package/dest/cmds/get_recipient.d.ts +7 -0
- package/dest/cmds/get_recipient.d.ts.map +1 -0
- package/dest/cmds/get_recipient.js +15 -0
- package/dest/cmds/get_recipients.d.ts +6 -0
- package/dest/cmds/get_recipients.d.ts.map +1 -0
- package/dest/cmds/get_recipients.js +18 -0
- package/dest/cmds/get_tx_receipt.d.ts +7 -0
- package/dest/cmds/get_tx_receipt.d.ts.map +1 -0
- package/dest/cmds/get_tx_receipt.js +16 -0
- package/dest/cmds/inspect_contract.d.ts +6 -0
- package/dest/cmds/inspect_contract.d.ts.map +1 -0
- package/dest/cmds/inspect_contract.js +19 -0
- package/dest/cmds/parse_parameter_struct.d.ts +6 -0
- package/dest/cmds/parse_parameter_struct.d.ts.map +1 -0
- package/dest/cmds/parse_parameter_struct.js +20 -0
- package/dest/cmds/register_account.d.ts +7 -0
- package/dest/cmds/register_account.d.ts.map +1 -0
- package/dest/cmds/register_account.js +13 -0
- package/dest/cmds/register_recipient.d.ts +7 -0
- package/dest/cmds/register_recipient.d.ts.map +1 -0
- package/dest/cmds/register_recipient.js +11 -0
- package/dest/cmds/send.d.ts +7 -0
- package/dest/cmds/send.d.ts.map +1 -0
- package/dest/cmds/send.js +26 -0
- package/dest/cmds/unbox.d.ts +6 -0
- package/dest/cmds/unbox.d.ts.map +1 -0
- package/dest/cmds/unbox.js +9 -0
- package/dest/index.d.ts.map +1 -1
- package/dest/index.js +62 -327
- package/dest/utils.d.ts +9 -5
- package/dest/utils.d.ts.map +1 -1
- package/dest/utils.js +10 -6
- package/package.json +8 -8
- package/src/bin/index.ts +4 -2
- package/src/cmds/add_contract.ts +27 -0
- package/src/cmds/add_note.ts +24 -0
- package/src/cmds/block_number.ts +12 -0
- package/src/cmds/call.ts +35 -0
- package/src/cmds/check_deploy.ts +17 -0
- package/src/cmds/compute_selector.ts +10 -0
- package/src/cmds/create_account.ts +39 -0
- package/src/cmds/deploy.ts +77 -0
- package/src/cmds/deploy_l1_contracts.ts +25 -0
- package/src/cmds/example_contracts.ts +12 -0
- package/src/cmds/generate_p2p_private_key.ts +13 -0
- package/src/cmds/generate_private_key.ts +23 -0
- package/src/cmds/get_account.ts +18 -0
- package/src/cmds/get_accounts.ts +19 -0
- package/src/cmds/get_contract_data.ts +39 -0
- package/src/cmds/get_logs.ts +71 -0
- package/src/cmds/get_node_info.ts +17 -0
- package/src/cmds/get_recipient.ts +18 -0
- package/src/cmds/get_recipients.ts +19 -0
- package/src/cmds/get_tx_receipt.ts +18 -0
- package/src/cmds/inspect_contract.ts +29 -0
- package/src/cmds/parse_parameter_struct.ts +30 -0
- package/src/cmds/register_account.ts +24 -0
- package/src/cmds/register_recipient.ts +21 -0
- package/src/cmds/send.ts +40 -0
- package/src/cmds/unbox.ts +11 -0
- package/src/index.ts +94 -371
- package/src/utils.ts +24 -18
package/dest/utils.d.ts
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { type ContractArtifact, type FunctionArtifact, 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 { type PXE } from '@aztec/aztec.js/interfaces/pxe';
|
|
6
|
+
import { LogId } from '@aztec/aztec.js/log_id';
|
|
7
|
+
import { TxHash } from '@aztec/aztec.js/tx_hash';
|
|
3
8
|
import { DebugLogger, LogFn } from '@aztec/foundation/log';
|
|
4
|
-
import { LogId } from '@aztec/types';
|
|
5
9
|
/**
|
|
6
10
|
* Helper type to dynamically import contracts.
|
|
7
11
|
*/
|
|
@@ -14,7 +18,7 @@ interface ArtifactsType {
|
|
|
14
18
|
* @param fnName - Function name to be found.
|
|
15
19
|
* @returns The function's ABI.
|
|
16
20
|
*/
|
|
17
|
-
export declare function getFunctionArtifact(artifact: ContractArtifact, fnName: string):
|
|
21
|
+
export declare function getFunctionArtifact(artifact: ContractArtifact, fnName: string): FunctionArtifact;
|
|
18
22
|
/**
|
|
19
23
|
* Function to execute the 'deployRollupContracts' command.
|
|
20
24
|
* @param rpcUrl - The RPC URL of the ethereum node.
|
|
@@ -22,7 +26,7 @@ export declare function getFunctionArtifact(artifact: ContractArtifact, fnName:
|
|
|
22
26
|
* @param privateKey - The private key to be used in contract deployment.
|
|
23
27
|
* @param mnemonic - The mnemonic to be used in contract deployment.
|
|
24
28
|
*/
|
|
25
|
-
export declare function deployAztecContracts(rpcUrl: string, apiKey: string, privateKey: string, mnemonic: string, debugLogger: DebugLogger): Promise<import("@aztec/
|
|
29
|
+
export declare function deployAztecContracts(rpcUrl: string, apiKey: string, privateKey: string, mnemonic: string, debugLogger: DebugLogger): Promise<import("@aztec/ethereum").DeployL1Contracts>;
|
|
26
30
|
/**
|
|
27
31
|
* Gets all contracts available in \@aztec/noir-contracts.
|
|
28
32
|
* @returns The contract ABIs.
|
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,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
|
package/dest/utils.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
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';
|
|
5
7
|
import { CommanderError, InvalidArgumentError } from 'commander';
|
|
6
8
|
import { readFile, rename, writeFile } from 'fs/promises';
|
|
7
|
-
import { mnemonicToAccount, privateKeyToAccount } from 'viem/accounts';
|
|
8
9
|
import { encodeArgs } from './encoding.js';
|
|
9
10
|
/**
|
|
10
11
|
* Helper to get an ABI function or throw error if it doesn't exist.
|
|
@@ -27,6 +28,9 @@ export function getFunctionArtifact(artifact, fnName) {
|
|
|
27
28
|
* @param mnemonic - The mnemonic to be used in contract deployment.
|
|
28
29
|
*/
|
|
29
30
|
export async function deployAztecContracts(rpcUrl, apiKey, privateKey, mnemonic, debugLogger) {
|
|
31
|
+
const { ContractDeploymentEmitterAbi, ContractDeploymentEmitterBytecode, InboxAbi, InboxBytecode, OutboxAbi, OutboxBytecode, RegistryAbi, RegistryBytecode, RollupAbi, RollupBytecode, } = await import('@aztec/l1-artifacts');
|
|
32
|
+
const { createEthereumChain, deployL1Contracts } = await import('@aztec/ethereum');
|
|
33
|
+
const { mnemonicToAccount, privateKeyToAccount } = await import('viem/accounts');
|
|
30
34
|
const account = !privateKey ? mnemonicToAccount(mnemonic) : privateKeyToAccount(`0x${privateKey}`);
|
|
31
35
|
const chain = createEthereumChain(rpcUrl, apiKey);
|
|
32
36
|
const l1Artifacts = {
|
|
@@ -380,4 +384,4 @@ export async function atomicUpdateFile(filePath, contents) {
|
|
|
380
384
|
}
|
|
381
385
|
}
|
|
382
386
|
}
|
|
383
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLGdCQUFnQixFQUFFLGNBQWMsRUFBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDckgsT0FBTyxFQUFvQyxtQkFBbUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRzNHLE9BQU8sRUFDTCw0QkFBNEIsRUFDNUIsaUNBQWlDLEVBQ2pDLFFBQVEsRUFDUixhQUFhLEVBQ2IsU0FBUyxFQUNULGNBQWMsRUFDZCxXQUFXLEVBQ1gsZ0JBQWdCLEVBQ2hCLFNBQVMsRUFDVCxjQUFjLEdBQ2YsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRXJDLE9BQU8sRUFBRSxjQUFjLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDakUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzFELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBUzNDOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLG1CQUFtQixDQUFDLFFBQTBCLEVBQUUsTUFBYztJQUM1RSxNQUFNLEVBQUUsR0FBRyxRQUFRLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksS0FBSyxNQUFNLENBQUMsQ0FBQztJQUNsRSxJQUFJLENBQUMsRUFBRSxFQUFFO1FBQ1AsTUFBTSxLQUFLLENBQUMsWUFBWSxNQUFNLDZCQUE2QixDQUFDLENBQUM7S0FD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
|
|
387
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnRCxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFekQsT0FBTyxFQUFFLEVBQUUsRUFBRSxjQUFjLEVBQUUsS0FBSyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFbkUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQy9DLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUdqRCxPQUFPLEVBQUUsY0FBYyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUUxRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBUzNDOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLG1CQUFtQixDQUFDLFFBQTBCLEVBQUUsTUFBYztJQUM1RSxNQUFNLEVBQUUsR0FBRyxRQUFRLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksS0FBSyxNQUFNLENBQUMsQ0FBQztJQUNsRSxJQUFJLENBQUMsRUFBRSxFQUFFO1FBQ1AsTUFBTSxLQUFLLENBQUMsWUFBWSxNQUFNLDZCQUE2QixDQUFDLENBQUM7S0FDOUQ7SUFDRCxPQUFPLEVBQUUsQ0FBQztBQUNaLENBQUM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLG9CQUFvQixDQUN4QyxNQUFjLEVBQ2QsTUFBYyxFQUNkLFVBQWtCLEVBQ2xCLFFB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
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/cli",
|
|
3
|
-
"version": "0.16.
|
|
3
|
+
"version": "0.16.3",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dest/index.js",
|
|
6
6
|
"bin": {
|
|
@@ -34,13 +34,13 @@
|
|
|
34
34
|
"rootDir": "./src"
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@aztec/aztec.js": "0.16.
|
|
38
|
-
"@aztec/ethereum": "0.16.
|
|
39
|
-
"@aztec/foundation": "0.16.
|
|
40
|
-
"@aztec/l1-artifacts": "0.16.
|
|
41
|
-
"@aztec/noir-compiler": "0.16.
|
|
42
|
-
"@aztec/noir-contracts": "0.16.
|
|
43
|
-
"@aztec/types": "0.16.
|
|
37
|
+
"@aztec/aztec.js": "0.16.3",
|
|
38
|
+
"@aztec/ethereum": "0.16.3",
|
|
39
|
+
"@aztec/foundation": "0.16.3",
|
|
40
|
+
"@aztec/l1-artifacts": "0.16.3",
|
|
41
|
+
"@aztec/noir-compiler": "0.16.3",
|
|
42
|
+
"@aztec/noir-contracts": "0.16.3",
|
|
43
|
+
"@aztec/types": "0.16.3",
|
|
44
44
|
"@libp2p/peer-id-factory": "^3.0.4",
|
|
45
45
|
"@ltd/j-toml": "^1.38.0",
|
|
46
46
|
"commander": "^9.0.0",
|
package/src/bin/index.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env -S node --no-warnings
|
|
2
|
-
import { createDebugLogger } from '@aztec/
|
|
3
|
-
import { createConsoleLogger } from '@aztec/foundation/log';
|
|
2
|
+
import { createConsoleLogger, createDebugLogger } from '@aztec/foundation/log';
|
|
4
3
|
|
|
5
4
|
import { getProgram } from '../index.js';
|
|
6
5
|
|
|
@@ -9,6 +8,9 @@ const log = createConsoleLogger();
|
|
|
9
8
|
|
|
10
9
|
/** CLI main entrypoint */
|
|
11
10
|
async function main() {
|
|
11
|
+
process.once('SIGINT', () => process.exit(0));
|
|
12
|
+
process.once('SIGTERM', () => process.exit(0));
|
|
13
|
+
|
|
12
14
|
const program = getProgram(log, debugLogger);
|
|
13
15
|
await program.parseAsync(process.argv);
|
|
14
16
|
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { AztecAddress, CompleteAddress, EthAddress, Fr, Point } from '@aztec/aztec.js';
|
|
2
|
+
import { DebugLogger, LogFn } from '@aztec/foundation/log';
|
|
3
|
+
|
|
4
|
+
import { createCompatibleClient } from '../client.js';
|
|
5
|
+
import { getContractArtifact } from '../utils.js';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
*
|
|
9
|
+
*/
|
|
10
|
+
export async function addContract(
|
|
11
|
+
rpcUrl: string,
|
|
12
|
+
contractArtifactPath: string,
|
|
13
|
+
contractAddress: AztecAddress,
|
|
14
|
+
partialAddress: Fr,
|
|
15
|
+
publicKey: Point,
|
|
16
|
+
portalContract: EthAddress | undefined,
|
|
17
|
+
debugLogger: DebugLogger,
|
|
18
|
+
log: LogFn,
|
|
19
|
+
) {
|
|
20
|
+
const artifact = await getContractArtifact(contractArtifactPath, log);
|
|
21
|
+
const completeAddress = new CompleteAddress(contractAddress, publicKey ?? Fr.ZERO, partialAddress);
|
|
22
|
+
const portalContractAddress: EthAddress = portalContract ?? EthAddress.ZERO;
|
|
23
|
+
const client = await createCompatibleClient(rpcUrl, debugLogger);
|
|
24
|
+
|
|
25
|
+
await client.addContracts([{ artifact, completeAddress, portalContract: portalContractAddress }]);
|
|
26
|
+
log(`\nContract added to PXE at ${contractAddress.toString()}\n`);
|
|
27
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { AztecAddress, Fr } from '@aztec/aztec.js';
|
|
2
|
+
import { DebugLogger } from '@aztec/foundation/log';
|
|
3
|
+
import { ExtendedNote, Note, TxHash } from '@aztec/types';
|
|
4
|
+
|
|
5
|
+
import { createCompatibleClient } from '../client.js';
|
|
6
|
+
import { parseFields } from '../utils.js';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
*
|
|
10
|
+
*/
|
|
11
|
+
export async function addNote(
|
|
12
|
+
address: AztecAddress,
|
|
13
|
+
contractAddress: AztecAddress,
|
|
14
|
+
storageSlot: Fr,
|
|
15
|
+
txHash: TxHash,
|
|
16
|
+
noteFields: string[],
|
|
17
|
+
rpcUrl: string,
|
|
18
|
+
debugLogger: DebugLogger,
|
|
19
|
+
) {
|
|
20
|
+
const note = new Note(parseFields(noteFields));
|
|
21
|
+
const extendedNote = new ExtendedNote(note, address, contractAddress, storageSlot, txHash);
|
|
22
|
+
const client = await createCompatibleClient(rpcUrl, debugLogger);
|
|
23
|
+
await client.addNote(extendedNote);
|
|
24
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { DebugLogger, LogFn } from '@aztec/foundation/log';
|
|
2
|
+
|
|
3
|
+
import { createCompatibleClient } from '../client.js';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
*
|
|
7
|
+
*/
|
|
8
|
+
export async function blockNumber(rpcUrl: string, debugLogger: DebugLogger, log: LogFn) {
|
|
9
|
+
const client = await createCompatibleClient(rpcUrl, debugLogger);
|
|
10
|
+
const num = await client.getBlockNumber();
|
|
11
|
+
log(`${num}\n`);
|
|
12
|
+
}
|
package/src/cmds/call.ts
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { AztecAddress } from '@aztec/aztec.js';
|
|
2
|
+
import { DebugLogger, LogFn } from '@aztec/foundation/log';
|
|
3
|
+
|
|
4
|
+
import { format } from 'util';
|
|
5
|
+
|
|
6
|
+
import { createCompatibleClient } from '../client.js';
|
|
7
|
+
import { getFunctionArtifact, getTxSender, prepTx } from '../utils.js';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
*
|
|
11
|
+
*/
|
|
12
|
+
export async function call(
|
|
13
|
+
functionName: string,
|
|
14
|
+
functionArgsIn: any[],
|
|
15
|
+
contractArtifactPath: string,
|
|
16
|
+
contractAddress: AztecAddress,
|
|
17
|
+
fromAddress: string | undefined,
|
|
18
|
+
rpcUrl: string,
|
|
19
|
+
debugLogger: DebugLogger,
|
|
20
|
+
log: LogFn,
|
|
21
|
+
) {
|
|
22
|
+
const { functionArgs, contractArtifact } = await prepTx(contractArtifactPath, functionName, functionArgsIn, log);
|
|
23
|
+
|
|
24
|
+
const fnArtifact = getFunctionArtifact(contractArtifact, functionName);
|
|
25
|
+
if (fnArtifact.parameters.length !== functionArgs.length) {
|
|
26
|
+
throw Error(
|
|
27
|
+
`Invalid number of args passed. Expected ${fnArtifact.parameters.length}; Received: ${functionArgs.length}`,
|
|
28
|
+
);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
const client = await createCompatibleClient(rpcUrl, debugLogger);
|
|
32
|
+
const from = await getTxSender(client, fromAddress);
|
|
33
|
+
const result = await client.viewTx(functionName, functionArgs, contractAddress, from);
|
|
34
|
+
log(format('\nView result: ', result, '\n'));
|
|
35
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { AztecAddress, isContractDeployed } from '@aztec/aztec.js';
|
|
2
|
+
import { DebugLogger, LogFn } from '@aztec/foundation/log';
|
|
3
|
+
|
|
4
|
+
import { createCompatibleClient } from '../client.js';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
*
|
|
8
|
+
*/
|
|
9
|
+
export async function checkDeploy(rpcUrl: string, contractAddress: AztecAddress, debugLogger: DebugLogger, log: LogFn) {
|
|
10
|
+
const client = await createCompatibleClient(rpcUrl, debugLogger);
|
|
11
|
+
const isDeployed = await isContractDeployed(client, contractAddress);
|
|
12
|
+
if (isDeployed) {
|
|
13
|
+
log(`\nContract found at ${contractAddress.toString()}\n`);
|
|
14
|
+
} else {
|
|
15
|
+
log(`\nNo contract found at ${contractAddress.toString()}\n`);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { FunctionSelector } from '@aztec/foundation/abi';
|
|
2
|
+
import { LogFn } from '@aztec/foundation/log';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
*
|
|
6
|
+
*/
|
|
7
|
+
export function computeSelector(functionSignature: string, log: LogFn) {
|
|
8
|
+
const selector = FunctionSelector.fromSignature(functionSignature);
|
|
9
|
+
log(`${selector}`);
|
|
10
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { GrumpkinScalar, getSchnorrAccount } from '@aztec/aztec.js';
|
|
2
|
+
import { Fq, Fr } from '@aztec/foundation/fields';
|
|
3
|
+
import { DebugLogger, LogFn } from '@aztec/foundation/log';
|
|
4
|
+
|
|
5
|
+
import { createCompatibleClient } from '../client.js';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
*
|
|
9
|
+
*/
|
|
10
|
+
export async function createAccount(
|
|
11
|
+
rpcUrl: string,
|
|
12
|
+
privateKey: Fq,
|
|
13
|
+
wait: boolean,
|
|
14
|
+
debugLogger: DebugLogger,
|
|
15
|
+
log: LogFn,
|
|
16
|
+
) {
|
|
17
|
+
const client = await createCompatibleClient(rpcUrl, debugLogger);
|
|
18
|
+
const actualPrivateKey = privateKey ?? GrumpkinScalar.random();
|
|
19
|
+
|
|
20
|
+
const account = getSchnorrAccount(client, actualPrivateKey, actualPrivateKey, Fr.ZERO);
|
|
21
|
+
const { address, publicKey, partialAddress } = account.getCompleteAddress();
|
|
22
|
+
const tx = await account.deploy();
|
|
23
|
+
const txHash = await tx.getTxHash();
|
|
24
|
+
debugLogger(`Account contract tx sent with hash ${txHash}`);
|
|
25
|
+
if (wait) {
|
|
26
|
+
log(`\nWaiting for account contract deployment...`);
|
|
27
|
+
await tx.wait();
|
|
28
|
+
} else {
|
|
29
|
+
log(`\nAccount deployment transaction hash: ${txHash}\n`);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
log(`\nNew account:\n`);
|
|
33
|
+
log(`Address: ${address.toString()}`);
|
|
34
|
+
log(`Public key: ${publicKey.toString()}`);
|
|
35
|
+
if (!privateKey) {
|
|
36
|
+
log(`Private key: ${actualPrivateKey.toString()}`);
|
|
37
|
+
}
|
|
38
|
+
log(`Partial address: ${partialAddress.toString()}`);
|
|
39
|
+
}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { ContractDeployer, EthAddress, Fr, Point } from '@aztec/aztec.js';
|
|
2
|
+
import { DebugLogger, LogFn } from '@aztec/foundation/log';
|
|
3
|
+
|
|
4
|
+
import { createCompatibleClient } from '../client.js';
|
|
5
|
+
import { encodeArgs } from '../encoding.js';
|
|
6
|
+
import { GITHUB_TAG_PREFIX } from '../github.js';
|
|
7
|
+
import { getContractArtifact, getFunctionArtifact } from '../utils.js';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
*
|
|
11
|
+
*/
|
|
12
|
+
export async function deploy(
|
|
13
|
+
artifactPath: string,
|
|
14
|
+
json: boolean,
|
|
15
|
+
rpcUrl: string,
|
|
16
|
+
publicKey: Point | undefined,
|
|
17
|
+
rawArgs: any[],
|
|
18
|
+
portalAddress: EthAddress,
|
|
19
|
+
salt: Fr,
|
|
20
|
+
wait: boolean,
|
|
21
|
+
debugLogger: DebugLogger,
|
|
22
|
+
log: LogFn,
|
|
23
|
+
logJson: (output: any) => void,
|
|
24
|
+
) {
|
|
25
|
+
const contractArtifact = await getContractArtifact(artifactPath, log);
|
|
26
|
+
const constructorArtifact = contractArtifact.functions.find(({ name }) => name === 'constructor');
|
|
27
|
+
|
|
28
|
+
const client = await createCompatibleClient(rpcUrl, debugLogger);
|
|
29
|
+
const nodeInfo = await client.getNodeInfo();
|
|
30
|
+
const expectedAztecNrVersion = `${GITHUB_TAG_PREFIX}-v${nodeInfo.sandboxVersion}`;
|
|
31
|
+
if (contractArtifact.aztecNrVersion && contractArtifact.aztecNrVersion !== expectedAztecNrVersion) {
|
|
32
|
+
log(
|
|
33
|
+
`\nWarning: Contract was compiled with a different version of Aztec.nr: ${contractArtifact.aztecNrVersion}. Consider updating Aztec.nr to ${expectedAztecNrVersion}\n`,
|
|
34
|
+
);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
const deployer = new ContractDeployer(contractArtifact, client, publicKey);
|
|
38
|
+
|
|
39
|
+
const constructor = getFunctionArtifact(contractArtifact, 'constructor');
|
|
40
|
+
if (!constructor) {
|
|
41
|
+
throw new Error(`Constructor not found in contract ABI`);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
debugLogger(`Input arguments: ${rawArgs.map((x: any) => `"${x}"`).join(', ')}`);
|
|
45
|
+
const args = encodeArgs(rawArgs, constructorArtifact!.parameters);
|
|
46
|
+
debugLogger(`Encoded arguments: ${args.join(', ')}`);
|
|
47
|
+
|
|
48
|
+
const deploy = deployer.deploy(...args);
|
|
49
|
+
|
|
50
|
+
await deploy.create({ contractAddressSalt: salt, portalContract: portalAddress });
|
|
51
|
+
const tx = deploy.send({ contractAddressSalt: salt, portalContract: portalAddress });
|
|
52
|
+
const txHash = await tx.getTxHash();
|
|
53
|
+
debugLogger(`Deploy tx sent with hash ${txHash}`);
|
|
54
|
+
if (wait) {
|
|
55
|
+
const deployed = await tx.wait();
|
|
56
|
+
const { address, partialAddress } = deployed.contract.completeAddress;
|
|
57
|
+
if (json) {
|
|
58
|
+
logJson({ address: address.toString(), partialAddress: partialAddress.toString() });
|
|
59
|
+
} else {
|
|
60
|
+
log(`\nContract deployed at ${address.toString()}\n`);
|
|
61
|
+
log(`Contract partial address ${partialAddress.toString()}\n`);
|
|
62
|
+
}
|
|
63
|
+
} else {
|
|
64
|
+
const { address, partialAddress } = deploy.completeAddress ?? {};
|
|
65
|
+
if (json) {
|
|
66
|
+
logJson({
|
|
67
|
+
address: address?.toString() ?? 'N/A',
|
|
68
|
+
partialAddress: partialAddress?.toString() ?? 'N/A',
|
|
69
|
+
txHash: txHash.toString(),
|
|
70
|
+
});
|
|
71
|
+
} else {
|
|
72
|
+
log(`\nContract Address: ${deploy.completeAddress?.address.toString() ?? 'N/A'}`);
|
|
73
|
+
log(`Contract Partial Address: ${deploy.completeAddress?.partialAddress.toString() ?? 'N/A'}`);
|
|
74
|
+
log(`Deployment transaction hash: ${txHash}\n`);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { DebugLogger, LogFn } from '@aztec/foundation/log';
|
|
2
|
+
|
|
3
|
+
import { deployAztecContracts } from '../utils.js';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
*
|
|
7
|
+
*/
|
|
8
|
+
export async function deployL1Contracts(
|
|
9
|
+
rpcUrl: string,
|
|
10
|
+
apiKey: string,
|
|
11
|
+
privateKey: string,
|
|
12
|
+
mnemonic: string,
|
|
13
|
+
log: LogFn,
|
|
14
|
+
debugLogger: DebugLogger,
|
|
15
|
+
) {
|
|
16
|
+
const { l1ContractAddresses } = await deployAztecContracts(rpcUrl, apiKey, privateKey, mnemonic, debugLogger);
|
|
17
|
+
|
|
18
|
+
log('\n');
|
|
19
|
+
log(`Rollup Address: ${l1ContractAddresses.rollupAddress.toString()}`);
|
|
20
|
+
log(`Registry Address: ${l1ContractAddresses.registryAddress.toString()}`);
|
|
21
|
+
log(`L1 -> L2 Inbox Address: ${l1ContractAddresses.inboxAddress.toString()}`);
|
|
22
|
+
log(`L2 -> L1 Outbox address: ${l1ContractAddresses.outboxAddress.toString()}`);
|
|
23
|
+
log(`Contract Deployment Emitter Address: ${l1ContractAddresses.contractDeploymentEmitterAddress.toString()}`);
|
|
24
|
+
log('\n');
|
|
25
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { LogFn } from '@aztec/foundation/log';
|
|
2
|
+
|
|
3
|
+
import { getExampleContractArtifacts } from '../utils.js';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
*
|
|
7
|
+
*/
|
|
8
|
+
export async function exampleContracts(log: LogFn) {
|
|
9
|
+
const abisList = await getExampleContractArtifacts();
|
|
10
|
+
const names = Object.keys(abisList);
|
|
11
|
+
names.forEach(name => log(name));
|
|
12
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { LogFn } from '@aztec/foundation/log';
|
|
2
|
+
|
|
3
|
+
import { createSecp256k1PeerId } from '@libp2p/peer-id-factory';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
*
|
|
7
|
+
*/
|
|
8
|
+
export async function generateP2PPrivateKey(log: LogFn) {
|
|
9
|
+
const peerId = await createSecp256k1PeerId();
|
|
10
|
+
const exportedPeerId = Buffer.from(peerId.privateKey!).toString('hex');
|
|
11
|
+
log(`Private key: ${exportedPeerId}`);
|
|
12
|
+
log(`Peer Id: ${peerId}`);
|
|
13
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { GrumpkinScalar, generatePublicKey } from '@aztec/aztec.js';
|
|
2
|
+
import { LogFn } from '@aztec/foundation/log';
|
|
3
|
+
|
|
4
|
+
import { mnemonicToAccount } from 'viem/accounts';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
*
|
|
8
|
+
*/
|
|
9
|
+
export function generatePrivateKey(mnemonic: string | undefined, log: LogFn) {
|
|
10
|
+
let privKey;
|
|
11
|
+
let publicKey;
|
|
12
|
+
if (mnemonic) {
|
|
13
|
+
const acc = mnemonicToAccount(mnemonic);
|
|
14
|
+
// TODO(#2052): This reduction is not secure enough. TACKLE THIS ISSUE BEFORE MAINNET.
|
|
15
|
+
const key = GrumpkinScalar.fromBufferReduce(Buffer.from(acc.getHdKey().privateKey!));
|
|
16
|
+
publicKey = generatePublicKey(key);
|
|
17
|
+
} else {
|
|
18
|
+
const key = GrumpkinScalar.random();
|
|
19
|
+
privKey = key.toString();
|
|
20
|
+
publicKey = generatePublicKey(key);
|
|
21
|
+
}
|
|
22
|
+
log(`\nPrivate Key: ${privKey}\nPublic Key: ${publicKey.toString()}\n`);
|
|
23
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { AztecAddress } from '@aztec/aztec.js';
|
|
2
|
+
import { DebugLogger, LogFn } from '@aztec/foundation/log';
|
|
3
|
+
|
|
4
|
+
import { createCompatibleClient } from '../client.js';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
*
|
|
8
|
+
*/
|
|
9
|
+
export async function getAccount(aztecAddress: AztecAddress, rpcUrl: string, debugLogger: DebugLogger, log: LogFn) {
|
|
10
|
+
const client = await createCompatibleClient(rpcUrl, debugLogger);
|
|
11
|
+
const account = await client.getRegisteredAccount(aztecAddress);
|
|
12
|
+
|
|
13
|
+
if (!account) {
|
|
14
|
+
log(`Unknown account ${aztecAddress.toString()}`);
|
|
15
|
+
} else {
|
|
16
|
+
log(account.toReadableString());
|
|
17
|
+
}
|
|
18
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { DebugLogger, LogFn } from '@aztec/foundation/log';
|
|
2
|
+
|
|
3
|
+
import { createCompatibleClient } from '../client.js';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
*
|
|
7
|
+
*/
|
|
8
|
+
export async function getAccounts(rpcUrl: string, debugLogger: DebugLogger, log: LogFn) {
|
|
9
|
+
const client = await createCompatibleClient(rpcUrl, debugLogger);
|
|
10
|
+
const accounts = await client.getRegisteredAccounts();
|
|
11
|
+
if (!accounts.length) {
|
|
12
|
+
log('No accounts found.');
|
|
13
|
+
} else {
|
|
14
|
+
log(`Accounts found: \n`);
|
|
15
|
+
for (const account of accounts) {
|
|
16
|
+
log(account.toReadableString());
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { AztecAddress } from '@aztec/aztec.js';
|
|
2
|
+
import { DebugLogger, LogFn } from '@aztec/foundation/log';
|
|
3
|
+
import { ContractData } from '@aztec/types';
|
|
4
|
+
|
|
5
|
+
import { createCompatibleClient } from '../client.js';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
*
|
|
9
|
+
*/
|
|
10
|
+
export async function getContractData(
|
|
11
|
+
rpcUrl: string,
|
|
12
|
+
contractAddress: AztecAddress,
|
|
13
|
+
includeBytecode: boolean,
|
|
14
|
+
debugLogger: DebugLogger,
|
|
15
|
+
log: LogFn,
|
|
16
|
+
) {
|
|
17
|
+
const client = await createCompatibleClient(rpcUrl, debugLogger);
|
|
18
|
+
const contractDataWithOrWithoutBytecode = includeBytecode
|
|
19
|
+
? await client.getExtendedContractData(contractAddress)
|
|
20
|
+
: await client.getContractData(contractAddress);
|
|
21
|
+
|
|
22
|
+
if (!contractDataWithOrWithoutBytecode) {
|
|
23
|
+
log(`No contract data found at ${contractAddress}`);
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
let contractData: ContractData;
|
|
27
|
+
|
|
28
|
+
if ('contractData' in contractDataWithOrWithoutBytecode) {
|
|
29
|
+
contractData = contractDataWithOrWithoutBytecode.contractData;
|
|
30
|
+
} else {
|
|
31
|
+
contractData = contractDataWithOrWithoutBytecode;
|
|
32
|
+
}
|
|
33
|
+
log(`\nContract Data: \nAddress: ${contractData.contractAddress.toString()}`);
|
|
34
|
+
log(`Portal: ${contractData.portalContractAddress.toString()}`);
|
|
35
|
+
if ('bytecode' in contractDataWithOrWithoutBytecode) {
|
|
36
|
+
log(`Bytecode: ${contractDataWithOrWithoutBytecode.bytecode}`);
|
|
37
|
+
}
|
|
38
|
+
log('\n');
|
|
39
|
+
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { AztecAddress, FunctionSelector, LogFilter, LogId, TxHash } from '@aztec/aztec.js';
|
|
2
|
+
import { DebugLogger, LogFn } from '@aztec/foundation/log';
|
|
3
|
+
import { sleep } from '@aztec/foundation/sleep';
|
|
4
|
+
|
|
5
|
+
import { createCompatibleClient } from '../client.js';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
*
|
|
9
|
+
*/
|
|
10
|
+
export async function getLogs(
|
|
11
|
+
txHash: TxHash,
|
|
12
|
+
fromBlock: number,
|
|
13
|
+
toBlock: number,
|
|
14
|
+
afterLog: LogId,
|
|
15
|
+
contractAddress: AztecAddress,
|
|
16
|
+
selector: FunctionSelector,
|
|
17
|
+
rpcUrl: string,
|
|
18
|
+
follow: boolean,
|
|
19
|
+
debugLogger: DebugLogger,
|
|
20
|
+
log: LogFn,
|
|
21
|
+
) {
|
|
22
|
+
const pxe = await createCompatibleClient(rpcUrl, debugLogger);
|
|
23
|
+
|
|
24
|
+
if (follow) {
|
|
25
|
+
if (txHash) {
|
|
26
|
+
throw Error('Cannot use --follow with --tx-hash');
|
|
27
|
+
}
|
|
28
|
+
if (toBlock) {
|
|
29
|
+
throw Error('Cannot use --follow with --to-block');
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
const filter: LogFilter = { txHash, fromBlock, toBlock, afterLog, contractAddress, selector };
|
|
34
|
+
|
|
35
|
+
const fetchLogs = async () => {
|
|
36
|
+
const response = await pxe.getUnencryptedLogs(filter);
|
|
37
|
+
const logs = response.logs;
|
|
38
|
+
|
|
39
|
+
if (!logs.length) {
|
|
40
|
+
const filterOptions = Object.entries(filter)
|
|
41
|
+
.filter(([, value]) => value !== undefined)
|
|
42
|
+
.map(([key, value]) => `${key}: ${value}`)
|
|
43
|
+
.join(', ');
|
|
44
|
+
if (!follow) {
|
|
45
|
+
log(`No logs found for filter: {${filterOptions}}`);
|
|
46
|
+
}
|
|
47
|
+
} else {
|
|
48
|
+
if (!follow && !filter.afterLog) {
|
|
49
|
+
log('Logs found: \n');
|
|
50
|
+
}
|
|
51
|
+
logs.forEach(unencryptedLog => log(unencryptedLog.toHumanReadable()));
|
|
52
|
+
// Set the continuation parameter for the following requests
|
|
53
|
+
filter.afterLog = logs[logs.length - 1].id;
|
|
54
|
+
}
|
|
55
|
+
return response.maxLogsHit;
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
if (follow) {
|
|
59
|
+
log('Fetching logs...');
|
|
60
|
+
while (true) {
|
|
61
|
+
const maxLogsHit = await fetchLogs();
|
|
62
|
+
if (!maxLogsHit) {
|
|
63
|
+
await sleep(1000);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
} else {
|
|
67
|
+
while (await fetchLogs()) {
|
|
68
|
+
// Keep fetching logs until we reach the end.
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
}
|