@aztec/cli 0.0.0-test.0

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 (218) hide show
  1. package/README.md +449 -0
  2. package/dest/cmds/contracts/index.d.ts +4 -0
  3. package/dest/cmds/contracts/index.d.ts.map +1 -0
  4. package/dest/cmds/contracts/index.js +12 -0
  5. package/dest/cmds/contracts/inspect_contract.d.ts +3 -0
  6. package/dest/cmds/contracts/inspect_contract.d.ts.map +1 -0
  7. package/dest/cmds/contracts/inspect_contract.js +37 -0
  8. package/dest/cmds/contracts/parse_parameter_struct.d.ts +3 -0
  9. package/dest/cmds/contracts/parse_parameter_struct.d.ts.map +1 -0
  10. package/dest/cmds/contracts/parse_parameter_struct.js +13 -0
  11. package/dest/cmds/devnet/bootstrap_network.d.ts +3 -0
  12. package/dest/cmds/devnet/bootstrap_network.d.ts.map +1 -0
  13. package/dest/cmds/devnet/bootstrap_network.js +196 -0
  14. package/dest/cmds/devnet/faucet.d.ts +4 -0
  15. package/dest/cmds/devnet/faucet.d.ts.map +1 -0
  16. package/dest/cmds/devnet/faucet.js +26 -0
  17. package/dest/cmds/devnet/index.d.ts +4 -0
  18. package/dest/cmds/devnet/index.d.ts.map +1 -0
  19. package/dest/cmds/devnet/index.js +14 -0
  20. package/dest/cmds/infrastructure/index.d.ts +4 -0
  21. package/dest/cmds/infrastructure/index.d.ts.map +1 -0
  22. package/dest/cmds/infrastructure/index.js +24 -0
  23. package/dest/cmds/infrastructure/sequencers.d.ts +13 -0
  24. package/dest/cmds/infrastructure/sequencers.d.ts.map +1 -0
  25. package/dest/cmds/infrastructure/sequencers.js +93 -0
  26. package/dest/cmds/infrastructure/setup_l2_contract.d.ts +3 -0
  27. package/dest/cmds/infrastructure/setup_l2_contract.d.ts.map +1 -0
  28. package/dest/cmds/infrastructure/setup_l2_contract.js +43 -0
  29. package/dest/cmds/l1/advance_epoch.d.ts +3 -0
  30. package/dest/cmds/l1/advance_epoch.d.ts.map +1 -0
  31. package/dest/cmds/l1/advance_epoch.js +10 -0
  32. package/dest/cmds/l1/assume_proven_through.d.ts +3 -0
  33. package/dest/cmds/l1/assume_proven_through.d.ts.map +1 -0
  34. package/dest/cmds/l1/assume_proven_through.js +12 -0
  35. package/dest/cmds/l1/bridge_erc20.d.ts +4 -0
  36. package/dest/cmds/l1/bridge_erc20.d.ts.map +1 -0
  37. package/dest/cmds/l1/bridge_erc20.js +31 -0
  38. package/dest/cmds/l1/create_l1_account.d.ts +3 -0
  39. package/dest/cmds/l1/create_l1_account.d.ts.map +1 -0
  40. package/dest/cmds/l1/create_l1_account.js +15 -0
  41. package/dest/cmds/l1/deploy_l1_contracts.d.ts +4 -0
  42. package/dest/cmds/l1/deploy_l1_contracts.d.ts.map +1 -0
  43. package/dest/cmds/l1/deploy_l1_contracts.js +29 -0
  44. package/dest/cmds/l1/deploy_l1_verifier.d.ts +5 -0
  45. package/dest/cmds/l1/deploy_l1_verifier.d.ts.map +1 -0
  46. package/dest/cmds/l1/deploy_l1_verifier.js +54 -0
  47. package/dest/cmds/l1/deploy_new_rollup.d.ts +4 -0
  48. package/dest/cmds/l1/deploy_new_rollup.d.ts.map +1 -0
  49. package/dest/cmds/l1/deploy_new_rollup.js +19 -0
  50. package/dest/cmds/l1/get_l1_addresses.d.ts +4 -0
  51. package/dest/cmds/l1/get_l1_addresses.d.ts.map +1 -0
  52. package/dest/cmds/l1/get_l1_addresses.js +18 -0
  53. package/dest/cmds/l1/get_l1_balance.d.ts +4 -0
  54. package/dest/cmds/l1/get_l1_balance.d.ts.map +1 -0
  55. package/dest/cmds/l1/get_l1_balance.js +33 -0
  56. package/dest/cmds/l1/governance_utils.d.ts +50 -0
  57. package/dest/cmds/l1/governance_utils.d.ts.map +1 -0
  58. package/dest/cmds/l1/governance_utils.js +85 -0
  59. package/dest/cmds/l1/index.d.ts +4 -0
  60. package/dest/cmds/l1/index.d.ts.map +1 -0
  61. package/dest/cmds/l1/index.js +208 -0
  62. package/dest/cmds/l1/prover_stats.d.ts +14 -0
  63. package/dest/cmds/l1/prover_stats.d.ts.map +1 -0
  64. package/dest/cmds/l1/prover_stats.js +145 -0
  65. package/dest/cmds/l1/update_l1_validators.d.ts +30 -0
  66. package/dest/cmds/l1/update_l1_validators.d.ts.map +1 -0
  67. package/dest/cmds/l1/update_l1_validators.js +186 -0
  68. package/dest/cmds/misc/compute_selector.d.ts +3 -0
  69. package/dest/cmds/misc/compute_selector.d.ts.map +1 -0
  70. package/dest/cmds/misc/compute_selector.js +5 -0
  71. package/dest/cmds/misc/example_contracts.d.ts +3 -0
  72. package/dest/cmds/misc/example_contracts.d.ts.map +1 -0
  73. package/dest/cmds/misc/example_contracts.js +6 -0
  74. package/dest/cmds/misc/generate_bootnode_enr.d.ts +3 -0
  75. package/dest/cmds/misc/generate_bootnode_enr.d.ts.map +1 -0
  76. package/dest/cmds/misc/generate_bootnode_enr.js +5 -0
  77. package/dest/cmds/misc/generate_p2p_private_key.d.ts +3 -0
  78. package/dest/cmds/misc/generate_p2p_private_key.d.ts.map +1 -0
  79. package/dest/cmds/misc/generate_p2p_private_key.js +7 -0
  80. package/dest/cmds/misc/generate_secret_and_hash.d.ts +3 -0
  81. package/dest/cmds/misc/generate_secret_and_hash.d.ts.map +1 -0
  82. package/dest/cmds/misc/generate_secret_and_hash.js +11 -0
  83. package/dest/cmds/misc/generate_secret_key.d.ts +5 -0
  84. package/dest/cmds/misc/generate_secret_key.d.ts.map +1 -0
  85. package/dest/cmds/misc/generate_secret_key.js +6 -0
  86. package/dest/cmds/misc/index.d.ts +4 -0
  87. package/dest/cmds/misc/index.d.ts.map +1 -0
  88. package/dest/cmds/misc/index.js +44 -0
  89. package/dest/cmds/misc/setup_contracts.d.ts +7 -0
  90. package/dest/cmds/misc/setup_contracts.d.ts.map +1 -0
  91. package/dest/cmds/misc/setup_contracts.js +27 -0
  92. package/dest/cmds/misc/update/common.d.ts +17 -0
  93. package/dest/cmds/misc/update/common.d.ts.map +1 -0
  94. package/dest/cmds/misc/update/common.js +3 -0
  95. package/dest/cmds/misc/update/github.d.ts +4 -0
  96. package/dest/cmds/misc/update/github.d.ts.map +1 -0
  97. package/dest/cmds/misc/update/github.js +3 -0
  98. package/dest/cmds/misc/update/noir.d.ts +10 -0
  99. package/dest/cmds/misc/update/noir.d.ts.map +1 -0
  100. package/dest/cmds/misc/update/noir.js +45 -0
  101. package/dest/cmds/misc/update/npm.d.ts +34 -0
  102. package/dest/cmds/misc/update/npm.d.ts.map +1 -0
  103. package/dest/cmds/misc/update/npm.js +127 -0
  104. package/dest/cmds/misc/update/utils.d.ts +14 -0
  105. package/dest/cmds/misc/update/utils.d.ts.map +1 -0
  106. package/dest/cmds/misc/update/utils.js +38 -0
  107. package/dest/cmds/misc/update.d.ts +3 -0
  108. package/dest/cmds/misc/update.d.ts.map +1 -0
  109. package/dest/cmds/misc/update.js +52 -0
  110. package/dest/cmds/pxe/add_contract.d.ts +5 -0
  111. package/dest/cmds/pxe/add_contract.d.ts.map +1 -0
  112. package/dest/cmds/pxe/add_contract.js +29 -0
  113. package/dest/cmds/pxe/block_number.d.ts +3 -0
  114. package/dest/cmds/pxe/block_number.d.ts.map +1 -0
  115. package/dest/cmds/pxe/block_number.js +10 -0
  116. package/dest/cmds/pxe/get_account.d.ts +4 -0
  117. package/dest/cmds/pxe/get_account.d.ts.map +1 -0
  118. package/dest/cmds/pxe/get_account.js +10 -0
  119. package/dest/cmds/pxe/get_accounts.d.ts +3 -0
  120. package/dest/cmds/pxe/get_accounts.d.ts.map +1 -0
  121. package/dest/cmds/pxe/get_accounts.js +25 -0
  122. package/dest/cmds/pxe/get_block.d.ts +3 -0
  123. package/dest/cmds/pxe/get_block.d.ts.map +1 -0
  124. package/dest/cmds/pxe/get_block.js +9 -0
  125. package/dest/cmds/pxe/get_contract_data.d.ts +4 -0
  126. package/dest/cmds/pxe/get_contract_data.d.ts.map +1 -0
  127. package/dest/cmds/pxe/get_contract_data.js +31 -0
  128. package/dest/cmds/pxe/get_current_base_fee.d.ts +3 -0
  129. package/dest/cmds/pxe/get_current_base_fee.d.ts.map +1 -0
  130. package/dest/cmds/pxe/get_current_base_fee.js +7 -0
  131. package/dest/cmds/pxe/get_l1_to_l2_message_witness.d.ts +4 -0
  132. package/dest/cmds/pxe/get_l1_to_l2_message_witness.d.ts.map +1 -0
  133. package/dest/cmds/pxe/get_l1_to_l2_message_witness.js +11 -0
  134. package/dest/cmds/pxe/get_logs.d.ts +4 -0
  135. package/dest/cmds/pxe/get_logs.d.ts.map +1 -0
  136. package/dest/cmds/pxe/get_logs.js +51 -0
  137. package/dest/cmds/pxe/get_node_info.d.ts +3 -0
  138. package/dest/cmds/pxe/get_node_info.d.ts.map +1 -0
  139. package/dest/cmds/pxe/get_node_info.js +61 -0
  140. package/dest/cmds/pxe/get_pxe_info.d.ts +3 -0
  141. package/dest/cmds/pxe/get_pxe_info.d.ts.map +1 -0
  142. package/dest/cmds/pxe/get_pxe_info.js +11 -0
  143. package/dest/cmds/pxe/index.d.ts +4 -0
  144. package/dest/cmds/pxe/index.d.ts.map +1 -0
  145. package/dest/cmds/pxe/index.js +55 -0
  146. package/dest/utils/aztec.d.ts +68 -0
  147. package/dest/utils/aztec.d.ts.map +1 -0
  148. package/dest/utils/aztec.js +174 -0
  149. package/dest/utils/commands.d.ts +143 -0
  150. package/dest/utils/commands.d.ts.map +1 -0
  151. package/dest/utils/commands.js +303 -0
  152. package/dest/utils/encoding.d.ts +15 -0
  153. package/dest/utils/encoding.d.ts.map +1 -0
  154. package/dest/utils/encoding.js +103 -0
  155. package/dest/utils/github.d.ts +4 -0
  156. package/dest/utils/github.d.ts.map +1 -0
  157. package/dest/utils/github.js +3 -0
  158. package/dest/utils/index.d.ts +5 -0
  159. package/dest/utils/index.d.ts.map +1 -0
  160. package/dest/utils/index.js +4 -0
  161. package/dest/utils/inspect.d.ts +17 -0
  162. package/dest/utils/inspect.d.ts.map +1 -0
  163. package/dest/utils/inspect.js +177 -0
  164. package/package.json +125 -0
  165. package/src/cmds/contracts/index.ts +34 -0
  166. package/src/cmds/contracts/inspect_contract.ts +51 -0
  167. package/src/cmds/contracts/parse_parameter_struct.ts +27 -0
  168. package/src/cmds/devnet/bootstrap_network.ts +318 -0
  169. package/src/cmds/devnet/faucet.ts +33 -0
  170. package/src/cmds/devnet/index.ts +60 -0
  171. package/src/cmds/infrastructure/index.ts +55 -0
  172. package/src/cmds/infrastructure/sequencers.ts +103 -0
  173. package/src/cmds/infrastructure/setup_l2_contract.ts +47 -0
  174. package/src/cmds/l1/advance_epoch.ts +12 -0
  175. package/src/cmds/l1/assume_proven_through.ts +19 -0
  176. package/src/cmds/l1/bridge_erc20.ts +52 -0
  177. package/src/cmds/l1/create_l1_account.ts +17 -0
  178. package/src/cmds/l1/deploy_l1_contracts.ts +65 -0
  179. package/src/cmds/l1/deploy_l1_verifier.ts +105 -0
  180. package/src/cmds/l1/deploy_new_rollup.ts +58 -0
  181. package/src/cmds/l1/get_l1_addresses.ts +30 -0
  182. package/src/cmds/l1/get_l1_balance.ts +44 -0
  183. package/src/cmds/l1/governance_utils.ts +187 -0
  184. package/src/cmds/l1/index.ts +558 -0
  185. package/src/cmds/l1/prover_stats.ts +202 -0
  186. package/src/cmds/l1/update_l1_validators.ts +238 -0
  187. package/src/cmds/misc/compute_selector.ts +7 -0
  188. package/src/cmds/misc/example_contracts.ts +12 -0
  189. package/src/cmds/misc/generate_bootnode_enr.ts +12 -0
  190. package/src/cmds/misc/generate_p2p_private_key.ts +10 -0
  191. package/src/cmds/misc/generate_secret_and_hash.ts +15 -0
  192. package/src/cmds/misc/generate_secret_key.ts +5 -0
  193. package/src/cmds/misc/index.ts +92 -0
  194. package/src/cmds/misc/setup_contracts.ts +40 -0
  195. package/src/cmds/misc/update/common.ts +16 -0
  196. package/src/cmds/misc/update/github.ts +3 -0
  197. package/src/cmds/misc/update/noir.ts +57 -0
  198. package/src/cmds/misc/update/npm.ts +154 -0
  199. package/src/cmds/misc/update/utils.ts +50 -0
  200. package/src/cmds/misc/update.ts +78 -0
  201. package/src/cmds/pxe/add_contract.ts +41 -0
  202. package/src/cmds/pxe/block_number.ts +9 -0
  203. package/src/cmds/pxe/get_account.ts +16 -0
  204. package/src/cmds/pxe/get_accounts.ts +35 -0
  205. package/src/cmds/pxe/get_block.ts +10 -0
  206. package/src/cmds/pxe/get_contract_data.ts +51 -0
  207. package/src/cmds/pxe/get_current_base_fee.ts +9 -0
  208. package/src/cmds/pxe/get_l1_to_l2_message_witness.ts +25 -0
  209. package/src/cmds/pxe/get_logs.ts +66 -0
  210. package/src/cmds/pxe/get_node_info.ts +71 -0
  211. package/src/cmds/pxe/get_pxe_info.ts +13 -0
  212. package/src/cmds/pxe/index.ts +170 -0
  213. package/src/utils/aztec.ts +250 -0
  214. package/src/utils/commands.ts +384 -0
  215. package/src/utils/encoding.ts +117 -0
  216. package/src/utils/github.ts +3 -0
  217. package/src/utils/index.ts +4 -0
  218. package/src/utils/inspect.ts +208 -0
