@aztec/cli 0.0.1-fake-ceab37513c → 0.0.6-commit.a2d1860fe9

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 (244) hide show
  1. package/README.md +2 -428
  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 +10 -0
  8. package/dest/cmds/aztec_node/get_current_min_fee.d.ts +3 -0
  9. package/dest/cmds/aztec_node/get_current_min_fee.d.ts.map +1 -0
  10. package/dest/cmds/aztec_node/get_current_min_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 +7 -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 +3 -8
  20. package/dest/cmds/aztec_node/index.d.ts +4 -0
  21. package/dest/cmds/aztec_node/index.d.ts.map +1 -0
  22. package/dest/cmds/aztec_node/index.js +28 -0
  23. package/dest/cmds/contracts/index.d.ts +1 -1
  24. package/dest/cmds/contracts/inspect_contract.d.ts +1 -1
  25. package/dest/cmds/contracts/inspect_contract.d.ts.map +1 -1
  26. package/dest/cmds/contracts/inspect_contract.js +4 -10
  27. package/dest/cmds/contracts/parse_parameter_struct.d.ts +1 -1
  28. package/dest/cmds/infrastructure/index.d.ts +3 -3
  29. package/dest/cmds/infrastructure/index.d.ts.map +1 -1
  30. package/dest/cmds/infrastructure/index.js +7 -9
  31. package/dest/cmds/infrastructure/sequencers.d.ts +3 -5
  32. package/dest/cmds/infrastructure/sequencers.d.ts.map +1 -1
  33. package/dest/cmds/infrastructure/sequencers.js +15 -7
  34. package/dest/cmds/infrastructure/setup_l2_contract.d.ts +2 -2
  35. package/dest/cmds/infrastructure/setup_l2_contract.d.ts.map +1 -1
  36. package/dest/cmds/infrastructure/setup_l2_contract.js +11 -25
  37. package/dest/cmds/l1/advance_epoch.d.ts +2 -2
  38. package/dest/cmds/l1/advance_epoch.d.ts.map +1 -1
  39. package/dest/cmds/l1/advance_epoch.js +6 -5
  40. package/dest/cmds/l1/assume_proven_through.d.ts +3 -2
  41. package/dest/cmds/l1/assume_proven_through.d.ts.map +1 -1
  42. package/dest/cmds/l1/assume_proven_through.js +8 -8
  43. package/dest/cmds/l1/bridge_erc20.d.ts +2 -2
  44. package/dest/cmds/l1/bridge_erc20.d.ts.map +1 -1
  45. package/dest/cmds/l1/bridge_erc20.js +3 -2
  46. package/dest/cmds/l1/compute_genesis_values.d.ts +4 -0
  47. package/dest/cmds/l1/compute_genesis_values.d.ts.map +1 -0
  48. package/dest/cmds/l1/compute_genesis_values.js +17 -0
  49. package/dest/cmds/l1/create_l1_account.d.ts +1 -1
  50. package/dest/cmds/l1/deploy_l1_contracts_cmd.d.ts +4 -0
  51. package/dest/cmds/l1/deploy_l1_contracts_cmd.d.ts.map +1 -0
  52. package/dest/cmds/l1/{deploy_l1_contracts.js → deploy_l1_contracts_cmd.js} +42 -7
  53. package/dest/cmds/l1/deploy_new_rollup.d.ts +4 -4
  54. package/dest/cmds/l1/deploy_new_rollup.d.ts.map +1 -1
  55. package/dest/cmds/l1/deploy_new_rollup.js +5 -5
  56. package/dest/cmds/l1/get_l1_addresses.d.ts +2 -2
  57. package/dest/cmds/l1/get_l1_addresses.d.ts.map +1 -1
  58. package/dest/cmds/l1/get_l1_addresses.js +5 -2
  59. package/dest/cmds/l1/get_l1_balance.d.ts +1 -1
  60. package/dest/cmds/l1/get_l1_balance.js +4 -2
  61. package/dest/cmds/l1/governance_utils.d.ts +5 -5
  62. package/dest/cmds/l1/governance_utils.d.ts.map +1 -1
  63. package/dest/cmds/l1/governance_utils.js +3 -1
  64. package/dest/cmds/l1/index.d.ts +1 -2
  65. package/dest/cmds/l1/index.d.ts.map +1 -1
  66. package/dest/cmds/l1/index.js +20 -13
  67. package/dest/cmds/l1/prover_stats.d.ts +1 -1
  68. package/dest/cmds/l1/prover_stats.d.ts.map +1 -1
  69. package/dest/cmds/l1/prover_stats.js +32 -30
  70. package/dest/cmds/l1/trigger_seed_snapshot.d.ts +2 -2
  71. package/dest/cmds/l1/trigger_seed_snapshot.d.ts.map +1 -1
  72. package/dest/cmds/l1/trigger_seed_snapshot.js +2 -1
  73. package/dest/cmds/l1/update_l1_validators.d.ts +7 -7
  74. package/dest/cmds/l1/update_l1_validators.d.ts.map +1 -1
  75. package/dest/cmds/l1/update_l1_validators.js +62 -22
  76. package/dest/cmds/misc/compute_selector.d.ts +1 -1
  77. package/dest/cmds/misc/example_contracts.d.ts +1 -1
  78. package/dest/cmds/misc/generate_bootnode_enr.d.ts +1 -1
  79. package/dest/cmds/misc/generate_p2p_private_key.d.ts +1 -1
  80. package/dest/cmds/misc/generate_secret_and_hash.d.ts +1 -1
  81. package/dest/cmds/misc/generate_secret_and_hash.js +2 -2
  82. package/dest/cmds/misc/generate_secret_key.d.ts +2 -2
  83. package/dest/cmds/misc/generate_secret_key.d.ts.map +1 -1
  84. package/dest/cmds/misc/generate_secret_key.js +1 -1
  85. package/dest/cmds/misc/get_canonical_sponsored_fpc_address.d.ts +1 -1
  86. package/dest/cmds/misc/index.d.ts +1 -1
  87. package/dest/cmds/misc/index.d.ts.map +1 -1
  88. package/dest/cmds/misc/index.js +1 -1
  89. package/dest/cmds/misc/update/common.d.ts +1 -1
  90. package/dest/cmds/misc/update/github.d.ts +1 -1
  91. package/dest/cmds/misc/update/noir.d.ts +1 -1
  92. package/dest/cmds/misc/update/npm.d.ts +1 -1
  93. package/dest/cmds/misc/update/npm.js +1 -1
  94. package/dest/cmds/misc/update/utils.d.ts +1 -1
  95. package/dest/cmds/misc/update.d.ts +1 -1
  96. package/dest/cmds/validator_keys/add.d.ts +5 -0
  97. package/dest/cmds/validator_keys/add.d.ts.map +1 -0
  98. package/dest/cmds/validator_keys/add.js +83 -0
  99. package/dest/cmds/validator_keys/generate_bls_keypair.d.ts +12 -0
  100. package/dest/cmds/validator_keys/generate_bls_keypair.d.ts.map +1 -0
  101. package/dest/cmds/validator_keys/generate_bls_keypair.js +27 -0
  102. package/dest/cmds/validator_keys/index.d.ts +4 -0
  103. package/dest/cmds/validator_keys/index.d.ts.map +1 -0
  104. package/dest/cmds/validator_keys/index.js +32 -0
  105. package/dest/cmds/validator_keys/new.d.ts +29 -0
  106. package/dest/cmds/validator_keys/new.d.ts.map +1 -0
  107. package/dest/cmds/validator_keys/new.js +134 -0
  108. package/dest/cmds/validator_keys/shared.d.ts +68 -0
  109. package/dest/cmds/validator_keys/shared.d.ts.map +1 -0
  110. package/dest/cmds/validator_keys/shared.js +274 -0
  111. package/dest/cmds/validator_keys/staker.d.ts +38 -0
  112. package/dest/cmds/validator_keys/staker.d.ts.map +1 -0
  113. package/dest/cmds/validator_keys/staker.js +210 -0
  114. package/dest/cmds/validator_keys/utils.d.ts +25 -0
  115. package/dest/cmds/validator_keys/utils.d.ts.map +1 -0
  116. package/dest/cmds/validator_keys/utils.js +52 -0
  117. package/dest/config/cached_fetch.d.ts +2 -2
  118. package/dest/config/cached_fetch.d.ts.map +1 -1
  119. package/dest/config/cached_fetch.js +1 -1
  120. package/dest/config/chain_l2_config.d.ts +13 -37
  121. package/dest/config/chain_l2_config.d.ts.map +1 -1
  122. package/dest/config/chain_l2_config.js +34 -363
  123. package/dest/config/enrich_env.d.ts +1 -1
  124. package/dest/config/enrich_env.js +1 -1
  125. package/dest/config/generated/networks.d.ts +211 -0
  126. package/dest/config/generated/networks.d.ts.map +1 -0
  127. package/dest/config/generated/networks.js +212 -0
  128. package/dest/config/get_l1_config.d.ts +3 -2
  129. package/dest/config/get_l1_config.d.ts.map +1 -1
  130. package/dest/config/get_l1_config.js +3 -1
  131. package/dest/config/index.d.ts +1 -1
  132. package/dest/config/network_config.d.ts +7 -4
  133. package/dest/config/network_config.d.ts.map +1 -1
  134. package/dest/config/network_config.js +65 -29
  135. package/dest/utils/aztec.d.ts +8 -20
  136. package/dest/utils/aztec.d.ts.map +1 -1
  137. package/dest/utils/aztec.js +22 -68
  138. package/dest/utils/commands.d.ts +21 -12
  139. package/dest/utils/commands.d.ts.map +1 -1
  140. package/dest/utils/commands.js +38 -11
  141. package/dest/utils/encoding.d.ts +1 -1
  142. package/dest/utils/encoding.js +1 -1
  143. package/dest/utils/github.d.ts +1 -1
  144. package/dest/utils/index.d.ts +1 -1
  145. package/dest/utils/inspect.d.ts +5 -11
  146. package/dest/utils/inspect.d.ts.map +1 -1
  147. package/dest/utils/inspect.js +17 -96
  148. package/dest/utils/setup_contracts.d.ts +2 -4
  149. package/dest/utils/setup_contracts.d.ts.map +1 -1
  150. package/dest/utils/setup_contracts.js +2 -22
  151. package/package.json +48 -30
  152. package/public_include_metric_prefixes.json +1 -0
  153. package/src/cmds/aztec_node/block_number.ts +9 -0
  154. package/src/cmds/aztec_node/get_block.ts +11 -0
  155. package/src/cmds/aztec_node/get_current_min_fee.ts +9 -0
  156. package/src/cmds/aztec_node/get_l1_to_l2_message_witness.ts +27 -0
  157. package/src/cmds/{pxe → aztec_node}/get_logs.ts +11 -9
  158. package/src/cmds/{pxe → aztec_node}/get_node_info.ts +5 -16
  159. package/src/cmds/aztec_node/index.ts +87 -0
  160. package/src/cmds/contracts/inspect_contract.ts +4 -11
  161. package/src/cmds/infrastructure/index.ts +7 -18
  162. package/src/cmds/infrastructure/sequencers.ts +13 -11
  163. package/src/cmds/infrastructure/setup_l2_contract.ts +14 -30
  164. package/src/cmds/l1/advance_epoch.ts +6 -5
  165. package/src/cmds/l1/assume_proven_through.ts +10 -9
  166. package/src/cmds/l1/bridge_erc20.ts +5 -2
  167. package/src/cmds/l1/compute_genesis_values.ts +29 -0
  168. package/src/cmds/l1/{deploy_l1_contracts.ts → deploy_l1_contracts_cmd.ts} +43 -25
  169. package/src/cmds/l1/deploy_new_rollup.ts +6 -11
  170. package/src/cmds/l1/get_l1_addresses.ts +5 -3
  171. package/src/cmds/l1/get_l1_balance.ts +2 -2
  172. package/src/cmds/l1/governance_utils.ts +3 -8
  173. package/src/cmds/l1/index.ts +34 -25
  174. package/src/cmds/l1/prover_stats.ts +42 -31
  175. package/src/cmds/l1/trigger_seed_snapshot.ts +2 -1
  176. package/src/cmds/l1/update_l1_validators.ts +56 -34
  177. package/src/cmds/misc/generate_secret_and_hash.ts +2 -2
  178. package/src/cmds/misc/generate_secret_key.ts +1 -1
  179. package/src/cmds/misc/index.ts +1 -1
  180. package/src/cmds/misc/update/npm.ts +1 -1
  181. package/src/cmds/validator_keys/add.ts +123 -0
  182. package/src/cmds/validator_keys/generate_bls_keypair.ts +34 -0
  183. package/src/cmds/validator_keys/index.ts +142 -0
  184. package/src/cmds/validator_keys/new.ts +207 -0
  185. package/src/cmds/validator_keys/shared.ts +326 -0
  186. package/src/cmds/validator_keys/staker.ts +301 -0
  187. package/src/cmds/validator_keys/utils.ts +81 -0
  188. package/src/config/cached_fetch.ts +1 -1
  189. package/src/config/chain_l2_config.ts +36 -470
  190. package/src/config/enrich_env.ts +1 -1
  191. package/src/config/generated/networks.ts +216 -0
  192. package/src/config/get_l1_config.ts +4 -1
  193. package/src/config/network_config.ts +75 -30
  194. package/src/utils/aztec.ts +27 -122
  195. package/src/utils/commands.ts +52 -15
  196. package/src/utils/encoding.ts +1 -1
  197. package/src/utils/inspect.ts +23 -112
  198. package/src/utils/setup_contracts.ts +4 -43
  199. package/dest/cmds/l1/deploy_l1_contracts.d.ts +0 -4
  200. package/dest/cmds/l1/deploy_l1_contracts.d.ts.map +0 -1
  201. package/dest/cmds/pxe/add_contract.d.ts +0 -5
  202. package/dest/cmds/pxe/add_contract.d.ts.map +0 -1
  203. package/dest/cmds/pxe/add_contract.js +0 -29
  204. package/dest/cmds/pxe/block_number.d.ts +0 -3
  205. package/dest/cmds/pxe/block_number.d.ts.map +0 -1
  206. package/dest/cmds/pxe/block_number.js +0 -10
  207. package/dest/cmds/pxe/get_account.d.ts +0 -4
  208. package/dest/cmds/pxe/get_account.d.ts.map +0 -1
  209. package/dest/cmds/pxe/get_account.js +0 -10
  210. package/dest/cmds/pxe/get_accounts.d.ts +0 -3
  211. package/dest/cmds/pxe/get_accounts.d.ts.map +0 -1
  212. package/dest/cmds/pxe/get_accounts.js +0 -25
  213. package/dest/cmds/pxe/get_block.d.ts +0 -3
  214. package/dest/cmds/pxe/get_block.d.ts.map +0 -1
  215. package/dest/cmds/pxe/get_block.js +0 -9
  216. package/dest/cmds/pxe/get_contract_data.d.ts +0 -4
  217. package/dest/cmds/pxe/get_contract_data.d.ts.map +0 -1
  218. package/dest/cmds/pxe/get_contract_data.js +0 -31
  219. package/dest/cmds/pxe/get_current_base_fee.d.ts +0 -3
  220. package/dest/cmds/pxe/get_current_base_fee.d.ts.map +0 -1
  221. package/dest/cmds/pxe/get_current_base_fee.js +0 -7
  222. package/dest/cmds/pxe/get_l1_to_l2_message_witness.d.ts +0 -4
  223. package/dest/cmds/pxe/get_l1_to_l2_message_witness.d.ts.map +0 -1
  224. package/dest/cmds/pxe/get_l1_to_l2_message_witness.js +0 -11
  225. package/dest/cmds/pxe/get_logs.d.ts +0 -4
  226. package/dest/cmds/pxe/get_logs.d.ts.map +0 -1
  227. package/dest/cmds/pxe/get_node_info.d.ts +0 -3
  228. package/dest/cmds/pxe/get_node_info.d.ts.map +0 -1
  229. package/dest/cmds/pxe/get_pxe_info.d.ts +0 -3
  230. package/dest/cmds/pxe/get_pxe_info.d.ts.map +0 -1
  231. package/dest/cmds/pxe/get_pxe_info.js +0 -11
  232. package/dest/cmds/pxe/index.d.ts +0 -4
  233. package/dest/cmds/pxe/index.d.ts.map +0 -1
  234. package/dest/cmds/pxe/index.js +0 -55
  235. package/src/cmds/pxe/add_contract.ts +0 -41
  236. package/src/cmds/pxe/block_number.ts +0 -9
  237. package/src/cmds/pxe/get_account.ts +0 -16
  238. package/src/cmds/pxe/get_accounts.ts +0 -35
  239. package/src/cmds/pxe/get_block.ts +0 -10
  240. package/src/cmds/pxe/get_contract_data.ts +0 -51
  241. package/src/cmds/pxe/get_current_base_fee.ts +0 -9
  242. package/src/cmds/pxe/get_l1_to_l2_message_witness.ts +0 -25
  243. package/src/cmds/pxe/get_pxe_info.ts +0 -13
  244. package/src/cmds/pxe/index.ts +0 -170
