@aztec/cli-wallet 0.0.1-commit.96bb3f7 → 0.0.1-commit.993d240

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.
Files changed (59) hide show
  1. package/dest/bin/index.js +1 -1
  2. package/dest/cmds/authorize_action.d.ts +2 -2
  3. package/dest/cmds/authorize_action.d.ts.map +1 -1
  4. package/dest/cmds/authorize_action.js +4 -2
  5. package/dest/cmds/check_tx.d.ts +1 -1
  6. package/dest/cmds/check_tx.d.ts.map +1 -1
  7. package/dest/cmds/check_tx.js +45 -14
  8. package/dest/cmds/create_account.d.ts +4 -3
  9. package/dest/cmds/create_account.d.ts.map +1 -1
  10. package/dest/cmds/create_account.js +42 -25
  11. package/dest/cmds/create_authwit.d.ts +2 -2
  12. package/dest/cmds/create_authwit.d.ts.map +1 -1
  13. package/dest/cmds/deploy.d.ts +5 -4
  14. package/dest/cmds/deploy.d.ts.map +1 -1
  15. package/dest/cmds/deploy.js +64 -32
  16. package/dest/cmds/deploy_account.d.ts +4 -3
  17. package/dest/cmds/deploy_account.d.ts.map +1 -1
  18. package/dest/cmds/deploy_account.js +37 -20
  19. package/dest/cmds/get_fee_juice_balance.d.ts +5 -0
  20. package/dest/cmds/get_fee_juice_balance.d.ts.map +1 -0
  21. package/dest/cmds/get_fee_juice_balance.js +27 -0
  22. package/dest/cmds/index.d.ts +1 -1
  23. package/dest/cmds/index.d.ts.map +1 -1
  24. package/dest/cmds/index.js +31 -15
  25. package/dest/cmds/send.d.ts +5 -4
  26. package/dest/cmds/send.d.ts.map +1 -1
  27. package/dest/cmds/send.js +32 -16
  28. package/dest/cmds/simulate.d.ts +1 -1
  29. package/dest/cmds/simulate.d.ts.map +1 -1
  30. package/dest/cmds/simulate.js +3 -3
  31. package/dest/storage/wallet_db.d.ts +6 -1
  32. package/dest/storage/wallet_db.d.ts.map +1 -1
  33. package/dest/storage/wallet_db.js +60 -31
  34. package/dest/utils/options/fees.d.ts +3 -2
  35. package/dest/utils/options/fees.d.ts.map +1 -1
  36. package/dest/utils/options/fees.js +32 -9
  37. package/dest/utils/options/options.d.ts +2 -2
  38. package/dest/utils/options/options.d.ts.map +1 -1
  39. package/dest/utils/profiling.d.ts +1 -1
  40. package/dest/utils/profiling.d.ts.map +1 -1
  41. package/dest/utils/profiling.js +9 -1
  42. package/dest/utils/wallet.d.ts +15 -5
  43. package/dest/utils/wallet.d.ts.map +1 -1
  44. package/dest/utils/wallet.js +129 -54
  45. package/package.json +17 -16
  46. package/src/bin/index.ts +1 -1
  47. package/src/cmds/authorize_action.ts +1 -1
  48. package/src/cmds/check_tx.ts +50 -19
  49. package/src/cmds/create_account.ts +44 -24
  50. package/src/cmds/deploy.ts +63 -36
  51. package/src/cmds/deploy_account.ts +38 -19
  52. package/src/cmds/get_fee_juice_balance.ts +37 -0
  53. package/src/cmds/index.ts +60 -6
  54. package/src/cmds/send.ts +32 -12
  55. package/src/cmds/simulate.ts +4 -7
  56. package/src/storage/wallet_db.ts +63 -36
  57. package/src/utils/options/fees.ts +39 -9
  58. package/src/utils/profiling.ts +15 -1
  59. package/src/utils/wallet.ts +138 -70
package/dest/bin/index.js CHANGED
@@ -47,7 +47,7 @@ function injectInternalCommands(program, log, db) {
47
47
  return program;
48
48
  }
