@aztec/cli 0.0.0-test.1 → 0.0.1-commit.03f7ef2

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 (281) 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_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 +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 +14 -15
  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 +13 -15
  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 +8 -10
  31. package/dest/cmds/infrastructure/sequencers.d.ts +5 -6
  32. package/dest/cmds/infrastructure/sequencers.d.ts.map +1 -1
  33. package/dest/cmds/infrastructure/sequencers.js +37 -18
  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 -24
  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 +8 -6
  40. package/dest/cmds/l1/assume_proven_through.d.ts +2 -2
  41. package/dest/cmds/l1/assume_proven_through.d.ts.map +1 -1
  42. package/dest/cmds/l1/assume_proven_through.js +10 -8
  43. package/dest/cmds/l1/bridge_erc20.d.ts +3 -3
  44. package/dest/cmds/l1/bridge_erc20.d.ts.map +1 -1
  45. package/dest/cmds/l1/bridge_erc20.js +6 -5
  46. package/dest/cmds/l1/create_l1_account.d.ts +1 -1
  47. package/dest/cmds/l1/deploy_l1_contracts_cmd.d.ts +4 -0
  48. package/dest/cmds/l1/deploy_l1_contracts_cmd.d.ts.map +1 -0
  49. package/dest/cmds/l1/deploy_l1_contracts_cmd.js +81 -0
  50. package/dest/cmds/l1/deploy_new_rollup.d.ts +4 -3
  51. package/dest/cmds/l1/deploy_new_rollup.d.ts.map +1 -1
  52. package/dest/cmds/l1/deploy_new_rollup.js +18 -9
  53. package/dest/cmds/l1/get_l1_addresses.d.ts +2 -2
  54. package/dest/cmds/l1/get_l1_addresses.d.ts.map +1 -1
  55. package/dest/cmds/l1/get_l1_addresses.js +5 -2
  56. package/dest/cmds/l1/get_l1_balance.d.ts +1 -1
  57. package/dest/cmds/l1/get_l1_balance.js +4 -2
  58. package/dest/cmds/l1/governance_utils.d.ts +5 -5
  59. package/dest/cmds/l1/governance_utils.d.ts.map +1 -1
  60. package/dest/cmds/l1/governance_utils.js +19 -17
  61. package/dest/cmds/l1/index.d.ts +1 -1
  62. package/dest/cmds/l1/index.d.ts.map +1 -1
  63. package/dest/cmds/l1/index.js +36 -44
  64. package/dest/cmds/l1/prover_stats.d.ts +1 -1
  65. package/dest/cmds/l1/prover_stats.d.ts.map +1 -1
  66. package/dest/cmds/l1/prover_stats.js +32 -30
  67. package/dest/cmds/l1/trigger_seed_snapshot.d.ts +6 -0
  68. package/dest/cmds/l1/trigger_seed_snapshot.d.ts.map +1 -0
  69. package/dest/cmds/l1/trigger_seed_snapshot.js +20 -0
  70. package/dest/cmds/l1/update_l1_validators.d.ts +21 -6
  71. package/dest/cmds/l1/update_l1_validators.d.ts.map +1 -1
  72. package/dest/cmds/l1/update_l1_validators.js +163 -103
  73. package/dest/cmds/misc/compute_selector.d.ts +1 -1
  74. package/dest/cmds/misc/example_contracts.d.ts +1 -1
  75. package/dest/cmds/misc/generate_bootnode_enr.d.ts +2 -2
  76. package/dest/cmds/misc/generate_bootnode_enr.d.ts.map +1 -1
  77. package/dest/cmds/misc/generate_bootnode_enr.js +2 -2
  78. package/dest/cmds/misc/generate_p2p_private_key.d.ts +1 -1
  79. package/dest/cmds/misc/generate_secret_and_hash.d.ts +2 -2
  80. package/dest/cmds/misc/generate_secret_and_hash.d.ts.map +1 -1
  81. package/dest/cmds/misc/generate_secret_and_hash.js +4 -4
  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 +3 -0
  86. package/dest/cmds/misc/get_canonical_sponsored_fpc_address.d.ts.map +1 -0
  87. package/dest/cmds/misc/get_canonical_sponsored_fpc_address.js +4 -0
  88. package/dest/cmds/misc/index.d.ts +1 -1
  89. package/dest/cmds/misc/index.d.ts.map +1 -1
  90. package/dest/cmds/misc/index.js +8 -4
  91. package/dest/cmds/misc/update/common.d.ts +1 -1
  92. package/dest/cmds/misc/update/github.d.ts +1 -2
  93. package/dest/cmds/misc/update/github.d.ts.map +1 -1
  94. package/dest/cmds/misc/update/github.js +0 -1
  95. package/dest/cmds/misc/update/noir.d.ts +1 -1
  96. package/dest/cmds/misc/update/npm.d.ts +1 -1
  97. package/dest/cmds/misc/update/npm.js +1 -1
  98. package/dest/cmds/misc/update/utils.d.ts +1 -1
  99. package/dest/cmds/misc/update.d.ts +1 -1
  100. package/dest/cmds/misc/update.d.ts.map +1 -1
  101. package/dest/cmds/misc/update.js +2 -3
  102. package/dest/cmds/validator_keys/add.d.ts +5 -0
  103. package/dest/cmds/validator_keys/add.d.ts.map +1 -0
  104. package/dest/cmds/validator_keys/add.js +83 -0
  105. package/dest/cmds/validator_keys/generate_bls_keypair.d.ts +12 -0
  106. package/dest/cmds/validator_keys/generate_bls_keypair.d.ts.map +1 -0
  107. package/dest/cmds/validator_keys/generate_bls_keypair.js +27 -0
  108. package/dest/cmds/validator_keys/index.d.ts +4 -0
  109. package/dest/cmds/validator_keys/index.d.ts.map +1 -0
  110. package/dest/cmds/validator_keys/index.js +32 -0
  111. package/dest/cmds/validator_keys/new.d.ts +29 -0
  112. package/dest/cmds/validator_keys/new.d.ts.map +1 -0
  113. package/dest/cmds/validator_keys/new.js +134 -0
  114. package/dest/cmds/validator_keys/shared.d.ts +68 -0
  115. package/dest/cmds/validator_keys/shared.d.ts.map +1 -0
  116. package/dest/cmds/validator_keys/shared.js +274 -0
  117. package/dest/cmds/validator_keys/staker.d.ts +38 -0
  118. package/dest/cmds/validator_keys/staker.d.ts.map +1 -0
  119. package/dest/cmds/validator_keys/staker.js +210 -0
  120. package/dest/cmds/validator_keys/utils.d.ts +25 -0
  121. package/dest/cmds/validator_keys/utils.d.ts.map +1 -0
  122. package/dest/cmds/validator_keys/utils.js +52 -0
  123. package/dest/config/cached_fetch.d.ts +18 -0
  124. package/dest/config/cached_fetch.d.ts.map +1 -0
  125. package/dest/config/cached_fetch.js +54 -0
  126. package/dest/config/chain_l2_config.d.ts +41 -0
  127. package/dest/config/chain_l2_config.d.ts.map +1 -0
  128. package/dest/config/chain_l2_config.js +517 -0
  129. package/dest/config/enrich_env.d.ts +4 -0
  130. package/dest/config/enrich_env.d.ts.map +1 -0
  131. package/dest/config/enrich_env.js +12 -0
  132. package/dest/config/get_l1_config.d.ts +9 -0
  133. package/dest/config/get_l1_config.d.ts.map +1 -0
  134. package/dest/config/get_l1_config.js +24 -0
  135. package/dest/config/index.d.ts +5 -0
  136. package/dest/config/index.d.ts.map +1 -0
  137. package/dest/config/index.js +4 -0
  138. package/dest/config/network_config.d.ts +22 -0
  139. package/dest/config/network_config.d.ts.map +1 -0
  140. package/dest/config/network_config.js +115 -0
  141. package/dest/utils/aztec.d.ts +15 -26
  142. package/dest/utils/aztec.d.ts.map +1 -1
  143. package/dest/utils/aztec.js +56 -72
  144. package/dest/utils/commands.d.ts +22 -13
  145. package/dest/utils/commands.d.ts.map +1 -1
  146. package/dest/utils/commands.js +43 -16
  147. package/dest/utils/encoding.d.ts +1 -1
  148. package/dest/utils/encoding.js +2 -2
  149. package/dest/utils/github.d.ts +1 -2
  150. package/dest/utils/github.d.ts.map +1 -1
  151. package/dest/utils/github.js +0 -1
  152. package/dest/utils/index.d.ts +2 -1
  153. package/dest/utils/index.d.ts.map +1 -1
  154. package/dest/utils/index.js +1 -0
  155. package/dest/utils/inspect.d.ts +5 -11
  156. package/dest/utils/inspect.d.ts.map +1 -1
  157. package/dest/utils/inspect.js +19 -109
  158. package/dest/utils/setup_contracts.d.ts +3 -0
  159. package/dest/utils/setup_contracts.d.ts.map +1 -0
  160. package/dest/utils/setup_contracts.js +16 -0
  161. package/package.json +55 -36
  162. package/public_include_metric_prefixes.json +1 -0
  163. package/src/cmds/aztec_node/block_number.ts +9 -0
  164. package/src/cmds/aztec_node/get_block.ts +11 -0
  165. package/src/cmds/aztec_node/get_current_base_fee.ts +9 -0
  166. package/src/cmds/aztec_node/get_l1_to_l2_message_witness.ts +27 -0
  167. package/src/cmds/{pxe → aztec_node}/get_logs.ts +11 -9
  168. package/src/cmds/{pxe → aztec_node}/get_node_info.ts +15 -23
  169. package/src/cmds/aztec_node/index.ts +87 -0
  170. package/src/cmds/contracts/inspect_contract.ts +20 -17
  171. package/src/cmds/infrastructure/index.ts +8 -11
  172. package/src/cmds/infrastructure/sequencers.ts +40 -22
  173. package/src/cmds/infrastructure/setup_l2_contract.ts +13 -25
  174. package/src/cmds/l1/advance_epoch.ts +7 -5
  175. package/src/cmds/l1/assume_proven_through.ts +11 -7
  176. package/src/cmds/l1/bridge_erc20.ts +8 -4
  177. package/src/cmds/l1/deploy_l1_contracts_cmd.ts +107 -0
  178. package/src/cmds/l1/deploy_new_rollup.ts +24 -15
  179. package/src/cmds/l1/get_l1_addresses.ts +5 -3
  180. package/src/cmds/l1/get_l1_balance.ts +2 -2
  181. package/src/cmds/l1/governance_utils.ts +20 -24
  182. package/src/cmds/l1/index.ts +73 -110
  183. package/src/cmds/l1/prover_stats.ts +42 -31
  184. package/src/cmds/l1/trigger_seed_snapshot.ts +32 -0
  185. package/src/cmds/l1/update_l1_validators.ts +194 -99
  186. package/src/cmds/misc/generate_bootnode_enr.ts +3 -2
  187. package/src/cmds/misc/generate_secret_and_hash.ts +4 -4
  188. package/src/cmds/misc/generate_secret_key.ts +1 -1
  189. package/src/cmds/misc/get_canonical_sponsored_fpc_address.ts +7 -0
  190. package/src/cmds/misc/index.ts +14 -5
  191. package/src/cmds/misc/update/github.ts +0 -1
  192. package/src/cmds/misc/update/npm.ts +1 -1
  193. package/src/cmds/misc/update.ts +1 -7
  194. package/src/cmds/validator_keys/add.ts +123 -0
  195. package/src/cmds/validator_keys/generate_bls_keypair.ts +34 -0
  196. package/src/cmds/validator_keys/index.ts +142 -0
  197. package/src/cmds/validator_keys/new.ts +207 -0
  198. package/src/cmds/validator_keys/shared.ts +326 -0
  199. package/src/cmds/validator_keys/staker.ts +301 -0
  200. package/src/cmds/validator_keys/utils.ts +81 -0
  201. package/src/config/cached_fetch.ts +67 -0
  202. package/src/config/chain_l2_config.ts +681 -0
  203. package/src/config/enrich_env.ts +15 -0
  204. package/src/config/get_l1_config.ts +31 -0
  205. package/src/config/index.ts +4 -0
  206. package/src/config/network_config.ts +147 -0
  207. package/src/utils/aztec.ts +74 -120
  208. package/src/utils/commands.ts +57 -20
  209. package/src/utils/encoding.ts +2 -2
  210. package/src/utils/github.ts +0 -1
  211. package/src/utils/index.ts +1 -0
  212. package/src/utils/inspect.ts +24 -123
  213. package/src/utils/setup_contracts.ts +19 -0
  214. package/dest/cmds/devnet/bootstrap_network.d.ts +0 -3
  215. package/dest/cmds/devnet/bootstrap_network.d.ts.map +0 -1
  216. package/dest/cmds/devnet/bootstrap_network.js +0 -196
  217. package/dest/cmds/devnet/faucet.d.ts +0 -4
  218. package/dest/cmds/devnet/faucet.d.ts.map +0 -1
  219. package/dest/cmds/devnet/faucet.js +0 -26
  220. package/dest/cmds/devnet/index.d.ts +0 -4
  221. package/dest/cmds/devnet/index.d.ts.map +0 -1
  222. package/dest/cmds/devnet/index.js +0 -14
  223. package/dest/cmds/l1/deploy_l1_contracts.d.ts +0 -4
  224. package/dest/cmds/l1/deploy_l1_contracts.d.ts.map +0 -1
  225. package/dest/cmds/l1/deploy_l1_contracts.js +0 -29
  226. package/dest/cmds/l1/deploy_l1_verifier.d.ts +0 -5
  227. package/dest/cmds/l1/deploy_l1_verifier.d.ts.map +0 -1
  228. package/dest/cmds/l1/deploy_l1_verifier.js +0 -54
  229. package/dest/cmds/misc/setup_contracts.d.ts +0 -7
  230. package/dest/cmds/misc/setup_contracts.d.ts.map +0 -1
  231. package/dest/cmds/misc/setup_contracts.js +0 -27
  232. package/dest/cmds/pxe/add_contract.d.ts +0 -5
  233. package/dest/cmds/pxe/add_contract.d.ts.map +0 -1
  234. package/dest/cmds/pxe/add_contract.js +0 -29
  235. package/dest/cmds/pxe/block_number.d.ts +0 -3
  236. package/dest/cmds/pxe/block_number.d.ts.map +0 -1
  237. package/dest/cmds/pxe/block_number.js +0 -10
  238. package/dest/cmds/pxe/get_account.d.ts +0 -4
  239. package/dest/cmds/pxe/get_account.d.ts.map +0 -1
  240. package/dest/cmds/pxe/get_account.js +0 -10
  241. package/dest/cmds/pxe/get_accounts.d.ts +0 -3
  242. package/dest/cmds/pxe/get_accounts.d.ts.map +0 -1
  243. package/dest/cmds/pxe/get_accounts.js +0 -25
  244. package/dest/cmds/pxe/get_block.d.ts +0 -3
  245. package/dest/cmds/pxe/get_block.d.ts.map +0 -1
  246. package/dest/cmds/pxe/get_block.js +0 -9
  247. package/dest/cmds/pxe/get_contract_data.d.ts +0 -4
  248. package/dest/cmds/pxe/get_contract_data.d.ts.map +0 -1
  249. package/dest/cmds/pxe/get_contract_data.js +0 -31
  250. package/dest/cmds/pxe/get_current_base_fee.d.ts +0 -3
  251. package/dest/cmds/pxe/get_current_base_fee.d.ts.map +0 -1
  252. package/dest/cmds/pxe/get_current_base_fee.js +0 -7
  253. package/dest/cmds/pxe/get_l1_to_l2_message_witness.d.ts +0 -4
  254. package/dest/cmds/pxe/get_l1_to_l2_message_witness.d.ts.map +0 -1
  255. package/dest/cmds/pxe/get_l1_to_l2_message_witness.js +0 -11
  256. package/dest/cmds/pxe/get_logs.d.ts +0 -4
  257. package/dest/cmds/pxe/get_logs.d.ts.map +0 -1
  258. package/dest/cmds/pxe/get_node_info.d.ts +0 -3
  259. package/dest/cmds/pxe/get_node_info.d.ts.map +0 -1
  260. package/dest/cmds/pxe/get_pxe_info.d.ts +0 -3
  261. package/dest/cmds/pxe/get_pxe_info.d.ts.map +0 -1
  262. package/dest/cmds/pxe/get_pxe_info.js +0 -11
  263. package/dest/cmds/pxe/index.d.ts +0 -4
  264. package/dest/cmds/pxe/index.d.ts.map +0 -1
  265. package/dest/cmds/pxe/index.js +0 -55
  266. package/src/cmds/devnet/bootstrap_network.ts +0 -318
  267. package/src/cmds/devnet/faucet.ts +0 -33
  268. package/src/cmds/devnet/index.ts +0 -60
  269. package/src/cmds/l1/deploy_l1_contracts.ts +0 -65
  270. package/src/cmds/l1/deploy_l1_verifier.ts +0 -105
  271. package/src/cmds/misc/setup_contracts.ts +0 -40
  272. package/src/cmds/pxe/add_contract.ts +0 -41
  273. package/src/cmds/pxe/block_number.ts +0 -9
  274. package/src/cmds/pxe/get_account.ts +0 -16
  275. package/src/cmds/pxe/get_accounts.ts +0 -35
  276. package/src/cmds/pxe/get_block.ts +0 -10
  277. package/src/cmds/pxe/get_contract_data.ts +0 -51
  278. package/src/cmds/pxe/get_current_base_fee.ts +0 -9
  279. package/src/cmds/pxe/get_l1_to_l2_message_witness.ts +0 -25
  280. package/src/cmds/pxe/get_pxe_info.ts +0 -13
  281. package/src/cmds/pxe/index.ts +0 -170