@@ -1,4 +1,4 @@
1
- import { sha256 } from '@aztec/foundation/crypto';
1
+ import { sha256 } from '@aztec/foundation/crypto/sha256';
2
2
  import { FunctionSelector, decodeFunctionSignature, decodeFunctionSignatureWithParameterNames, retainBytecode } from '@aztec/stdlib/abi';
3
3
  import { getContractClassFromArtifact } from '@aztec/stdlib/contract';
4
4
  import { getContractArtifact } from '../../utils/aztec.js';
@@ -16,15 +16,9 @@ export async function inspectContract(contractArtifactFile, debugLogger, log) {
16
16
  log(`\tprivate function tree root: ${contractClass.privateFunctionsRoot.toString()}`);
17
17
  log(`\tpublic bytecode commitment: ${contractClass.publicBytecodeCommitment.toString()}`);
18
18
  log(`\tpublic bytecode length: ${contractClass.packedBytecode.length} bytes (${bytecodeLengthInFields} fields)`);
19
- const externalFunctions = contractFns.filter((f)=>!f.isInternal);
20
- if (externalFunctions.length > 0) {
21
- log(`\nExternal functions:`);
22
- await Promise.all(externalFunctions.map((f)=>logFunction(f, log)));
23
- }
24
- const internalFunctions = contractFns.filter((f)=>f.isInternal);
25
- if (internalFunctions.length > 0) {
26
- log(`\nInternal functions:`);
27
- await Promise.all(internalFunctions.map((f)=>logFunction(f, log)));
19
+ if (contractFns.length > 0) {
20
+ log(`\nExternal contract functions:`);
21
+ await Promise.all(contractFns.map((f)=>logFunction(f, log)));
28
22
  }
29
23
  }
30
24
  async function logFunction(fn, log) {
@@ -1,3 +1,3 @@
1
1
  import type { LogFn } from '@aztec/foundation/log';
2
2
  export declare function parseParameterStruct(encodedString: string, contractArtifactPath: string, parameterName: string, log: LogFn): Promise<void>;
3
- //# sourceMappingURL=parse_parameter_struct.d.ts.map
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2VfcGFyYW1ldGVyX3N0cnVjdC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NtZHMvY29udHJhY3RzL3BhcnNlX3BhcmFtZXRlcl9zdHJ1Y3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFNbkQsd0JBQXNCLG9CQUFvQixDQUN4QyxhQUFhLEVBQUUsTUFBTSxFQUNyQixvQkFBb0IsRUFBRSxNQUFNLEVBQzVCLGFBQWEsRUFBRSxNQUFNLEVBQ3JCLEdBQUcsRUFBRSxLQUFLLGlCQWVYIn0=
@@ -1,4 +1,4 @@
1
- import type { LogFn, Logger } from '@aztec/foundation/log';
1
+ import type { LogFn } from '@aztec/foundation/log';
2
2
  import type { Command } from 'commander';
3
- export declare function injectCommands(program: Command, log: LogFn, debugLogger: Logger): Command;
4
- //# sourceMappingURL=index.d.ts.map
3
+ export declare function injectCommands(program: Command, log: LogFn): Command;
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbWRzL2luZnJhc3RydWN0dXJlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRW5ELE9BQU8sS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUl6Qyx3QkFBZ0IsY0FBYyxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLEtBQUssV0E2QzFEIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cmds/infrastructure/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,WAwD/E"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cmds/infrastructure/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAEnD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,WA6C1D"}
@@ -1,23 +1,21 @@
1
- import { ETHEREUM_HOSTS, l1ChainIdOption, parseOptionalInteger, pxeOption } from '../../utils/commands.js';
2
- export function injectCommands(program, log, debugLogger) {
3
- program.command('setup-protocol-contracts').description('Bootstrap the blockchain by initializing all the protocol contracts').addOption(pxeOption).option('--testAccounts', 'Deploy funded test accounts.').option('--sponsoredFPC', 'Deploy a sponsored FPC.').option('--json', 'Output the contract addresses in JSON format').option('--skipProofWait', "Don't wait for proofs to land.").action(async (options)=>{
1
+ import { ETHEREUM_HOSTS, l1ChainIdOption, nodeOption, parseOptionalInteger } from '../../utils/commands.js';
2
+ export function injectCommands(program, log) {
3
+ program.command('setup-protocol-contracts').description('Bootstrap the blockchain by initializing all the protocol contracts').addOption(nodeOption).option('--testAccounts', 'Deploy funded test accounts.').option('--json', 'Output the contract addresses in JSON format').action(async (options)=>{
4
4
  const { setupL2Contracts } = await import('./setup_l2_contract.js');
5
- await setupL2Contracts(options.rpcUrl, options.testAccounts, options.sponsoredFPC, options.json, options.skipProofWait, log);
5
+ await setupL2Contracts(options.nodeUrl, options.testAccounts, options.json, log);
6
6
  });
7
7
  program.command('sequencers').argument('<command>', 'Command to run: list, add, remove, who-next').argument('[who]', 'Who to add/remove').description('Manages or queries registered sequencers on the L1 rollup contract.').requiredOption('--l1-rpc-urls <string>', 'List of Ethereum host URLs. Chain identifiers localhost and testnet can be used (comma separated)', (arg)=>arg.split(','), [
8
8
  ETHEREUM_HOSTS
9
- ]).option('-m, --mnemonic <string>', 'The mnemonic for the sender of the tx', 'test test test test test test test test test test test junk').option('--block-number <number>', 'Block number to query next sequencer for', parseOptionalInteger).addOption(pxeOption).addOption(l1ChainIdOption).action(async (command, who, options)=>{
9
+ ]).option('-m, --mnemonic <string>', 'The mnemonic for the sender of the tx', 'test test test test test test test test test test test junk').option('--block-number <number>', 'Block number to query next sequencer for', parseOptionalInteger).addOption(nodeOption).addOption(l1ChainIdOption).action(async (command, who, options)=>{
10
10
  const { sequencers } = await import('./sequencers.js');
11
11
  await sequencers({
12
12
  command: command,
13
13
  who,
14
14
  mnemonic: options.mnemonic,
15
- rpcUrl: options.rpcUrl,
15
+ nodeUrl: options.nodeUrl,
16
16
  l1RpcUrls: options.l1RpcUrls,
17
17
  chainId: options.l1ChainId,
18
- blockNumber: options.blockNumber,
19
- log,
20
- debugLogger
18
+ log
21
19
  });
22
20
  });
23
21
  return program;
@@ -1,14 +1,12 @@
1
- import type { LogFn, Logger } from '@aztec/foundation/log';
1
+ import type { LogFn } from '@aztec/foundation/log';
2
2
  export declare function sequencers(opts: {
3
3
  command: 'list' | 'add' | 'remove' | 'who-next' | 'flush';
4
4
  who?: string;
5
5
  mnemonic?: string;
6
6
  bn254SecretKey?: bigint;
7
- rpcUrl: string;
7
+ nodeUrl: string;
8
8
  l1RpcUrls: string[];
9
9
  chainId: number;
10
- blockNumber?: number;
11
10
  log: LogFn;
12
- debugLogger: Logger;
13
11
  }): Promise<void>;
14
- //# sourceMappingURL=sequencers.d.ts.map
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VxdWVuY2Vycy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NtZHMvaW5mcmFzdHJ1Y3R1cmUvc2VxdWVuY2Vycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSxPQUFPLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQU1uRCx3QkFBc0IsVUFBVSxDQUFDLElBQUksRUFBRTtJQUNyQyxPQUFPLEVBQUUsTUFBTSxHQUFHLEtBQUssR0FBRyxRQUFRLEdBQUcsVUFBVSxHQUFHLE9BQU8sQ0FBQztJQUMxRCxHQUFHLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDYixRQUFRLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDbEIsY0FBYyxDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQ3hCLE9BQU8sRUFBRSxNQUFNLENBQUM7SUFDaEIsU0FBUyxFQUFFLE1BQU0sRUFBRSxDQUFDO0lBQ3BCLE9BQU8sRUFBRSxNQUFNLENBQUM7SUFDaEIsR0FBRyxFQUFFLEtBQUssQ0FBQztDQUNaLGlCQXFHQSJ9
@@ -1 +1 @@
1
- {"version":3,"file":"sequencers.d.ts","sourceRoot":"","sources":["../../../src/cmds/infrastructure/sequencers.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAM3D,wBAAsB,UAAU,CAAC,IAAI,EAAE;IACrC,OAAO,EAAE,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,UAAU,GAAG,OAAO,CAAC;IAC1D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,EAAE,KAAK,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;CACrB,iBAoGA"}
1
+ {"version":3,"file":"sequencers.d.ts","sourceRoot":"","sources":["../../../src/cmds/infrastructure/sequencers.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAMnD,wBAAsB,UAAU,CAAC,IAAI,EAAE;IACrC,OAAO,EAAE,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,UAAU,GAAG,OAAO,CAAC;IAC1D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,KAAK,CAAC;CACZ,iBAqGA"}
@@ -1,21 +1,28 @@
1
- import { Fr, createCompatibleClient } from '@aztec/aztec.js';
2
- import { GSEContract, RollupContract, createEthereumChain, getL1ContractsConfigEnvVars } from '@aztec/ethereum';
1
+ import { Fr } from '@aztec/aztec.js/fields';
2
+ import { createAztecNodeClient } from '@aztec/aztec.js/node';
3
+ import { createEthereumChain } from '@aztec/ethereum/chain';
4
+ import { getL1ContractsConfigEnvVars } from '@aztec/ethereum/config';
5
+ import { GSEContract, RollupContract } from '@aztec/ethereum/contracts';
3
6
  import { RollupAbi, TestERC20Abi } from '@aztec/l1-artifacts';
4
7
  import { createPublicClient, createWalletClient, fallback, getContract, http } from 'viem';
5
8
  import { mnemonicToAccount } from 'viem/accounts';
6
9
  export async function sequencers(opts) {
7
- const { command, who: maybeWho, mnemonic, bn254SecretKey, rpcUrl, l1RpcUrls, chainId, log, debugLogger } = opts;
8
- const client = await createCompatibleClient(rpcUrl, debugLogger);
10
+ const { command, who: maybeWho, mnemonic, bn254SecretKey, nodeUrl, l1RpcUrls, chainId, log } = opts;
11
+ const client = createAztecNodeClient(nodeUrl);
9
12
  const { l1ContractAddresses } = await client.getNodeInfo();
10
13
  const chain = createEthereumChain(l1RpcUrls, chainId);
11
14
  const publicClient = createPublicClient({
12
15
  chain: chain.chainInfo,
13
- transport: fallback(l1RpcUrls.map((url)=>http(url)))
16
+ transport: fallback(l1RpcUrls.map((url)=>http(url, {
17
+ batch: false
18
+ })))
14
19
  });
15
20
  const walletClient = mnemonic ? createWalletClient({
16
21
  account: mnemonicToAccount(mnemonic),
17
22
  chain: chain.chainInfo,
18
- transport: fallback(l1RpcUrls.map((url)=>http(url)))
23
+ transport: fallback(l1RpcUrls.map((url)=>http(url, {
24
+ batch: false
25
+ })))
19
26
  }) : undefined;
20
27
  const rollup = new RollupContract(publicClient, l1ContractAddresses.rollupAddress);
21
28
  const writeableRollup = walletClient ? getContract({
@@ -39,8 +46,9 @@ export async function sequencers(opts) {
39
46
  throw new Error(`Missing sequencer address`);
40
47
  }
41
48
  log(`Adding ${who} as sequencer`);
49
+ const stakingAssetAddress = await rollup.getStakingAsset();
42
50
  const stakingAsset = getContract({
43
- address: await rollup.getStakingAsset(),
51
+ address: stakingAssetAddress.toString(),
44
52
  abi: TestERC20Abi,
45
53
  client: walletClient
46
54
  });
@@ -1,3 +1,3 @@
1
1
  import type { LogFn } from '@aztec/foundation/log';
2
- export declare function setupL2Contracts(rpcUrl: string, testAccounts: boolean, sponsoredFPC: boolean, json: boolean, skipProofWait: boolean, log: LogFn): Promise<void>;
3
- //# sourceMappingURL=setup_l2_contract.d.ts.map
2
+ export declare function setupL2Contracts(nodeUrl: string, testAccounts: boolean, json: boolean, log: LogFn): Promise<void>;
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dXBfbDJfY29udHJhY3QuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbWRzL2luZnJhc3RydWN0dXJlL3NldHVwX2wyX2NvbnRyYWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1BLE9BQU8sS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBS25ELHdCQUFzQixnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsS0FBSyxpQkF3QnZHIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"setup_l2_contract.d.ts","sourceRoot":"","sources":["../../../src/cmds/infrastructure/setup_l2_contract.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAKnD,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,OAAO,EACrB,YAAY,EAAE,OAAO,EACrB,IAAI,EAAE,OAAO,EACb,aAAa,EAAE,OAAO,EACtB,GAAG,EAAE,KAAK,iBAqCX"}
1
+ {"version":3,"file":"setup_l2_contract.d.ts","sourceRoot":"","sources":["../../../src/cmds/infrastructure/setup_l2_contract.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAKnD,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,iBAwBvG"}
@@ -1,43 +1,29 @@
1
- import { deployFundedSchnorrAccounts, getInitialTestAccounts } from '@aztec/accounts/testing';
2
- import { createPXEClient, makeFetch } from '@aztec/aztec.js';
1
+ import { getInitialTestAccountsData } from '@aztec/accounts/testing';
2
+ import { createAztecNodeClient } from '@aztec/aztec.js/node';
3
3
  import { jsonStringify } from '@aztec/foundation/json-rpc';
4
4
  import { ProtocolContractAddress } from '@aztec/protocol-contracts';
5
- import { setupSponsoredFPC } from '../../utils/setup_contracts.js';
6
- export async function setupL2Contracts(rpcUrl, testAccounts, sponsoredFPC, json, skipProofWait, log) {
5
+ import { EmbeddedWallet } from '@aztec/wallets/embedded';
6
+ import { deployFundedSchnorrAccounts } from '@aztec/wallets/testing';
7
+ export async function setupL2Contracts(nodeUrl, testAccounts, json, log) {
7
8
  const waitOpts = {
8
9
  timeout: 180,
9
10
  interval: 1
10
11
  };
11
- const waitForProvenOptions = !skipProofWait ? {
12
- provenTimeout: 600
13
- } : undefined;
14
12
  log('setupL2Contracts: Wait options' + jsonStringify(waitOpts));
15
- if (waitForProvenOptions) {
16
- log('setupL2Contracts: Wait for proven options' + jsonStringify(waitForProvenOptions));
17
- }
18
13
  log('setupL2Contracts: Creating PXE client...');
19
- const pxe = createPXEClient(rpcUrl, {}, makeFetch([
20
- 1,
21
- 1,
22
- 1,
23
- 1,
24
- 1
25
- ], false));
26
- let deployedAccounts = [];
14
+ const node = createAztecNodeClient(nodeUrl);
15
+ const wallet = await EmbeddedWallet.create(node);
16
+ let deployedAccountManagers = [];
27
17
  if (testAccounts) {
28
18
  log('setupL2Contracts: Deploying test accounts...');
29
- deployedAccounts = await getInitialTestAccounts();
30
- await deployFundedSchnorrAccounts(pxe, deployedAccounts, waitOpts);
31
- }
32
- if (sponsoredFPC) {
33
- log('setupL2Contracts: Setting up sponsored FPC...');
34
- await setupSponsoredFPC(pxe, log, waitOpts, waitForProvenOptions);
19
+ const initialAccountsData = await getInitialTestAccountsData();
20
+ deployedAccountManagers = await deployFundedSchnorrAccounts(wallet, initialAccountsData, waitOpts);
35
21
  }
36
22
  if (json) {
37
23
  const toPrint = {
38
24
  ...ProtocolContractAddress
39
25
  };
40
- deployedAccounts.forEach((a, i)=>{
26
+ deployedAccountManagers.forEach((a, i)=>{
41
27
  toPrint[`testAccount${i}`] = a.address;
42
28
  });
43
29
  log(JSON.stringify(toPrint, null, 2));
@@ -1,3 +1,3 @@
1
1
  import type { LogFn } from '@aztec/foundation/log';
2
- export declare function advanceEpoch(l1RpcUrls: string[], rpcUrl: string, log: LogFn): Promise<void>;
3
- //# sourceMappingURL=advance_epoch.d.ts.map
2
+ export declare function advanceEpoch(l1RpcUrls: string[], nodeUrl: string, log: LogFn): Promise<void>;
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWR2YW5jZV9lcG9jaC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NtZHMvbDEvYWR2YW5jZV9lcG9jaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUduRCx3QkFBc0IsWUFBWSxDQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxLQUFLLGlCQVFsRiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"advance_epoch.d.ts","sourceRoot":"","sources":["../../../src/cmds/l1/advance_epoch.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAEnD,wBAAsB,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,iBAQjF"}
1
+ {"version":3,"file":"advance_epoch.d.ts","sourceRoot":"","sources":["../../../src/cmds/l1/advance_epoch.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAGnD,wBAAsB,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,iBAQlF"}
@@ -1,11 +1,12 @@
1
- import { createPXEClient, makeFetch } from '@aztec/aztec.js';
1
+ import { createAztecNodeClient } from '@aztec/aztec.js/node';
2
2
  import { RollupCheatCodes } from '@aztec/ethereum/test';
3
- export async function advanceEpoch(l1RpcUrls, rpcUrl, log) {
4
- const pxe = createPXEClient(rpcUrl, {}, makeFetch([], true));
5
- const rollupAddress = await pxe.getNodeInfo().then((i)=>i.l1ContractAddresses.rollupAddress);
3
+ import { DateProvider } from '@aztec/foundation/timer';
4
+ export async function advanceEpoch(l1RpcUrls, nodeUrl, log) {
5
+ const aztecNode = createAztecNodeClient(nodeUrl);
6
+ const rollupAddress = await aztecNode.getNodeInfo().then((i)=>i.l1ContractAddresses.rollupAddress);
6
7
  const cheat = RollupCheatCodes.create(l1RpcUrls, {
7
8
  rollupAddress
8
- });
9
+ }, new DateProvider());
9
10
  await cheat.advanceToNextEpoch();
10
11
  log(`Warped time to advance to next epoch`);
11
12
  }
@@ -1,3 +1,4 @@
1
+ import { CheckpointNumber } from '@aztec/foundation/branded-types';
1
2
  import type { LogFn } from '@aztec/foundation/log';
2
- export declare function assumeProvenThrough(blockNumberOrLatest: number | undefined, l1RpcUrls: string[], rpcUrl: string, log: LogFn): Promise<void>;
3
- //# sourceMappingURL=assume_proven_through.d.ts.map
3
+ export declare function assumeProvenThrough(checkpointOrLatest: CheckpointNumber | undefined, l1RpcUrls: string[], nodeUrl: string, log: LogFn): Promise<void>;
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzdW1lX3Byb3Zlbl90aHJvdWdoLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY21kcy9sMS9hc3N1bWVfcHJvdmVuX3Rocm91Z2gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbkUsT0FBTyxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFHbkQsd0JBQXNCLG1CQUFtQixDQUN2QyxrQkFBa0IsRUFBRSxnQkFBZ0IsR0FBRyxTQUFTLEVBQ2hELFNBQVMsRUFBRSxNQUFNLEVBQUUsRUFDbkIsT0FBTyxFQUFFLE1BQU0sRUFDZixHQUFHLEVBQUUsS0FBSyxpQkFTWCJ9
@@ -1 +1 @@
1
- {"version":3,"file":"assume_proven_through.d.ts","sourceRoot":"","sources":["../../../src/cmds/l1/assume_proven_through.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAEnD,wBAAsB,mBAAmB,CACvC,mBAAmB,EAAE,MAAM,GAAG,SAAS,EACvC,SAAS,EAAE,MAAM,EAAE,EACnB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,KAAK,iBAUX"}
1
+ {"version":3,"file":"assume_proven_through.d.ts","sourceRoot":"","sources":["../../../src/cmds/l1/assume_proven_through.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAGnD,wBAAsB,mBAAmB,CACvC,kBAAkB,EAAE,gBAAgB,GAAG,SAAS,EAChD,SAAS,EAAE,MAAM,EAAE,EACnB,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,KAAK,iBASX"}
@@ -1,12 +1,12 @@
1
- import { createPXEClient, makeFetch } from '@aztec/aztec.js';
1
+ import { createAztecNodeClient } from '@aztec/aztec.js/node';
2
2
  import { RollupCheatCodes } from '@aztec/ethereum/test';
3
- export async function assumeProvenThrough(blockNumberOrLatest, l1RpcUrls, rpcUrl, log) {
4
- const pxe = createPXEClient(rpcUrl, {}, makeFetch([], true));
5
- const rollupAddress = await pxe.getNodeInfo().then((i)=>i.l1ContractAddresses.rollupAddress);
6
- const blockNumber = blockNumberOrLatest ?? await pxe.getBlockNumber();
3
+ import { DateProvider } from '@aztec/foundation/timer';
4
+ export async function assumeProvenThrough(checkpointOrLatest, l1RpcUrls, nodeUrl, log) {
5
+ const aztecNode = createAztecNodeClient(nodeUrl);
6
+ const rollupAddress = await aztecNode.getNodeInfo().then((i)=>i.l1ContractAddresses.rollupAddress);
7
7
  const rollupCheatCodes = RollupCheatCodes.create(l1RpcUrls, {
8
8
  rollupAddress
9
- });
10
- await rollupCheatCodes.markAsProven(blockNumber);
11
- log(`Assumed proven through block ${blockNumber}`);
9
+ }, new DateProvider());
10
+ await rollupCheatCodes.markAsProven(checkpointOrLatest);
11
+ log(`Assumed proven through checkpoint ${checkpointOrLatest ?? 'latest'}`);
12
12
  }
@@ -1,4 +1,4 @@
1
- import { type AztecAddress, type EthAddress } from '@aztec/aztec.js';
1
+ import type { AztecAddress, EthAddress } from '@aztec/aztec.js/addresses';
2
2
  import type { LogFn, Logger } from '@aztec/foundation/log';
3
3
  export declare function bridgeERC20(amount: bigint, recipient: AztecAddress, l1RpcUrls: string[], chainId: number, privateKey: string | undefined, mnemonic: string, tokenAddress: EthAddress, handlerAddress: EthAddress | undefined, portalAddress: EthAddress, privateTransfer: boolean, mint: boolean, json: boolean, log: LogFn, debugLogger: Logger): Promise<void>;
4
- //# sourceMappingURL=bridge_erc20.d.ts.map
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJpZGdlX2VyYzIwLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY21kcy9sMS9icmlkZ2VfZXJjMjAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBSzFFLE9BQU8sS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUkzRCx3QkFBc0IsV0FBVyxDQUMvQixNQUFNLEVBQUUsTUFBTSxFQUNkLFNBQVMsRUFBRSxZQUFZLEVBQ3ZCLFNBQVMsRUFBRSxNQUFNLEVBQUUsRUFDbkIsT0FBTyxFQUFFLE1BQU0sRUFDZixVQUFVLEVBQUUsTUFBTSxHQUFHLFNBQVMsRUFDOUIsUUFBUSxFQUFFLE1BQU0sRUFDaEIsWUFBWSxFQUFFLFVBQVUsRUFDeEIsY0FBYyxFQUFFLFVBQVUsR0FBRyxTQUFTLEVBQ3RDLGFBQWEsRUFBRSxVQUFVLEVBQ3pCLGVBQWUsRUFBRSxPQUFPLEVBQ3hCLElBQUksRUFBRSxPQUFPLEVBQ2IsSUFBSSxFQUFFLE9BQU8sRUFDYixHQUFHLEVBQUUsS0FBSyxFQUNWLFdBQVcsRUFBRSxNQUFNLGlCQWdDcEIifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"bridge_erc20.d.ts","sourceRoot":"","sources":["../../../src/cmds/l1/bridge_erc20.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,UAAU,EAAqC,MAAM,iBAAiB,CAAC;AAExG,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAI3D,wBAAsB,WAAW,CAC/B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,YAAY,EACvB,SAAS,EAAE,MAAM,EAAE,EACnB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,UAAU,EACxB,cAAc,EAAE,UAAU,GAAG,SAAS,EACtC,aAAa,EAAE,UAAU,EACzB,eAAe,EAAE,OAAO,EACxB,IAAI,EAAE,OAAO,EACb,IAAI,EAAE,OAAO,EACb,GAAG,EAAE,KAAK,EACV,WAAW,EAAE,MAAM,iBAgCpB"}
1
+ {"version":3,"file":"bridge_erc20.d.ts","sourceRoot":"","sources":["../../../src/cmds/l1/bridge_erc20.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAK1E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAI3D,wBAAsB,WAAW,CAC/B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,YAAY,EACvB,SAAS,EAAE,MAAM,EAAE,EACnB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,UAAU,EACxB,cAAc,EAAE,UAAU,GAAG,SAAS,EACtC,aAAa,EAAE,UAAU,EACzB,eAAe,EAAE,OAAO,EACxB,IAAI,EAAE,OAAO,EACb,IAAI,EAAE,OAAO,EACb,GAAG,EAAE,KAAK,EACV,WAAW,EAAE,MAAM,iBAgCpB"}
@@ -1,5 +1,6 @@
1
- import { L1ToL2TokenPortalManager } from '@aztec/aztec.js';
2
- import { createEthereumChain, createExtendedL1Client } from '@aztec/ethereum';
1
+ import { L1ToL2TokenPortalManager } from '@aztec/aztec.js/ethereum';
2
+ import { createEthereumChain } from '@aztec/ethereum/chain';
3
+ import { createExtendedL1Client } from '@aztec/ethereum/client';
3
4
  import { prettyPrintJSON } from '../../utils/commands.js';
4
5
  export async function bridgeERC20(amount, recipient, l1RpcUrls, chainId, privateKey, mnemonic, tokenAddress, handlerAddress, portalAddress, privateTransfer, mint, json, log, debugLogger) {
5
6
  // Prepare L1 client
@@ -0,0 +1,4 @@
1
+ import type { LogFn } from '@aztec/foundation/log';
2
+ /** Computes and prints genesis values needed for L1 contract deployment. */
3
+ export declare function computeGenesisValuesCmd(testAccounts: boolean, sponsoredFPC: boolean, log: LogFn): Promise<void>;
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcHV0ZV9nZW5lc2lzX3ZhbHVlcy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NtZHMvbDEvY29tcHV0ZV9nZW5lc2lzX3ZhbHVlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQU1uRCw0RUFBNEU7QUFDNUUsd0JBQXNCLHVCQUF1QixDQUFDLFlBQVksRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsS0FBSyxpQkFvQnJHIn0=
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compute_genesis_values.d.ts","sourceRoot":"","sources":["../../../src/cmds/l1/compute_genesis_values.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAMnD,4EAA4E;AAC5E,wBAAsB,uBAAuB,CAAC,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,iBAoBrG"}
@@ -0,0 +1,17 @@
1
+ import { getInitialTestAccountsData } from '@aztec/accounts/testing';
2
+ import { protocolContractsHash } from '@aztec/protocol-contracts';
3
+ import { getGenesisValues } from '@aztec/world-state/testing';
4
+ import { getSponsoredFPCAddress } from '../../utils/setup_contracts.js';
5
+ /** Computes and prints genesis values needed for L1 contract deployment. */ export async function computeGenesisValuesCmd(testAccounts, sponsoredFPC, log) {
6
+ const initialAccounts = testAccounts ? await getInitialTestAccountsData() : [];
7
+ const sponsoredFPCAddresses = sponsoredFPC ? await getSponsoredFPCAddress() : [];
8
+ const initialFundedAccounts = initialAccounts.map((a)=>a.address).concat(sponsoredFPCAddresses);
9
+ const { genesisArchiveRoot } = await getGenesisValues(initialFundedAccounts);
10
+ const { getVKTreeRoot } = await import('@aztec/noir-protocol-circuits-types/vk-tree');
11
+ const vkTreeRoot = getVKTreeRoot();
12
+ log(JSON.stringify({
13
+ vkTreeRoot: vkTreeRoot.toString(),
14
+ protocolContractsHash: protocolContractsHash.toString(),
15
+ genesisArchiveRoot: genesisArchiveRoot.toString()
16
+ }, null, 2));
17
+ }
@@ -1,3 +1,3 @@
1
1
  import type { LogFn } from '@aztec/foundation/log';
2
2
  export declare function createL1Account(json: boolean, log: LogFn): void;
3
- //# sourceMappingURL=create_l1_account.d.ts.map
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlX2wxX2FjY291bnQuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbWRzL2wxL2NyZWF0ZV9sMV9hY2NvdW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBTW5ELHdCQUFnQixlQUFlLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsS0FBSyxRQVV4RCJ9
@@ -0,0 +1,4 @@
1
+ import type { EthAddress } from '@aztec/aztec.js/addresses';
2
+ import type { LogFn, Logger } from '@aztec/foundation/log';
3
+ export declare function deployL1ContractsCmd(rpcUrls: string[], chainId: number, privateKey: string | undefined, mnemonic: string, mnemonicIndex: number, testAccounts: boolean, sponsoredFPC: boolean, json: boolean, initialValidators: EthAddress[], realVerifier: boolean, existingToken: EthAddress | undefined, log: LogFn, debugLogger: Logger): Promise<void>;
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwbG95X2wxX2NvbnRyYWN0c19jbWQuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbWRzL2wxL2RlcGxveV9sMV9jb250cmFjdHNfY21kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBSzVELE9BQU8sS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQVMzRCx3QkFBc0Isb0JBQW9CLENBQ3hDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFDakIsT0FBTyxFQUFFLE1BQU0sRUFDZixVQUFVLEVBQUUsTUFBTSxHQUFHLFNBQVMsRUFDOUIsUUFBUSxFQUFFLE1BQU0sRUFDaEIsYUFBYSxFQUFFLE1BQU0sRUFDckIsWUFBWSxFQUFFLE9BQU8sRUFDckIsWUFBWSxFQUFFLE9BQU8sRUFDckIsSUFBSSxFQUFFLE9BQU8sRUFDYixpQkFBaUIsRUFBRSxVQUFVLEVBQUUsRUFDL0IsWUFBWSxFQUFFLE9BQU8sRUFDckIsYUFBYSxFQUFFLFVBQVUsR0FBRyxTQUFTLEVBQ3JDLEdBQUcsRUFBRSxLQUFLLEVBQ1YsV0FBVyxFQUFFLE1BQU0saUJBOEVwQiJ9
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deploy_l1_contracts_cmd.d.ts","sourceRoot":"","sources":["../../../src/cmds/l1/deploy_l1_contracts_cmd.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAK5D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAS3D,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EACrB,YAAY,EAAE,OAAO,EACrB,YAAY,EAAE,OAAO,EACrB,IAAI,EAAE,OAAO,EACb,iBAAiB,EAAE,UAAU,EAAE,EAC/B,YAAY,EAAE,OAAO,EACrB,aAAa,EAAE,UAAU,GAAG,SAAS,EACrC,GAAG,EAAE,KAAK,EACV,WAAW,EAAE,MAAM,iBA8EpB"}
@@ -1,22 +1,57 @@
1
- import { getInitialTestAccounts } from '@aztec/accounts/testing';
2
- import { Fr } from '@aztec/aztec.js';
3
- import { getL1ContractsConfigEnvVars } from '@aztec/ethereum';
1
+ import { getInitialTestAccountsData } from '@aztec/accounts/testing';
2
+ import { Fr } from '@aztec/aztec.js/fields';
3
+ import { getL1ContractsConfigEnvVars } from '@aztec/ethereum/config';
4
+ import { deployAztecL1Contracts } from '@aztec/ethereum/deploy-aztec-l1-contracts';
4
5
  import { SecretValue } from '@aztec/foundation/config';
6
+ import { protocolContractsHash } from '@aztec/protocol-contracts';
5
7
  import { getGenesisValues } from '@aztec/world-state/testing';
6
- import { deployAztecContracts } from '../../utils/aztec.js';
8
+ import { mnemonicToAccount } from 'viem/accounts';
9
+ import { addLeadingHex } from '../../utils/aztec.js';
7
10
  import { getSponsoredFPCAddress } from '../../utils/setup_contracts.js';
8
- export async function deployL1Contracts(rpcUrls, chainId, privateKey, mnemonic, mnemonicIndex, salt, testAccounts, sponsoredFPC, acceleratedTestDeployments, json, createVerificationJson, initialValidators, realVerifier, existingToken, log, debugLogger) {
11
+ export async function deployL1ContractsCmd(rpcUrls, chainId, privateKey, mnemonic, mnemonicIndex, testAccounts, sponsoredFPC, json, initialValidators, realVerifier, existingToken, log, debugLogger) {
9
12
  const config = getL1ContractsConfigEnvVars();
10
- const initialAccounts = testAccounts ? await getInitialTestAccounts() : [];
13
+ // Compute initial accounts for genesis (test accounts + sponsored FPC)
14
+ const initialAccounts = testAccounts ? await getInitialTestAccountsData() : [];
11
15
  const sponsoredFPCAddress = sponsoredFPC ? await getSponsoredFPCAddress() : [];
12
16
  const initialFundedAccounts = initialAccounts.map((a)=>a.address).concat(sponsoredFPCAddress);
13
17
  const { genesisArchiveRoot, fundingNeeded } = await getGenesisValues(initialFundedAccounts);
18
+ // Get the VK tree root
19
+ const { getVKTreeRoot } = await import('@aztec/noir-protocol-circuits-types/vk-tree');
20
+ const vkTreeRoot = getVKTreeRoot();
21
+ // Get private key (from direct input or mnemonic)
22
+ let deployerPrivateKey;
23
+ if (privateKey) {
24
+ deployerPrivateKey = addLeadingHex(privateKey);
25
+ } else {
26
+ const account = mnemonicToAccount(mnemonic, {
27
+ addressIndex: mnemonicIndex
28
+ });
29
+ deployerPrivateKey = `0x${Buffer.from(account.getHdKey().privateKey).toString('hex')}`;
30
+ }
31
+ // Prepare validator operators with bn254 keys
14
32
  const initialValidatorOperators = initialValidators.map((a)=>({
15
33
  attester: a,
16
34
  withdrawer: a,
17
35
  bn254SecretKey: new SecretValue(Fr.random().toBigInt())
18
36
  }));
19
- const { l1ContractAddresses } = await deployAztecContracts(rpcUrls, chainId, privateKey, mnemonic, mnemonicIndex, salt, initialValidatorOperators, genesisArchiveRoot, fundingNeeded, acceleratedTestDeployments, config, existingToken, realVerifier, createVerificationJson, debugLogger);
37
+ debugLogger.info('Deploying L1 contracts via Forge...');
38
+ // Deploy using l1-contracts Forge scripts
39
+ const { l1ContractAddresses, rollupVersion } = await deployAztecL1Contracts(rpcUrls[0], deployerPrivateKey, chainId, {
40
+ // Initial validators to add during deployment
41
+ initialValidators: initialValidatorOperators,
42
+ // Genesis config
43
+ vkTreeRoot,
44
+ protocolContractsHash,
45
+ genesisArchiveRoot,
46
+ // Deployment options
47
+ realVerifier,
48
+ ...config,
49
+ feeJuicePortalInitialBalance: fundingNeeded,
50
+ existingTokenAddress: existingToken
51
+ });
52
+ debugLogger.info('Forge deployment complete', {
53
+ rollupVersion
54
+ });
20
55
  if (json) {
21
56
  log(JSON.stringify(Object.fromEntries(Object.entries(l1ContractAddresses).map(([k, v])=>[
22
57
  k,
@@ -1,5 +1,5 @@
1
- import { type Operator } from '@aztec/ethereum';
1
+ import type { Operator } from '@aztec/ethereum/deploy-aztec-l1-contracts';
2
2
  import type { EthAddress } from '@aztec/foundation/eth-address';
3
- import type { LogFn, Logger } from '@aztec/foundation/log';
4
- export declare function deployNewRollup(registryAddress: EthAddress, rpcUrls: string[], chainId: number, privateKey: string | undefined, mnemonic: string, mnemonicIndex: number, salt: number | undefined, testAccounts: boolean, sponsoredFPC: boolean, json: boolean, initialValidators: Operator[], realVerifier: boolean, createVerificationJson: string | false, log: LogFn, debugLogger: Logger): Promise<void>;
5
- //# sourceMappingURL=deploy_new_rollup.d.ts.map
3
+ import type { LogFn } from '@aztec/foundation/log';
4
+ export declare function deployNewRollup(registryAddress: EthAddress, rpcUrls: string[], chainId: number, privateKey: string | undefined, mnemonic: string, mnemonicIndex: number, testAccounts: boolean, sponsoredFPC: boolean, json: boolean, initialValidators: Operator[], realVerifier: boolean, log: LogFn): Promise<void>;
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwbG95X25ld19yb2xsdXAuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbWRzL2wxL2RlcGxveV9uZXdfcm9sbHVwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzFFLE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBTW5ELHdCQUFzQixlQUFlLENBQ25DLGVBQWUsRUFBRSxVQUFVLEVBQzNCLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFDakIsT0FBTyxFQUFFLE1BQU0sRUFDZixVQUFVLEVBQUUsTUFBTSxHQUFHLFNBQVMsRUFDOUIsUUFBUSxFQUFFLE1BQU0sRUFDaEIsYUFBYSxFQUFFLE1BQU0sRUFDckIsWUFBWSxFQUFFLE9BQU8sRUFDckIsWUFBWSxFQUFFLE9BQU8sRUFDckIsSUFBSSxFQUFFLE9BQU8sRUFDYixpQkFBaUIsRUFBRSxRQUFRLEVBQUUsRUFDN0IsWUFBWSxFQUFFLE9BQU8sRUFDckIsR0FBRyxFQUFFLEtBQUssaUJBNENYIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"deploy_new_rollup.d.ts","sourceRoot":"","sources":["../../../src/cmds/l1/deploy_new_rollup.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,QAAQ,EAA+B,MAAM,iBAAiB,CAAC;AAC7E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAM3D,wBAAsB,eAAe,CACnC,eAAe,EAAE,UAAU,EAC3B,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EACrB,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,YAAY,EAAE,OAAO,EACrB,YAAY,EAAE,OAAO,EACrB,IAAI,EAAE,OAAO,EACb,iBAAiB,EAAE,QAAQ,EAAE,EAC7B,YAAY,EAAE,OAAO,EACrB,sBAAsB,EAAE,MAAM,GAAG,KAAK,EACtC,GAAG,EAAE,KAAK,EACV,WAAW,EAAE,MAAM,iBA+CpB"}
1
+ {"version":3,"file":"deploy_new_rollup.d.ts","sourceRoot":"","sources":["../../../src/cmds/l1/deploy_new_rollup.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2CAA2C,CAAC;AAC1E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAMnD,wBAAsB,eAAe,CACnC,eAAe,EAAE,UAAU,EAC3B,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,EACrB,YAAY,EAAE,OAAO,EACrB,YAAY,EAAE,OAAO,EACrB,IAAI,EAAE,OAAO,EACb,iBAAiB,EAAE,QAAQ,EAAE,EAC7B,YAAY,EAAE,OAAO,EACrB,GAAG,EAAE,KAAK,iBA4CX"}
@@ -1,15 +1,15 @@
1
- import { getInitialTestAccounts } from '@aztec/accounts/testing';
2
- import { getL1ContractsConfigEnvVars } from '@aztec/ethereum';
1
+ import { getInitialTestAccountsData } from '@aztec/accounts/testing';
2
+ import { getL1ContractsConfigEnvVars } from '@aztec/ethereum/config';
3
3
  import { getGenesisValues } from '@aztec/world-state/testing';
4
4
  import { deployNewRollupContracts } from '../../utils/aztec.js';
5
5
  import { getSponsoredFPCAddress } from '../../utils/setup_contracts.js';
6
- export async function deployNewRollup(registryAddress, rpcUrls, chainId, privateKey, mnemonic, mnemonicIndex, salt, testAccounts, sponsoredFPC, json, initialValidators, realVerifier, createVerificationJson, log, debugLogger) {
6
+ export async function deployNewRollup(registryAddress, rpcUrls, chainId, privateKey, mnemonic, mnemonicIndex, testAccounts, sponsoredFPC, json, initialValidators, realVerifier, log) {
7
7
  const config = getL1ContractsConfigEnvVars();
8
- const initialAccounts = testAccounts ? await getInitialTestAccounts() : [];
8
+ const initialAccounts = testAccounts ? await getInitialTestAccountsData() : [];
9
9
  const sponsoredFPCAddress = sponsoredFPC ? await getSponsoredFPCAddress() : [];
10
10
  const initialFundedAccounts = initialAccounts.map((a)=>a.address).concat(sponsoredFPCAddress);
11
11
  const { genesisArchiveRoot, fundingNeeded } = await getGenesisValues(initialFundedAccounts);
12
- const { rollup, slashFactoryAddress } = await deployNewRollupContracts(registryAddress, rpcUrls, chainId, privateKey, mnemonic, mnemonicIndex, salt, initialValidators, genesisArchiveRoot, fundingNeeded, config, realVerifier, createVerificationJson, debugLogger);
12
+ const { rollup, slashFactoryAddress } = await deployNewRollupContracts(registryAddress, rpcUrls, privateKey, chainId, mnemonic, mnemonicIndex, initialValidators, genesisArchiveRoot, fundingNeeded, config, realVerifier);
13
13
  if (json) {
14
14
  log(JSON.stringify({
15
15
  rollupAddress: rollup.address,
@@ -1,4 +1,4 @@
1
- import { EthAddress } from '@aztec/aztec.js';
1
+ import { EthAddress } from '@aztec/aztec.js/addresses';
2
2
  import type { LogFn } from '@aztec/foundation/log';
3
3
  export declare function getL1Addresses(registryAddress: EthAddress, rollupVersion: number | bigint | 'canonical', rpcUrls: string[], chainId: number, json: boolean, log: LogFn): Promise<void>;
4
- //# sourceMappingURL=get_l1_addresses.d.ts.map
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0X2wxX2FkZHJlc3Nlcy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NtZHMvbDEvZ2V0X2wxX2FkZHJlc3Nlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFJdkQsT0FBTyxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFJbkQsd0JBQXNCLGNBQWMsQ0FDbEMsZUFBZSxFQUFFLFVBQVUsRUFDM0IsYUFBYSxFQUFFLE1BQU0sR0FBRyxNQUFNLEdBQUcsV0FBVyxFQUM1QyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQ2pCLE9BQU8sRUFBRSxNQUFNLEVBQ2YsSUFBSSxFQUFFLE9BQU8sRUFDYixHQUFHLEVBQUUsS0FBSyxpQkFpQlgifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"get_l1_addresses.d.ts","sourceRoot":"","sources":["../../../src/cmds/l1/get_l1_addresses.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAInD,wBAAsB,cAAc,CAClC,eAAe,EAAE,UAAU,EAC3B,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,WAAW,EAC5C,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,OAAO,EACb,GAAG,EAAE,KAAK,iBAiBX"}
1
+ {"version":3,"file":"get_l1_addresses.d.ts","sourceRoot":"","sources":["../../../src/cmds/l1/get_l1_addresses.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAIvD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAInD,wBAAsB,cAAc,CAClC,eAAe,EAAE,UAAU,EAC3B,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,WAAW,EAC5C,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,OAAO,EACb,GAAG,EAAE,KAAK,iBAiBX"}
@@ -1,10 +1,13 @@
1
- import { RegistryContract, createEthereumChain } from '@aztec/ethereum';
1
+ import { createEthereumChain } from '@aztec/ethereum/chain';
2
+ import { RegistryContract } from '@aztec/ethereum/contracts';
2
3
  import { createPublicClient, fallback, http } from 'viem';
3
4
  export async function getL1Addresses(registryAddress, rollupVersion, rpcUrls, chainId, json, log) {
4
5
  const chain = createEthereumChain(rpcUrls, chainId);
5
6
  const publicClient = createPublicClient({
6
7
  chain: chain.chainInfo,
7
- transport: fallback(rpcUrls.map((url)=>http(url))),
8
+ transport: fallback(rpcUrls.map((url)=>http(url, {
9
+ batch: false
10
+ }))),
8
11
  pollingInterval: 100
9
12
  });
10
13
  const addresses = await RegistryContract.collectAddresses(publicClient, registryAddress.toString(), rollupVersion);
@@ -1,4 +1,4 @@
1
1
  import type { EthAddress } from '@aztec/foundation/eth-address';
2
2
  import type { LogFn } from '@aztec/foundation/log';
3
3
  export declare function getL1Balance(who: EthAddress, token: EthAddress | undefined, l1RpcUrls: string[], chainId: number, json: boolean, log: LogFn): Promise<void>;
4
- //# sourceMappingURL=get_l1_balance.d.ts.map
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0X2wxX2JhbGFuY2UuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbWRzL2wxL2dldF9sMV9iYWxhbmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBT25ELHdCQUFzQixZQUFZLENBQ2hDLEdBQUcsRUFBRSxVQUFVLEVBQ2YsS0FBSyxFQUFFLFVBQVUsR0FBRyxTQUFTLEVBQzdCLFNBQVMsRUFBRSxNQUFNLEVBQUUsRUFDbkIsT0FBTyxFQUFFLE1BQU0sRUFDZixJQUFJLEVBQUUsT0FBTyxFQUNiLEdBQUcsRUFBRSxLQUFLLGlCQTRCWCJ9
@@ -1,4 +1,4 @@
1
- import { createEthereumChain } from '@aztec/ethereum';
1
+ import { createEthereumChain } from '@aztec/ethereum/chain';
2
2
  import { TestERC20Abi } from '@aztec/l1-artifacts';
3
3
  import { createPublicClient, fallback, getContract, http } from 'viem';
4
4
  import { prettyPrintJSON } from '../../utils/commands.js';
@@ -6,7 +6,9 @@ export async function getL1Balance(who, token, l1RpcUrls, chainId, json, log) {
6
6
  const chain = createEthereumChain(l1RpcUrls, chainId);
7
7
  const publicClient = createPublicClient({
8
8
  chain: chain.chainInfo,
9
- transport: fallback(l1RpcUrls.map((url)=>http(url)))
9
+ transport: fallback(l1RpcUrls.map((url)=>http(url, {
10
+ batch: false
11
+ })))
10
12
  });
11
13
  let balance = 0n;
12
14
  if (token) {
@@ -1,5 +1,5 @@
1
1
  import type { LogFn, Logger } from '@aztec/foundation/log';
2
- export declare function depositGovernanceTokens({ registryAddress, rpcUrls, chainId, privateKey, mnemonic, mnemonicIndex, recipient, amount, debugLogger, mint, }: {
2
+ export declare function depositGovernanceTokens({ registryAddress, rpcUrls, chainId, privateKey, mnemonic, mnemonicIndex, recipient, amount, debugLogger, mint }: {
3
3
  registryAddress: `0x${string}`;
4
4
  rpcUrls: string[];
5
5
  chainId: number;
@@ -11,7 +11,7 @@ export declare function depositGovernanceTokens({ registryAddress, rpcUrls, chai
11
11
  debugLogger: Logger;
12
12
  mint: boolean;
13
13
  }): Promise<void>;
14
- export declare function proposeWithLock({ payloadAddress, registryAddress, rpcUrls, chainId, privateKey, mnemonic, mnemonicIndex, json, debugLogger, log, }: {
14
+ export declare function proposeWithLock({ payloadAddress, registryAddress, rpcUrls, chainId, privateKey, mnemonic, mnemonicIndex, json, debugLogger, log }: {
15
15
  payloadAddress: `0x${string}`;
16
16
  registryAddress: `0x${string}`;
17
17
  rpcUrls: string[];
@@ -23,7 +23,7 @@ export declare function proposeWithLock({ payloadAddress, registryAddress, rpcUr
23
23
  log: LogFn;
24
24
  json: boolean;
25
25
  }): Promise<void>;
26
- export declare function voteOnGovernanceProposal({ proposalId, voteAmount, inFavor, waitTilActive, registryAddress, rpcUrls, chainId, privateKey, mnemonic, mnemonicIndex, debugLogger, }: {
26
+ export declare function voteOnGovernanceProposal({ proposalId, voteAmount, inFavor, waitTilActive, registryAddress, rpcUrls, chainId, privateKey, mnemonic, mnemonicIndex, debugLogger }: {
27
27
  proposalId: bigint;
28
28
  voteAmount: bigint | undefined;
29
29
  inFavor: boolean;
@@ -36,7 +36,7 @@ export declare function voteOnGovernanceProposal({ proposalId, voteAmount, inFav
36
36
  mnemonicIndex: number;
37
37
  debugLogger: Logger;
38
38
  }): Promise<void>;
39
- export declare function executeGovernanceProposal({ proposalId, waitTilExecutable, registryAddress, rpcUrls, chainId, privateKey, mnemonic, mnemonicIndex, debugLogger, }: {
39
+ export declare function executeGovernanceProposal({ proposalId, waitTilExecutable, registryAddress, rpcUrls, chainId, privateKey, mnemonic, mnemonicIndex, debugLogger }: {
40
40
  proposalId: bigint;
41
41
  waitTilExecutable: boolean;
42
42
  registryAddress: `0x${string}`;
@@ -47,4 +47,4 @@ export declare function executeGovernanceProposal({ proposalId, waitTilExecutabl
47
47
  mnemonicIndex: number;
48
48
  debugLogger: Logger;
49
49
  }): Promise<void>;
50
- //# sourceMappingURL=governance_utils.d.ts.map
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ292ZXJuYW5jZV91dGlscy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NtZHMvbDEvZ292ZXJuYW5jZV91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFM0Qsd0JBQXNCLHVCQUF1QixDQUFDLEVBQzVDLGVBQWUsRUFDZixPQUFPLEVBQ1AsT0FBTyxFQUNQLFVBQVUsRUFDVixRQUFRLEVBQ1IsYUFBYSxFQUNiLFNBQVMsRUFDVCxNQUFNLEVBQ04sV0FBVyxFQUNYLElBQUksRUFDTCxFQUFFO0lBQ0QsZUFBZSxFQUFFLEtBQUssTUFBTSxFQUFFLENBQUM7SUFDL0IsT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDO0lBQ2xCLE9BQU8sRUFBRSxNQUFNLENBQUM7SUFDaEIsVUFBVSxFQUFFLE1BQU0sR0FBRyxTQUFTLENBQUM7SUFDL0IsUUFBUSxFQUFFLE1BQU0sQ0FBQztJQUNqQixhQUFhLEVBQUUsTUFBTSxDQUFDO0lBQ3RCLFNBQVMsRUFBRSxLQUFLLE1BQU0sRUFBRSxDQUFDO0lBQ3pCLE1BQU0sRUFBRSxNQUFNLENBQUM7SUFDZixXQUFXLEVBQUUsTUFBTSxDQUFDO0lBQ3BCLElBQUksRUFBRSxPQUFPLENBQUM7Q0FDZixpQkEyQkE7QUFFRCx3QkFBc0IsZUFBZSxDQUFDLEVBQ3BDLGNBQWMsRUFDZCxlQUFlLEVBQ2YsT0FBTyxFQUNQLE9BQU8sRUFDUCxVQUFVLEVBQ1YsUUFBUSxFQUNSLGFBQWEsRUFDYixJQUFJLEVBQ0osV0FBVyxFQUNYLEdBQUcsRUFDSixFQUFFO0lBQ0QsY0FBYyxFQUFFLEtBQUssTUFBTSxFQUFFLENBQUM7SUFDOUIsZUFBZSxFQUFFLEtBQUssTUFBTSxFQUFFLENBQUM7SUFDL0IsT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDO0lBQ2xCLE9BQU8sRUFBRSxNQUFNLENBQUM7SUFDaEIsVUFBVSxFQUFFLE1BQU0sR0FBRyxTQUFTLENBQUM7SUFDL0IsUUFBUSxFQUFFLE1BQU0sQ0FBQztJQUNqQixhQUFhLEVBQUUsTUFBTSxDQUFDO0lBQ3RCLFdBQVcsRUFBRSxNQUFNLENBQUM7SUFDcEIsR0FBRyxFQUFFLEtBQUssQ0FBQztJQUNYLElBQUksRUFBRSxPQUFPLENBQUM7Q0FDZixpQkFvQkE7QUFFRCx3QkFBc0Isd0JBQXdCLENBQUMsRUFDN0MsVUFBVSxFQUNWLFVBQVUsRUFDVixPQUFPLEVBQ1AsYUFBYSxFQUNiLGVBQWUsRUFDZixPQUFPLEVBQ1AsT0FBTyxFQUNQLFVBQVUsRUFDVixRQUFRLEVBQ1IsYUFBYSxFQUNiLFdBQVcsRUFDWixFQUFFO0lBQ0QsVUFBVSxFQUFFLE1BQU0sQ0FBQztJQUNuQixVQUFVLEVBQUUsTUFBTSxHQUFHLFNBQVMsQ0FBQztJQUMvQixPQUFPLEVBQUUsT0FBTyxDQUFDO0lBQ2pCLGFBQWEsRUFBRSxPQUFPLENBQUM7SUFDdkIsZUFBZSxFQUFFLEtBQUssTUFBTSxFQUFFLENBQUM7SUFDL0IsT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDO0lBQ2xCLE9BQU8sRUFBRSxNQUFNLENBQUM7SUFDaEIsVUFBVSxFQUFFLE1BQU0sR0FBRyxTQUFTLENBQUM7SUFDL0IsUUFBUSxFQUFFLE1BQU0sQ0FBQztJQUNqQixhQUFhLEVBQUUsTUFBTSxDQUFDO0lBQ3RCLFdBQVcsRUFBRSxNQUFNLENBQUM7Q0FDckIsaUJBbUJBO0FBRUQsd0JBQXNCLHlCQUF5QixDQUFDLEVBQzlDLFVBQVUsRUFDVixpQkFBaUIsRUFDakIsZUFBZSxFQUNmLE9BQU8sRUFDUCxPQUFPLEVBQ1AsVUFBVSxFQUNWLFFBQVEsRUFDUixhQUFhLEVBQ2IsV0FBVyxFQUNaLEVBQUU7SUFDRCxVQUFVLEVBQUUsTUFBTSxDQUFDO0lBQ25CLGlCQUFpQixFQUFFLE9BQU8sQ0FBQztJQUMzQixlQUFlLEVBQUUsS0FBSyxNQUFNLEVBQUUsQ0FBQztJQUMvQixPQUFPLEVBQUUsTUFBTSxFQUFFLENBQUM7SUFDbEIsT0FBTyxFQUFFLE1BQU0sQ0FBQztJQUNoQixVQUFVLEVBQUUsTUFBTSxHQUFHLFNBQVMsQ0FBQztJQUMvQixRQUFRLEVBQUUsTUFBTSxDQUFDO0lBQ2pCLGFBQWEsRUFBRSxNQUFNLENBQUM7SUFDdEIsV0FBVyxFQUFFLE1BQU0sQ0FBQztDQUNyQixpQkFpQkEifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"governance_utils.d.ts","sourceRoot":"","sources":["../../../src/cmds/l1/governance_utils.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE3D,wBAAsB,uBAAuB,CAAC,EAC5C,eAAe,EACf,OAAO,EACP,OAAO,EACP,UAAU,EACV,QAAQ,EACR,aAAa,EACb,SAAS,EACT,MAAM,EACN,WAAW,EACX,IAAI,GACL,EAAE;IACD,eAAe,EAAE,KAAK,MAAM,EAAE,CAAC;IAC/B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,KAAK,MAAM,EAAE,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,OAAO,CAAC;CACf,iBA2BA;AAED,wBAAsB,eAAe,CAAC,EACpC,cAAc,EACd,eAAe,EACf,OAAO,EACP,OAAO,EACP,UAAU,EACV,QAAQ,EACR,aAAa,EACb,IAAI,EACJ,WAAW,EACX,GAAG,GACJ,EAAE;IACD,cAAc,EAAE,KAAK,MAAM,EAAE,CAAC;IAC9B,eAAe,EAAE,KAAK,MAAM,EAAE,CAAC;IAC/B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,KAAK,CAAC;IACX,IAAI,EAAE,OAAO,CAAC;CACf,iBAoBA;AAED,wBAAsB,wBAAwB,CAAC,EAC7C,UAAU,EACV,UAAU,EACV,OAAO,EACP,aAAa,EACb,eAAe,EACf,OAAO,EACP,OAAO,EACP,UAAU,EACV,QAAQ,EACR,aAAa,EACb,WAAW,GACZ,EAAE;IACD,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,OAAO,CAAC;IACvB,eAAe,EAAE,KAAK,MAAM,EAAE,CAAC;IAC/B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;CACrB,iBAmBA;AAED,wBAAsB,yBAAyB,CAAC,EAC9C,UAAU,EACV,iBAAiB,EACjB,eAAe,EACf,OAAO,EACP,OAAO,EACP,UAAU,EACV,QAAQ,EACR,aAAa,EACb,WAAW,GACZ,EAAE;IACD,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,eAAe,EAAE,KAAK,MAAM,EAAE,CAAC;IAC/B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;CACrB,iBAiBA"}
1
+ {"version":3,"file":"governance_utils.d.ts","sourceRoot":"","sources":["../../../src/cmds/l1/governance_utils.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE3D,wBAAsB,uBAAuB,CAAC,EAC5C,eAAe,EACf,OAAO,EACP,OAAO,EACP,UAAU,EACV,QAAQ,EACR,aAAa,EACb,SAAS,EACT,MAAM,EACN,WAAW,EACX,IAAI,EACL,EAAE;IACD,eAAe,EAAE,KAAK,MAAM,EAAE,CAAC;IAC/B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,KAAK,MAAM,EAAE,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,OAAO,CAAC;CACf,iBA2BA;AAED,wBAAsB,eAAe,CAAC,EACpC,cAAc,EACd,eAAe,EACf,OAAO,EACP,OAAO,EACP,UAAU,EACV,QAAQ,EACR,aAAa,EACb,IAAI,EACJ,WAAW,EACX,GAAG,EACJ,EAAE;IACD,cAAc,EAAE,KAAK,MAAM,EAAE,CAAC;IAC9B,eAAe,EAAE,KAAK,MAAM,EAAE,CAAC;IAC/B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,KAAK,CAAC;IACX,IAAI,EAAE,OAAO,CAAC;CACf,iBAoBA;AAED,wBAAsB,wBAAwB,CAAC,EAC7C,UAAU,EACV,UAAU,EACV,OAAO,EACP,aAAa,EACb,eAAe,EACf,OAAO,EACP,OAAO,EACP,UAAU,EACV,QAAQ,EACR,aAAa,EACb,WAAW,EACZ,EAAE;IACD,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,OAAO,CAAC;IACvB,eAAe,EAAE,KAAK,MAAM,EAAE,CAAC;IAC/B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;CACrB,iBAmBA;AAED,wBAAsB,yBAAyB,CAAC,EAC9C,UAAU,EACV,iBAAiB,EACjB,eAAe,EACf,OAAO,EACP,OAAO,EACP,UAAU,EACV,QAAQ,EACR,aAAa,EACb,WAAW,EACZ,EAAE;IACD,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,eAAe,EAAE,KAAK,MAAM,EAAE,CAAC;IAC/B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;CACrB,iBAiBA"}