49
49
  /** CLI wallet main entrypoint */ async function main() {
50
- const walletVersion = getPackageVersion() ?? '0.0.0';
50
+ const walletVersion = getPackageVersion();
51
51
  const db = WalletDB.getInstance();
52
52
  const walletAndNodeWrapper = new CliWalletAndNodeWrapper();
53
53
  const program = new Command('wallet');
@@ -1,5 +1,5 @@
1
1
  import type { AztecAddress } from '@aztec/aztec.js/addresses';
2
2
  import type { Wallet } from '@aztec/aztec.js/wallet';
3
3
  import type { LogFn } from '@aztec/foundation/log';
4
- export declare function authorizeAction(wallet: Wallet, from: AztecAddress, functionName: string, caller: AztecAddress, functionArgsIn: any[], contractArtifactPath: string, contractAddress: AztecAddress, log: LogFn): Promise<import("../../../stdlib/dest/tx/tx_receipt.js").TxReceipt>;
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aG9yaXplX2FjdGlvbi5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NtZHMvYXV0aG9yaXplX2FjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUc5RCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUVyRCxPQUFPLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUluRCx3QkFBc0IsZUFBZSxDQUNuQyxNQUFNLEVBQUUsTUFBTSxFQUNkLElBQUksRUFBRSxZQUFZLEVBQ2xCLFlBQVksRUFBRSxNQUFNLEVBQ3BCLE1BQU0sRUFBRSxZQUFZLEVBQ3BCLGNBQWMsRUFBRSxHQUFHLEVBQUUsRUFDckIsb0JBQW9CLEVBQUUsTUFBTSxFQUM1QixlQUFlLEVBQUUsWUFBWSxFQUM3QixHQUFHLEVBQUUsS0FBSyxzRUE2QlgifQ==
4
+ export declare function authorizeAction(wallet: Wallet, from: AztecAddress, functionName: string, caller: AztecAddress, functionArgsIn: any[], contractArtifactPath: string, contractAddress: AztecAddress, log: LogFn): Promise<import("@aztec/aztec.js/contracts").TxSendResultMined<import("@aztec/stdlib/tx").TxReceipt>>;
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aG9yaXplX2FjdGlvbi5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NtZHMvYXV0aG9yaXplX2FjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUc5RCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUVyRCxPQUFPLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUluRCx3QkFBc0IsZUFBZSxDQUNuQyxNQUFNLEVBQUUsTUFBTSxFQUNkLElBQUksRUFBRSxZQUFZLEVBQ2xCLFlBQVksRUFBRSxNQUFNLEVBQ3BCLE1BQU0sRUFBRSxZQUFZLEVBQ3BCLGNBQWMsRUFBRSxHQUFHLEVBQUUsRUFDckIsb0JBQW9CLEVBQUUsTUFBTSxFQUM1QixlQUFlLEVBQUUsWUFBWSxFQUM3QixHQUFHLEVBQUUsS0FBSyx3R0E2QlgifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"authorize_action.d.ts","sourceRoot":"","sources":["../../src/cmds/authorize_action.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAG9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAErD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAInD,wBAAsB,eAAe,CACnC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,YAAY,EAClB,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,YAAY,EACpB,cAAc,EAAE,GAAG,EAAE,EACrB,oBAAoB,EAAE,MAAM,EAC5B,eAAe,EAAE,YAAY,EAC7B,GAAG,EAAE,KAAK,sEA6BX"}
1
+ {"version":3,"file":"authorize_action.d.ts","sourceRoot":"","sources":["../../src/cmds/authorize_action.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAG9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAErD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAInD,wBAAsB,eAAe,CACnC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,YAAY,EAClB,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,YAAY,EACpB,cAAc,EAAE,GAAG,EAAE,EACrB,oBAAoB,EAAE,MAAM,EAC5B,eAAe,EAAE,YAAY,EAC7B,GAAG,EAAE,KAAK,wGA6BX"}
@@ -13,8 +13,10 @@ export async function authorizeAction(wallet, from, functionName, caller, functi
13
13
  caller,
14
14
  action
15
15
  }, true);
16
- const witness = await setAuthwitnessInteraction.send().wait({
17
- timeout: DEFAULT_TX_TIMEOUT_S
16
+ const witness = await setAuthwitnessInteraction.send({
17
+ wait: {
18
+ timeout: DEFAULT_TX_TIMEOUT_S
19
+ }
18
20
  });
19
21
  log(`Authorized action ${functionName} on contract ${contractAddress} for caller ${caller}`);
20
22
  return witness;
@@ -3,4 +3,4 @@ import type { TxHash } from '@aztec/aztec.js/tx';
3
3
  import type { LogFn } from '@aztec/foundation/log';
4
4
  import type { CLIWallet } from '../utils/wallet.js';
5
5
  export declare function checkTx(wallet: CLIWallet, aztecNode: AztecNode, txHash: TxHash, statusOnly: boolean, log: LogFn): Promise<import("@aztec/aztec.js/tx").TxStatus | undefined>;
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tfdHguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbWRzL2NoZWNrX3R4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXRELE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2pELE9BQU8sS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBSW5ELE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXBELHdCQUFzQixPQUFPLENBQzNCLE1BQU0sRUFBRSxTQUFTLEVBQ2pCLFNBQVMsRUFBRSxTQUFTLEVBQ3BCLE1BQU0sRUFBRSxNQUFNLEVBQ2QsVUFBVSxFQUFFLE9BQU8sRUFDbkIsR0FBRyxFQUFFLEtBQUssOERBUVgifQ==
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tfdHguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbWRzL2NoZWNrX3R4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXRELE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2pELE9BQU8sS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBUW5ELE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXBELHdCQUFzQixPQUFPLENBQzNCLE1BQU0sRUFBRSxTQUFTLEVBQ2pCLFNBQVMsRUFBRSxTQUFTLEVBQ3BCLE1BQU0sRUFBRSxNQUFNLEVBQ2QsVUFBVSxFQUFFLE9BQU8sRUFDbkIsR0FBRyxFQUFFLEtBQUssOERBUVgifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"check_tx.d.ts","sourceRoot":"","sources":["../../src/cmds/check_tx.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAInD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD,wBAAsB,OAAO,CAC3B,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,OAAO,EACnB,GAAG,EAAE,KAAK,8DAQX"}
1
+ {"version":3,"file":"check_tx.d.ts","sourceRoot":"","sources":["../../src/cmds/check_tx.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAQnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD,wBAAsB,OAAO,CAC3B,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,OAAO,EACnB,GAAG,EAAE,KAAK,8DAQX"}
@@ -1,5 +1,5 @@
1
1
  import { ProtocolContractAddress } from '@aztec/aztec.js/protocol';
2
- import { siloNullifier } from '@aztec/stdlib/hash';
2
+ import { computeSiloedPrivateInitializationNullifier, computeSiloedPublicInitializationNullifier, siloNullifier } from '@aztec/stdlib/hash';
3
3
  export async function checkTx(wallet, aztecNode, txHash, statusOnly, log) {
4
4
  if (statusOnly) {
5
5
  const receipt = await aztecNode.getTxReceipt(txHash);
@@ -17,7 +17,10 @@ async function inspectTx(wallet, aztecNode, txHash, log) {
17
17
  ]);
18
18
  // Base tx data
19
19
  log(`Tx ${txHash.toString()}`);
20
- log(` Status: ${receipt.status} ${effectsInBlock ? `(${effectsInBlock.data.revertCode.getDescription()})` : ''}`);
20
+ log(` Status: ${receipt.status}`);
21
+ if (receipt.executionResult) {
22
+ log(` Execution result: ${receipt.executionResult}`);
23
+ }
21
24
  if (receipt.error) {
22
25
  log(` Error: ${receipt.error}`);
23
26
  }
@@ -58,13 +61,15 @@ async function inspectTx(wallet, aztecNode, txHash, log) {
58
61
  // Nullifiers
59
62
  const nullifierCount = effects.nullifiers.length;
60
63
  const { deployNullifiers, initNullifiers, classNullifiers } = await getKnownNullifiers(wallet, artifactMap);
64
+ const accounts = (await wallet.getAccounts()).map((a)=>a.item);
61
65
  if (nullifierCount > 0) {
62
66
  log(' Nullifiers:');
63
67
  for (const nullifier of effects.nullifiers){
64
68
  const deployed = deployNullifiers[nullifier.toString()];
65
69
  const note = deployed ? (await wallet.getNotes({
66
70
  siloedNullifier: nullifier,
67
- contractAddress: deployed
71
+ contractAddress: deployed,
72
+ scopes: accounts
68
73
  }))[0] : undefined;
69
74
  const initialized = initNullifiers[nullifier.toString()];
70
75
  const registered = classNullifiers[nullifier.toString()];
@@ -108,17 +113,22 @@ function toFriendlyAddress(address, artifactMap) {
108
113
  }
109
114
  async function getKnownNullifiers(wallet, artifactMap) {
110
115
  const knownContracts = await wallet.getContracts();
111
- const deployerAddress = ProtocolContractAddress.ContractInstanceRegistry;
112
- const classRegistryAddress = ProtocolContractAddress.ContractClassRegistry;
116
+ const [contractResults, classResults] = await Promise.all([
117
+ Promise.all(knownContracts.map((contract)=>getContractNullifiers(wallet, contract))),
118
+ Promise.all(Object.values(artifactMap).map((artifact)=>getClassNullifier(artifact)))
119
+ ]);
113
120
  const initNullifiers = {};
114
121
  const deployNullifiers = {};
115
122
  const classNullifiers = {};
116
- for (const contract of knownContracts){
117
- initNullifiers[(await siloNullifier(contract, contract.toField())).toString()] = contract;
118
- deployNullifiers[(await siloNullifier(deployerAddress, contract.toField())).toString()] = contract;
123
+ for (const { contract, deployNullifier, privateInitNullifier, publicInitNullifier } of contractResults){
124
+ deployNullifiers[deployNullifier.toString()] = contract;
125
+ if (privateInitNullifier) {
126
+ initNullifiers[privateInitNullifier.toString()] = contract;
127
+ }
128
+ initNullifiers[publicInitNullifier.toString()] = contract;
119
129
  }
120
- for (const artifact of Object.values(artifactMap)){
121
- classNullifiers[(await siloNullifier(classRegistryAddress, artifact.classId)).toString()] = `${artifact.name}Class<${artifact.classId}>`;
130
+ for (const { nullifier, label } of classResults){
131
+ classNullifiers[nullifier.toString()] = label;
122
132
  }
123
133
  return {
124
134
  initNullifiers,
@@ -126,15 +136,36 @@ async function getKnownNullifiers(wallet, artifactMap) {
126
136
  classNullifiers
127
137
  };
128
138
  }
139
+ async function getContractNullifiers(wallet, contract) {
140
+ const deployerAddress = ProtocolContractAddress.ContractInstanceRegistry;
141
+ const deployNullifier = await siloNullifier(deployerAddress, contract.toField());
142
+ const metadata = await wallet.getContractMetadata(contract);
143
+ const privateInitNullifier = metadata.instance ? await computeSiloedPrivateInitializationNullifier(contract, metadata.instance.initializationHash) : undefined;
144
+ const publicInitNullifier = await computeSiloedPublicInitializationNullifier(contract);
145
+ return {
146
+ contract,
147
+ deployNullifier,
148
+ privateInitNullifier,
149
+ publicInitNullifier
150
+ };
151
+ }
152
+ async function getClassNullifier(artifact) {
153
+ const classRegistryAddress = ProtocolContractAddress.ContractClassRegistry;
154
+ const nullifier = await siloNullifier(classRegistryAddress, artifact.classId);
155
+ return {
156
+ nullifier,
157
+ label: `${artifact.name}Class<${artifact.classId}>`
158
+ };
159
+ }
129
160
  async function getKnownArtifacts(wallet) {
130
161
  const knownContractAddresses = await wallet.getContracts();
131
- const knownContracts = (await Promise.all(knownContractAddresses.map((contractAddress)=>wallet.getContractMetadata(contractAddress)))).map((contractMetadata)=>contractMetadata.contractInstance);
162
+ const knownContracts = (await Promise.all(knownContractAddresses.map((contractAddress)=>wallet.getContractMetadata(contractAddress)))).map((contractMetadata)=>contractMetadata.instance);
132
163
  const classIds = [
133
164
  ...new Set(knownContracts.map((contract)=>contract?.currentContractClassId))
134
165
  ];
135
- const knownArtifacts = (await Promise.all(classIds.map((classId)=>classId ? wallet.getContractClassMetadata(classId) : undefined))).map((contractClassMetadata)=>contractClassMetadata ? {
136
- ...contractClassMetadata.artifact,
137
- classId: contractClassMetadata.contractClass?.id
166
+ const knownArtifacts = (await Promise.all(classIds.map((classId)=>classId ? wallet.getContractArtifact(classId) : undefined))).map((artifact, index)=>artifact ? {
167
+ ...artifact,
168
+ classId: classIds[index]
138
169
  } : undefined);
139
170
  const map = {};
140
171
  for (const instance of knownContracts){
@@ -1,14 +1,15 @@
1
1
  import { AztecAddress } from '@aztec/aztec.js/addresses';
2
- import type { AztecNode } from '@aztec/aztec.js/node';
2
+ import { type AztecNode } from '@aztec/aztec.js/node';
3
3
  import { Fr } from '@aztec/foundation/curves/bn254';
4
4
  import type { LogFn, Logger } from '@aztec/foundation/log';
5
+ import { TxStatus } from '@aztec/stdlib/tx';
5
6
  import type { AccountType } from '../utils/constants.js';
6
7
  import { CLIFeeArgs } from '../utils/options/fees.js';
7
8
  import { CLIWallet } from '../utils/wallet.js';
8
- export declare function createAccount(wallet: CLIWallet, aztecNode: AztecNode, accountType: AccountType, secretKey: Fr | undefined, publicKey: string | undefined, alias: string | undefined, deployer: AztecAddress | undefined, registerOnly: boolean, skipInitialization: boolean, publicDeploy: boolean, registerClass: boolean, wait: boolean, feeOpts: CLIFeeArgs, json: boolean, verbose: boolean, debugLogger: Logger, log: LogFn): Promise<{
9
+ export declare function createAccount(wallet: CLIWallet, aztecNode: AztecNode, accountType: AccountType, secretKey: Fr | undefined, salt: Fr | undefined, publicKey: string | undefined, alias: string | undefined, deployer: AztecAddress | undefined, registerOnly: boolean, skipInitialization: boolean, publicDeploy: boolean, registerClass: boolean, wait: boolean, feeOpts: CLIFeeArgs, waitForStatus: TxStatus, json: boolean, verbose: boolean, debugLogger: Logger, log: LogFn): Promise<{
9
10
  alias: string | undefined;
10
11
  address: AztecAddress;
11
12
  secretKey: Fr;
12
13
  salt: Fr;
13
14
  }>;
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlX2FjY291bnQuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbWRzL2NyZWF0ZV9hY2NvdW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUd0RCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEQsT0FBTyxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRzNELE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUV0RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFL0Msd0JBQXNCLGFBQWEsQ0FDakMsTUFBTSxFQUFFLFNBQVMsRUFDakIsU0FBUyxFQUFFLFNBQVMsRUFDcEIsV0FBVyxFQUFFLFdBQVcsRUFDeEIsU0FBUyxFQUFFLEVBQUUsR0FBRyxTQUFTLEVBQ3pCLFNBQVMsRUFBRSxNQUFNLEdBQUcsU0FBUyxFQUM3QixLQUFLLEVBQUUsTUFBTSxHQUFHLFNBQVMsRUFDekIsUUFBUSxFQUFFLFlBQVksR0FBRyxTQUFTLEVBQ2xDLFlBQVksRUFBRSxPQUFPLEVBQ3JCLGtCQUFrQixFQUFFLE9BQU8sRUFDM0IsWUFBWSxFQUFFLE9BQU8sRUFDckIsYUFBYSxFQUFFLE9BQU8sRUFDdEIsSUFBSSxFQUFFLE9BQU8sRUFDYixPQUFPLEVBQUUsVUFBVSxFQUNuQixJQUFJLEVBQUUsT0FBTyxFQUNiLE9BQU8sRUFBRSxPQUFPLEVBQ2hCLFdBQVcsRUFBRSxNQUFNLEVBQ25CLEdBQUcsRUFBRSxLQUFLOzs7OztHQWlIWCJ9
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlX2FjY291bnQuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbWRzL2NyZWF0ZV9hY2NvdW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsS0FBSyxTQUFTLEVBQWEsTUFBTSxzQkFBc0IsQ0FBQztBQUdqRSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEQsT0FBTyxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzNELE9BQU8sRUFBK0IsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFHekUsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDekQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXRELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUUvQyx3QkFBc0IsYUFBYSxDQUNqQyxNQUFNLEVBQUUsU0FBUyxFQUNqQixTQUFTLEVBQUUsU0FBUyxFQUNwQixXQUFXLEVBQUUsV0FBVyxFQUN4QixTQUFTLEVBQUUsRUFBRSxHQUFHLFNBQVMsRUFDekIsSUFBSSxFQUFFLEVBQUUsR0FBRyxTQUFTLEVBQ3BCLFNBQVMsRUFBRSxNQUFNLEdBQUcsU0FBUyxFQUM3QixLQUFLLEVBQUUsTUFBTSxHQUFHLFNBQVMsRUFDekIsUUFBUSxFQUFFLFlBQVksR0FBRyxTQUFTLEVBQ2xDLFlBQVksRUFBRSxPQUFPLEVBQ3JCLGtCQUFrQixFQUFFLE9BQU8sRUFDM0IsWUFBWSxFQUFFLE9BQU8sRUFDckIsYUFBYSxFQUFFLE9BQU8sRUFDdEIsSUFBSSxFQUFFLE9BQU8sRUFDYixPQUFPLEVBQUUsVUFBVSxFQUNuQixhQUFhLEVBQUUsUUFBUSxFQUN2QixJQUFJLEVBQUUsT0FBTyxFQUNiLE9BQU8sRUFBRSxPQUFPLEVBQ2hCLFdBQVcsRUFBRSxNQUFNLEVBQ25CLEdBQUcsRUFBRSxLQUFLOzs7OztHQWdJWCJ9
@@ -1 +1 @@
1
- {"version":3,"file":"create_account.d.ts","sourceRoot":"","sources":["../../src/cmds/create_account.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAGtD,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAG3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,wBAAsB,aAAa,CACjC,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,EAAE,GAAG,SAAS,EACzB,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,QAAQ,EAAE,YAAY,GAAG,SAAS,EAClC,YAAY,EAAE,OAAO,EACrB,kBAAkB,EAAE,OAAO,EAC3B,YAAY,EAAE,OAAO,EACrB,aAAa,EAAE,OAAO,EACtB,IAAI,EAAE,OAAO,EACb,OAAO,EAAE,UAAU,EACnB,IAAI,EAAE,OAAO,EACb,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,KAAK;;;;;GAiHX"}
1
+ {"version":3,"file":"create_account.d.ts","sourceRoot":"","sources":["../../src/cmds/create_account.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD,OAAO,EAAE,KAAK,SAAS,EAAa,MAAM,sBAAsB,CAAC;AAGjE,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAA+B,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAGzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,wBAAsB,aAAa,CACjC,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,EAAE,GAAG,SAAS,EACzB,IAAI,EAAE,EAAE,GAAG,SAAS,EACpB,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,QAAQ,EAAE,YAAY,GAAG,SAAS,EAClC,YAAY,EAAE,OAAO,EACrB,kBAAkB,EAAE,OAAO,EAC3B,YAAY,EAAE,OAAO,EACrB,aAAa,EAAE,OAAO,EACtB,IAAI,EAAE,OAAO,EACb,OAAO,EAAE,UAAU,EACnB,aAAa,EAAE,QAAQ,EACvB,IAAI,EAAE,OAAO,EACb,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,KAAK;;;;;GAgIX"}
@@ -1,12 +1,14 @@
1
- import { AztecAddress } from '@aztec/aztec.js/addresses';
1
+ import { NO_FROM } from '@aztec/aztec.js/account';
2
+ import { NO_WAIT } from '@aztec/aztec.js/contracts';
3
+ import { waitForTx } from '@aztec/aztec.js/node';
2
4
  import { prettyPrintJSON } from '@aztec/cli/cli-utils';
3
5
  import { Fr } from '@aztec/foundation/curves/bn254';
4
6
  import { DEFAULT_TX_TIMEOUT_S } from '../utils/cli_wallet_and_node_wrapper.js';
5
7
  import { printProfileResult } from '../utils/profiling.js';
6
- export async function createAccount(wallet, aztecNode, accountType, secretKey, publicKey, alias, deployer, registerOnly, skipInitialization, publicDeploy, registerClass, wait, feeOpts, json, verbose, debugLogger, log) {
8
+ export async function createAccount(wallet, aztecNode, accountType, secretKey, salt, publicKey, alias, deployer, registerOnly, skipInitialization, publicDeploy, registerClass, wait, feeOpts, waitForStatus, json, verbose, debugLogger, log) {
7
9
  secretKey ??= Fr.random();
8
- const account = await wallet.createOrRetrieveAccount(undefined /* address, we don't have it yet */ , secretKey, accountType, Fr.ZERO, publicKey);
9
- const { salt } = account.getInstance();
10
+ const account = await wallet.createOrRetrieveAccount(undefined /* address, we don't have it yet */ , secretKey, accountType, salt, publicKey);
11
+ const instanceSalt = account.getInstance().salt;
10
12
  const { address, publicKeys, partialAddress } = await account.getCompleteAddress();
11
13
  const out = {};
12
14
  if (json) {
@@ -16,7 +18,7 @@ export async function createAccount(wallet, aztecNode, accountType, secretKey, p
16
18
  out.secretKey = secretKey;
17
19
  }
18
20
  out.partialAddress = partialAddress;
19
- out.salt = salt;
21
+ out.salt = instanceSalt;
20
22
  out.initHash = account.getInstance().initializationHash;
21
23
  } else {
22
24
  log(`\nNew account:\n`);
@@ -26,15 +28,15 @@ export async function createAccount(wallet, aztecNode, accountType, secretKey, p
26
28
  log(`Secret key: ${secretKey.toString()}`);
27
29
  }
28
30
  log(`Partial address: ${partialAddress.toString()}`);
29
- log(`Salt: ${salt.toString()}`);
31
+ log(`Salt: ${instanceSalt.toString()}`);
30
32
  log(`Init hash: ${account.getInstance().initializationHash.toString()}`);
31
33
  }
32
- let tx;
34
+ let txHash;
33
35
  let txReceipt;
34
36
  if (!registerOnly) {
35
37
  const { paymentMethod, gasSettings } = await feeOpts.toUserFeeOptions(aztecNode, wallet, address);
36
38
  const delegatedDeployment = deployer && !account.address.equals(deployer);
37
- const from = delegatedDeployment ? deployer : AztecAddress.ZERO;
39
+ const from = delegatedDeployment ? deployer : NO_FROM;
38
40
  const deployAccountOpts = {
39
41
  skipClassPublication: !registerClass,
40
42
  skipInstancePublication: !publicDeploy,
@@ -45,14 +47,18 @@ export async function createAccount(wallet, aztecNode, accountType, secretKey, p
45
47
  gasSettings
46
48
  }
47
49
  };
50
+ const localStart = performance.now();
48
51
  const deployMethod = await account.getDeployMethod();
49
- const { estimatedGas, stats } = await deployMethod.simulate({
52
+ const sim = await deployMethod.simulate({
50
53
  ...deployAccountOpts,
51
54
  fee: {
52
55
  ...deployAccountOpts.fee,
53
56
  estimateGas: true
54
57
  }
55
58
  });
59
+ // estimateGas: true guarantees these fields are present
60
+ const estimatedGas = sim.estimatedGas;
61
+ const stats = sim.stats;
56
62
  if (feeOpts.estimateOnly) {
57
63
  if (json) {
58
64
  out.fee = {
@@ -67,38 +73,49 @@ export async function createAccount(wallet, aztecNode, accountType, secretKey, p
67
73
  };
68
74
  }
69
75
  } else {
70
- tx = deployMethod.send({
76
+ if (verbose) {
77
+ printProfileResult(stats, log);
78
+ }
79
+ if (!json) {
80
+ log(`\nWaiting for account contract deployment...`);
81
+ }
82
+ const sendOpts = {
71
83
  ...deployAccountOpts,
72
84
  fee: deployAccountOpts.fee ? {
73
85
  ...deployAccountOpts.fee,
74
86
  gasSettings: estimatedGas
75
87
  } : undefined
76
- });
77
- if (verbose) {
78
- printProfileResult(stats, log);
79
- }
80
- const txHash = await tx.getTxHash();
81
- debugLogger.debug(`Account contract tx sent with hash ${txHash.toString()}`);
82
- out.txHash = txHash;
88
+ };
89
+ ({ txHash } = await deployMethod.send({
90
+ ...sendOpts,
91
+ wait: NO_WAIT
92
+ }));
93
+ const localTimeMs = performance.now() - localStart;
83
94
  if (wait) {
84
- if (!json) {
85
- log(`\nWaiting for account contract deployment...`);
86
- }
87
- txReceipt = await tx.wait({
88
- timeout: DEFAULT_TX_TIMEOUT_S
95
+ const nodeStart = performance.now();
96
+ txReceipt = await waitForTx(aztecNode, txHash, {
97
+ timeout: DEFAULT_TX_TIMEOUT_S,
98
+ waitForStatus
89
99
  });
100
+ const nodeTimeMs = performance.now() - nodeStart;
90
101
  out.txReceipt = {
91
102
  status: txReceipt.status,
92
103
  transactionFee: txReceipt.transactionFee
93
104
  };
105
+ if (!json) {
106
+ log(` Local processing time: ${(localTimeMs / 1000).toFixed(1)}s`);
107
+ log(` Node inclusion time: ${(nodeTimeMs / 1000).toFixed(1)}s`);
108
+ }
94
109
  }
110
+ debugLogger.debug(`Account contract tx sent with hash ${txHash.toString()}`);
111
+ out.txHash = txHash;
95
112
  }
96
113
  }
97
114
  if (json) {
98
115
  log(prettyPrintJSON(out));
99
116
  } else {
100
- if (tx) {
101
- log(`Deploy tx hash: ${(await tx.getTxHash()).toString()}`);
117
+ if (txHash) {
118
+ log(`Deploy tx hash: ${txHash.toString()}`);
102
119
  }
103
120
  if (txReceipt) {
104
121
  log(`Deploy tx fee: ${txReceipt.transactionFee}`);
@@ -108,6 +125,6 @@ export async function createAccount(wallet, aztecNode, accountType, secretKey, p
108
125
  alias,
109
126
  address,
110
127
  secretKey,
111
- salt
128
+ salt: instanceSalt
112
129
  };
113
130
  }
@@ -1,5 +1,5 @@
1
1
  import type { AztecAddress } from '@aztec/aztec.js/addresses';
2
2
  import type { LogFn } from '@aztec/foundation/log';
3
3
  import type { CLIWallet } from '../utils/wallet.js';
4
- export declare function createAuthwit(wallet: CLIWallet, from: AztecAddress, functionName: string, caller: AztecAddress, functionArgsIn: any[], contractArtifactPath: string, contractAddress: AztecAddress, log: LogFn): Promise<import("../../../stdlib/dest/auth_witness/auth_witness.js").AuthWitness>;
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlX2F1dGh3aXQuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbWRzL2NyZWF0ZV9hdXRod2l0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRzlELE9BQU8sS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRW5ELE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXBELHdCQUFzQixhQUFhLENBQ2pDLE1BQU0sRUFBRSxTQUFTLEVBQ2pCLElBQUksRUFBRSxZQUFZLEVBQ2xCLFlBQVksRUFBRSxNQUFNLEVBQ3BCLE1BQU0sRUFBRSxZQUFZLEVBQ3BCLGNBQWMsRUFBRSxHQUFHLEVBQUUsRUFDckIsb0JBQW9CLEVBQUUsTUFBTSxFQUM1QixlQUFlLEVBQUUsWUFBWSxFQUM3QixHQUFHLEVBQUUsS0FBSyxvRkF1QlgifQ==
4
+ export declare function createAuthwit(wallet: CLIWallet, from: AztecAddress, functionName: string, caller: AztecAddress, functionArgsIn: any[], contractArtifactPath: string, contractAddress: AztecAddress, log: LogFn): Promise<import("@aztec/stdlib/auth-witness").AuthWitness>;
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlX2F1dGh3aXQuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbWRzL2NyZWF0ZV9hdXRod2l0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRzlELE9BQU8sS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRW5ELE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXBELHdCQUFzQixhQUFhLENBQ2pDLE1BQU0sRUFBRSxTQUFTLEVBQ2pCLElBQUksRUFBRSxZQUFZLEVBQ2xCLFlBQVksRUFBRSxNQUFNLEVBQ3BCLE1BQU0sRUFBRSxZQUFZLEVBQ3BCLGNBQWMsRUFBRSxHQUFHLEVBQUUsRUFDckIsb0JBQW9CLEVBQUUsTUFBTSxFQUM1QixlQUFlLEVBQUUsWUFBWSxFQUM3QixHQUFHLEVBQUUsS0FBSyw2REF1QlgifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"create_authwit.d.ts","sourceRoot":"","sources":["../../src/cmds/create_authwit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAG9D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAEnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD,wBAAsB,aAAa,CACjC,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,YAAY,EAClB,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,YAAY,EACpB,cAAc,EAAE,GAAG,EAAE,EACrB,oBAAoB,EAAE,MAAM,EAC5B,eAAe,EAAE,YAAY,EAC7B,GAAG,EAAE,KAAK,oFAuBX"}
1
+ {"version":3,"file":"create_authwit.d.ts","sourceRoot":"","sources":["../../src/cmds/create_authwit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAG9D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAEnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD,wBAAsB,aAAa,CACjC,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,YAAY,EAClB,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,YAAY,EACpB,cAAc,EAAE,GAAG,EAAE,EACrB,oBAAoB,EAAE,MAAM,EAC5B,eAAe,EAAE,YAAY,EAC7B,GAAG,EAAE,KAAK,6DAuBX"}
@@ -1,9 +1,10 @@
1
- import { AztecAddress } from '@aztec/aztec.js/addresses';
1
+ import type { AztecAddress } from '@aztec/aztec.js/addresses';
2
2
  import { Fr } from '@aztec/aztec.js/fields';
3
- import type { AztecNode } from '@aztec/aztec.js/node';
3
+ import { type AztecNode } from '@aztec/aztec.js/node';
4
4
  import type { LogFn, Logger } from '@aztec/foundation/log';
5
5
  import { PublicKeys } from '@aztec/stdlib/keys';
6
+ import type { TxStatus } from '@aztec/stdlib/tx';
6
7
  import { CLIFeeArgs } from '../utils/options/fees.js';
7
8
  import type { CLIWallet } from '../utils/wallet.js';
8
- export declare function deploy(wallet: CLIWallet, node: AztecNode, deployer: AztecAddress, artifactPath: string, json: boolean, publicKeys: PublicKeys | undefined, rawArgs: any[], salt: Fr | undefined, initializer: string | undefined, skipInstancePublication: boolean, skipClassPublication: boolean, skipInitialization: boolean | undefined, wait: boolean, feeOpts: CLIFeeArgs, verbose: boolean, timeout: number | undefined, debugLogger: Logger, log: LogFn): Promise<AztecAddress | undefined>;
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwbG95LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY21kcy9kZXBsb3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBR3pELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1QyxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUV0RCxPQUFPLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFM0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBR2hELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUV0RCxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVwRCx3QkFBc0IsTUFBTSxDQUMxQixNQUFNLEVBQUUsU0FBUyxFQUNqQixJQUFJLEVBQUUsU0FBUyxFQUNmLFFBQVEsRUFBRSxZQUFZLEVBQ3RCLFlBQVksRUFBRSxNQUFNLEVBQ3BCLElBQUksRUFBRSxPQUFPLEVBQ2IsVUFBVSxFQUFFLFVBQVUsR0FBRyxTQUFTLEVBQ2xDLE9BQU8sRUFBRSxHQUFHLEVBQUUsRUFDZCxJQUFJLEVBQUUsRUFBRSxHQUFHLFNBQVMsRUFDcEIsV0FBVyxFQUFFLE1BQU0sR0FBRyxTQUFTLEVBQy9CLHVCQUF1QixFQUFFLE9BQU8sRUFDaEMsb0JBQW9CLEVBQUUsT0FBTyxFQUM3QixrQkFBa0IsRUFBRSxPQUFPLEdBQUcsU0FBUyxFQUN2QyxJQUFJLEVBQUUsT0FBTyxFQUNiLE9BQU8sRUFBRSxVQUFVLEVBQ25CLE9BQU8sRUFBRSxPQUFPLEVBQ2hCLE9BQU8sb0JBQStCLEVBQ3RDLFdBQVcsRUFBRSxNQUFNLEVBQ25CLEdBQUcsRUFBRSxLQUFLLHFDQWdHWCJ9
9
+ export declare function deploy(wallet: CLIWallet, node: AztecNode, deployer: AztecAddress, artifactPath: string, json: boolean, publicKeys: PublicKeys | undefined, rawArgs: any[], salt: Fr | undefined, initializer: string | undefined, skipInstancePublication: boolean, skipClassPublication: boolean, skipInitialization: boolean | undefined, wait: boolean, feeOpts: CLIFeeArgs, waitForStatus: TxStatus, verbose: boolean, timeout: number | undefined, debugLogger: Logger, log: LogFn, universal?: boolean): Promise<AztecAddress>;
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwbG95LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY21kcy9kZXBsb3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFJOUQsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVDLE9BQU8sRUFBRSxLQUFLLFNBQVMsRUFBYSxNQUFNLHNCQUFzQixDQUFDO0FBRWpFLE9BQU8sS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUUzRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDaEQsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFHakQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXRELE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXBELHdCQUFzQixNQUFNLENBQzFCLE1BQU0sRUFBRSxTQUFTLEVBQ2pCLElBQUksRUFBRSxTQUFTLEVBQ2YsUUFBUSxFQUFFLFlBQVksRUFDdEIsWUFBWSxFQUFFLE1BQU0sRUFDcEIsSUFBSSxFQUFFLE9BQU8sRUFDYixVQUFVLEVBQUUsVUFBVSxHQUFHLFNBQVMsRUFDbEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxFQUNkLElBQUksRUFBRSxFQUFFLEdBQUcsU0FBUyxFQUNwQixXQUFXLEVBQUUsTUFBTSxHQUFHLFNBQVMsRUFDL0IsdUJBQXVCLEVBQUUsT0FBTyxFQUNoQyxvQkFBb0IsRUFBRSxPQUFPLEVBQzdCLGtCQUFrQixFQUFFLE9BQU8sR0FBRyxTQUFTLEVBQ3ZDLElBQUksRUFBRSxPQUFPLEVBQ2IsT0FBTyxFQUFFLFVBQVUsRUFDbkIsYUFBYSxFQUFFLFFBQVEsRUFDdkIsT0FBTyxFQUFFLE9BQU8sRUFDaEIsT0FBTyxvQkFBK0IsRUFDdEMsV0FBVyxFQUFFLE1BQU0sRUFDbkIsR0FBRyxFQUFFLEtBQUssRUFDVixTQUFTLENBQUMsRUFBRSxPQUFPLHlCQXNIcEIifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/cmds/deploy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAGzD,OAAO,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAC;AAC5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGhD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD,wBAAsB,MAAM,CAC1B,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,SAAS,EACf,QAAQ,EAAE,YAAY,EACtB,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,IAAI,EAAE,OAAO,EACb,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,OAAO,EAChB,OAAO,oBAA+B,EACtC,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,KAAK,qCAgGX"}
1
+ {"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../src/cmds/deploy.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAI9D,OAAO,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAC;AAC5C,OAAO,EAAE,KAAK,SAAS,EAAa,MAAM,sBAAsB,CAAC;AAEjE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAGjD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD,wBAAsB,MAAM,CAC1B,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,SAAS,EACf,QAAQ,EAAE,YAAY,EACtB,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,IAAI,EAAE,OAAO,EACb,OAAO,EAAE,UAAU,EACnB,aAAa,EAAE,QAAQ,EACvB,OAAO,EAAE,OAAO,EAChB,OAAO,oBAA+B,EACtC,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,KAAK,EACV,SAAS,CAAC,EAAE,OAAO,yBAsHpB"}
@@ -1,19 +1,21 @@
1
- import { AztecAddress } from '@aztec/aztec.js/addresses';
1
+ import { NO_FROM } from '@aztec/aztec.js/account';
2
+ import { NO_WAIT } from '@aztec/aztec.js/contracts';
2
3
  import { ContractDeployer } from '@aztec/aztec.js/deployment';
3
4
  import { Fr } from '@aztec/aztec.js/fields';
5
+ import { waitForTx } from '@aztec/aztec.js/node';
4
6
  import { encodeArgs, getContractArtifact, prettyPrintJSON } from '@aztec/cli/utils';
5
7
  import { getAllFunctionAbis, getInitializer } from '@aztec/stdlib/abi';
6
8
  import { PublicKeys } from '@aztec/stdlib/keys';
7
9
  import { DEFAULT_TX_TIMEOUT_S } from '../utils/cli_wallet_and_node_wrapper.js';
8
10
  import { printProfileResult } from '../utils/profiling.js';
9
- export async function deploy(wallet, node, deployer, artifactPath, json, publicKeys, rawArgs, salt, initializer, skipInstancePublication, skipClassPublication, skipInitialization, wait, feeOpts, verbose, timeout = DEFAULT_TX_TIMEOUT_S, debugLogger, log) {
11
+ export async function deploy(wallet, node, deployer, artifactPath, json, publicKeys, rawArgs, salt, initializer, skipInstancePublication, skipClassPublication, skipInitialization, wait, feeOpts, waitForStatus, verbose, timeout = DEFAULT_TX_TIMEOUT_S, debugLogger, log, universal) {
10
12
  const out = {};
11
13
  salt ??= Fr.random();
12
14
  const contractArtifact = await getContractArtifact(artifactPath, log);
13
15
  const hasInitializer = getAllFunctionAbis(contractArtifact).some((fn)=>fn.isInitializer);
14
16
  const constructorArtifact = hasInitializer ? getInitializer(contractArtifact, initializer) : undefined;
15
17
  // TODO(#12081): Add contractArtifact.noirVersion and check here (via Noir.lock)?
16
- const contractDeployer = new ContractDeployer(contractArtifact, wallet, publicKeys ?? PublicKeys.default(), initializer);
18
+ const contractDeployer = new ContractDeployer(contractArtifact, wallet, initializer);
17
19
  let args = [];
18
20
  if (rawArgs.length > 0) {
19
21
  if (!constructorArtifact) {
@@ -23,27 +25,35 @@ export async function deploy(wallet, node, deployer, artifactPath, json, publicK
23
25
  args = encodeArgs(rawArgs, constructorArtifact.parameters);
24
26
  debugLogger.debug(`Encoded arguments: ${args.join(', ')}`);
25
27
  }
26
- const deploy1 = contractDeployer.deploy(...args);
28
+ const deployInteraction = contractDeployer.deploy(args, {
29
+ salt,
30
+ publicKeys: publicKeys ?? PublicKeys.default(),
31
+ ...universal ? {
32
+ universalDeploy: true
33
+ } : {}
34
+ });
27
35
  const { paymentMethod, gasSettings } = await feeOpts.toUserFeeOptions(node, wallet, deployer);
28
36
  const deployOpts = {
29
37
  fee: {
30
38
  gasSettings,
31
39
  paymentMethod
32
40
  },
33
- from: deployer ?? AztecAddress.ZERO,
34
- contractAddressSalt: salt,
35
- universalDeploy: !deployer,
41
+ from: deployer ?? NO_FROM,
36
42
  skipClassPublication,
37
43
  skipInitialization,
38
44
  skipInstancePublication
39
45
  };
40
- const { estimatedGas, stats } = await deploy1.simulate({
46
+ const localStart = performance.now();
47
+ const sim = await deployInteraction.simulate({
41
48
  ...deployOpts,
42
49
  fee: {
43
50
  ...deployOpts.fee,
44
51
  estimateGas: true
45
52
  }
46
53
  });
54
+ // estimateGas: true guarantees these fields are present
55
+ const estimatedGas = sim.estimatedGas;
56
+ const stats = sim.stats;
47
57
  if (feeOpts.estimateOnly) {
48
58
  if (json) {
49
59
  out.fee = {
@@ -58,43 +68,65 @@ export async function deploy(wallet, node, deployer, artifactPath, json, publicK
58
68
  };
59
69
  }
60
70
  } else {
61
- const tx = deploy1.send(deployOpts);
62
71
  if (verbose) {
63
72
  printProfileResult(stats, log);
64
73
  }
65
- const txHash = await tx.getTxHash();
74
+ const instance = await deployInteraction.getInstance();
75
+ const address = instance.address;
76
+ const partialAddress = await deployInteraction.getPartialAddress();
77
+ const { txHash } = await deployInteraction.send({
78
+ ...deployOpts,
79
+ wait: NO_WAIT
80
+ });
81
+ const localTimeMs = performance.now() - localStart;
66
82
  debugLogger.debug(`Deploy tx sent with hash ${txHash.toString()}`);
67
83
  out.hash = txHash;
68
- const { address, partialAddress } = deploy1;
69
- const instance = await deploy1.getInstance();
70
- if (!json) {
71
- log(`Contract deployed at ${address?.toString()}`);
72
- log(`Contract partial address ${(await partialAddress)?.toString()}`);
73
- log(`Contract init hash ${instance.initializationHash.toString()}`);
74
- log(`Deployment tx hash: ${txHash.toString()}`);
75
- log(`Deployment salt: ${salt.toString()}`);
76
- log(`Deployer: ${instance.deployer.toString()}`);
77
- } else {
78
- out.contract = {
79
- address: address?.toString(),
80
- partialAddress: (await partialAddress)?.toString(),
81
- initializationHash: instance.initializationHash.toString(),
82
- salt: salt.toString()
83
- };
84
- }
85
84
  if (wait) {
86
- const deployed = await tx.wait({
87
- timeout
85
+ const nodeStart = performance.now();
86
+ const receipt = await waitForTx(node, txHash, {
87
+ timeout,
88
+ waitForStatus
88
89
  });
90
+ const nodeTimeMs = performance.now() - nodeStart;
91
+ if (!json) {
92
+ log(`Contract deployed at ${address.toString()}`);
93
+ log(`Contract partial address ${partialAddress.toString()}`);
94
+ log(`Contract init hash ${instance.initializationHash.toString()}`);
95
+ log(`Deployment tx hash: ${txHash.toString()}`);
96
+ log(`Deployment salt: ${salt.toString()}`);
97
+ log(`Deployer: ${instance.deployer.toString()}`);
98
+ log(`Transaction fee: ${receipt.transactionFee?.toString()}`);
99
+ log(` Local processing time: ${(localTimeMs / 1000).toFixed(1)}s`);
100
+ log(` Node inclusion time: ${(nodeTimeMs / 1000).toFixed(1)}s`);
101
+ } else {
102
+ out.contract = {
103
+ address: address.toString(),
104
+ partialAddress: partialAddress.toString(),
105
+ initializationHash: instance.initializationHash.toString(),
106
+ salt: salt.toString(),
107
+ transactionFee: receipt.transactionFee?.toString()
108
+ };
109
+ }
110
+ } else {
89
111
  if (!json) {
90
- log(`Transaction fee: ${deployed.transactionFee?.toString()}`);
112
+ log(`Contract deployed at ${address.toString()}`);
113
+ log(`Contract partial address ${partialAddress.toString()}`);
114
+ log(`Contract init hash ${instance.initializationHash.toString()}`);
115
+ log(`Deployment tx hash: ${txHash.toString()}`);
116
+ log(`Deployment salt: ${salt.toString()}`);
117
+ log(`Deployer: ${instance.deployer.toString()}`);
91
118
  } else {
92
- out.contract.transactionFee = deployed.transactionFee?.toString();
119
+ out.contract = {
120
+ address: address.toString(),
121
+ partialAddress: partialAddress.toString(),
122
+ initializationHash: instance.initializationHash.toString(),
123
+ salt: salt.toString()
124
+ };
93
125
  }
94
126
  }
95
127
  }
96
128
  if (json) {
97
129
  log(prettyPrintJSON(out));
98
130
  }
99
- return deploy1.address;
131
+ return await deployInteraction.getAddress();
100
132
  }
@@ -1,7 +1,8 @@
1
1
  import { AztecAddress } from '@aztec/aztec.js/addresses';
2
- import type { AztecNode } from '@aztec/aztec.js/node';
2
+ import { type AztecNode } from '@aztec/aztec.js/node';
3
3
  import type { LogFn, Logger } from '@aztec/foundation/log';
4
+ import type { TxStatus } from '@aztec/stdlib/tx';
4
5
  import type { CLIFeeArgs } from '../utils/options/fees.js';
5
6
  import type { CLIWallet } from '../utils/wallet.js';
6
- export declare function deployAccount(wallet: CLIWallet, aztecNode: AztecNode, address: AztecAddress, wait: boolean, deployer: AztecAddress | undefined, registerClass: boolean, publicDeploy: boolean, skipInitialization: boolean, feeOpts: CLIFeeArgs, json: boolean, verbose: boolean, debugLogger: Logger, log: LogFn): Promise<void>;
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwbG95X2FjY291bnQuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbWRzL2RlcGxveV9hY2NvdW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUd0RCxPQUFPLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFHM0QsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFM0QsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFcEQsd0JBQXNCLGFBQWEsQ0FDakMsTUFBTSxFQUFFLFNBQVMsRUFDakIsU0FBUyxFQUFFLFNBQVMsRUFDcEIsT0FBTyxFQUFFLFlBQVksRUFDckIsSUFBSSxFQUFFLE9BQU8sRUFDYixRQUFRLEVBQUUsWUFBWSxHQUFHLFNBQVMsRUFDbEMsYUFBYSxFQUFFLE9BQU8sRUFDdEIsWUFBWSxFQUFFLE9BQU8sRUFDckIsa0JBQWtCLEVBQUUsT0FBTyxFQUMzQixPQUFPLEVBQUUsVUFBVSxFQUNuQixJQUFJLEVBQUUsT0FBTyxFQUNiLE9BQU8sRUFBRSxPQUFPLEVBQ2hCLFdBQVcsRUFBRSxNQUFNLEVBQ25CLEdBQUcsRUFBRSxLQUFLLGlCQWdHWCJ9
7
+ export declare function deployAccount(wallet: CLIWallet, aztecNode: AztecNode, address: AztecAddress, wait: boolean, deployer: AztecAddress | undefined, registerClass: boolean, publicDeploy: boolean, skipInitialization: boolean, feeOpts: CLIFeeArgs, waitForStatus: TxStatus, json: boolean, verbose: boolean, debugLogger: Logger, log: LogFn): Promise<void>;
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwbG95X2FjY291bnQuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbWRzL2RlcGxveV9hY2NvdW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsS0FBSyxTQUFTLEVBQWEsTUFBTSxzQkFBc0IsQ0FBQztBQUdqRSxPQUFPLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDM0QsT0FBTyxLQUFLLEVBQXFCLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBR3BFLE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTNELE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXBELHdCQUFzQixhQUFhLENBQ2pDLE1BQU0sRUFBRSxTQUFTLEVBQ2pCLFNBQVMsRUFBRSxTQUFTLEVBQ3BCLE9BQU8sRUFBRSxZQUFZLEVBQ3JCLElBQUksRUFBRSxPQUFPLEVBQ2IsUUFBUSxFQUFFLFlBQVksR0FBRyxTQUFTLEVBQ2xDLGFBQWEsRUFBRSxPQUFPLEVBQ3RCLFlBQVksRUFBRSxPQUFPLEVBQ3JCLGtCQUFrQixFQUFFLE9BQU8sRUFDM0IsT0FBTyxFQUFFLFVBQVUsRUFDbkIsYUFBYSxFQUFFLFFBQVEsRUFDdkIsSUFBSSxFQUFFLE9BQU8sRUFDYixPQUFPLEVBQUUsT0FBTyxFQUNoQixXQUFXLEVBQUUsTUFBTSxFQUNuQixHQUFHLEVBQUUsS0FBSyxpQkErR1gifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"deploy_account.d.ts","sourceRoot":"","sources":["../../src/cmds/deploy_account.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAGtD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAG3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAE3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD,wBAAsB,aAAa,CACjC,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,YAAY,EACrB,IAAI,EAAE,OAAO,EACb,QAAQ,EAAE,YAAY,GAAG,SAAS,EAClC,aAAa,EAAE,OAAO,EACtB,YAAY,EAAE,OAAO,EACrB,kBAAkB,EAAE,OAAO,EAC3B,OAAO,EAAE,UAAU,EACnB,IAAI,EAAE,OAAO,EACb,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,KAAK,iBAgGX"}
1
+ {"version":3,"file":"deploy_account.d.ts","sourceRoot":"","sources":["../../src/cmds/deploy_account.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD,OAAO,EAAE,KAAK,SAAS,EAAa,MAAM,sBAAsB,CAAC;AAGjE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAAqB,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAGpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAE3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD,wBAAsB,aAAa,CACjC,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,YAAY,EACrB,IAAI,EAAE,OAAO,EACb,QAAQ,EAAE,YAAY,GAAG,SAAS,EAClC,aAAa,EAAE,OAAO,EACtB,YAAY,EAAE,OAAO,EACrB,kBAAkB,EAAE,OAAO,EAC3B,OAAO,EAAE,UAAU,EACnB,aAAa,EAAE,QAAQ,EACvB,IAAI,EAAE,OAAO,EACb,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,KAAK,iBA+GX"}