@@ -0,0 +1,28 @@
1
+ import { logJson, nodeOption, parseAztecAddress, parseField, parseOptionalAztecAddress, parseOptionalInteger, parseOptionalLogId, parseOptionalTxHash } from '../../utils/commands.js';
2
+ export function injectCommands(program, log, debugLogger) {
3
+ program.command('get-block').description('Gets info for a given block or latest.').argument('[blockNumber]', 'Block height', parseOptionalInteger).addOption(nodeOption).action(async (blockNumber, options)=>{
4
+ const { getBlock } = await import('./get_block.js');
5
+ await getBlock(options.nodeUrl, blockNumber, log);
6
+ });
7
+ program.command('get-current-base-fee').description('Gets the current base fee.').addOption(nodeOption).action(async (options)=>{
8
+ const { getCurrentBaseFee } = await import('./get_current_base_fee.js');
9
+ await getCurrentBaseFee(options.rpcUrl, debugLogger, log);
10
+ });
11
+ program.command('get-l1-to-l2-message-witness').description('Gets a L1 to L2 message witness.').requiredOption('-ca, --contract-address <address>', 'Aztec address of the contract.', parseAztecAddress).requiredOption('--message-hash <messageHash>', 'The L1 to L2 message hash.', parseField).requiredOption('--secret <secret>', 'The secret used to claim the L1 to L2 message', parseField).addOption(nodeOption).action(async ({ contractAddress, messageHash, secret, nodeUrl })=>{
12
+ const { getL1ToL2MessageWitness } = await import('./get_l1_to_l2_message_witness.js');
13
+ await getL1ToL2MessageWitness(nodeUrl, contractAddress, messageHash, secret, log);
14
+ });
15
+ program.command('get-logs').description('Gets all the public logs from an intersection of all the filter params.').option('-tx, --tx-hash <txHash>', 'A transaction hash to get the receipt for.', parseOptionalTxHash).option('-fb, --from-block <blockNum>', 'Initial block number for getting logs (defaults to 1).', parseOptionalInteger).option('-tb, --to-block <blockNum>', 'Up to which block to fetch logs (defaults to latest).', parseOptionalInteger).option('-al --after-log <logId>', 'ID of a log after which to fetch the logs.', parseOptionalLogId).option('-ca, --contract-address <address>', 'Contract address to filter logs by.', parseOptionalAztecAddress).addOption(nodeOption).option('--follow', 'If set, will keep polling for new logs until interrupted.').action(async ({ txHash, fromBlock, toBlock, afterLog, contractAddress, aztecNodeRpcUrl: nodeUrl, follow })=>{
16
+ const { getLogs } = await import('./get_logs.js');
17
+ await getLogs(txHash, fromBlock, toBlock, afterLog, contractAddress, nodeUrl, follow, log);
18
+ });
19
+ program.command('block-number').description('Gets the current Aztec L2 block number.').addOption(nodeOption).action(async (options)=>{
20
+ const { blockNumber } = await import('./block_number.js');
21
+ await blockNumber(options.nodeUrl, log);
22
+ });
23
+ program.command('get-node-info').description('Gets the information of an Aztec node from a PXE or directly from an Aztec node.').option('--json', 'Emit output as json').addOption(nodeOption).action(async (options)=>{
24
+ const { getNodeInfo } = await import('./get_node_info.js');
25
+ await getNodeInfo(options.nodeUrl, options.json, log, logJson(log));
26
+ });
27
+ return program;
28
+ }
@@ -1,4 +1,4 @@
1
1
  import type { LogFn, Logger } from '@aztec/foundation/log';
