@aztec/cli 0.0.0-test.1 → 0.0.1-fake-c83136db25

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 (222) hide show
  1. package/README.md +1 -427
  2. package/dest/cmds/aztec_node/block_number.d.ts +3 -0
  3. package/dest/cmds/aztec_node/block_number.d.ts.map +1 -0
  4. package/dest/cmds/aztec_node/block_number.js +10 -0
  5. package/dest/cmds/aztec_node/get_block.d.ts +3 -0
  6. package/dest/cmds/aztec_node/get_block.d.ts.map +1 -0
  7. package/dest/cmds/aztec_node/get_block.js +9 -0
  8. package/dest/cmds/aztec_node/get_current_base_fee.d.ts +3 -0
  9. package/dest/cmds/aztec_node/get_current_base_fee.d.ts.map +1 -0
  10. package/dest/cmds/aztec_node/get_current_base_fee.js +7 -0
  11. package/dest/cmds/aztec_node/get_l1_to_l2_message_witness.d.ts +5 -0
  12. package/dest/cmds/aztec_node/get_l1_to_l2_message_witness.d.ts.map +1 -0
  13. package/dest/cmds/aztec_node/get_l1_to_l2_message_witness.js +12 -0
  14. package/dest/cmds/aztec_node/get_logs.d.ts +6 -0
  15. package/dest/cmds/aztec_node/get_logs.d.ts.map +1 -0
  16. package/dest/cmds/{pxe → aztec_node}/get_logs.js +4 -4
  17. package/dest/cmds/aztec_node/get_node_info.d.ts +3 -0
  18. package/dest/cmds/aztec_node/get_node_info.d.ts.map +1 -0
  19. package/dest/cmds/{pxe → aztec_node}/get_node_info.js +14 -15
  20. package/dest/cmds/aztec_node/index.d.ts.map +1 -0
  21. package/dest/cmds/aztec_node/index.js +28 -0
  22. package/dest/cmds/contracts/inspect_contract.d.ts.map +1 -1
  23. package/dest/cmds/contracts/inspect_contract.js +9 -5
  24. package/dest/cmds/infrastructure/index.d.ts +2 -2
  25. package/dest/cmds/infrastructure/index.d.ts.map +1 -1
  26. package/dest/cmds/infrastructure/index.js +8 -9
  27. package/dest/cmds/infrastructure/sequencers.d.ts +4 -4
  28. package/dest/cmds/infrastructure/sequencers.d.ts.map +1 -1
  29. package/dest/cmds/infrastructure/sequencers.js +29 -16
  30. package/dest/cmds/infrastructure/setup_l2_contract.d.ts +1 -1
  31. package/dest/cmds/infrastructure/setup_l2_contract.d.ts.map +1 -1
  32. package/dest/cmds/infrastructure/setup_l2_contract.js +11 -24
  33. package/dest/cmds/l1/advance_epoch.d.ts +1 -1
  34. package/dest/cmds/l1/advance_epoch.d.ts.map +1 -1
  35. package/dest/cmds/l1/advance_epoch.js +8 -6
  36. package/dest/cmds/l1/assume_proven_through.d.ts +1 -1
  37. package/dest/cmds/l1/assume_proven_through.d.ts.map +1 -1
  38. package/dest/cmds/l1/assume_proven_through.js +9 -8
  39. package/dest/cmds/l1/bridge_erc20.d.ts +2 -2
  40. package/dest/cmds/l1/bridge_erc20.d.ts.map +1 -1
  41. package/dest/cmds/l1/bridge_erc20.js +5 -5
  42. package/dest/cmds/l1/deploy_l1_contracts.d.ts +2 -2
  43. package/dest/cmds/l1/deploy_l1_contracts.d.ts.map +1 -1
  44. package/dest/cmds/l1/deploy_l1_contracts.js +23 -6
  45. package/dest/cmds/l1/deploy_new_rollup.d.ts +2 -1
  46. package/dest/cmds/l1/deploy_new_rollup.d.ts.map +1 -1
  47. package/dest/cmds/l1/deploy_new_rollup.js +17 -8
  48. package/dest/cmds/l1/get_l1_addresses.d.ts +1 -1
  49. package/dest/cmds/l1/get_l1_addresses.d.ts.map +1 -1
  50. package/dest/cmds/l1/governance_utils.d.ts.map +1 -1
  51. package/dest/cmds/l1/governance_utils.js +17 -17
  52. package/dest/cmds/l1/index.d.ts +1 -0
  53. package/dest/cmds/l1/index.d.ts.map +1 -1
  54. package/dest/cmds/l1/index.js +33 -43
  55. package/dest/cmds/l1/trigger_seed_snapshot.d.ts +6 -0
  56. package/dest/cmds/l1/trigger_seed_snapshot.d.ts.map +1 -0
  57. package/dest/cmds/l1/trigger_seed_snapshot.js +19 -0
  58. package/dest/cmds/l1/update_l1_validators.d.ts +17 -2
  59. package/dest/cmds/l1/update_l1_validators.d.ts.map +1 -1
  60. package/dest/cmds/l1/update_l1_validators.js +159 -103
  61. package/dest/cmds/misc/generate_bootnode_enr.d.ts +1 -1
  62. package/dest/cmds/misc/generate_bootnode_enr.d.ts.map +1 -1
  63. package/dest/cmds/misc/generate_bootnode_enr.js +2 -2
  64. package/dest/cmds/misc/generate_secret_and_hash.d.ts +1 -1
  65. package/dest/cmds/misc/generate_secret_and_hash.d.ts.map +1 -1
  66. package/dest/cmds/misc/generate_secret_and_hash.js +3 -3
  67. package/dest/cmds/misc/generate_secret_key.d.ts +1 -1
  68. package/dest/cmds/misc/generate_secret_key.d.ts.map +1 -1
  69. package/dest/cmds/misc/generate_secret_key.js +1 -1
  70. package/dest/cmds/misc/get_canonical_sponsored_fpc_address.d.ts +3 -0
  71. package/dest/cmds/misc/get_canonical_sponsored_fpc_address.d.ts.map +1 -0
  72. package/dest/cmds/misc/get_canonical_sponsored_fpc_address.js +4 -0
  73. package/dest/cmds/misc/index.d.ts.map +1 -1
  74. package/dest/cmds/misc/index.js +7 -3
  75. package/dest/cmds/misc/update/github.d.ts +0 -1
  76. package/dest/cmds/misc/update/github.d.ts.map +1 -1
  77. package/dest/cmds/misc/update/github.js +0 -1
  78. package/dest/cmds/misc/update.d.ts.map +1 -1
  79. package/dest/cmds/misc/update.js +2 -3
  80. package/dest/config/cached_fetch.d.ts +18 -0
  81. package/dest/config/cached_fetch.d.ts.map +1 -0
  82. package/dest/config/cached_fetch.js +54 -0
  83. package/dest/config/chain_l2_config.d.ts +39 -0
  84. package/dest/config/chain_l2_config.d.ts.map +1 -0
  85. package/dest/config/chain_l2_config.js +452 -0
  86. package/dest/config/enrich_env.d.ts +4 -0
  87. package/dest/config/enrich_env.d.ts.map +1 -0
  88. package/dest/config/enrich_env.js +12 -0
  89. package/dest/config/get_l1_config.d.ts +8 -0
  90. package/dest/config/get_l1_config.d.ts.map +1 -0
  91. package/dest/config/get_l1_config.js +22 -0
  92. package/dest/config/index.d.ts +5 -0
  93. package/dest/config/index.d.ts.map +1 -0
  94. package/dest/config/index.js +4 -0
  95. package/dest/config/network_config.d.ts +19 -0
  96. package/dest/config/network_config.d.ts.map +1 -0
  97. package/dest/config/network_config.js +79 -0
  98. package/dest/utils/aztec.d.ts +12 -17
  99. package/dest/utils/aztec.d.ts.map +1 -1
  100. package/dest/utils/aztec.js +54 -49
  101. package/dest/utils/commands.d.ts +7 -8
  102. package/dest/utils/commands.d.ts.map +1 -1
  103. package/dest/utils/commands.js +10 -11
  104. package/dest/utils/encoding.js +1 -1
  105. package/dest/utils/github.d.ts +0 -1
  106. package/dest/utils/github.d.ts.map +1 -1
  107. package/dest/utils/github.js +0 -1
  108. package/dest/utils/index.d.ts +1 -0
  109. package/dest/utils/index.d.ts.map +1 -1
  110. package/dest/utils/index.js +1 -0
  111. package/dest/utils/inspect.d.ts +3 -10
  112. package/dest/utils/inspect.d.ts.map +1 -1
  113. package/dest/utils/inspect.js +19 -109
  114. package/dest/utils/setup_contracts.d.ts +3 -0
  115. package/dest/utils/setup_contracts.d.ts.map +1 -0
  116. package/dest/utils/setup_contracts.js +16 -0
  117. package/package.json +40 -33
  118. package/src/cmds/aztec_node/block_number.ts +9 -0
  119. package/src/cmds/aztec_node/get_block.ts +10 -0
  120. package/src/cmds/aztec_node/get_current_base_fee.ts +9 -0
  121. package/src/cmds/aztec_node/get_l1_to_l2_message_witness.ts +27 -0
  122. package/src/cmds/{pxe → aztec_node}/get_logs.ts +8 -7
  123. package/src/cmds/{pxe → aztec_node}/get_node_info.ts +15 -23
  124. package/src/cmds/aztec_node/index.ts +87 -0
  125. package/src/cmds/contracts/inspect_contract.ts +16 -6
  126. package/src/cmds/infrastructure/index.ts +8 -10
  127. package/src/cmds/infrastructure/sequencers.ts +36 -19
  128. package/src/cmds/infrastructure/setup_l2_contract.ts +13 -25
  129. package/src/cmds/l1/advance_epoch.ts +7 -5
  130. package/src/cmds/l1/assume_proven_through.ts +8 -7
  131. package/src/cmds/l1/bridge_erc20.ts +7 -4
  132. package/src/cmds/l1/deploy_l1_contracts.ts +32 -7
  133. package/src/cmds/l1/deploy_new_rollup.ts +23 -9
  134. package/src/cmds/l1/get_l1_addresses.ts +1 -1
  135. package/src/cmds/l1/governance_utils.ts +18 -17
  136. package/src/cmds/l1/index.ts +74 -101
  137. package/src/cmds/l1/trigger_seed_snapshot.ts +31 -0
  138. package/src/cmds/l1/update_l1_validators.ts +194 -94
  139. package/src/cmds/misc/generate_bootnode_enr.ts +3 -2
  140. package/src/cmds/misc/generate_secret_and_hash.ts +3 -3
  141. package/src/cmds/misc/generate_secret_key.ts +1 -1
  142. package/src/cmds/misc/get_canonical_sponsored_fpc_address.ts +7 -0
  143. package/src/cmds/misc/index.ts +13 -4
  144. package/src/cmds/misc/update/github.ts +0 -1
  145. package/src/cmds/misc/update.ts +1 -7
  146. package/src/config/cached_fetch.ts +67 -0
  147. package/src/config/chain_l2_config.ts +597 -0
  148. package/src/config/enrich_env.ts +15 -0
  149. package/src/config/get_l1_config.ts +28 -0
  150. package/src/config/index.ts +4 -0
  151. package/src/config/network_config.ts +102 -0
  152. package/src/utils/aztec.ts +78 -65
  153. package/src/utils/commands.ts +13 -15
  154. package/src/utils/encoding.ts +1 -1
  155. package/src/utils/github.ts +0 -1
  156. package/src/utils/index.ts +1 -0
  157. package/src/utils/inspect.ts +23 -123
  158. package/src/utils/setup_contracts.ts +19 -0
  159. package/dest/cmds/devnet/bootstrap_network.d.ts +0 -3
  160. package/dest/cmds/devnet/bootstrap_network.d.ts.map +0 -1
  161. package/dest/cmds/devnet/bootstrap_network.js +0 -196
  162. package/dest/cmds/devnet/faucet.d.ts +0 -4
  163. package/dest/cmds/devnet/faucet.d.ts.map +0 -1
  164. package/dest/cmds/devnet/faucet.js +0 -26
  165. package/dest/cmds/devnet/index.d.ts.map +0 -1
  166. package/dest/cmds/devnet/index.js +0 -14
  167. package/dest/cmds/l1/deploy_l1_verifier.d.ts +0 -5
  168. package/dest/cmds/l1/deploy_l1_verifier.d.ts.map +0 -1
  169. package/dest/cmds/l1/deploy_l1_verifier.js +0 -54
  170. package/dest/cmds/misc/setup_contracts.d.ts +0 -7
  171. package/dest/cmds/misc/setup_contracts.d.ts.map +0 -1
  172. package/dest/cmds/misc/setup_contracts.js +0 -27
  173. package/dest/cmds/pxe/add_contract.d.ts +0 -5
  174. package/dest/cmds/pxe/add_contract.d.ts.map +0 -1
  175. package/dest/cmds/pxe/add_contract.js +0 -29
  176. package/dest/cmds/pxe/block_number.d.ts +0 -3
  177. package/dest/cmds/pxe/block_number.d.ts.map +0 -1
  178. package/dest/cmds/pxe/block_number.js +0 -10
  179. package/dest/cmds/pxe/get_account.d.ts +0 -4
  180. package/dest/cmds/pxe/get_account.d.ts.map +0 -1
  181. package/dest/cmds/pxe/get_account.js +0 -10
  182. package/dest/cmds/pxe/get_accounts.d.ts +0 -3
  183. package/dest/cmds/pxe/get_accounts.d.ts.map +0 -1
  184. package/dest/cmds/pxe/get_accounts.js +0 -25
  185. package/dest/cmds/pxe/get_block.d.ts +0 -3
  186. package/dest/cmds/pxe/get_block.d.ts.map +0 -1
  187. package/dest/cmds/pxe/get_block.js +0 -9
  188. package/dest/cmds/pxe/get_contract_data.d.ts +0 -4
  189. package/dest/cmds/pxe/get_contract_data.d.ts.map +0 -1
  190. package/dest/cmds/pxe/get_contract_data.js +0 -31
  191. package/dest/cmds/pxe/get_current_base_fee.d.ts +0 -3
  192. package/dest/cmds/pxe/get_current_base_fee.d.ts.map +0 -1
  193. package/dest/cmds/pxe/get_current_base_fee.js +0 -7
  194. package/dest/cmds/pxe/get_l1_to_l2_message_witness.d.ts +0 -4
  195. package/dest/cmds/pxe/get_l1_to_l2_message_witness.d.ts.map +0 -1
  196. package/dest/cmds/pxe/get_l1_to_l2_message_witness.js +0 -11
  197. package/dest/cmds/pxe/get_logs.d.ts +0 -4
  198. package/dest/cmds/pxe/get_logs.d.ts.map +0 -1
  199. package/dest/cmds/pxe/get_node_info.d.ts +0 -3
  200. package/dest/cmds/pxe/get_node_info.d.ts.map +0 -1
  201. package/dest/cmds/pxe/get_pxe_info.d.ts +0 -3
  202. package/dest/cmds/pxe/get_pxe_info.d.ts.map +0 -1
  203. package/dest/cmds/pxe/get_pxe_info.js +0 -11
  204. package/dest/cmds/pxe/index.d.ts +0 -4
  205. package/dest/cmds/pxe/index.d.ts.map +0 -1
  206. package/dest/cmds/pxe/index.js +0 -55
  207. package/src/cmds/devnet/bootstrap_network.ts +0 -318
  208. package/src/cmds/devnet/faucet.ts +0 -33
  209. package/src/cmds/devnet/index.ts +0 -60
  210. package/src/cmds/l1/deploy_l1_verifier.ts +0 -105
  211. package/src/cmds/misc/setup_contracts.ts +0 -40
  212. package/src/cmds/pxe/add_contract.ts +0 -41
  213. package/src/cmds/pxe/block_number.ts +0 -9
  214. package/src/cmds/pxe/get_account.ts +0 -16
  215. package/src/cmds/pxe/get_accounts.ts +0 -35
  216. package/src/cmds/pxe/get_block.ts +0 -10
  217. package/src/cmds/pxe/get_contract_data.ts +0 -51
  218. package/src/cmds/pxe/get_current_base_fee.ts +0 -9
  219. package/src/cmds/pxe/get_l1_to_l2_message_witness.ts +0 -25
  220. package/src/cmds/pxe/get_pxe_info.ts +0 -13
  221. package/src/cmds/pxe/index.ts +0 -170
  222. /package/dest/cmds/{devnet → aztec_node}/index.d.ts +0 -0