@@ -0,0 +1,45 @@
1
+ import { parseNoirPackageConfig } from '@aztec/foundation/noir';
2
+ import TOML from '@iarna/toml';
3
+ import { readFile } from 'fs/promises';
4
+ import { join, relative, resolve } from 'path';
5
+ import { atomicUpdateFile, prettyPrintNargoToml } from './utils.js';
6
+ /**
7
+ * Updates Aztec.nr dependencies
8
+ * @param contractPath - Path to the contract to be updated
9
+ * @param tag - The tag to update to
10
+ * @param log - Logging function
11
+ */ export async function updateAztecNr(contractPath, tag, log) {
12
+ const configFilepath = resolve(join(contractPath, 'Nargo.toml'));
13
+ const packageConfig = parseNoirPackageConfig(TOML.parse(await readFile(configFilepath, 'utf-8')));
14
+ const changes = {
15
+ dependencies: [],
16
+ file: configFilepath
17
+ };
18
+ log(`Updating Aztec.nr libraries to ${tag} in ${relative(process.cwd(), changes.file)}`);
19
+ for (const dep of Object.values(packageConfig.dependencies)){
20
+ if (!('git' in dep)) {
21
+ continue;
22
+ }
23
+ // remove trailing slash
24
+ const gitUrl = dep.git.toLowerCase().replace(/\/$/, '');
25
+ if (gitUrl !== 'https://github.com/aztecprotocol/aztec-packages') {
26
+ continue;
27
+ }
28
+ if (dep.tag !== tag) {
29
+ // show the Aztec.nr package name rather than the lib name
30
+ const dirParts = dep.directory?.split('/') ?? [];
31
+ changes.dependencies.push({
32
+ name: dirParts.slice(-2).join('/'),
33
+ from: dep.tag,
34
+ to: tag
35
+ });
36
+ dep.tag = tag;
37
+ dep.directory = dep.directory?.replace('yarn-project/', 'noir-projects/');
38
+ }
39
+ }
40
+ if (changes.dependencies.length > 0) {
41
+ const contents = prettyPrintNargoToml(packageConfig);
42
+ await atomicUpdateFile(configFilepath, contents);
43
+ }
44
+ return changes;
45
+ }
@@ -0,0 +1,34 @@
1
+ import type { LogFn } from '@aztec/foundation/log';
2
+ import { type SemVer } from 'semver';
3
+ import type { DependencyChanges } from './common.js';
4
+ /**
5
+ * Looks up a package.json file and returns its contents
6
+ * @param projectPath - Path to Nodejs project
7
+ * @returns The parsed package.json
8
+ */
9
+ export declare function readPackageJson(projectPath: string): Promise<{
10
+ /** dependencies */
11
+ dependencies?: Record<string, string>;
12
+ /** devDependencies */
13
+ devDependencies?: Record<string, string>;
14
+ }>;
15
+ /**
16
+ * Queries the npm registry for the latest version of a package
17
+ * @param packageName - The package to query
18
+ * @param distTag - The distribution tag
19
+ * @returns The latest version of the package on that distribution tag
20
+ */
21
+ export declare function getNewestVersion(packageName: string, distTag?: string): Promise<SemVer>;
22
+ /**
23
+ * Updates a project's \@aztec/* dependencies to the specific version
24
+ * @param projectPath - Path to Nodejs project
25
+ * @param aztecVersion - The version to update to
26
+ * @returns True if the project was updated
27
+ */
28
+ export declare function updateAztecDeps(projectPath: string, aztecVersion: SemVer, log: LogFn): Promise<DependencyChanges>;
29
+ /**
30
+ * Updates a project's yarn.lock or package-lock.json
31
+ * @param projectPath - Path to Nodejs project
32
+ */
33
+ export declare function updateLockfile(projectPath: string, log: LogFn): void;
34
+ //# sourceMappingURL=npm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"npm.d.ts","sourceRoot":"","sources":["../../../../src/cmds/misc/update/npm.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAMnD,OAAO,EAAE,KAAK,MAAM,EAAS,MAAM,QAAQ,CAAC;AAE5C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAYrD;;;;GAIG;AACH,wBAAsB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC;IAClE,mBAAmB;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,sBAAsB;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC1C,CAAC,CAKD;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,SAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAc/F;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,CACnC,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,GAAG,EAAE,KAAK,GACT,OAAO,CAAC,iBAAiB,CAAC,CAuD5B;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,GAAG,IAAI,CAuBpE"}
@@ -0,0 +1,127 @@
1
+ import { spawnSync } from 'child_process';
2
+ import { existsSync } from 'fs';
3
+ import { readFile } from 'fs/promises';
4
+ import { join, relative, resolve } from 'path';
5
+ import { parse } from 'semver';
6
+ import { atomicUpdateFile } from './utils.js';
7
+ const deprecatedNpmPackages = new Set([
8
+ '@aztec/cli',
9
+ '@aztec/aztec-sandbox'
10
+ ]);
11
+ const npmDeprecationMessage = `
12
+ The following packages have been deprecated and will no longer be updated on the npm registry:
13
+ ${Array.from(deprecatedNpmPackages).map((pkg)=>` - ${pkg}`).join('\n')}
14
+ Remove them from package.json
15
+ `;
16
+ /**
17
+ * Looks up a package.json file and returns its contents
18
+ * @param projectPath - Path to Nodejs project
19
+ * @returns The parsed package.json
20
+ */ export async function readPackageJson(projectPath) {
21
+ const configFilepath = resolve(join(projectPath, 'package.json'));
22
+ const pkg = JSON.parse(await readFile(configFilepath, 'utf-8'));
23
+ return pkg;
24
+ }
25
+ /**
26
+ * Queries the npm registry for the latest version of a package
27
+ * @param packageName - The package to query
28
+ * @param distTag - The distribution tag
29
+ * @returns The latest version of the package on that distribution tag
30
+ */ export async function getNewestVersion(packageName, distTag = 'latest') {
31
+ const url = new URL(packageName, 'https://registry.npmjs.org/');
32
+ const response = await fetch(url);
33
+ if (!response.ok) {
34
+ throw new Error(`Failed to fetch ${url}`);
35
+ }
36
+ const body = await response.json();
37
+ const latestVersion = parse(body['dist-tags'][distTag]);
38
+ if (!latestVersion) {
39
+ throw new Error(`Failed to get latest version from registry`);
40
+ }
41
+ return latestVersion;
42
+ }
43
+ /**
44
+ * Updates a project's \@aztec/* dependencies to the specific version
45
+ * @param projectPath - Path to Nodejs project
46
+ * @param aztecVersion - The version to update to
47
+ * @returns True if the project was updated
48
+ */ export async function updateAztecDeps(projectPath, aztecVersion, log) {
49
+ const pkg = await readPackageJson(projectPath);
50
+ const changes = {
51
+ file: resolve(join(projectPath, 'package.json')),
52
+ dependencies: []
53
+ };
54
+ log(`Updating @aztec packages to ${aztecVersion} in ${relative(process.cwd(), changes.file)}`);
55
+ const version = aztecVersion.version;
56
+ let detectedDeprecatedPackages = false;
57
+ for (const depType of [
58
+ 'dependencies',
59
+ 'devDependencies'
60
+ ]){
61
+ const dependencies = pkg[depType];
62
+ if (!dependencies) {
63
+ continue;
64
+ }
65
+ for (const name of Object.keys(dependencies)){
66
+ if (!name.startsWith('@aztec/')) {
67
+ continue;
68
+ }
69
+ // different release schedule
70
+ if (name === '@aztec/aztec-ui') {
71
+ continue;
72
+ }
73
+ if (deprecatedNpmPackages.has(name)) {
74
+ detectedDeprecatedPackages = true;
75
+ continue;
76
+ }
77
+ if (dependencies[name] !== version) {
78
+ changes.dependencies.push({
79
+ name,
80
+ from: dependencies[name],
81
+ to: version
82
+ });
83
+ dependencies[name] = version;
84
+ }
85
+ }
86
+ }
87
+ if (detectedDeprecatedPackages) {
88
+ log(npmDeprecationMessage);
89
+ }
90
+ if (changes.dependencies.length > 0) {
91
+ const contents = JSON.stringify(pkg, null, 2) + '\n';
92
+ await atomicUpdateFile(resolve(join(projectPath, 'package.json')), contents);
93
+ }
94
+ return changes;
95
+ }
96
+ /**
97
+ * Updates a project's yarn.lock or package-lock.json
98
+ * @param projectPath - Path to Nodejs project
99
+ */ export function updateLockfile(projectPath, log) {
100
+ const isNpm = existsSync(resolve(join(projectPath, 'package-lock.json')));
101
+ const isYarn = existsSync(resolve(join(projectPath, 'yarn.lock')));
102
+ const isPnpm = existsSync(resolve(join(projectPath, 'pnpm-lock.yaml')));
103
+ if (isPnpm) {
104
+ spawnSync('pnpm', [
105
+ 'install'
106
+ ], {
107
+ cwd: projectPath,
108
+ stdio: 'inherit'
109
+ });
110
+ } else if (isYarn) {
111
+ spawnSync('yarn', [
112
+ 'install'
113
+ ], {
114
+ cwd: projectPath,
115
+ stdio: 'inherit'
116
+ });
117
+ } else if (isNpm) {
118
+ spawnSync('npm', [
119
+ 'install'
120
+ ], {
121
+ cwd: projectPath,
122
+ stdio: 'inherit'
123
+ });
124
+ } else {
125
+ log(`No lockfile found in ${projectPath}. Skipping lockfile update...`);
126
+ }
127
+ }
@@ -0,0 +1,14 @@
1
+ import type { NoirPackageConfig } from '@aztec/foundation/noir';
2
+ /**
3
+ * Updates a file in place atomically.
4
+ * @param filePath - Path to file
5
+ * @param contents - New contents to write
6
+ */
7
+ export declare function atomicUpdateFile(filePath: string, contents: string): Promise<void>;
8
+ /**
9
+ * Pretty prints Nargo.toml contents to a string
10
+ * @param config - Nargo.toml contents
11
+ * @returns The Nargo.toml contents as a string
12
+ */
13
+ export declare function prettyPrintNargoToml(config: NoirPackageConfig): string;
14
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/cmds/misc/update/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAMhE;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,iBAqBxE;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,CAUtE"}
@@ -0,0 +1,38 @@
1
+ import TOML from '@iarna/toml';
2
+ import { CommanderError } from 'commander';
3
+ import { rename, writeFile } from 'fs/promises';
4
+ /**
5
+ * Updates a file in place atomically.
6
+ * @param filePath - Path to file
7
+ * @param contents - New contents to write
8
+ */ export async function atomicUpdateFile(filePath, contents) {
9
+ const tmpFilepath = filePath + '.tmp';
10
+ try {
11
+ await writeFile(tmpFilepath, contents, {
12
+ // let's crash if the tmp file already exists
13
+ flag: 'wx'
14
+ });
15
+ await rename(tmpFilepath, filePath);
16
+ } catch (e) {
17
+ if (e instanceof Error && 'code' in e && e.code === 'EEXIST') {
18
+ const commanderError = new CommanderError(1, e.code, `Temporary file already exists: ${tmpFilepath}. Delete this file and try again.`);
19
+ commanderError.nestedError = e.message;
20
+ throw commanderError;
21
+ } else {
22
+ throw e;
23
+ }
24
+ }
25
+ }
26
+ /**
27
+ * Pretty prints Nargo.toml contents to a string
28
+ * @param config - Nargo.toml contents
29
+ * @returns The Nargo.toml contents as a string
30
+ */ export function prettyPrintNargoToml(config) {
31
+ const withoutDependencies = Object.fromEntries(Object.entries(config).filter(([key])=>key !== 'dependencies'));
32
+ const partialToml = TOML.stringify(withoutDependencies);
33
+ const dependenciesToml = Object.entries(config.dependencies).map(([name, dep])=>{
34
+ const depToml = TOML.stringify.value(dep);
35
+ return `${name} = ${depToml}`;
36
+ });
37
+ return partialToml + '\n[dependencies]\n' + dependenciesToml.join('\n') + '\n';
38
+ }
@@ -0,0 +1,3 @@
1
+ import type { LogFn } from '@aztec/foundation/log';
2
+ export declare function updateProject(projectPath: string, contracts: string[], aztecVersion: string, log: LogFn): Promise<void>;
3
+ //# sourceMappingURL=update.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/cmds/misc/update.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAanD,wBAAsB,aAAa,CACjC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EAAE,EACnB,YAAY,EAAE,MAAM,EACpB,GAAG,EAAE,KAAK,GACT,OAAO,CAAC,IAAI,CAAC,CA+Cf"}
@@ -0,0 +1,52 @@
1
+ /* eslint-disable jsdoc/require-jsdoc */ import { relative, resolve } from 'path';
2
+ import { parse } from 'semver';
3
+ import { GITHUB_TAG_PREFIX } from './update/github.js';
4
+ import { updateAztecNr } from './update/noir.js';
5
+ import { getNewestVersion, updateAztecDeps, updateLockfile } from './update/npm.js';
6
+ const AZTECJS_PACKAGE = '@aztec/aztec.js';
7
+ const UPDATE_DOCS_URL = 'https://docs.aztec.network/developers/guides/local_env/versions-updating';
8
+ export async function updateProject(projectPath, contracts, aztecVersion, log) {
9
+ const targetAztecVersion = aztecVersion === 'latest' ? await getNewestVersion(AZTECJS_PACKAGE, 'latest') : parse(aztecVersion);
10
+ if (!targetAztecVersion) {
11
+ throw new Error(`Invalid aztec version ${aztecVersion}`);
12
+ }
13
+ const projectDependencyChanges = [];
14
+ try {
15
+ const npmChanges = await updateAztecDeps(resolve(process.cwd(), projectPath), targetAztecVersion, log);
16
+ if (npmChanges.dependencies.length > 0) {
17
+ updateLockfile(projectPath, log);
18
+ }
19
+ projectDependencyChanges.push(npmChanges);
20
+ } catch (err) {
21
+ if (err instanceof Error && 'code' in err && err.code === 'ENOENT') {
22
+ log(`No package.json found in ${projectPath}. Skipping npm update...`);
23
+ } else {
24
+ throw err;
25
+ }
26
+ }
27
+ for (const contract of contracts){
28
+ try {
29
+ projectDependencyChanges.push(await updateAztecNr(resolve(process.cwd(), projectPath, contract), `${GITHUB_TAG_PREFIX}-v${targetAztecVersion.version}`, log));
30
+ } catch (err) {
31
+ if (err instanceof Error && 'code' in err && err.code === 'ENOENT') {
32
+ log(`No Nargo.toml found in ${relative(process.cwd(), contract)}. Skipping...`);
33
+ } else {
34
+ throw err;
35
+ }
36
+ }
37
+ }
38
+ log(`To update Docker containers follow instructions at ${UPDATE_DOCS_URL}`);
39
+ projectDependencyChanges.forEach((changes)=>{
40
+ printChanges(changes, log);
41
+ });
42
+ }
43
+ function printChanges(changes, log) {
44
+ log(`\nIn ${relative(process.cwd(), changes.file)}:`);
45
+ if (changes.dependencies.length === 0) {
46
+ log(' No changes');
47
+ } else {
48
+ changes.dependencies.forEach(({ name, from, to })=>{
49
+ log(` Updated ${name} from ${from} to ${to}`);
50
+ });
51
+ }
52
+ }
@@ -0,0 +1,5 @@
1
+ import { AztecAddress, type Fr } from '@aztec/aztec.js';
2
+ import type { LogFn, Logger } from '@aztec/foundation/log';
3
+ import { PublicKeys } from '@aztec/stdlib/keys';
4
+ export declare function addContract(rpcUrl: string, contractArtifactPath: string, address: AztecAddress, initializationHash: Fr, salt: Fr, publicKeys: PublicKeys, deployer: AztecAddress | undefined, debugLogger: Logger, log: LogFn): Promise<void>;
5
+ //# sourceMappingURL=add_contract.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add_contract.d.ts","sourceRoot":"","sources":["../../../src/cmds/pxe/add_contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAoC,KAAK,EAAE,EAAgC,MAAM,iBAAiB,CAAC;AAExH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAIhD,wBAAsB,WAAW,CAC/B,MAAM,EAAE,MAAM,EACd,oBAAoB,EAAE,MAAM,EAC5B,OAAO,EAAE,YAAY,EACrB,kBAAkB,EAAE,EAAE,EACtB,IAAI,EAAE,EAAE,EACR,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,YAAY,GAAG,SAAS,EAClC,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,KAAK,iBAuBX"}
@@ -0,0 +1,29 @@
1
+ import { AztecAddress, getContractClassFromArtifact } from '@aztec/aztec.js';
2
+ import { createCompatibleClient } from '@aztec/aztec.js';
3
+ import { computeContractAddressFromInstance } from '@aztec/stdlib/contract';
4
+ import { PublicKeys } from '@aztec/stdlib/keys';
5
+ import { getContractArtifact } from '../../utils/aztec.js';
6
+ export async function addContract(rpcUrl, contractArtifactPath, address, initializationHash, salt, publicKeys, deployer, debugLogger, log) {
7
+ const artifact = await getContractArtifact(contractArtifactPath, log);
8
+ const contractClass = await getContractClassFromArtifact(artifact);
9
+ const instance = {
10
+ version: 1,
11
+ salt,
12
+ initializationHash,
13
+ currentContractClassId: contractClass.id,
14
+ originalContractClassId: contractClass.id,
15
+ publicKeys: publicKeys ?? PublicKeys.default(),
16
+ address,
17
+ deployer: deployer ?? AztecAddress.ZERO
18
+ };
19
+ const computed = await computeContractAddressFromInstance(instance);
20
+ if (!computed.equals(address)) {
21
+ throw new Error(`Contract address ${address.toString()} does not match computed address ${computed.toString()}`);
22
+ }
23
+ const client = await createCompatibleClient(rpcUrl, debugLogger);
24
+ await client.registerContract({
25
+ artifact,
26
+ instance
27
+ });
28
+ log(`\nContract added to PXE at ${address.toString()} with class ${instance.currentContractClassId.toString()}\n`);
29
+ }
@@ -0,0 +1,3 @@
1
+ import type { LogFn, Logger } from '@aztec/foundation/log';
2
+ export declare function blockNumber(rpcUrl: string, debugLogger: Logger, log: LogFn): Promise<void>;
3
+ //# sourceMappingURL=block_number.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"block_number.d.ts","sourceRoot":"","sources":["../../../src/cmds/pxe/block_number.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE3D,wBAAsB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,iBAKhF"}
@@ -0,0 +1,10 @@
1
+ import { createCompatibleClient } from '@aztec/aztec.js';
2
+ export async function blockNumber(rpcUrl, debugLogger, log) {
3
+ const client = await createCompatibleClient(rpcUrl, debugLogger);
4
+ const [latestNum, provenNum] = await Promise.all([
5
+ client.getBlockNumber(),
6
+ client.getProvenBlockNumber()
7
+ ]);
8
+ log(`Latest block: ${latestNum}`);
9
+ log(`Proven block: ${provenNum}`);
10
+ }
@@ -0,0 +1,4 @@
1
+ import type { AztecAddress } from '@aztec/aztec.js';
2
+ import type { LogFn, Logger } from '@aztec/foundation/log';
3
+ export declare function getAccount(aztecAddress: AztecAddress, rpcUrl: string, debugLogger: Logger, log: LogFn): Promise<void>;
4
+ //# sourceMappingURL=get_account.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get_account.d.ts","sourceRoot":"","sources":["../../../src/cmds/pxe/get_account.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE3D,wBAAsB,UAAU,CAAC,YAAY,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,iBAW3G"}
@@ -0,0 +1,10 @@
1
+ import { createCompatibleClient } from '@aztec/aztec.js';
2
+ export async function getAccount(aztecAddress, rpcUrl, debugLogger, log) {
3
+ const client = await createCompatibleClient(rpcUrl, debugLogger);
4
+ const account = (await client.getRegisteredAccounts()).find((completeAddress)=>completeAddress.address.equals(aztecAddress));
5
+ if (!account) {
6
+ log(`Unknown account ${aztecAddress.toString()}`);
7
+ } else {
8
+ log(account.toReadableString());
9
+ }
10
+ }
@@ -0,0 +1,3 @@
1
+ import type { LogFn, Logger } from '@aztec/foundation/log';
2
+ export declare function getAccounts(rpcUrl: string, json: boolean, debugLogger: Logger, log: LogFn, logJson: (output: any) => void): Promise<void>;
3
+ //# sourceMappingURL=get_accounts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get_accounts.d.ts","sourceRoot":"","sources":["../../../src/cmds/pxe/get_accounts.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE3D,wBAAsB,WAAW,CAC/B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,OAAO,EACb,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,KAAK,EACV,OAAO,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,iBA0B/B"}
@@ -0,0 +1,25 @@
1
+ import { createCompatibleClient } from '@aztec/aztec.js';
2
+ export async function getAccounts(rpcUrl, json, debugLogger, log, logJson) {
3
+ const client = await createCompatibleClient(rpcUrl, debugLogger);
4
+ const accounts = await client.getRegisteredAccounts();
5
+ if (!accounts.length) {
6
+ if (json) {
7
+ logJson([]);
8
+ } else {
9
+ log('No accounts found.');
10
+ }
11
+ return;
12
+ }
13
+ if (json) {
14
+ logJson(accounts.map((a)=>({
15
+ address: a.address.toString(),
16
+ publicKeys: a.publicKeys.toString(),
17
+ partialAddress: a.partialAddress.toString()
18
+ })));
19
+ } else {
20
+ log(`Accounts found: \n`);
21
+ for (const account of accounts){
22
+ log(account.toReadableString());
23
+ }
24
+ }
25
+ }
@@ -0,0 +1,3 @@
1
+ import type { LogFn, Logger } from '@aztec/foundation/log';
2
+ export declare function getBlock(rpcUrl: string, maybeBlockNumber: number | undefined, debugLogger: Logger, log: LogFn): Promise<void>;
3
+ //# sourceMappingURL=get_block.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get_block.d.ts","sourceRoot":"","sources":["../../../src/cmds/pxe/get_block.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAI3D,wBAAsB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,iBAInH"}
@@ -0,0 +1,9 @@
1
+ import { createCompatibleClient } from '@aztec/aztec.js';
2
+ import { inspectBlock } from '../../utils/inspect.js';
3
+ export async function getBlock(rpcUrl, maybeBlockNumber, debugLogger, log) {
4
+ const client = await createCompatibleClient(rpcUrl, debugLogger);
5
+ const blockNumber = maybeBlockNumber ?? await client.getBlockNumber();
6
+ await inspectBlock(client, blockNumber, log, {
7
+ showTxs: true
8
+ });
9
+ }
@@ -0,0 +1,4 @@
1
+ import type { AztecAddress } from '@aztec/aztec.js';
2
+ import type { LogFn, Logger } from '@aztec/foundation/log';
3
+ export declare function getContractData(rpcUrl: string, contractAddress: AztecAddress, includeBytecode: boolean, debugLogger: Logger, log: LogFn): Promise<void>;
4
+ //# sourceMappingURL=get_contract_data.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get_contract_data.d.ts","sourceRoot":"","sources":["../../../src/cmds/pxe/get_contract_data.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE3D,wBAAsB,eAAe,CACnC,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,YAAY,EAC7B,eAAe,EAAE,OAAO,EACxB,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,KAAK,iBAyCX"}
@@ -0,0 +1,31 @@
1
+ import { createCompatibleClient } from '@aztec/aztec.js';
2
+ export async function getContractData(rpcUrl, contractAddress, includeBytecode, debugLogger, log) {
3
+ const client = await createCompatibleClient(rpcUrl, debugLogger);
4
+ const { contractInstance: instance, isContractInitialized: isInitialized, isContractPubliclyDeployed: isPubliclyDeployed } = await client.getContractMetadata(contractAddress);
5
+ const contractClass = includeBytecode && instance && (await client.getContractClassMetadata(instance?.currentContractClassId)).contractClass;
6
+ const isPrivatelyDeployed = !!instance;
7
+ const initStr = isInitialized ? 'initialized' : 'not initialized';
8
+ const addrStr = contractAddress.toString();
9
+ if (isPubliclyDeployed && isPrivatelyDeployed) {
10
+ log(`Contract is ${initStr} and publicly deployed at ${addrStr}`);
11
+ } else if (isPrivatelyDeployed) {
12
+ log(`Contract is ${initStr} and registered in the local pxe at ${addrStr} but not publicly deployed`);
13
+ } else if (isPubliclyDeployed) {
14
+ log(`Contract is ${initStr} and publicly deployed at ${addrStr} but not registered in the local pxe`);
15
+ } else if (isInitialized) {
16
+ log(`Contract is initialized but not publicly deployed nor registered in the local pxe at ${addrStr}`);
17
+ } else {
18
+ log(`No contract found at ${addrStr}`);
19
+ }
20
+ if (instance) {
21
+ log(``);
22
+ Object.entries(instance).forEach(([key, value])=>{
23
+ const capitalized = key.charAt(0).toUpperCase() + key.slice(1);
24
+ log(`${capitalized}: ${value.toString()}`);
25
+ });
26
+ if (contractClass) {
27
+ log(`\nBytecode: ${contractClass.packedBytecode.toString('base64')}`);
28
+ }
29
+ log('');
30
+ }
31
+ }
@@ -0,0 +1,3 @@
1
+ import type { LogFn, Logger } from '@aztec/foundation/log';
2
+ export declare function getCurrentBaseFee(rpcUrl: string, debugLogger: Logger, log: LogFn): Promise<void>;
3
+ //# sourceMappingURL=get_current_base_fee.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get_current_base_fee.d.ts","sourceRoot":"","sources":["../../../src/cmds/pxe/get_current_base_fee.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE3D,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,iBAItF"}
@@ -0,0 +1,7 @@
1
+ import { createCompatibleClient } from '@aztec/aztec.js';
2
+ import { jsonStringify } from '@aztec/foundation/json-rpc';
3
+ export async function getCurrentBaseFee(rpcUrl, debugLogger, log) {
4
+ const client = await createCompatibleClient(rpcUrl, debugLogger);
5
+ const fees = await client.getCurrentBaseFees();
6
+ log(`Current fees: ${jsonStringify(fees)}`);
7
+ }
@@ -0,0 +1,4 @@
1
+ import { type AztecAddress, type Fr } from '@aztec/aztec.js';
2
+ import type { LogFn, Logger } from '@aztec/foundation/log';
3
+ export declare function getL1ToL2MessageWitness(rpcUrl: string, contractAddress: AztecAddress, messageHash: Fr, secret: Fr, debugLogger: Logger, log: LogFn): Promise<void>;
4
+ //# sourceMappingURL=get_l1_to_l2_message_witness.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get_l1_to_l2_message_witness.d.ts","sourceRoot":"","sources":["../../../src/cmds/pxe/get_l1_to_l2_message_witness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,EAAE,EAA0B,MAAM,iBAAiB,CAAC;AACrF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE3D,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,YAAY,EAC7B,WAAW,EAAE,EAAE,EACf,MAAM,EAAE,EAAE,EACV,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,KAAK,iBAeX"}
@@ -0,0 +1,11 @@
1
+ import { createCompatibleClient } from '@aztec/aztec.js';
2
+ export async function getL1ToL2MessageWitness(rpcUrl, contractAddress, messageHash, secret, debugLogger, log) {
3
+ const client = await createCompatibleClient(rpcUrl, debugLogger);
4
+ const messageWitness = await client.getL1ToL2MembershipWitness(contractAddress, messageHash, secret);
5
+ log(messageWitness === undefined ? `
6
+ L1 to L2 Message not found.
7
+ ` : `
8
+ L1 to L2 message index: ${messageWitness[0]}
9
+ L1 to L2 message sibling path: ${messageWitness[1]}
10
+ `);
11
+ }
@@ -0,0 +1,4 @@
1
+ import type { AztecAddress, LogId, TxHash } from '@aztec/aztec.js';
2
+ import type { LogFn, Logger } from '@aztec/foundation/log';
3
+ export declare function getLogs(txHash: TxHash, fromBlock: number, toBlock: number, afterLog: LogId, contractAddress: AztecAddress, rpcUrl: string, follow: boolean, debugLogger: Logger, log: LogFn): Promise<void>;
4
+ //# sourceMappingURL=get_logs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get_logs.d.ts","sourceRoot":"","sources":["../../../src/cmds/pxe/get_logs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAa,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAE9E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAG3D,wBAAsB,OAAO,CAC3B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,KAAK,EACf,eAAe,EAAE,YAAY,EAC7B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,OAAO,EACf,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,KAAK,iBAmDX"}
@@ -0,0 +1,51 @@
1
+ import { createCompatibleClient } from '@aztec/aztec.js';
2
+ import { sleep } from '@aztec/foundation/sleep';
3
+ export async function getLogs(txHash, fromBlock, toBlock, afterLog, contractAddress, rpcUrl, follow, debugLogger, log) {
4
+ const pxe = await createCompatibleClient(rpcUrl, debugLogger);
5
+ if (follow) {
6
+ if (txHash) {
7
+ throw Error('Cannot use --follow with --tx-hash');
8
+ }
9
+ if (toBlock) {
10
+ throw Error('Cannot use --follow with --to-block');
11
+ }
12
+ }
13
+ const filter = {
14
+ txHash,
15
+ fromBlock,
16
+ toBlock,
17
+ afterLog,
18
+ contractAddress
19
+ };
20
+ const fetchLogs = async ()=>{
21
+ const response = await pxe.getPublicLogs(filter);
22
+ const logs = response.logs;
23
+ if (!logs.length) {
24
+ const filterOptions = Object.entries(filter).filter(([, value])=>value !== undefined).map(([key, value])=>`${key}: ${value}`).join(', ');
25
+ if (!follow) {
26
+ log(`No logs found for filter: {${filterOptions}}`);
27
+ }
28
+ } else {
29
+ if (!follow && !filter.afterLog) {
30
+ log('Logs found: \n');
31
+ }
32
+ logs.forEach((publicLog)=>log(publicLog.toHumanReadable()));
33
+ // Set the continuation parameter for the following requests
34
+ filter.afterLog = logs[logs.length - 1].id;
35
+ }
36
+ return response.maxLogsHit;
37
+ };
38
+ if (follow) {
39
+ log('Fetching logs...');
40
+ while(true){
41
+ const maxLogsHit = await fetchLogs();
42
+ if (!maxLogsHit) {
43
+ await sleep(1000);
44
+ }
45
+ }
46
+ } else {
47
+ while(await fetchLogs()){
48
+ // Keep fetching logs until we reach the end.
49
+ }
50
+ }
51
+ }
@@ -0,0 +1,3 @@
1
+ import type { LogFn, Logger } from '@aztec/foundation/log';
2
+ export declare function getNodeInfo(rpcUrl: string, pxeRequest: boolean, debugLogger: Logger, json: boolean, log: LogFn, logJson: (output: any) => void): Promise<void>;
3
+ //# sourceMappingURL=get_node_info.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get_node_info.d.ts","sourceRoot":"","sources":["../../../src/cmds/pxe/get_node_info.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE3D,wBAAsB,WAAW,CAC/B,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,OAAO,EACnB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,OAAO,EACb,GAAG,EAAE,KAAK,EACV,OAAO,EAAE,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,iBA6D/B"}