@aztec/cli-wallet 1.0.0-nightly.20250708 → 1.0.0-nightly.20250710
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 +1 -1
- package/dest/cmds/create_account.js +5 -5
- package/dest/cmds/deploy.d.ts +1 -1
- package/dest/cmds/deploy.d.ts.map +1 -1
- package/dest/cmds/deploy.js +3 -3
- package/dest/cmds/deploy_account.js +2 -2
- package/dest/cmds/index.d.ts.map +1 -1
- package/dest/cmds/index.js +2 -2
- package/dest/cmds/register_contract.js +2 -2
- package/package.json +12 -12
- package/src/bin/index.ts +1 -1
- package/src/cmds/create_account.ts +5 -5
- package/src/cmds/deploy.ts +4 -4
- package/src/cmds/deploy_account.ts +2 -2
- package/src/cmds/index.ts +8 -2
- package/src/cmds/register_contract.ts +2 -2
package/dest/bin/index.js
CHANGED
|
@@ -69,7 +69,7 @@ function injectInternalCommands(program, log, db) {
|
|
|
69
69
|
await db.init(await openStoreAt(dataDir));
|
|
70
70
|
let protocolContractsRegistered;
|
|
71
71
|
try {
|
|
72
|
-
protocolContractsRegistered = !!await db.retrieveAlias('contracts:
|
|
72
|
+
protocolContractsRegistered = !!await db.retrieveAlias('contracts:ContractClassRegistry');
|
|
73
73
|
// eslint-disable-next-line no-empty
|
|
74
74
|
} catch {}
|
|
75
75
|
if (!protocolContractsRegistered) {
|
|
@@ -39,17 +39,17 @@ export async function createAccount(client, accountType, secretKey, publicKey, a
|
|
|
39
39
|
} else {
|
|
40
40
|
const wallet = await account.getWallet();
|
|
41
41
|
const deployOpts = {
|
|
42
|
-
|
|
43
|
-
|
|
42
|
+
skipClassPublication: !publicDeploy,
|
|
43
|
+
skipInstancePublication: !publicDeploy,
|
|
44
44
|
skipInitialization: skipInitialization,
|
|
45
45
|
...await feeOpts.toDeployAccountOpts(wallet)
|
|
46
46
|
};
|
|
47
47
|
/*
|
|
48
|
-
* This is usually handled by accountManager.
|
|
48
|
+
* This is usually handled by accountManager.create(), but we're accessing the lower
|
|
49
49
|
* level method to get gas and timings. That means we have to replicate some of the logic here.
|
|
50
|
-
* In case we're
|
|
50
|
+
* In case we're initializing and/or publishing our own account, we need to hijack the payment method for the fee,
|
|
51
51
|
* wrapping it in the one that will make use of the freshly deployed account's
|
|
52
|
-
* entrypoint. For reference, see aztec.js/src/account_manager.ts:
|
|
52
|
+
* entrypoint. For reference, see aztec.js/src/account_manager.ts:sendAccountContractSetupTx()
|
|
53
53
|
* Also, salt and universalDeploy have to be explicitly provided
|
|
54
54
|
*/ deployOpts.fee = !deployOpts?.deployWallet && deployOpts?.fee ? {
|
|
55
55
|
...deployOpts.fee,
|
package/dest/cmds/deploy.d.ts
CHANGED
|
@@ -2,5 +2,5 @@ import { type AccountWalletWithSecretKey, Fr } from '@aztec/aztec.js';
|
|
|
2
2
|
import type { LogFn, Logger } from '@aztec/foundation/log';
|
|
3
3
|
import { PublicKeys } from '@aztec/stdlib/keys';
|
|
4
4
|
import { type IFeeOpts } from '../utils/options/fees.js';
|
|
5
|
-
export declare function deploy(wallet: AccountWalletWithSecretKey, artifactPath: string, json: boolean, publicKeys: PublicKeys | undefined, rawArgs: any[], salt: Fr | undefined, initializer: string | undefined,
|
|
5
|
+
export declare function deploy(wallet: AccountWalletWithSecretKey, artifactPath: string, json: boolean, publicKeys: PublicKeys | undefined, rawArgs: any[], salt: Fr | undefined, initializer: string | undefined, skipInstancePublication: boolean, skipClassPublication: boolean, skipInitialization: boolean | undefined, universalDeploy: boolean | undefined, wait: boolean, feeOpts: IFeeOpts, verbose: boolean, timeout: number | undefined, debugLogger: Logger, log: LogFn, logJson: (output: any) => void): Promise<import("@aztec/aztec.js").AztecAddress | undefined>;
|
|
6
6
|
//# sourceMappingURL=deploy.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/cmds/deploy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,0BAA0B,EAAwC,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAE5G,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,OAAO,EAAE,KAAK,QAAQ,EAAqB,MAAM,0BAA0B,CAAC;AAI5E,wBAAsB,MAAM,CAC1B,MAAM,EAAE,0BAA0B,EAClC,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,OAAO,EACb,UAAU,EAAE,UAAU,GAAG,SAAS,EAClC,OAAO,EAAE,GAAG,EAAE,EACd,IAAI,EAAE,EAAE,GAAG,SAAS,EACpB,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,
|
|
1
|
+
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/cmds/deploy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,0BAA0B,EAAwC,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAE5G,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,OAAO,EAAE,KAAK,QAAQ,EAAqB,MAAM,0BAA0B,CAAC;AAI5E,wBAAsB,MAAM,CAC1B,MAAM,EAAE,0BAA0B,EAClC,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,OAAO,EACb,UAAU,EAAE,UAAU,GAAG,SAAS,EAClC,OAAO,EAAE,GAAG,EAAE,EACd,IAAI,EAAE,EAAE,GAAG,SAAS,EACpB,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,uBAAuB,EAAE,OAAO,EAChC,oBAAoB,EAAE,OAAO,EAC7B,kBAAkB,EAAE,OAAO,GAAG,SAAS,EACvC,eAAe,EAAE,OAAO,GAAG,SAAS,EACpC,IAAI,EAAE,OAAO,EACb,OAAO,EAAE,QAAQ,EACjB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,MAAM,YAAuB,EACtC,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,KAAK,EACV,OAAO,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,+DAuF/B"}
|
package/dest/cmds/deploy.js
CHANGED
|
@@ -5,7 +5,7 @@ import { PublicKeys } from '@aztec/stdlib/keys';
|
|
|
5
5
|
import { printGasEstimates } from '../utils/options/fees.js';
|
|
6
6
|
import { printProfileResult } from '../utils/profiling.js';
|
|
7
7
|
import { DEFAULT_TX_TIMEOUT_S } from '../utils/pxe_wrapper.js';
|
|
8
|
-
export async function deploy(wallet, artifactPath, json, publicKeys, rawArgs, salt, initializer,
|
|
8
|
+
export async function deploy(wallet, artifactPath, json, publicKeys, rawArgs, salt, initializer, skipInstancePublication, skipClassPublication, skipInitialization, universalDeploy, wait, feeOpts, verbose, timeout = DEFAULT_TX_TIMEOUT_S, debugLogger, log, logJson) {
|
|
9
9
|
salt ??= Fr.random();
|
|
10
10
|
const contractArtifact = await getContractArtifact(artifactPath, log);
|
|
11
11
|
const hasInitializer = getAllFunctionAbis(contractArtifact).some((fn)=>fn.isInitializer);
|
|
@@ -26,9 +26,9 @@ export async function deploy(wallet, artifactPath, json, publicKeys, rawArgs, sa
|
|
|
26
26
|
...await feeOpts.toDeployAccountOpts(wallet),
|
|
27
27
|
contractAddressSalt: salt,
|
|
28
28
|
universalDeploy,
|
|
29
|
-
|
|
29
|
+
skipClassPublication,
|
|
30
30
|
skipInitialization,
|
|
31
|
-
|
|
31
|
+
skipInstancePublication
|
|
32
32
|
};
|
|
33
33
|
if (feeOpts.estimateOnly) {
|
|
34
34
|
const gas = await deploy1.estimateGas(deployOpts);
|
|
@@ -29,8 +29,8 @@ export async function deployAccount(account, wait, registerClass, publicDeploy,
|
|
|
29
29
|
let tx;
|
|
30
30
|
let txReceipt;
|
|
31
31
|
const deployOpts = {
|
|
32
|
-
|
|
33
|
-
|
|
32
|
+
skipInstancePublication: !publicDeploy,
|
|
33
|
+
skipClassPublication: !registerClass,
|
|
34
34
|
...await feeOpts.toDeployAccountOpts(wallet)
|
|
35
35
|
};
|
|
36
36
|
/*
|
package/dest/cmds/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cmds/index.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAI3D,OAAO,EAAE,KAAK,OAAO,EAAU,MAAM,WAAW,CAAC;AAGjD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAwBxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAE1D,wBAAgB,cAAc,CAC5B,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,KAAK,EACV,WAAW,EAAE,MAAM,EACnB,EAAE,CAAC,EAAE,QAAQ,EACb,UAAU,CAAC,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cmds/index.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAI3D,OAAO,EAAE,KAAK,OAAO,EAAU,MAAM,WAAW,CAAC;AAGjD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAwBxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAE1D,wBAAgB,cAAc,CAC5B,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,KAAK,EACV,WAAW,EAAE,MAAM,EACnB,EAAE,CAAC,EAAE,QAAQ,EACb,UAAU,CAAC,EAAE,UAAU,WA2rBxB"}
|
package/dest/cmds/index.js
CHANGED
|
@@ -20,7 +20,7 @@ export function injectCommands(program, log, debugLogger, db, pxeWrapper) {
|
|
|
20
20
|
const client = await pxeWrapper?.getPXE() ?? await createCompatibleClient(rpcUrl, debugLogger);
|
|
21
21
|
await importTestAccounts(client, db, json, log);
|
|
22
22
|
});
|
|
23
|
-
const createAccountCommand = program.command('create-account').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).').summary('Creates an aztec account that can be used for sending transactions.').option('--skip-initialization', 'Skip initializing the account contract. Useful for publicly deploying an existing account.').option('--public-deploy', '
|
|
23
|
+
const createAccountCommand = program.command('create-account').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).').summary('Creates an aztec account that can be used for sending transactions.').option('--skip-initialization', 'Skip initializing the account contract. Useful for publicly deploying an existing account.').option('--public-deploy', 'Publishes the account contract instance (and the class, if needed). Needed if the contract contains public functions.').option('-p, --public-key <string>', 'Public key that identifies a private signing key stored outside of the wallet. Used for ECDSA SSH accounts over the secp256r1 curve.').addOption(pxeOption).addOption(createSecretKeyOption('Secret key for account. Uses random by default.', false, (sk)=>aliasedSecretKeyParser(sk, db)).conflicts('public-key')).addOption(createAliasOption('Alias for the account. Used for easy reference in subsequent commands.', !db)).addOption(createTypeOption(true)).option('--register-only', 'Just register the account on the PXE. Do not deploy or initialize the account contract.').option('--json', 'Emit output as json')// `options.wait` is default true. Passing `--no-wait` will set it to false.
|
|
24
24
|
// https://github.com/tj/commander.js#other-option-types-negatable-boolean-and-booleanvalue
|
|
25
25
|
.option('--no-wait', 'Skip waiting for the contract to be deployed. Print the hash of deployment transaction').addOption(createVerboseOption());
|
|
26
26
|
addOptions(createAccountCommand, FeeOptsWithFeePayer.getOptions()).action(async (_options, command)=>{
|
|
@@ -55,7 +55,7 @@ export function injectCommands(program, log, debugLogger, db, pxeWrapper) {
|
|
|
55
55
|
});
|
|
56
56
|
const deployAccountCommand = program.command('deploy-account').description('Deploys an already registered aztec account that can be used for sending transactions.').addOption(createAccountOption('Alias or address of the account to deploy', !db, db)).addOption(pxeOption).option('--json', 'Emit output as json')// `options.wait` is default true. Passing `--no-wait` will set it to false.
|
|
57
57
|
// https://github.com/tj/commander.js#other-option-types-negatable-boolean-and-booleanvalue
|
|
58
|
-
.option('--no-wait', 'Skip waiting for the contract to be deployed. Print the hash of deployment transaction').option('--register-class', 'Register the contract class (useful for when the contract class has not been deployed yet).').option('--public-deploy', '
|
|
58
|
+
.option('--no-wait', 'Skip waiting for the contract to be deployed. Print the hash of deployment transaction').option('--register-class', 'Register the contract class (useful for when the contract class has not been deployed yet).').option('--public-deploy', 'Publishes the account contract instance (and the class, if needed). Needed if the contract contains public functions.').addOption(createVerboseOption());
|
|
59
59
|
addOptions(deployAccountCommand, FeeOptsWithFeePayer.getOptions()).action(async (_options, command)=>{
|
|
60
60
|
const { deployAccount } = await import('./deploy_account.js');
|
|
61
61
|
const options = command.optsWithGlobals();
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { PublicKeys,
|
|
1
|
+
import { PublicKeys, getContractInstanceFromInstantiationParams } from '@aztec/aztec.js';
|
|
2
2
|
import { getContractArtifact } from '@aztec/cli/cli-utils';
|
|
3
3
|
import { getAllFunctionAbis, getInitializer } from '@aztec/stdlib/abi';
|
|
4
4
|
export async function registerContract(wallet, node, address, artifactPath, log, initializer, publicKeys, rawArgs, salt, deployer) {
|
|
@@ -8,7 +8,7 @@ export async function registerContract(wallet, node, address, artifactPath, log,
|
|
|
8
8
|
let contractInstance = await node.getContract(address);
|
|
9
9
|
if (!contractInstance) {
|
|
10
10
|
log(`Contract not found in the node at ${address}. Computing instance locally...`);
|
|
11
|
-
contractInstance = await
|
|
11
|
+
contractInstance = await getContractInstanceFromInstantiationParams(contractArtifact, {
|
|
12
12
|
constructorArtifact,
|
|
13
13
|
publicKeys: publicKeys ?? PublicKeys.default(),
|
|
14
14
|
constructorArgs: rawArgs,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/cli-wallet",
|
|
3
|
-
"version": "1.0.0-nightly.
|
|
3
|
+
"version": "1.0.0-nightly.20250710",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": "./dest/cmds/index.js",
|
|
@@ -67,17 +67,17 @@
|
|
|
67
67
|
]
|
|
68
68
|
},
|
|
69
69
|
"dependencies": {
|
|
70
|
-
"@aztec/accounts": "1.0.0-nightly.
|
|
71
|
-
"@aztec/aztec.js": "1.0.0-nightly.
|
|
72
|
-
"@aztec/cli": "1.0.0-nightly.
|
|
73
|
-
"@aztec/entrypoints": "1.0.0-nightly.
|
|
74
|
-
"@aztec/ethereum": "1.0.0-nightly.
|
|
75
|
-
"@aztec/foundation": "1.0.0-nightly.
|
|
76
|
-
"@aztec/kv-store": "1.0.0-nightly.
|
|
77
|
-
"@aztec/noir-contracts.js": "1.0.0-nightly.
|
|
78
|
-
"@aztec/noir-noirc_abi": "1.0.0-nightly.
|
|
79
|
-
"@aztec/pxe": "1.0.0-nightly.
|
|
80
|
-
"@aztec/stdlib": "1.0.0-nightly.
|
|
70
|
+
"@aztec/accounts": "1.0.0-nightly.20250710",
|
|
71
|
+
"@aztec/aztec.js": "1.0.0-nightly.20250710",
|
|
72
|
+
"@aztec/cli": "1.0.0-nightly.20250710",
|
|
73
|
+
"@aztec/entrypoints": "1.0.0-nightly.20250710",
|
|
74
|
+
"@aztec/ethereum": "1.0.0-nightly.20250710",
|
|
75
|
+
"@aztec/foundation": "1.0.0-nightly.20250710",
|
|
76
|
+
"@aztec/kv-store": "1.0.0-nightly.20250710",
|
|
77
|
+
"@aztec/noir-contracts.js": "1.0.0-nightly.20250710",
|
|
78
|
+
"@aztec/noir-noirc_abi": "1.0.0-nightly.20250710",
|
|
79
|
+
"@aztec/pxe": "1.0.0-nightly.20250710",
|
|
80
|
+
"@aztec/stdlib": "1.0.0-nightly.20250710",
|
|
81
81
|
"commander": "^12.1.0",
|
|
82
82
|
"inquirer": "^10.1.8",
|
|
83
83
|
"source-map-support": "^0.5.21",
|
package/src/bin/index.ts
CHANGED
|
@@ -120,7 +120,7 @@ async function main() {
|
|
|
120
120
|
await db.init(await openStoreAt(dataDir));
|
|
121
121
|
let protocolContractsRegistered;
|
|
122
122
|
try {
|
|
123
|
-
protocolContractsRegistered = !!(await db.retrieveAlias('contracts:
|
|
123
|
+
protocolContractsRegistered = !!(await db.retrieveAlias('contracts:ContractClassRegistry'));
|
|
124
124
|
// eslint-disable-next-line no-empty
|
|
125
125
|
} catch {}
|
|
126
126
|
if (!protocolContractsRegistered) {
|
|
@@ -69,17 +69,17 @@ export async function createAccount(
|
|
|
69
69
|
} else {
|
|
70
70
|
const wallet = await account.getWallet();
|
|
71
71
|
const deployOpts: DeployAccountOptions = {
|
|
72
|
-
|
|
73
|
-
|
|
72
|
+
skipClassPublication: !publicDeploy,
|
|
73
|
+
skipInstancePublication: !publicDeploy,
|
|
74
74
|
skipInitialization: skipInitialization,
|
|
75
75
|
...(await feeOpts.toDeployAccountOpts(wallet)),
|
|
76
76
|
};
|
|
77
77
|
/*
|
|
78
|
-
* This is usually handled by accountManager.
|
|
78
|
+
* This is usually handled by accountManager.create(), but we're accessing the lower
|
|
79
79
|
* level method to get gas and timings. That means we have to replicate some of the logic here.
|
|
80
|
-
* In case we're
|
|
80
|
+
* In case we're initializing and/or publishing our own account, we need to hijack the payment method for the fee,
|
|
81
81
|
* wrapping it in the one that will make use of the freshly deployed account's
|
|
82
|
-
* entrypoint. For reference, see aztec.js/src/account_manager.ts:
|
|
82
|
+
* entrypoint. For reference, see aztec.js/src/account_manager.ts:sendAccountContractSetupTx()
|
|
83
83
|
* Also, salt and universalDeploy have to be explicitly provided
|
|
84
84
|
*/
|
|
85
85
|
deployOpts.fee =
|
package/src/cmds/deploy.ts
CHANGED
|
@@ -16,8 +16,8 @@ export async function deploy(
|
|
|
16
16
|
rawArgs: any[],
|
|
17
17
|
salt: Fr | undefined,
|
|
18
18
|
initializer: string | undefined,
|
|
19
|
-
|
|
20
|
-
|
|
19
|
+
skipInstancePublication: boolean,
|
|
20
|
+
skipClassPublication: boolean,
|
|
21
21
|
skipInitialization: boolean | undefined,
|
|
22
22
|
universalDeploy: boolean | undefined,
|
|
23
23
|
wait: boolean,
|
|
@@ -52,9 +52,9 @@ export async function deploy(
|
|
|
52
52
|
...(await feeOpts.toDeployAccountOpts(wallet)),
|
|
53
53
|
contractAddressSalt: salt,
|
|
54
54
|
universalDeploy,
|
|
55
|
-
|
|
55
|
+
skipClassPublication,
|
|
56
56
|
skipInitialization,
|
|
57
|
-
|
|
57
|
+
skipInstancePublication,
|
|
58
58
|
};
|
|
59
59
|
|
|
60
60
|
if (feeOpts.estimateOnly) {
|
|
@@ -46,8 +46,8 @@ export async function deployAccount(
|
|
|
46
46
|
let txReceipt;
|
|
47
47
|
|
|
48
48
|
const deployOpts: DeployAccountOptions = {
|
|
49
|
-
|
|
50
|
-
|
|
49
|
+
skipInstancePublication: !publicDeploy,
|
|
50
|
+
skipClassPublication: !registerClass,
|
|
51
51
|
...(await feeOpts.toDeployAccountOpts(wallet)),
|
|
52
52
|
};
|
|
53
53
|
|
package/src/cmds/index.ts
CHANGED
|
@@ -81,7 +81,10 @@ export function injectCommands(
|
|
|
81
81
|
'--skip-initialization',
|
|
82
82
|
'Skip initializing the account contract. Useful for publicly deploying an existing account.',
|
|
83
83
|
)
|
|
84
|
-
.option(
|
|
84
|
+
.option(
|
|
85
|
+
'--public-deploy',
|
|
86
|
+
'Publishes the account contract instance (and the class, if needed). Needed if the contract contains public functions.',
|
|
87
|
+
)
|
|
85
88
|
.option(
|
|
86
89
|
'-p, --public-key <string>',
|
|
87
90
|
'Public key that identifies a private signing key stored outside of the wallet. Used for ECDSA SSH accounts over the secp256r1 curve.',
|
|
@@ -159,7 +162,10 @@ export function injectCommands(
|
|
|
159
162
|
'--register-class',
|
|
160
163
|
'Register the contract class (useful for when the contract class has not been deployed yet).',
|
|
161
164
|
)
|
|
162
|
-
.option(
|
|
165
|
+
.option(
|
|
166
|
+
'--public-deploy',
|
|
167
|
+
'Publishes the account contract instance (and the class, if needed). Needed if the contract contains public functions.',
|
|
168
|
+
)
|
|
163
169
|
.addOption(createVerboseOption());
|
|
164
170
|
|
|
165
171
|
addOptions(deployAccountCommand, FeeOptsWithFeePayer.getOptions()).action(async (_options, command) => {
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
type AztecNode,
|
|
5
5
|
type Fr,
|
|
6
6
|
PublicKeys,
|
|
7
|
-
|
|
7
|
+
getContractInstanceFromInstantiationParams,
|
|
8
8
|
} from '@aztec/aztec.js';
|
|
9
9
|
import { getContractArtifact } from '@aztec/cli/cli-utils';
|
|
10
10
|
import type { LogFn } from '@aztec/foundation/log';
|
|
@@ -28,7 +28,7 @@ export async function registerContract(
|
|
|
28
28
|
let contractInstance = await node.getContract(address);
|
|
29
29
|
if (!contractInstance) {
|
|
30
30
|
log(`Contract not found in the node at ${address}. Computing instance locally...`);
|
|
31
|
-
contractInstance = await
|
|
31
|
+
contractInstance = await getContractInstanceFromInstantiationParams(contractArtifact, {
|
|
32
32
|
constructorArtifact,
|
|
33
33
|
publicKeys: publicKeys ?? PublicKeys.default(),
|
|
34
34
|
constructorArgs: rawArgs,
|