package/package.json CHANGED
@@ -1,18 +1,19 @@
1
1
  {
2
2
  "name": "@aztec/cli",
3
- "version": "0.0.0-test.1",
3
+ "version": "0.0.1-fake-c83136db25",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  "./contracts": "./dest/cmds/contracts/index.js",
7
7
  "./devnet": "./dest/cmds/devnet/index.js",
8
8
  "./infrastructure": "./dest/cmds/infrastructure/index.js",
9
9
  "./l1": "./dest/cmds/l1/index.js",
10
- "./pxe": "./dest/cmds/pxe/index.js",
10
+ "./aztec_node": "./dest/cmds/aztec_node/index.js",
11
11
  "./cli-utils": "./dest/utils/index.js",
12
12
  "./misc": "./dest/cmds/misc/index.js",
13
13
  "./setup-contracts": "./dest/cmds/misc/setup_contracts.js",
14
14
  "./utils": "./dest/utils/index.js",
15
- "./inspect": "./dest/utils/inspect.js"
15
+ "./inspect": "./dest/utils/inspect.js",
16
+ "./config": "./dest/config/index.js"
16
17
  },
17
18
  "typedocOptions": {
18
19
  "entryPoints": [
@@ -25,8 +26,6 @@
25
26
  "build": "yarn clean && tsc -b",
26
27
  "build:dev": "tsc -b --watch",
27
28
  "clean": "rm -rf ./dest .tsbuildinfo",
28
- "formatting": "run -T prettier --check ./src && run -T eslint ./src",
29
- "formatting:fix": "run -T eslint --fix ./src && run -T prettier -w ./src",
30
29
  "test": "NODE_NO_WARNINGS=1 node --experimental-vm-modules ../node_modules/.bin/jest --passWithNoTests --maxWorkers=${JEST_MAX_WORKERS:-8}"
31
30
  },
32
31
  "inherits": [
@@ -64,17 +63,27 @@
64
63
  "testTimeout": 120000,
65
64
  "setupFiles": [
66
65
  "../../foundation/src/jest/setup.mjs"
66
+ ],
67
+ "testEnvironment": "../../foundation/src/jest/env.mjs",
68
+ "setupFilesAfterEnv": [
69
+ "../../foundation/src/jest/setupAfterEnv.mjs"
67
70
  ]
68
71
  },
69
72
  "dependencies": {
70
- "@aztec/archiver": "0.0.0-test.1",
71
- "@aztec/aztec.js": "0.0.0-test.1",
72
- "@aztec/constants": "0.0.0-test.1",
73
- "@aztec/foundation": "0.0.0-test.1",
74
- "@aztec/l1-artifacts": "0.0.0-test.1",
75
- "@aztec/p2p": "0.0.0-test.1",
76
- "@aztec/stdlib": "0.0.0-test.1",
77
- "@aztec/world-state": "0.0.0-test.1",
73
+ "@aztec/accounts": "0.0.1-fake-c83136db25",
74
+ "@aztec/archiver": "0.0.1-fake-c83136db25",
75
+ "@aztec/aztec.js": "0.0.1-fake-c83136db25",
76
+ "@aztec/constants": "0.0.1-fake-c83136db25",
77
+ "@aztec/entrypoints": "0.0.1-fake-c83136db25",
78
+ "@aztec/ethereum": "0.0.1-fake-c83136db25",
79
+ "@aztec/foundation": "0.0.1-fake-c83136db25",
80
+ "@aztec/l1-artifacts": "0.0.1-fake-c83136db25",
81
+ "@aztec/node-lib": "0.0.1-fake-c83136db25",
82
+ "@aztec/p2p": "0.0.1-fake-c83136db25",
83
+ "@aztec/protocol-contracts": "0.0.1-fake-c83136db25",
84
+ "@aztec/stdlib": "0.0.1-fake-c83136db25",
85
+ "@aztec/test-wallet": "0.0.1-fake-c83136db25",
86
+ "@aztec/world-state": "0.0.1-fake-c83136db25",
78
87
  "@iarna/toml": "^2.2.5",
79
88
  "@libp2p/peer-id-factory": "^3.0.4",
80
89
  "commander": "^12.1.0",
@@ -83,35 +92,33 @@
83
92
  "semver": "^7.5.4",
84
93
  "source-map-support": "^0.5.21",
85
94
  "tslib": "^2.4.0",
86
- "viem": "2.22.8"
95
+ "viem": "npm:@spalladino/viem@2.38.2-eip7594.0"
87
96
  },
88
97
  "devDependencies": {
89
- "@aztec/accounts": "0.0.0-test.1",
90
- "@aztec/ethereum": "0.0.0-test.1",
91
- "@aztec/protocol-contracts": "0.0.0-test.1",
92
- "@jest/globals": "^29.5.0",
93
- "@types/jest": "^29.5.0",
98
+ "@jest/globals": "^30.0.0",
99
+ "@types/jest": "^30.0.0",
94
100
  "@types/lodash.chunk": "^4.2.9",
95
101
  "@types/lodash.groupby": "^4.6.9",
96
102
  "@types/lodash.startcase": "^4.4.7",
97
- "@types/node": "^18.7.23",
103
+ "@types/node": "^22.15.17",
98
104
  "@types/semver": "^7.5.2",
99
105
  "@types/source-map-support": "^0.5.10",
100
- "jest": "^29.5.0",
101
- "jest-mock-extended": "^3.0.5",
102
- "ts-jest": "^29.1.0",
106
+ "jest": "^30.0.0",
107
+ "jest-mock-extended": "^4.0.0",
108
+ "ts-jest": "^29.4.0",
103
109
  "ts-node": "^10.9.1",
104
- "typescript": "^5.0.4"
110
+ "typescript": "^5.3.3"
105
111
  },
106
112
  "peerDependencies": {
107
- "@aztec/accounts": "0.0.0-test.1",
108
- "@aztec/bb-prover": "0.0.0-test.1",
109
- "@aztec/ethereum": "0.0.0-test.1",
110
- "@aztec/l1-artifacts": "0.0.0-test.1",
111
- "@aztec/noir-contracts.js": "0.0.0-test.1",
112
- "@aztec/noir-protocol-circuits-types": "0.0.0-test.1",
113
- "@aztec/protocol-contracts": "0.0.0-test.1",
114
- "@aztec/stdlib": "0.0.0-test.1"
113
+ "@aztec/accounts": "0.0.1-fake-c83136db25",
114
+ "@aztec/bb-prover": "0.0.1-fake-c83136db25",
115
+ "@aztec/ethereum": "0.0.1-fake-c83136db25",
116
+ "@aztec/l1-artifacts": "0.0.1-fake-c83136db25",
117
+ "@aztec/noir-contracts.js": "0.0.1-fake-c83136db25",
118
+ "@aztec/noir-protocol-circuits-types": "0.0.1-fake-c83136db25",
119
+ "@aztec/noir-test-contracts.js": "0.0.1-fake-c83136db25",
120
+ "@aztec/protocol-contracts": "0.0.1-fake-c83136db25",
121
+ "@aztec/stdlib": "0.0.1-fake-c83136db25"
115
122
  },
116
123
  "files": [
117
124
  "dest",
@@ -120,6 +127,6 @@
120
127
  ],
121
128
  "types": "./dest/index.d.ts",
122
129
  "engines": {
123
- "node": ">=18"
130
+ "node": ">=20.10"
124
131
  }
125
132
  }