2
2
  import type { Command } from 'commander';
3
3
  export declare function injectCommands(program: Command, log: LogFn, debugLogger: Logger): Command;
4
- //# sourceMappingURL=index.d.ts.map
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbWRzL2NvbnRyYWN0cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFM0QsT0FBTyxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRXpDLHdCQUFnQixjQUFjLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLFdBNkIvRSJ9
@@ -1,3 +1,3 @@
1
1
  import type { LogFn, Logger } from '@aztec/foundation/log';
2
2
  export declare function inspectContract(contractArtifactFile: string, debugLogger: Logger, log: LogFn): Promise<void>;
3
- //# sourceMappingURL=inspect_contract.d.ts.map
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zcGVjdF9jb250cmFjdC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NtZHMvY29udHJhY3RzL2luc3BlY3RfY29udHJhY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBWTNELHdCQUFzQixlQUFlLENBQUMsb0JBQW9CLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLEtBQUssaUJBc0JsRyJ9
@@ -1 +1 @@
1
- {"version":3,"file":"inspect_contract.d.ts","sourceRoot":"","sources":["../../../src/cmds/contracts/inspect_contract.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAW3D,wBAAsB,eAAe,CAAC,oBAAoB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,iBA2BlG"}
1
+ {"version":3,"file":"inspect_contract.d.ts","sourceRoot":"","sources":["../../../src/cmds/contracts/inspect_contract.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAY3D,wBAAsB,eAAe,CAAC,oBAAoB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,iBAsBlG"}
@@ -1,10 +1,10 @@
1
- import { sha256 } from '@aztec/foundation/crypto';
2
- import { FunctionSelector, decodeFunctionSignature, decodeFunctionSignatureWithParameterNames } from '@aztec/stdlib/abi';
1
+ import { sha256 } from '@aztec/foundation/crypto/sha256';
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';
5
5
  export async function inspectContract(contractArtifactFile, debugLogger, log) {
6
6
  const contractArtifact = await getContractArtifact(contractArtifactFile, log);
7
- const contractFns = contractArtifact.functions;
7
+ const contractFns = contractArtifact.functions.concat(contractArtifact.nonDispatchPublicFunctions.map((f)=>f));
8
8
  if (contractFns.length === 0) {
9
9
  log(`No functions found for contract ${contractArtifact.name}`);
10
10
  }
@@ -16,22 +16,20 @@ 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) {
31
25
  const signatureWithParameterNames = decodeFunctionSignatureWithParameterNames(fn.name, fn.parameters);
32
26
  const signature = decodeFunctionSignature(fn.name, fn.parameters);
33
27
  const selector = await FunctionSelector.fromSignature(signature);
34
- const bytecodeSize = fn.bytecode.length;
35
- const bytecodeHash = sha256(fn.bytecode).toString('hex');
36
- log(`${fn.functionType} ${signatureWithParameterNames} \n\tfunction signature: ${signature}\n\tselector: ${selector}\n\tbytecode: ${bytecodeSize} bytes (sha256 ${bytecodeHash})`);
28
+ if (retainBytecode(fn)) {
29
+ const bytecodeSize = fn.bytecode.length;
30
+ const bytecodeHash = sha256(fn.bytecode).toString('hex');
31
+ log(`${fn.functionType} ${signatureWithParameterNames} \n\tfunction signature: ${signature}\n\tselector: ${selector}\n\tbytecode: ${bytecodeSize} bytes (sha256 ${bytecodeHash})`);
32
+ } else {
33
+ log(`${fn.functionType} ${signatureWithParameterNames} \n\tfunction signature: ${signature}\n\tselector: ${selector}`);
34
+ }
37
35
  }
@@ -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,WAgD/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('--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.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,
16
- l1RpcUrls: options.l1RpcUrls.split(','),
15
+ nodeUrl: options.nodeUrl,
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,13 +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
- command: 'list' | 'add' | 'remove' | 'who-next';
3
+ command: 'list' | 'add' | 'remove' | 'who-next' | 'flush';
4
4
  who?: string;
5
5
  mnemonic?: string;
6
- rpcUrl: string;
6
+ bn254SecretKey?: bigint;
7
+ nodeUrl: string;
7
8
  l1RpcUrls: string[];
8
9
  chainId: number;
9
- blockNumber?: number;
10
10
  log: LogFn;
11
- debugLogger: Logger;
12
11
  }): Promise<void>;
13
- //# sourceMappingURL=sequencers.d.ts.map
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VxdWVuY2Vycy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NtZHMvaW5mcmFzdHJ1Y3R1cmUvc2VxdWVuY2Vycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSxPQUFPLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQU1uRCx3QkFBc0IsVUFBVSxDQUFDLElBQUksRUFBRTtJQUNyQyxPQUFPLEVBQUUsTUFBTSxHQUFHLEtBQUssR0FBRyxRQUFRLEdBQUcsVUFBVSxHQUFHLE9BQU8sQ0FBQztJQUMxRCxHQUFHLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDYixRQUFRLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDbEIsY0FBYyxDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQ3hCLE9BQU8sRUFBRSxNQUFNLENBQUM7SUFDaEIsU0FBUyxFQUFFLE1BQU0sRUFBRSxDQUFDO0lBQ3BCLE9BQU8sRUFBRSxNQUFNLENBQUM7SUFDaEIsR0FBRyxFQUFFLEtBQUssQ0FBQztDQUNaLGlCQW9HQSJ9
@@ -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,CAAC;IAChD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,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,iBAoFA"}
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,iBAoGA"}
@@ -1,27 +1,30 @@
1
- import { createCompatibleClient } from '@aztec/aztec.js';
2
- import { 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, 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
- const rollup = getContract({
21
- address: l1ContractAddresses.rollupAddress.toString(),
22
- abi: RollupAbi,
23
- client: publicClient
24
- });
27
+ const rollup = new RollupContract(publicClient, l1ContractAddresses.rollupAddress);
25
28
  const writeableRollup = walletClient ? getContract({
26
29
  address: l1ContractAddresses.rollupAddress.toString(),
27
30
  abi: RollupAbi,
@@ -29,7 +32,7 @@ export async function sequencers(opts) {
29
32
  }) : undefined;
30
33
  const who = maybeWho ?? walletClient?.account.address.toString();
31
34
  if (command === 'list') {
32
- const sequencers = await rollup.read.getAttesters();
35
+ const sequencers = await rollup.getAttesters();
33
36
  if (sequencers.length === 0) {
34
37
  log(`No sequencers registered on rollup`);
35
38
  } else {
@@ -44,19 +47,23 @@ export async function sequencers(opts) {
44
47
  }
45
48
  log(`Adding ${who} as sequencer`);
46
49
  const stakingAsset = getContract({
47
- address: await rollup.read.getStakingAsset(),
50
+ address: await rollup.getStakingAsset(),
48
51
  abi: TestERC20Abi,
49
52
  client: walletClient
50
53
  });
51
54
  const config = getL1ContractsConfigEnvVars();
55
+ const bn254SecretKeyFieldElement = bn254SecretKey ? new Fr(bn254SecretKey) : Fr.random();
56
+ const gseAddress = await rollup.getGSE();
57
+ const gseContract = new GSEContract(publicClient, gseAddress);
58
+ const registrationTuple = await gseContract.makeRegistrationTuple(bn254SecretKeyFieldElement.toBigInt());
52
59
  await Promise.all([
53
60
  await stakingAsset.write.mint([
54
61
  walletClient.account.address,
55
- config.minimumStake
62
+ config.activationThreshold
56
63
  ], {}),
57
64
  await stakingAsset.write.approve([
58
65
  rollup.address,
59
- config.minimumStake
66
+ config.activationThreshold
60
67
  ], {})
61
68
  ].map((txHash)=>publicClient.waitForTransactionReceipt({
62
69
  hash: txHash
@@ -64,13 +71,25 @@ export async function sequencers(opts) {
64
71
  const hash = await writeableRollup.write.deposit([
65
72
  who,
66
73
  who,
67
- who,
68
- config.minimumStake
74
+ registrationTuple.publicKeyInG1,
75
+ registrationTuple.publicKeyInG2,
76
+ registrationTuple.proofOfPossession,
77
+ true
69
78
  ]);
70
79
  await publicClient.waitForTransactionReceipt({
71
80
  hash
72
81
  });
73
82
  log(`Added in tx ${hash}`);
83
+ } else if (command === 'flush') {
84
+ if (!writeableRollup) {
85
+ throw new Error(`Missing sequencer address`);
86
+ }
87
+ log(`Flushing staking entry queue`);
88
+ const hash = await writeableRollup.write.flushEntryQueue();
89
+ await publicClient.waitForTransactionReceipt({
90
+ hash
91
+ });
92
+ log(`Flushed staking entry queue in tx ${hash}`);
74
93
  } else if (command === 'remove') {
75
94
  if (!who || !writeableRollup) {
76
95
  throw new Error(`Missing sequencer address`);
@@ -85,7 +104,7 @@ export async function sequencers(opts) {
85
104
  });
86
105
  log(`Removed in tx ${hash}`);
87
106
  } else if (command === 'who-next') {
88
- const next = await rollup.read.getCurrentProposer();
107
+ const next = await rollup.getCurrentProposer();
89
108
  log(`Sequencer expected to build is ${next}`);
90
109
  } else {
91
110
  throw new Error(`Unknown command ${command}`);
@@ -1,3 +1,3 @@
1
1
  import type { LogFn } from '@aztec/foundation/log';
2
- export declare function setupL2Contracts(rpcUrl: string, testAccounts: 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dXBfbDJfY29udHJhY3QuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbWRzL2luZnJhc3RydWN0dXJlL3NldHVwX2wyX2NvbnRyYWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1BLE9BQU8sS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBSW5ELHdCQUFzQixnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsS0FBSyxpQkF3QnZHIn0=
@@ -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,IAAI,EAAE,OAAO,EACb,aAAa,EAAE,OAAO,EACtB,GAAG,EAAE,KAAK,iBAiCX"}
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;AAInD,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,iBAwBvG"}
@@ -1,41 +1,28 @@
1
- import { deployFundedSchnorrAccounts, getInitialTestAccounts } from '@aztec/accounts/testing';
2
- import { SignerlessWallet, 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 { setupCanonicalL2FeeJuice } from '../misc/setup_contracts.js';
6
- export async function setupL2Contracts(rpcUrl, testAccounts, json, skipProofWait, log) {
5
+ import { TestWallet, deployFundedSchnorrAccounts } from '@aztec/test-wallet/server';
6
+ export async function setupL2Contracts(nodeUrl, testAccounts, json, log) {
7
7
  const waitOpts = {
8
8
  timeout: 180,
9
- interval: 1,
10
- proven: !skipProofWait,
11
- provenTimeout: 600
9
+ interval: 1
12
10
  };
13
11
  log('setupL2Contracts: Wait options' + jsonStringify(waitOpts));
14
12
  log('setupL2Contracts: Creating PXE client...');
15
- const pxe = createPXEClient(rpcUrl, {}, makeFetch([
16
- 1,
17
- 1,
18
- 1,
19
- 1,
20
- 1
21
- ], false));
22
- const wallet = new SignerlessWallet(pxe);
23
- log('setupL2Contracts: Getting fee juice portal address...');
24
- // Deploy Fee Juice
25
- const feeJuicePortalAddress = (await wallet.getNodeInfo()).l1ContractAddresses.feeJuicePortalAddress;
26
- log('setupL2Contracts: Setting up fee juice portal...');
27
- await setupCanonicalL2FeeJuice(wallet, feeJuicePortalAddress, waitOpts, log);
28
- let deployedAccounts = [];
13
+ const node = createAztecNodeClient(nodeUrl);
14
+ const wallet = await TestWallet.create(node);
15
+ let deployedAccountManagers = [];
29
16
  if (testAccounts) {
30
17
  log('setupL2Contracts: Deploying test accounts...');
31
- deployedAccounts = await getInitialTestAccounts();
32
- await deployFundedSchnorrAccounts(pxe, deployedAccounts, waitOpts);
18
+ const initialAccountsData = await getInitialTestAccountsData();
19
+ deployedAccountManagers = await deployFundedSchnorrAccounts(wallet, node, initialAccountsData, waitOpts);
33
20
  }
34
21
  if (json) {
35
22
  const toPrint = {
36
23
  ...ProtocolContractAddress
37
24
  };
38
- deployedAccounts.forEach((a, i)=>{
25
+ deployedAccountManagers.forEach((a, i)=>{
39
26
  toPrint[`testAccount${i}`] = a.address;
40
27
  });
41
28
  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":"AACA,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,10 +1,12 @@
1
- import { CheatCodes, createPXEClient, makeFetch } from '@aztec/aztec.js';
2
- export async function advanceEpoch(l1RpcUrls, rpcUrl, log) {
3
- const pxe = createPXEClient(rpcUrl, {}, makeFetch([], true));
4
- const rollupAddress = await pxe.getNodeInfo().then((i)=>i.l1ContractAddresses.rollupAddress);
5
- const cheat = CheatCodes.createRollup(l1RpcUrls, {
1
+ import { createAztecNodeClient } from '@aztec/aztec.js/node';
2
+ import { RollupCheatCodes } from '@aztec/ethereum/test';
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);
7
+ const cheat = RollupCheatCodes.create(l1RpcUrls, {
6
8
  rollupAddress
7
- });
9
+ }, new DateProvider());
8
10
  await cheat.advanceToNextEpoch();
9
11
  log(`Warped time to advance to next epoch`);
10
12
  }
@@ -1,3 +1,3 @@
1
1
  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
2
+ export declare function assumeProvenThrough(blockNumberOrLatest: number | undefined, l1RpcUrls: string[], nodeUrl: string, log: LogFn): Promise<void>;
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzdW1lX3Byb3Zlbl90aHJvdWdoLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY21kcy9sMS9hc3N1bWVfcHJvdmVuX3Rocm91Z2gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFHbkQsd0JBQXNCLG1CQUFtQixDQUN2QyxtQkFBbUIsRUFBRSxNQUFNLEdBQUcsU0FBUyxFQUN2QyxTQUFTLEVBQUUsTUFBTSxFQUFFLEVBQ25CLE9BQU8sRUFBRSxNQUFNLEVBQ2YsR0FBRyxFQUFFLEtBQUssaUJBWVgifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"assume_proven_through.d.ts","sourceRoot":"","sources":["../../../src/cmds/l1/assume_proven_through.ts"],"names":[],"mappings":"AACA,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,iBAWX"}
1
+ {"version":3,"file":"assume_proven_through.d.ts","sourceRoot":"","sources":["../../../src/cmds/l1/assume_proven_through.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAGnD,wBAAsB,mBAAmB,CACvC,mBAAmB,EAAE,MAAM,GAAG,SAAS,EACvC,SAAS,EAAE,MAAM,EAAE,EACnB,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,KAAK,iBAYX"}
@@ -1,12 +1,14 @@
1
- import { EthCheatCodes, RollupCheatCodes, createPXEClient, makeFetch } from '@aztec/aztec.js';
2
- export async function assumeProvenThrough(blockNumberOrLatest, l1RpcUrls, rpcUrl, log) {
3
- const pxe = createPXEClient(rpcUrl, {}, makeFetch([], true));
4
- const rollupAddress = await pxe.getNodeInfo().then((i)=>i.l1ContractAddresses.rollupAddress);
5
- const blockNumber = blockNumberOrLatest ?? await pxe.getBlockNumber();
6
- const ethCheatCode = new EthCheatCodes(l1RpcUrls);
7
- const rollupCheatCodes = new RollupCheatCodes(ethCheatCode, {
1
+ import { createAztecNodeClient } from '@aztec/aztec.js/node';
2
+ import { RollupCheatCodes } from '@aztec/ethereum/test';
3
+ import { BlockNumber } from '@aztec/foundation/branded-types';
4
+ import { DateProvider } from '@aztec/foundation/timer';
5
+ export async function assumeProvenThrough(blockNumberOrLatest, l1RpcUrls, nodeUrl, log) {
6
+ const aztecNode = createAztecNodeClient(nodeUrl);
7
+ const rollupAddress = await aztecNode.getNodeInfo().then((i)=>i.l1ContractAddresses.rollupAddress);
8
+ const blockNumber = blockNumberOrLatest ? BlockNumber(blockNumberOrLatest) : await aztecNode.getBlockNumber();
9
+ const rollupCheatCodes = RollupCheatCodes.create(l1RpcUrls, {
8
10
  rollupAddress
9
- });
11
+ }, new DateProvider());
10
12
  await rollupCheatCodes.markAsProven(blockNumber);
11
13
  log(`Assumed proven through block ${blockNumber}`);
12
14
  }
@@ -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
- export declare function bridgeERC20(amount: bigint, recipient: AztecAddress, l1RpcUrls: string[], chainId: number, privateKey: string | undefined, mnemonic: string, tokenAddress: EthAddress, portalAddress: EthAddress, privateTransfer: boolean, mint: boolean, json: boolean, log: LogFn, debugLogger: Logger): Promise<void>;
4
- //# sourceMappingURL=bridge_erc20.d.ts.map
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=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,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,12 +1,13 @@
1
- import { L1ToL2TokenPortalManager } from '@aztec/aztec.js';
2
- import { createEthereumChain, createL1Clients } 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
- export async function bridgeERC20(amount, recipient, l1RpcUrls, chainId, privateKey, mnemonic, tokenAddress, portalAddress, privateTransfer, mint, json, log, debugLogger) {
5
+ export async function bridgeERC20(amount, recipient, l1RpcUrls, chainId, privateKey, mnemonic, tokenAddress, handlerAddress, portalAddress, privateTransfer, mint, json, log, debugLogger) {
5
6
  // Prepare L1 client
6
7
  const chain = createEthereumChain(l1RpcUrls, chainId);
7
- const { publicClient, walletClient } = createL1Clients(chain.rpcUrls, privateKey ?? mnemonic, chain.chainInfo);
8
+ const l1Client = createExtendedL1Client(chain.rpcUrls, privateKey ?? mnemonic, chain.chainInfo);
8
9
  // Setup portal manager
9
- const manager = new L1ToL2TokenPortalManager(portalAddress, tokenAddress, publicClient, walletClient, debugLogger);
10
+ const manager = new L1ToL2TokenPortalManager(portalAddress, tokenAddress, handlerAddress, l1Client, debugLogger);
10
11
  let claimSecret;
11
12
  let messageHash;
12
13
  if (privateTransfer) {
@@ -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"}
@@ -0,0 +1,81 @@
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';
5
+ import { SecretValue } from '@aztec/foundation/config';
6
+ import { protocolContractsHash } from '@aztec/protocol-contracts';
7
+ import { getGenesisValues } from '@aztec/world-state/testing';
8
+ import { mnemonicToAccount } from 'viem/accounts';
9
+ import { addLeadingHex } from '../../utils/aztec.js';
10
+ import { getSponsoredFPCAddress } from '../../utils/setup_contracts.js';
11
+ export async function deployL1ContractsCmd(rpcUrls, chainId, privateKey, mnemonic, mnemonicIndex, testAccounts, sponsoredFPC, json, initialValidators, realVerifier, existingToken, log, debugLogger) {
12
+ const config = getL1ContractsConfigEnvVars();
13
+ // Compute initial accounts for genesis (test accounts + sponsored FPC)
14
+ const initialAccounts = testAccounts ? await getInitialTestAccountsData() : [];
15
+ const sponsoredFPCAddress = sponsoredFPC ? await getSponsoredFPCAddress() : [];
16
+ const initialFundedAccounts = initialAccounts.map((a)=>a.address).concat(sponsoredFPCAddress);
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
32
+ const initialValidatorOperators = initialValidators.map((a)=>({
33
+ attester: a,
34
+ withdrawer: a,
35
+ bn254SecretKey: new SecretValue(Fr.random().toBigInt())
36
+ }));
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
+ });
55
+ if (json) {
56
+ log(JSON.stringify(Object.fromEntries(Object.entries(l1ContractAddresses).map(([k, v])=>[
57
+ k,
58
+ v?.toString() ?? 'Not deployed'
59
+ ])), null, 2));
60
+ } else {
61
+ log(`Rollup Address: ${l1ContractAddresses.rollupAddress.toString()}`);
62
+ log(`Registry Address: ${l1ContractAddresses.registryAddress.toString()}`);
63
+ log(`GSE Address: ${l1ContractAddresses.gseAddress?.toString()}`);
64
+ log(`L1 -> L2 Inbox Address: ${l1ContractAddresses.inboxAddress.toString()}`);
65
+ log(`L2 -> L1 Outbox Address: ${l1ContractAddresses.outboxAddress.toString()}`);
66
+ log(`Fee Juice Address: ${l1ContractAddresses.feeJuiceAddress.toString()}`);
67
+ log(`Staking Asset Address: ${l1ContractAddresses.stakingAssetAddress.toString()}`);
68
+ log(`Fee Juice Portal Address: ${l1ContractAddresses.feeJuicePortalAddress.toString()}`);
69
+ log(`CoinIssuer Address: ${l1ContractAddresses.coinIssuerAddress.toString()}`);
70
+ log(`RewardDistributor Address: ${l1ContractAddresses.rewardDistributorAddress.toString()}`);
71
+ log(`GovernanceProposer Address: ${l1ContractAddresses.governanceProposerAddress.toString()}`);
72
+ log(`Governance Address: ${l1ContractAddresses.governanceAddress.toString()}`);
73
+ log(`SlashFactory Address: ${l1ContractAddresses.slashFactoryAddress?.toString()}`);
74
+ log(`FeeAssetHandler Address: ${l1ContractAddresses.feeAssetHandlerAddress?.toString()}`);
75
+ log(`StakingAssetHandler Address: ${l1ContractAddresses.stakingAssetHandlerAddress?.toString()}`);
76
+ log(`ZK Passport Verifier Address: ${l1ContractAddresses.zkPassportVerifierAddress?.toString()}`);
77
+ log(`Initial funded accounts: ${initialFundedAccounts.map((a)=>a.toString()).join(', ')}`);
78
+ log(`Initial validators: ${initialValidators.map((a)=>a.toString()).join(', ')}`);
79
+ log(`Genesis archive root: ${genesisArchiveRoot.toString()}`);
80
+ }
81
+ }
@@ -1,4 +1,5 @@
1
+ import type { Operator } from '@aztec/ethereum/deploy-aztec-l1-contracts';
1
2
  import type { EthAddress } from '@aztec/foundation/eth-address';
2
- import type { LogFn, Logger } from '@aztec/foundation/log';
3
- export declare function deployNewRollup(registryAddress: EthAddress, rpcUrls: string[], chainId: number, privateKey: string | undefined, mnemonic: string, mnemonicIndex: number, salt: number | undefined, testAccounts: boolean, json: boolean, initialValidators: EthAddress[], log: LogFn, debugLogger: Logger): Promise<void>;
4
- //# 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":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAK3D,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,IAAI,EAAE,OAAO,EACb,iBAAiB,EAAE,UAAU,EAAE,EAC/B,GAAG,EAAE,KAAK,EACV,WAAW,EAAE,MAAM,iBAqCpB"}
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"}