@@ -0,0 +1,9 @@
1
+ import { createAztecNodeClient } from '@aztec/aztec.js/node';
2
+ import type { LogFn } from '@aztec/foundation/log';
3
+
4
+ export async function blockNumber(nodeUrl: string, log: LogFn) {
5
+ const aztecNode = createAztecNodeClient(nodeUrl);
6
+ const [latestNum, provenNum] = await Promise.all([aztecNode.getBlockNumber(), aztecNode.getProvenBlockNumber()]);
7
+ log(`Latest block: ${latestNum}`);
8
+ log(`Proven block: ${provenNum}`);
9
+ }
@@ -0,0 +1,10 @@
1
+ import { createAztecNodeClient } from '@aztec/aztec.js/node';
2
+ import type { LogFn } from '@aztec/foundation/log';
3
+
4
+ import { inspectBlock } from '../../utils/inspect.js';
5
+
6
+ export async function getBlock(nodeUrl: string, maybeBlockNumber: number | undefined, log: LogFn) {
7
+ const aztecNode = createAztecNodeClient(nodeUrl);
8
+ const blockNumber = maybeBlockNumber ?? (await aztecNode.getBlockNumber());
9
+ await inspectBlock(aztecNode, blockNumber, log, { showTxs: true });
10
+ }
@@ -0,0 +1,9 @@
1
+ import { createAztecNodeClient } from '@aztec/aztec.js/node';
2
+ import { jsonStringify } from '@aztec/foundation/json-rpc';
3
+ import type { LogFn, Logger } from '@aztec/foundation/log';
4
+
5
+ export async function getCurrentBaseFee(nodeUrl: string, debugLogger: Logger, log: LogFn) {
6
+ const node = createAztecNodeClient(nodeUrl);
7
+ const fees = await node.getCurrentBaseFees();
8
+ log(`Current fees: ${jsonStringify(fees)}`);
9
+ }
@@ -0,0 +1,27 @@
1
+ import type { AztecAddress } from '@aztec/aztec.js/addresses';
2
+ import type { Fr } from '@aztec/aztec.js/fields';
3
+ import { createAztecNodeClient } from '@aztec/aztec.js/node';
4
+ import type { LogFn } from '@aztec/foundation/log';
5
+ import { getNonNullifiedL1ToL2MessageWitness } from '@aztec/stdlib/messaging';
6
+
7
+ export async function getL1ToL2MessageWitness(
8
+ nodeUrl: string,
9
+ contractAddress: AztecAddress,
10
+ messageHash: Fr,
11
+ secret: Fr,
12
+ log: LogFn,
13
+ ) {
14
+ const node = createAztecNodeClient(nodeUrl);
15
+ const messageWitness = await getNonNullifiedL1ToL2MessageWitness(node, contractAddress, messageHash, secret);
16
+
17
+ log(
18
+ messageWitness === undefined
19
+ ? `
20
+ L1 to L2 Message not found.
21
+ `
22
+ : `
23
+ L1 to L2 message index: ${messageWitness[0]}
24
+ L1 to L2 message sibling path: ${messageWitness[1]}
25
+ `,
26
+ );
27
+ }
@@ -1,6 +1,8 @@
1
- import type { AztecAddress, LogFilter, LogId, TxHash } from '@aztec/aztec.js';
2
- import { createCompatibleClient } from '@aztec/aztec.js';
3
- import type { LogFn, Logger } from '@aztec/foundation/log';
1
+ import type { AztecAddress } from '@aztec/aztec.js/addresses';
2
+ import type { LogFilter, LogId } from '@aztec/aztec.js/log';
3
+ import { createAztecNodeClient } from '@aztec/aztec.js/node';
4
+ import type { TxHash } from '@aztec/aztec.js/tx';
5
+ import type { LogFn } from '@aztec/foundation/log';
4
6
  import { sleep } from '@aztec/foundation/sleep';
5
7
 
6
8
  export async function getLogs(
@@ -9,12 +11,11 @@ export async function getLogs(
9
11
  toBlock: number,
10
12
  afterLog: LogId,
11
13
  contractAddress: AztecAddress,
12
- rpcUrl: string,
14
+ nodeUrl: string,
13
15
  follow: boolean,
14
- debugLogger: Logger,
15
16
  log: LogFn,
16
17
  ) {
17
- const pxe = await createCompatibleClient(rpcUrl, debugLogger);
18
+ const node = createAztecNodeClient(nodeUrl);
18
19
 
19
20
  if (follow) {
20
21
  if (txHash) {
@@ -28,7 +29,7 @@ export async function getLogs(
28
29
  const filter: LogFilter = { txHash, fromBlock, toBlock, afterLog, contractAddress };
29
30
 
30
31
  const fetchLogs = async () => {
31
- const response = await pxe.getPublicLogs(filter);
32
+ const response = await node.getPublicLogs(filter);
32
33
  const logs = response.logs;
33
34
 
34
35
  if (!logs.length) {
@@ -1,26 +1,15 @@
1
- import { type AztecNode, type PXE, createAztecNodeClient, createCompatibleClient } from '@aztec/aztec.js';
2
- import type { LogFn, Logger } from '@aztec/foundation/log';
1
+ import { createAztecNodeClient } from '@aztec/aztec.js/node';
2
+ import type { LogFn } from '@aztec/foundation/log';
3
+
4
+ export async function getNodeInfo(nodeUrl: string, json: boolean, log: LogFn, logJson: (output: any) => void) {
5
+ const client = createAztecNodeClient(nodeUrl);
3
6
 
4
- export async function getNodeInfo(
5
- rpcUrl: string,
6
- pxeRequest: boolean,
7
- debugLogger: Logger,
8
- json: boolean,
9
- log: LogFn,
10
- logJson: (output: any) => void,
11
- ) {
12
- let client: AztecNode | PXE;
13
- if (pxeRequest) {
14
- client = await createCompatibleClient(rpcUrl, debugLogger);
15
- } else {
16
- client = createAztecNodeClient(rpcUrl);
17
- }
18
7
  const info = await client.getNodeInfo();
19
8
  if (json) {
20
9
  logJson({
21
10
  nodeVersion: info.nodeVersion,
22
11
  l1ChainId: info.l1ChainId,
23
- protocolVersion: info.protocolVersion,
12
+ rollupVersion: info.rollupVersion,
24
13
  enr: info.enr,
25
14
  l1ContractAddresses: {
26
15
  rollup: info.l1ContractAddresses.rollupAddress.toString(),
@@ -35,18 +24,20 @@ export async function getNodeInfo(
35
24
  governanceProposer: info.l1ContractAddresses.governanceProposerAddress.toString(),
36
25
  governance: info.l1ContractAddresses.governanceAddress.toString(),
37
26
  slashFactory: info.l1ContractAddresses.slashFactoryAddress?.toString(),
27
+ feeAssetHandler: info.l1ContractAddresses.feeAssetHandlerAddress?.toString(),
28
+ stakingAssetHandler: info.l1ContractAddresses.stakingAssetHandlerAddress?.toString(),
38
29
  },
39
30
  protocolContractAddresses: {
40
- classRegisterer: info.protocolContractAddresses.classRegisterer.toString(),
31
+ classRegistry: info.protocolContractAddresses.classRegistry.toString(),
41
32
  feeJuice: info.protocolContractAddresses.feeJuice.toString(),
42
- instanceDeployer: info.protocolContractAddresses.instanceDeployer.toString(),
33
+ instanceRegistry: info.protocolContractAddresses.instanceRegistry.toString(),
43
34
  multiCallEntrypoint: info.protocolContractAddresses.multiCallEntrypoint.toString(),
44
35
  },
45
36
  });
46
37
  } else {
47
38
  log(`Node Version: ${info.nodeVersion}`);
48
39
  log(`Chain Id: ${info.l1ChainId}`);
49
- log(`Protocol Version: ${info.protocolVersion}`);
40
+ log(`Rollup Version: ${info.rollupVersion}`);
50
41
  log(`Node ENR: ${info.enr}`);
51
42
  log(`L1 Contract Addresses:`);
52
43
  log(` Rollup Address: ${info.l1ContractAddresses.rollupAddress.toString()}`);
@@ -61,11 +52,12 @@ export async function getNodeInfo(
61
52
  log(` GovernanceProposer Address: ${info.l1ContractAddresses.governanceProposerAddress.toString()}`);
62
53
  log(` Governance Address: ${info.l1ContractAddresses.governanceAddress.toString()}`);
63
54
  log(` SlashFactory Address: ${info.l1ContractAddresses.slashFactoryAddress?.toString()}`);
64
-
55
+ log(` FeeAssetHandler Address: ${info.l1ContractAddresses.feeAssetHandlerAddress?.toString()}`);
56
+ log(` StakingAssetHandler Address: ${info.l1ContractAddresses.stakingAssetHandlerAddress?.toString()}`);
65
57
  log(`L2 Contract Addresses:`);
66
- log(` Class Registerer: ${info.protocolContractAddresses.classRegisterer.toString()}`);
58
+ log(` Class Registry: ${info.protocolContractAddresses.classRegistry.toString()}`);
67
59
  log(` Fee Juice: ${info.protocolContractAddresses.feeJuice.toString()}`);
68
- log(` Instance Deployer: ${info.protocolContractAddresses.instanceDeployer.toString()}`);
60
+ log(` Instance Deployer: ${info.protocolContractAddresses.instanceRegistry.toString()}`);
69
61
  log(` MultiCall: ${info.protocolContractAddresses.multiCallEntrypoint.toString()}`);
70
62
  }
71
63
  }
@@ -0,0 +1,87 @@
1
+ import type { LogFn, Logger } from '@aztec/foundation/log';
2
+
3
+ import type { Command } from 'commander';
4
+
5
+ import {
6
+ logJson,
7
+ nodeOption,
8
+ parseAztecAddress,
9
+ parseField,
10
+ parseOptionalAztecAddress,
11
+ parseOptionalInteger,
12
+ parseOptionalLogId,
13
+ parseOptionalTxHash,
14
+ } from '../../utils/commands.js';
15
+
16
+ export function injectCommands(program: Command, log: LogFn, debugLogger: Logger) {
17
+ program
18
+ .command('get-block')
19
+ .description('Gets info for a given block or latest.')
20
+ .argument('[blockNumber]', 'Block height', parseOptionalInteger)
21
+ .addOption(nodeOption)
22
+ .action(async (blockNumber, options) => {
23
+ const { getBlock } = await import('./get_block.js');
24
+ await getBlock(options.nodeUrl, blockNumber, log);
25
+ });
26
+
27
+ program
28
+ .command('get-current-base-fee')
29
+ .description('Gets the current base fee.')
30
+ .addOption(nodeOption)
31
+ .action(async options => {
32
+ const { getCurrentBaseFee } = await import('./get_current_base_fee.js');
33
+ await getCurrentBaseFee(options.rpcUrl, debugLogger, log);
34
+ });
35
+
36
+ program
37
+ .command('get-l1-to-l2-message-witness')
38
+ .description('Gets a L1 to L2 message witness.')
39
+ .requiredOption('-ca, --contract-address <address>', 'Aztec address of the contract.', parseAztecAddress)
40
+ .requiredOption('--message-hash <messageHash>', 'The L1 to L2 message hash.', parseField)
41
+ .requiredOption('--secret <secret>', 'The secret used to claim the L1 to L2 message', parseField)
42
+ .addOption(nodeOption)
43
+ .action(async ({ contractAddress, messageHash, secret, nodeUrl }) => {
44
+ const { getL1ToL2MessageWitness } = await import('./get_l1_to_l2_message_witness.js');
45
+ await getL1ToL2MessageWitness(nodeUrl, contractAddress, messageHash, secret, log);
46
+ });
47
+
48
+ program
49
+ .command('get-logs')
50
+ .description('Gets all the public logs from an intersection of all the filter params.')
51
+ .option('-tx, --tx-hash <txHash>', 'A transaction hash to get the receipt for.', parseOptionalTxHash)
52
+ .option(
53
+ '-fb, --from-block <blockNum>',
54
+ 'Initial block number for getting logs (defaults to 1).',
55
+ parseOptionalInteger,
56
+ )
57
+ .option('-tb, --to-block <blockNum>', 'Up to which block to fetch logs (defaults to latest).', parseOptionalInteger)
58
+ .option('-al --after-log <logId>', 'ID of a log after which to fetch the logs.', parseOptionalLogId)
59
+ .option('-ca, --contract-address <address>', 'Contract address to filter logs by.', parseOptionalAztecAddress)
60
+ .addOption(nodeOption)
61
+ .option('--follow', 'If set, will keep polling for new logs until interrupted.')
62
+ .action(async ({ txHash, fromBlock, toBlock, afterLog, contractAddress, aztecNodeRpcUrl: nodeUrl, follow }) => {
63
+ const { getLogs } = await import('./get_logs.js');
64
+ await getLogs(txHash, fromBlock, toBlock, afterLog, contractAddress, nodeUrl, follow, log);
65
+ });
66
+
67
+ program
68
+ .command('block-number')
69
+ .description('Gets the current Aztec L2 block number.')
70
+ .addOption(nodeOption)
71
+ .action(async (options: any) => {
72
+ const { blockNumber } = await import('./block_number.js');
73
+ await blockNumber(options.nodeUrl, log);
74
+ });
75
+
76
+ program
77
+ .command('get-node-info')
78
+ .description('Gets the information of an Aztec node from a PXE or directly from an Aztec node.')
79
+ .option('--json', 'Emit output as json')
80
+ .addOption(nodeOption)
81
+ .action(async options => {
82
+ const { getNodeInfo } = await import('./get_node_info.js');
83
+ await getNodeInfo(options.nodeUrl, options.json, log, logJson(log));
84
+ });
85
+
86
+ return program;
87
+ }
@@ -5,6 +5,7 @@ import {
5
5
  FunctionSelector,
6
6
  decodeFunctionSignature,
7
7
  decodeFunctionSignatureWithParameterNames,
8
+ retainBytecode,
8
9
  } from '@aztec/stdlib/abi';
9
10
  import { getContractClassFromArtifact } from '@aztec/stdlib/contract';
10
11
 
@@ -12,7 +13,9 @@ import { getContractArtifact } from '../../utils/aztec.js';
12
13
 
13
14
  export async function inspectContract(contractArtifactFile: string, debugLogger: Logger, log: LogFn) {
14
15
  const contractArtifact = await getContractArtifact(contractArtifactFile, log);
15
- const contractFns = contractArtifact.functions;
16
+ const contractFns = contractArtifact.functions.concat(
17
+ contractArtifact.nonDispatchPublicFunctions.map(f => f as FunctionArtifact),
18
+ );
16
19
  if (contractFns.length === 0) {
17
20
  log(`No functions found for contract ${contractArtifact.name}`);
18
21
  }
@@ -43,9 +46,16 @@ async function logFunction(fn: FunctionArtifact, log: LogFn) {
43
46
  const signatureWithParameterNames = decodeFunctionSignatureWithParameterNames(fn.name, fn.parameters);
44
47
  const signature = decodeFunctionSignature(fn.name, fn.parameters);
45
48
  const selector = await FunctionSelector.fromSignature(signature);
46
- const bytecodeSize = fn.bytecode.length;
47
- const bytecodeHash = sha256(fn.bytecode).toString('hex');
48
- log(
49
- `${fn.functionType} ${signatureWithParameterNames} \n\tfunction signature: ${signature}\n\tselector: ${selector}\n\tbytecode: ${bytecodeSize} bytes (sha256 ${bytecodeHash})`,
50
- );
49
+
50
+ if (retainBytecode(fn)) {
51
+ const bytecodeSize = fn.bytecode.length;
52
+ const bytecodeHash = sha256(fn.bytecode).toString('hex');
53
+ log(
54
+ `${fn.functionType} ${signatureWithParameterNames} \n\tfunction signature: ${signature}\n\tselector: ${selector}\n\tbytecode: ${bytecodeSize} bytes (sha256 ${bytecodeHash})`,
55
+ );
56
+ } else {
57
+ log(
58
+ `${fn.functionType} ${signatureWithParameterNames} \n\tfunction signature: ${signature}\n\tselector: ${selector}`,
59
+ );
60
+ }
51
61
  }
@@ -1,20 +1,19 @@
1
- import type { LogFn, Logger } from '@aztec/foundation/log';
1
+ import type { LogFn } from '@aztec/foundation/log';
2
2
 
3
3
  import type { Command } from 'commander';
4
4
 
5
- import { ETHEREUM_HOSTS, l1ChainIdOption, parseOptionalInteger, pxeOption } from '../../utils/commands.js';
5
+ import { ETHEREUM_HOSTS, l1ChainIdOption, nodeOption, parseOptionalInteger } from '../../utils/commands.js';
6
6
 
7
- export function injectCommands(program: Command, log: LogFn, debugLogger: Logger) {
7
+ export function injectCommands(program: Command, log: LogFn) {
8
8
  program
9
9
  .command('setup-protocol-contracts')
10
10
  .description('Bootstrap the blockchain by initializing all the protocol contracts')
11
- .addOption(pxeOption)
11
+ .addOption(nodeOption)
12
12
  .option('--testAccounts', 'Deploy funded test accounts.')
13
13
  .option('--json', 'Output the contract addresses in JSON format')
14
- .option('--skipProofWait', "Don't wait for proofs to land.")
15
14
  .action(async options => {
16
15
  const { setupL2Contracts } = await import('./setup_l2_contract.js');
17
- await setupL2Contracts(options.rpcUrl, options.testAccounts, options.json, options.skipProofWait, log);
16
+ await setupL2Contracts(options.nodeUrl, options.testAccounts, options.json, log);
18
17
  });
19
18
 
20
19
  program
@@ -34,7 +33,7 @@ export function injectCommands(program: Command, log: LogFn, debugLogger: Logger
34
33
  'test test test test test test test test test test test junk',
35
34
  )
36
35
  .option('--block-number <number>', 'Block number to query next sequencer for', parseOptionalInteger)
37
- .addOption(pxeOption)
36
+ .addOption(nodeOption)
38
37
  .addOption(l1ChainIdOption)
39
38
  .action(async (command, who, options) => {
40
39
  const { sequencers } = await import('./sequencers.js');
@@ -42,12 +41,11 @@ export function injectCommands(program: Command, log: LogFn, debugLogger: Logger
42
41
  command: command,
43
42
  who,
44
43
  mnemonic: options.mnemonic,
45
- rpcUrl: options.rpcUrl,
46
- l1RpcUrls: options.l1RpcUrls.split(','),
44
+ nodeUrl: options.nodeUrl,
45
+ l1RpcUrls: options.l1RpcUrls,
47
46
  chainId: options.l1ChainId,
48
47
  blockNumber: options.blockNumber,
49
48
  log,
50
- debugLogger,
51
49
  });
52
50
  });
53
51
 
@@ -1,24 +1,25 @@
1
- import { createCompatibleClient } from '@aztec/aztec.js';
2
- import { createEthereumChain, getL1ContractsConfigEnvVars } from '@aztec/ethereum';
3
- import type { LogFn, Logger } from '@aztec/foundation/log';
1
+ import { Fr } from '@aztec/aztec.js/fields';
2
+ import { createAztecNodeClient } from '@aztec/aztec.js/node';
3
+ import { GSEContract, RollupContract, createEthereumChain, getL1ContractsConfigEnvVars } from '@aztec/ethereum';
4
+ import type { LogFn } from '@aztec/foundation/log';
4
5
  import { RollupAbi, TestERC20Abi } from '@aztec/l1-artifacts';
5
6
 
6
7
  import { createPublicClient, createWalletClient, fallback, getContract, http } from 'viem';
7
8
  import { mnemonicToAccount } from 'viem/accounts';
8
9
 
9
10
  export async function sequencers(opts: {
10
- command: 'list' | 'add' | 'remove' | 'who-next';
11
+ command: 'list' | 'add' | 'remove' | 'who-next' | 'flush';
11
12
  who?: string;
12
13
  mnemonic?: string;
13
- rpcUrl: string;
14
+ bn254SecretKey?: bigint;
15
+ nodeUrl: string;
14
16
  l1RpcUrls: string[];
15
17
  chainId: number;
16
18
  blockNumber?: number;
17
19
  log: LogFn;
18
- debugLogger: Logger;
19
20
  }) {
20
- const { command, who: maybeWho, mnemonic, rpcUrl, l1RpcUrls, chainId, log, debugLogger } = opts;
21
- const client = await createCompatibleClient(rpcUrl, debugLogger);
21
+ const { command, who: maybeWho, mnemonic, bn254SecretKey, nodeUrl, l1RpcUrls, chainId, log } = opts;
22
+ const client = createAztecNodeClient(nodeUrl);
22
23
  const { l1ContractAddresses } = await client.getNodeInfo();
23
24
 
24
25
  const chain = createEthereumChain(l1RpcUrls, chainId);
@@ -35,11 +36,7 @@ export async function sequencers(opts: {
35
36
  })
36
37
  : undefined;
37
38
 
38
- const rollup = getContract({
39
- address: l1ContractAddresses.rollupAddress.toString(),
40
- abi: RollupAbi,
41
- client: publicClient,
42
- });
39
+ const rollup = new RollupContract(publicClient, l1ContractAddresses.rollupAddress);
43
40
 
44
41
  const writeableRollup = walletClient
45
42
  ? getContract({
@@ -52,7 +49,7 @@ export async function sequencers(opts: {
52
49
  const who = (maybeWho as `0x{string}`) ?? walletClient?.account.address.toString();
53
50
 
54
51
  if (command === 'list') {
55
- const sequencers = await rollup.read.getAttesters();
52
+ const sequencers = await rollup.getAttesters();
56
53
  if (sequencers.length === 0) {
57
54
  log(`No sequencers registered on rollup`);
58
55
  } else {
@@ -69,23 +66,43 @@ export async function sequencers(opts: {
69
66
  log(`Adding ${who} as sequencer`);
70
67
 
71
68
  const stakingAsset = getContract({
72
- address: await rollup.read.getStakingAsset(),
69
+ address: await rollup.getStakingAsset(),
73
70
  abi: TestERC20Abi,
74
71
  client: walletClient,
75
72
  });
76
73
 
77
74
  const config = getL1ContractsConfigEnvVars();
78
75
 
76
+ const bn254SecretKeyFieldElement = bn254SecretKey ? new Fr(bn254SecretKey) : Fr.random();
77
+ const gseAddress = await rollup.getGSE();
78
+ const gseContract = new GSEContract(publicClient, gseAddress);
79
+ const registrationTuple = await gseContract.makeRegistrationTuple(bn254SecretKeyFieldElement.toBigInt());
80
+
79
81
  await Promise.all(
80
82
  [
81
- await stakingAsset.write.mint([walletClient.account.address, config.minimumStake], {} as any),
82
- await stakingAsset.write.approve([rollup.address, config.minimumStake], {} as any),
83
+ await stakingAsset.write.mint([walletClient.account.address, config.activationThreshold], {} as any),
84
+ await stakingAsset.write.approve([rollup.address, config.activationThreshold], {} as any),
83
85
  ].map(txHash => publicClient.waitForTransactionReceipt({ hash: txHash })),
84
86
  );
85
87
 
86
- const hash = await writeableRollup.write.deposit([who, who, who, config.minimumStake]);
88
+ const hash = await writeableRollup.write.deposit([
89
+ who,
90
+ who,
91
+ registrationTuple.publicKeyInG1,
92
+ registrationTuple.publicKeyInG2,
93
+ registrationTuple.proofOfPossession,
94
+ true,
95
+ ]);
87
96
  await publicClient.waitForTransactionReceipt({ hash });
88
97
  log(`Added in tx ${hash}`);
98
+ } else if (command === 'flush') {
99
+ if (!writeableRollup) {
100
+ throw new Error(`Missing sequencer address`);
101
+ }
102
+ log(`Flushing staking entry queue`);
103
+ const hash = await writeableRollup.write.flushEntryQueue();
104
+ await publicClient.waitForTransactionReceipt({ hash });
105
+ log(`Flushed staking entry queue in tx ${hash}`);
89
106
  } else if (command === 'remove') {
90
107
  if (!who || !writeableRollup) {
91
108
  throw new Error(`Missing sequencer address`);
@@ -95,7 +112,7 @@ export async function sequencers(opts: {
95
112
  await publicClient.waitForTransactionReceipt({ hash });
96
113
  log(`Removed in tx ${hash}`);
97
114
  } else if (command === 'who-next') {
98
- const next = await rollup.read.getCurrentProposer();
115
+ const next = await rollup.getCurrentProposer();
99
116
  log(`Sequencer expected to build is ${next}`);
100
117
  } else {
101
118
  throw new Error(`Unknown command ${command}`);
@@ -1,45 +1,33 @@
1
- import { type InitialAccountData, deployFundedSchnorrAccounts, getInitialTestAccounts } from '@aztec/accounts/testing';
2
- import { type AztecAddress, SignerlessWallet, type WaitOpts, createPXEClient, makeFetch } from '@aztec/aztec.js';
1
+ import { getInitialTestAccountsData } from '@aztec/accounts/testing';
2
+ import type { AztecAddress } from '@aztec/aztec.js/addresses';
3
+ import type { WaitOpts } from '@aztec/aztec.js/contracts';
4
+ import { createAztecNodeClient } from '@aztec/aztec.js/node';
5
+ import { AccountManager } from '@aztec/aztec.js/wallet';
3
6
  import { jsonStringify } from '@aztec/foundation/json-rpc';
4
7
  import type { LogFn } from '@aztec/foundation/log';
5
8
  import { ProtocolContractAddress } from '@aztec/protocol-contracts';
9
+ import { TestWallet, deployFundedSchnorrAccounts } from '@aztec/test-wallet/server';
6
10
 
7
- import { setupCanonicalL2FeeJuice } from '../misc/setup_contracts.js';
8
-
9
- export async function setupL2Contracts(
10
- rpcUrl: string,
11
- testAccounts: boolean,
12
- json: boolean,
13
- skipProofWait: boolean,
14
- log: LogFn,
15
- ) {
11
+ export async function setupL2Contracts(nodeUrl: string, testAccounts: boolean, json: boolean, log: LogFn) {
16
12
  const waitOpts: WaitOpts = {
17
13
  timeout: 180,
18
14
  interval: 1,
19
- proven: !skipProofWait,
20
- provenTimeout: 600,
21
15
  };
22
16
  log('setupL2Contracts: Wait options' + jsonStringify(waitOpts));
23
17
  log('setupL2Contracts: Creating PXE client...');
24
- const pxe = createPXEClient(rpcUrl, {}, makeFetch([1, 1, 1, 1, 1], false));
25
- const wallet = new SignerlessWallet(pxe);
26
-
27
- log('setupL2Contracts: Getting fee juice portal address...');
28
- // Deploy Fee Juice
29
- const feeJuicePortalAddress = (await wallet.getNodeInfo()).l1ContractAddresses.feeJuicePortalAddress;
30
- log('setupL2Contracts: Setting up fee juice portal...');
31
- await setupCanonicalL2FeeJuice(wallet, feeJuicePortalAddress, waitOpts, log);
18
+ const node = createAztecNodeClient(nodeUrl);
19
+ const wallet = await TestWallet.create(node);
32
20
 
33
- let deployedAccounts: InitialAccountData[] = [];
21
+ let deployedAccountManagers: AccountManager[] = [];
34
22
  if (testAccounts) {
35
23
  log('setupL2Contracts: Deploying test accounts...');
36
- deployedAccounts = await getInitialTestAccounts();
37
- await deployFundedSchnorrAccounts(pxe, deployedAccounts, waitOpts);
24
+ const initialAccountsData = await getInitialTestAccountsData();
25
+ deployedAccountManagers = await deployFundedSchnorrAccounts(wallet, node, initialAccountsData, waitOpts);
38
26
  }
39
27
 
40
28
  if (json) {
41
29
  const toPrint: Record<string, AztecAddress> = { ...ProtocolContractAddress };
42
- deployedAccounts.forEach((a, i) => {
30
+ deployedAccountManagers.forEach((a, i) => {
43
31
  toPrint[`testAccount${i}`] = a.address;
44
32
  });
45
33
  log(JSON.stringify(toPrint, null, 2));