@aztec/cli 0.17.0 → 0.77.0-testnet-ignition.17

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 (325) hide show
  1. package/README.md +10 -16
  2. package/dest/cmds/contracts/index.d.ts +4 -0
  3. package/dest/cmds/contracts/index.d.ts.map +1 -0
  4. package/dest/cmds/contracts/index.js +12 -0
  5. package/dest/cmds/contracts/inspect_contract.d.ts +3 -0
  6. package/dest/cmds/contracts/inspect_contract.d.ts.map +1 -0
  7. package/dest/cmds/contracts/inspect_contract.js +37 -0
  8. package/dest/cmds/{parse_parameter_struct.d.ts → contracts/parse_parameter_struct.d.ts} +1 -4
  9. package/dest/cmds/contracts/parse_parameter_struct.d.ts.map +1 -0
  10. package/dest/cmds/contracts/parse_parameter_struct.js +13 -0
  11. package/dest/cmds/devnet/bootstrap_network.d.ts +3 -0
  12. package/dest/cmds/devnet/bootstrap_network.d.ts.map +1 -0
  13. package/dest/cmds/devnet/bootstrap_network.js +196 -0
  14. package/dest/cmds/devnet/faucet.d.ts +4 -0
  15. package/dest/cmds/devnet/faucet.d.ts.map +1 -0
  16. package/dest/cmds/devnet/faucet.js +26 -0
  17. package/dest/cmds/devnet/index.d.ts +4 -0
  18. package/dest/cmds/devnet/index.d.ts.map +1 -0
  19. package/dest/cmds/devnet/index.js +14 -0
  20. package/dest/cmds/infrastructure/index.d.ts +4 -0
  21. package/dest/cmds/infrastructure/index.d.ts.map +1 -0
  22. package/dest/cmds/infrastructure/index.js +24 -0
  23. package/dest/cmds/infrastructure/sequencers.d.ts +13 -0
  24. package/dest/cmds/infrastructure/sequencers.d.ts.map +1 -0
  25. package/dest/cmds/infrastructure/sequencers.js +93 -0
  26. package/dest/cmds/infrastructure/setup_l2_contract.d.ts +3 -0
  27. package/dest/cmds/infrastructure/setup_l2_contract.d.ts.map +1 -0
  28. package/dest/cmds/infrastructure/setup_l2_contract.js +43 -0
  29. package/dest/cmds/l1/advance_epoch.d.ts +3 -0
  30. package/dest/cmds/l1/advance_epoch.d.ts.map +1 -0
  31. package/dest/cmds/l1/advance_epoch.js +10 -0
  32. package/dest/cmds/l1/assume_proven_through.d.ts +3 -0
  33. package/dest/cmds/l1/assume_proven_through.d.ts.map +1 -0
  34. package/dest/cmds/l1/assume_proven_through.js +12 -0
  35. package/dest/cmds/l1/bridge_erc20.d.ts +4 -0
  36. package/dest/cmds/l1/bridge_erc20.d.ts.map +1 -0
  37. package/dest/cmds/l1/bridge_erc20.js +31 -0
  38. package/dest/cmds/l1/create_l1_account.d.ts +3 -0
  39. package/dest/cmds/l1/create_l1_account.d.ts.map +1 -0
  40. package/dest/cmds/l1/create_l1_account.js +15 -0
  41. package/dest/cmds/l1/deploy_l1_contracts.d.ts +4 -0
  42. package/dest/cmds/l1/deploy_l1_contracts.d.ts.map +1 -0
  43. package/dest/cmds/l1/deploy_l1_contracts.js +29 -0
  44. package/dest/cmds/l1/deploy_l1_verifier.d.ts +5 -0
  45. package/dest/cmds/l1/deploy_l1_verifier.d.ts.map +1 -0
  46. package/dest/cmds/l1/deploy_l1_verifier.js +54 -0
  47. package/dest/cmds/l1/deploy_new_rollup.d.ts +4 -0
  48. package/dest/cmds/l1/deploy_new_rollup.d.ts.map +1 -0
  49. package/dest/cmds/l1/deploy_new_rollup.js +19 -0
  50. package/dest/cmds/l1/get_l1_addresses.d.ts +4 -0
  51. package/dest/cmds/l1/get_l1_addresses.d.ts.map +1 -0
  52. package/dest/cmds/l1/get_l1_addresses.js +18 -0
  53. package/dest/cmds/l1/get_l1_balance.d.ts +4 -0
  54. package/dest/cmds/l1/get_l1_balance.d.ts.map +1 -0
  55. package/dest/cmds/l1/get_l1_balance.js +33 -0
  56. package/dest/cmds/l1/governance_utils.d.ts +50 -0
  57. package/dest/cmds/l1/governance_utils.d.ts.map +1 -0
  58. package/dest/cmds/l1/governance_utils.js +85 -0
  59. package/dest/cmds/l1/index.d.ts +4 -0
  60. package/dest/cmds/l1/index.d.ts.map +1 -0
  61. package/dest/cmds/l1/index.js +208 -0
  62. package/dest/cmds/l1/prover_stats.d.ts +14 -0
  63. package/dest/cmds/l1/prover_stats.d.ts.map +1 -0
  64. package/dest/cmds/l1/prover_stats.js +145 -0
  65. package/dest/cmds/l1/update_l1_validators.d.ts +30 -0
  66. package/dest/cmds/l1/update_l1_validators.d.ts.map +1 -0
  67. package/dest/cmds/l1/update_l1_validators.js +186 -0
  68. package/dest/cmds/misc/compute_selector.d.ts +3 -0
  69. package/dest/cmds/misc/compute_selector.d.ts.map +1 -0
  70. package/dest/cmds/misc/compute_selector.js +5 -0
  71. package/dest/cmds/misc/example_contracts.d.ts +3 -0
  72. package/dest/cmds/misc/example_contracts.d.ts.map +1 -0
  73. package/dest/cmds/misc/example_contracts.js +6 -0
  74. package/dest/cmds/misc/generate_bootnode_enr.d.ts +3 -0
  75. package/dest/cmds/misc/generate_bootnode_enr.d.ts.map +1 -0
  76. package/dest/cmds/misc/generate_bootnode_enr.js +5 -0
  77. package/dest/cmds/misc/generate_p2p_private_key.d.ts +3 -0
  78. package/dest/cmds/misc/generate_p2p_private_key.d.ts.map +1 -0
  79. package/dest/cmds/misc/generate_p2p_private_key.js +7 -0
  80. package/dest/cmds/misc/generate_secret_and_hash.d.ts +3 -0
  81. package/dest/cmds/misc/generate_secret_and_hash.d.ts.map +1 -0
  82. package/dest/cmds/misc/generate_secret_and_hash.js +11 -0
  83. package/dest/cmds/misc/generate_secret_key.d.ts +5 -0
  84. package/dest/cmds/misc/generate_secret_key.d.ts.map +1 -0
  85. package/dest/cmds/misc/generate_secret_key.js +6 -0
  86. package/dest/cmds/misc/index.d.ts +4 -0
  87. package/dest/cmds/misc/index.d.ts.map +1 -0
  88. package/dest/cmds/misc/index.js +44 -0
  89. package/dest/cmds/misc/setup_contracts.d.ts +7 -0
  90. package/dest/cmds/misc/setup_contracts.d.ts.map +1 -0
  91. package/dest/cmds/misc/setup_contracts.js +27 -0
  92. package/dest/cmds/misc/update/common.d.ts.map +1 -0
  93. package/dest/cmds/misc/update/common.js +3 -0
  94. package/dest/cmds/misc/update/github.d.ts.map +1 -0
  95. package/dest/cmds/misc/update/github.js +3 -0
  96. package/dest/{update → cmds/misc/update}/noir.d.ts +2 -2
  97. package/dest/cmds/misc/update/noir.d.ts.map +1 -0
  98. package/dest/cmds/misc/update/noir.js +45 -0
  99. package/dest/{update → cmds/misc/update}/npm.d.ts +3 -3
  100. package/dest/cmds/misc/update/npm.d.ts.map +1 -0
  101. package/dest/cmds/misc/update/npm.js +127 -0
  102. package/dest/cmds/misc/update/utils.d.ts +14 -0
  103. package/dest/cmds/misc/update/utils.d.ts.map +1 -0
  104. package/dest/cmds/misc/update/utils.js +38 -0
  105. package/dest/cmds/misc/update.d.ts +3 -0
  106. package/dest/cmds/misc/update.d.ts.map +1 -0
  107. package/dest/cmds/misc/update.js +52 -0
  108. package/dest/cmds/pxe/add_contract.d.ts +5 -0
  109. package/dest/cmds/pxe/add_contract.d.ts.map +1 -0
  110. package/dest/cmds/pxe/add_contract.js +29 -0
  111. package/dest/cmds/pxe/block_number.d.ts +3 -0
  112. package/dest/cmds/pxe/block_number.d.ts.map +1 -0
  113. package/dest/cmds/pxe/block_number.js +10 -0
  114. package/dest/cmds/pxe/get_account.d.ts +4 -0
  115. package/dest/cmds/pxe/get_account.d.ts.map +1 -0
  116. package/dest/cmds/pxe/get_account.js +10 -0
  117. package/dest/cmds/pxe/get_accounts.d.ts +3 -0
  118. package/dest/cmds/pxe/get_accounts.d.ts.map +1 -0
  119. package/dest/cmds/pxe/get_accounts.js +25 -0
  120. package/dest/cmds/pxe/get_block.d.ts +3 -0
  121. package/dest/cmds/pxe/get_block.d.ts.map +1 -0
  122. package/dest/cmds/pxe/get_block.js +9 -0
  123. package/dest/cmds/pxe/get_contract_data.d.ts +4 -0
  124. package/dest/cmds/pxe/get_contract_data.d.ts.map +1 -0
  125. package/dest/cmds/pxe/get_contract_data.js +31 -0
  126. package/dest/cmds/pxe/get_current_base_fee.d.ts +3 -0
  127. package/dest/cmds/pxe/get_current_base_fee.d.ts.map +1 -0
  128. package/dest/cmds/pxe/get_current_base_fee.js +7 -0
  129. package/dest/cmds/pxe/get_l1_to_l2_message_witness.d.ts +4 -0
  130. package/dest/cmds/pxe/get_l1_to_l2_message_witness.d.ts.map +1 -0
  131. package/dest/cmds/pxe/get_l1_to_l2_message_witness.js +11 -0
  132. package/dest/cmds/pxe/get_logs.d.ts +4 -0
  133. package/dest/cmds/pxe/get_logs.d.ts.map +1 -0
  134. package/dest/cmds/pxe/get_logs.js +51 -0
  135. package/dest/cmds/pxe/get_node_info.d.ts +3 -0
  136. package/dest/cmds/pxe/get_node_info.d.ts.map +1 -0
  137. package/dest/cmds/pxe/get_node_info.js +61 -0
  138. package/dest/cmds/pxe/get_pxe_info.d.ts +3 -0
  139. package/dest/cmds/pxe/get_pxe_info.d.ts.map +1 -0
  140. package/dest/cmds/pxe/get_pxe_info.js +11 -0
  141. package/dest/cmds/pxe/index.d.ts +4 -0
  142. package/dest/cmds/pxe/index.d.ts.map +1 -0
  143. package/dest/cmds/pxe/index.js +55 -0
  144. package/dest/utils/aztec.d.ts +68 -0
  145. package/dest/utils/aztec.d.ts.map +1 -0
  146. package/dest/utils/aztec.js +173 -0
  147. package/dest/{parse_args.d.ts → utils/commands.d.ts} +50 -12
  148. package/dest/utils/commands.d.ts.map +1 -0
  149. package/dest/utils/commands.js +303 -0
  150. package/dest/{encoding.d.ts → utils/encoding.d.ts} +1 -1
  151. package/dest/utils/encoding.d.ts.map +1 -0
  152. package/dest/utils/encoding.js +103 -0
  153. package/dest/utils/github.d.ts +4 -0
  154. package/dest/utils/github.d.ts.map +1 -0
  155. package/dest/utils/github.js +3 -0
  156. package/dest/utils/index.d.ts +5 -0
  157. package/dest/utils/index.d.ts.map +1 -0
  158. package/dest/utils/index.js +4 -0
  159. package/dest/utils/inspect.d.ts +17 -0
  160. package/dest/utils/inspect.d.ts.map +1 -0
  161. package/dest/utils/inspect.js +177 -0
  162. package/package.json +68 -22
  163. package/src/cmds/contracts/index.ts +34 -0
  164. package/src/cmds/contracts/inspect_contract.ts +51 -0
  165. package/src/cmds/contracts/parse_parameter_struct.ts +27 -0
  166. package/src/cmds/devnet/bootstrap_network.ts +318 -0
  167. package/src/cmds/devnet/faucet.ts +33 -0
  168. package/src/cmds/devnet/index.ts +60 -0
  169. package/src/cmds/infrastructure/index.ts +55 -0
  170. package/src/cmds/infrastructure/sequencers.ts +103 -0
  171. package/src/cmds/infrastructure/setup_l2_contract.ts +47 -0
  172. package/src/cmds/l1/advance_epoch.ts +12 -0
  173. package/src/cmds/l1/assume_proven_through.ts +19 -0
  174. package/src/cmds/l1/bridge_erc20.ts +52 -0
  175. package/src/cmds/l1/create_l1_account.ts +17 -0
  176. package/src/cmds/l1/deploy_l1_contracts.ts +63 -0
  177. package/src/cmds/l1/deploy_l1_verifier.ts +105 -0
  178. package/src/cmds/l1/deploy_new_rollup.ts +58 -0
  179. package/src/cmds/l1/get_l1_addresses.ts +30 -0
  180. package/src/cmds/l1/get_l1_balance.ts +44 -0
  181. package/src/cmds/l1/governance_utils.ts +187 -0
  182. package/src/cmds/l1/index.ts +556 -0
  183. package/src/cmds/l1/prover_stats.ts +202 -0
  184. package/src/cmds/l1/update_l1_validators.ts +238 -0
  185. package/src/cmds/misc/compute_selector.ts +7 -0
  186. package/src/cmds/misc/example_contracts.ts +12 -0
  187. package/src/cmds/misc/generate_bootnode_enr.ts +12 -0
  188. package/src/cmds/misc/generate_p2p_private_key.ts +10 -0
  189. package/src/cmds/misc/generate_secret_and_hash.ts +15 -0
  190. package/src/cmds/misc/generate_secret_key.ts +5 -0
  191. package/src/cmds/misc/index.ts +92 -0
  192. package/src/cmds/misc/setup_contracts.ts +40 -0
  193. package/src/cmds/misc/update/common.ts +16 -0
  194. package/src/cmds/misc/update/github.ts +3 -0
  195. package/src/cmds/misc/update/noir.ts +57 -0
  196. package/src/cmds/misc/update/npm.ts +154 -0
  197. package/src/cmds/misc/update/utils.ts +50 -0
  198. package/src/cmds/misc/update.ts +78 -0
  199. package/src/cmds/pxe/add_contract.ts +41 -0
  200. package/src/cmds/pxe/block_number.ts +9 -0
  201. package/src/cmds/pxe/get_account.ts +16 -0
  202. package/src/cmds/pxe/get_accounts.ts +35 -0
  203. package/src/cmds/pxe/get_block.ts +10 -0
  204. package/src/cmds/pxe/get_contract_data.ts +51 -0
  205. package/src/cmds/pxe/get_current_base_fee.ts +9 -0
  206. package/src/cmds/pxe/get_l1_to_l2_message_witness.ts +25 -0
  207. package/src/cmds/pxe/get_logs.ts +66 -0
  208. package/src/cmds/pxe/get_node_info.ts +71 -0
  209. package/src/cmds/pxe/get_pxe_info.ts +13 -0
  210. package/src/cmds/pxe/index.ts +170 -0
  211. package/src/utils/aztec.ts +248 -0
  212. package/src/utils/commands.ts +384 -0
  213. package/src/utils/encoding.ts +117 -0
  214. package/src/utils/github.ts +3 -0
  215. package/src/utils/index.ts +4 -0
  216. package/src/utils/inspect.ts +208 -0
  217. package/dest/bin/index.d.ts +0 -3
  218. package/dest/bin/index.d.ts.map +0 -1
  219. package/dest/bin/index.js +0 -19
  220. package/dest/client.d.ts +0 -17
  221. package/dest/client.d.ts.map +0 -1
  222. package/dest/client.js +0 -60
  223. package/dest/cmds/add_contract.d.ts +0 -7
  224. package/dest/cmds/add_contract.d.ts.map +0 -1
  225. package/dest/cmds/add_contract.js +0 -15
  226. package/dest/cmds/add_note.d.ts +0 -8
  227. package/dest/cmds/add_note.d.ts.map +0 -1
  228. package/dest/cmds/add_note.js +0 -13
  229. package/dest/cmds/block_number.d.ts +0 -6
  230. package/dest/cmds/block_number.d.ts.map +0 -1
  231. package/dest/cmds/block_number.js +0 -10
  232. package/dest/cmds/call.d.ts +0 -7
  233. package/dest/cmds/call.d.ts.map +0 -1
  234. package/dest/cmds/call.js +0 -18
  235. package/dest/cmds/check_deploy.d.ts +0 -7
  236. package/dest/cmds/check_deploy.d.ts.map +0 -1
  237. package/dest/cmds/check_deploy.js +0 -16
  238. package/dest/cmds/compute_selector.d.ts +0 -6
  239. package/dest/cmds/compute_selector.d.ts.map +0 -1
  240. package/dest/cmds/compute_selector.js +0 -9
  241. package/dest/cmds/create_account.d.ts +0 -7
  242. package/dest/cmds/create_account.d.ts.map +0 -1
  243. package/dest/cmds/create_account.js +0 -31
  244. package/dest/cmds/deploy.d.ts +0 -7
  245. package/dest/cmds/deploy.d.ts.map +0 -1
  246. package/dest/cmds/deploy.js +0 -58
  247. package/dest/cmds/deploy_l1_contracts.d.ts +0 -6
  248. package/dest/cmds/deploy_l1_contracts.d.ts.map +0 -1
  249. package/dest/cmds/deploy_l1_contracts.js +0 -15
  250. package/dest/cmds/example_contracts.d.ts +0 -6
  251. package/dest/cmds/example_contracts.d.ts.map +0 -1
  252. package/dest/cmds/example_contracts.js +0 -10
  253. package/dest/cmds/generate_p2p_private_key.d.ts +0 -6
  254. package/dest/cmds/generate_p2p_private_key.d.ts.map +0 -1
  255. package/dest/cmds/generate_p2p_private_key.js +0 -11
  256. package/dest/cmds/generate_private_key.d.ts +0 -6
  257. package/dest/cmds/generate_private_key.d.ts.map +0 -1
  258. package/dest/cmds/generate_private_key.js +0 -22
  259. package/dest/cmds/get_account.d.ts +0 -7
  260. package/dest/cmds/get_account.d.ts.map +0 -1
  261. package/dest/cmds/get_account.js +0 -15
  262. package/dest/cmds/get_accounts.d.ts +0 -6
  263. package/dest/cmds/get_accounts.d.ts.map +0 -1
  264. package/dest/cmds/get_accounts.js +0 -18
  265. package/dest/cmds/get_contract_data.d.ts +0 -7
  266. package/dest/cmds/get_contract_data.d.ts.map +0 -1
  267. package/dest/cmds/get_contract_data.js +0 -28
  268. package/dest/cmds/get_logs.d.ts +0 -7
  269. package/dest/cmds/get_logs.d.ts.map +0 -1
  270. package/dest/cmds/get_logs.js +0 -54
  271. package/dest/cmds/get_node_info.d.ts +0 -6
  272. package/dest/cmds/get_node_info.d.ts.map +0 -1
  273. package/dest/cmds/get_node_info.js +0 -15
  274. package/dest/cmds/get_recipient.d.ts +0 -7
  275. package/dest/cmds/get_recipient.d.ts.map +0 -1
  276. package/dest/cmds/get_recipient.js +0 -15
  277. package/dest/cmds/get_recipients.d.ts +0 -6
  278. package/dest/cmds/get_recipients.d.ts.map +0 -1
  279. package/dest/cmds/get_recipients.js +0 -18
  280. package/dest/cmds/get_tx_receipt.d.ts +0 -7
  281. package/dest/cmds/get_tx_receipt.d.ts.map +0 -1
  282. package/dest/cmds/get_tx_receipt.js +0 -16
  283. package/dest/cmds/inspect_contract.d.ts +0 -6
  284. package/dest/cmds/inspect_contract.d.ts.map +0 -1
  285. package/dest/cmds/inspect_contract.js +0 -19
  286. package/dest/cmds/parse_parameter_struct.d.ts.map +0 -1
  287. package/dest/cmds/parse_parameter_struct.js +0 -20
  288. package/dest/cmds/register_account.d.ts +0 -7
  289. package/dest/cmds/register_account.d.ts.map +0 -1
  290. package/dest/cmds/register_account.js +0 -13
  291. package/dest/cmds/register_recipient.d.ts +0 -7
  292. package/dest/cmds/register_recipient.d.ts.map +0 -1
  293. package/dest/cmds/register_recipient.js +0 -11
  294. package/dest/cmds/send.d.ts +0 -7
  295. package/dest/cmds/send.d.ts.map +0 -1
  296. package/dest/cmds/send.js +0 -27
  297. package/dest/cmds/unbox.d.ts +0 -7
  298. package/dest/cmds/unbox.d.ts.map +0 -1
  299. package/dest/cmds/unbox.js +0 -133
  300. package/dest/encoding.d.ts.map +0 -1
  301. package/dest/encoding.js +0 -114
  302. package/dest/github.d.ts.map +0 -1
  303. package/dest/github.js +0 -4
  304. package/dest/index.d.ts +0 -10
  305. package/dest/index.d.ts.map +0 -1
  306. package/dest/index.js +0 -321
  307. package/dest/parse_args.d.ts.map +0 -1
  308. package/dest/parse_args.js +0 -233
  309. package/dest/test/mocks.d.ts +0 -3
  310. package/dest/test/mocks.d.ts.map +0 -1
  311. package/dest/test/mocks.js +0 -65
  312. package/dest/update/common.d.ts.map +0 -1
  313. package/dest/update/common.js +0 -2
  314. package/dest/update/noir.d.ts.map +0 -1
  315. package/dest/update/noir.js +0 -63
  316. package/dest/update/npm.d.ts.map +0 -1
  317. package/dest/update/npm.js +0 -125
  318. package/dest/update/update.d.ts +0 -3
  319. package/dest/update/update.d.ts.map +0 -1
  320. package/dest/update/update.js +0 -58
  321. package/dest/utils.d.ts +0 -70
  322. package/dest/utils.d.ts.map +0 -1
  323. package/dest/utils.js +0 -168
  324. /package/dest/{update → cmds/misc/update}/common.d.ts +0 -0
  325. /package/dest/{github.d.ts → cmds/misc/update/github.d.ts} +0 -0
@@ -0,0 +1,10 @@
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, {
6
+ rollupAddress
7
+ });
8
+ await cheat.advanceToNextEpoch();
9
+ log(`Warped time to advance to next epoch`);
10
+ }
@@ -0,0 +1,3 @@
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
@@ -0,0 +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"}
@@ -0,0 +1,12 @@
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, {
8
+ rollupAddress
9
+ });
10
+ await rollupCheatCodes.markAsProven(blockNumber);
11
+ log(`Assumed proven through block ${blockNumber}`);
12
+ }
@@ -0,0 +1,4 @@
1
+ import { type AztecAddress, type EthAddress } from '@aztec/aztec.js';
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
@@ -0,0 +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"}
@@ -0,0 +1,31 @@
1
+ import { L1ToL2TokenPortalManager } from '@aztec/aztec.js';
2
+ import { createEthereumChain, createL1Clients } from '@aztec/ethereum';
3
+ 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
+ // Prepare L1 client
6
+ const chain = createEthereumChain(l1RpcUrls, chainId);
7
+ const { publicClient, walletClient } = createL1Clients(chain.rpcUrls, privateKey ?? mnemonic, chain.chainInfo);
8
+ // Setup portal manager
9
+ const manager = new L1ToL2TokenPortalManager(portalAddress, tokenAddress, publicClient, walletClient, debugLogger);
10
+ let claimSecret;
11
+ let messageHash;
12
+ if (privateTransfer) {
13
+ ({ claimSecret, messageHash } = await manager.bridgeTokensPrivate(recipient, amount, mint));
14
+ } else {
15
+ ({ claimSecret, messageHash } = await manager.bridgeTokensPublic(recipient, amount, mint));
16
+ }
17
+ if (json) {
18
+ log(prettyPrintJSON({
19
+ claimAmount: amount,
20
+ claimSecret: claimSecret
21
+ }));
22
+ } else {
23
+ if (mint) {
24
+ log(`Minted ${amount} tokens on L1 and pushed to L2 portal`);
25
+ } else {
26
+ log(`Bridged ${amount} tokens to L2 portal`);
27
+ }
28
+ log(`claimAmount=${amount},claimSecret=${claimSecret}\n,messageHash=${messageHash}`);
29
+ log(`Note: You need to wait for two L2 blocks before pulling them from the L2 side`);
30
+ }
31
+ }
@@ -0,0 +1,3 @@
1
+ import type { LogFn } from '@aztec/foundation/log';
2
+ export declare function createL1Account(json: boolean, log: LogFn): void;
3
+ //# sourceMappingURL=create_l1_account.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create_l1_account.d.ts","sourceRoot":"","sources":["../../../src/cmds/l1/create_l1_account.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAMnD,wBAAgB,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,QAUxD"}
@@ -0,0 +1,15 @@
1
+ import { generatePrivateKey, privateKeyToAccount } from 'viem/accounts';
2
+ import { prettyPrintJSON } from '../../utils/commands.js';
3
+ export function createL1Account(json, log) {
4
+ const privateKey = generatePrivateKey();
5
+ const account = privateKeyToAccount(privateKey);
6
+ if (json) {
7
+ log(prettyPrintJSON({
8
+ privateKey,
9
+ address: account.address
10
+ }));
11
+ } else {
12
+ log(`Private Key: ${privateKey}`);
13
+ log(`Address: ${account.address}`);
14
+ }
15
+ }
@@ -0,0 +1,4 @@
1
+ import type { EthAddress } from '@aztec/foundation/eth-address';
2
+ import type { LogFn, Logger } from '@aztec/foundation/log';
3
+ export declare function deployL1Contracts(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_l1_contracts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deploy_l1_contracts.d.ts","sourceRoot":"","sources":["../../../src/cmds/l1/deploy_l1_contracts.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,iBAAiB,CACrC,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,iBA2CpB"}
@@ -0,0 +1,29 @@
1
+ import { getInitialTestAccounts } from '@aztec/accounts/testing';
2
+ import { getL1ContractsConfigEnvVars } from '@aztec/ethereum';
3
+ import { getGenesisValues } from '@aztec/world-state/testing';
4
+ import { deployAztecContracts } from '../../utils/aztec.js';
5
+ export async function deployL1Contracts(rpcUrls, chainId, privateKey, mnemonic, mnemonicIndex, salt, testAccounts, json, initialValidators, log, debugLogger) {
6
+ const config = getL1ContractsConfigEnvVars();
7
+ const initialFundedAccounts = testAccounts ? await getInitialTestAccounts() : [];
8
+ const { genesisBlockHash, genesisArchiveRoot } = await getGenesisValues(initialFundedAccounts.map((a)=>a.address));
9
+ const { l1ContractAddresses } = await deployAztecContracts(rpcUrls, chainId, privateKey, mnemonic, mnemonicIndex, salt, initialValidators, genesisArchiveRoot, genesisBlockHash, config, debugLogger);
10
+ if (json) {
11
+ log(JSON.stringify(Object.fromEntries(Object.entries(l1ContractAddresses).map(([k, v])=>[
12
+ k,
13
+ v.toString()
14
+ ])), null, 2));
15
+ } else {
16
+ log(`Rollup Address: ${l1ContractAddresses.rollupAddress.toString()}`);
17
+ log(`Registry Address: ${l1ContractAddresses.registryAddress.toString()}`);
18
+ log(`L1 -> L2 Inbox Address: ${l1ContractAddresses.inboxAddress.toString()}`);
19
+ log(`L2 -> L1 Outbox Address: ${l1ContractAddresses.outboxAddress.toString()}`);
20
+ log(`Fee Juice Address: ${l1ContractAddresses.feeJuiceAddress.toString()}`);
21
+ log(`Staking Asset Address: ${l1ContractAddresses.stakingAssetAddress.toString()}`);
22
+ log(`Fee Juice Portal Address: ${l1ContractAddresses.feeJuicePortalAddress.toString()}`);
23
+ log(`CoinIssuer Address: ${l1ContractAddresses.coinIssuerAddress.toString()}`);
24
+ log(`RewardDistributor Address: ${l1ContractAddresses.rewardDistributorAddress.toString()}`);
25
+ log(`GovernanceProposer Address: ${l1ContractAddresses.governanceProposerAddress.toString()}`);
26
+ log(`Governance Address: ${l1ContractAddresses.governanceAddress.toString()}`);
27
+ log(`SlashFactory Address: ${l1ContractAddresses.slashFactoryAddress?.toString()}`);
28
+ }
29
+ }
@@ -0,0 +1,5 @@
1
+ import type { LogFn, Logger } from '@aztec/foundation/log';
2
+ import { type Hex } from 'viem';
3
+ export declare function deployUltraHonkVerifier(rollupAddress: Hex | undefined, ethRpcUrls: string[], l1ChainId: string, privateKey: string | undefined, mnemonic: string, pxeRpcUrl: string, bbBinaryPath: string, bbWorkingDirectory: string, log: LogFn, debugLogger: Logger): Promise<void>;
4
+ export declare function deployMockVerifier(rollupAddress: Hex | undefined, ethRpcUrls: string[], l1ChainId: string, privateKey: string | undefined, mnemonic: string, pxeRpcUrl: string, log: LogFn, debugLogger: Logger): Promise<void>;
5
+ //# sourceMappingURL=deploy_l1_verifier.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deploy_l1_verifier.d.ts","sourceRoot":"","sources":["../../../src/cmds/l1/deploy_l1_verifier.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAI3D,OAAO,EAAE,KAAK,GAAG,EAAe,MAAM,MAAM,CAAC;AAE7C,wBAAsB,uBAAuB,CAC3C,aAAa,EAAE,GAAG,GAAG,SAAS,EAC9B,UAAU,EAAE,MAAM,EAAE,EACpB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,kBAAkB,EAAE,MAAM,EAC1B,GAAG,EAAE,KAAK,EACV,WAAW,EAAE,MAAM,iBAyCpB;AAED,wBAAsB,kBAAkB,CACtC,aAAa,EAAE,GAAG,GAAG,SAAS,EAC9B,UAAU,EAAE,MAAM,EAAE,EACpB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,KAAK,EACV,WAAW,EAAE,MAAM,iBAmCpB"}
@@ -0,0 +1,54 @@
1
+ import { createCompatibleClient } from '@aztec/aztec.js';
2
+ import { createEthereumChain, createL1Clients, deployL1Contract } from '@aztec/ethereum';
3
+ import { HonkVerifierAbi, HonkVerifierBytecode } from '@aztec/l1-artifacts';
4
+ import { InvalidOptionArgumentError } from 'commander';
5
+ import { getContract } from 'viem';
6
+ export async function deployUltraHonkVerifier(rollupAddress, ethRpcUrls, l1ChainId, privateKey, mnemonic, pxeRpcUrl, bbBinaryPath, bbWorkingDirectory, log, debugLogger) {
7
+ if (!bbBinaryPath || !bbWorkingDirectory) {
8
+ throw new InvalidOptionArgumentError('Missing path to bb binary and working directory');
9
+ }
10
+ const { publicClient, walletClient } = createL1Clients(ethRpcUrls, privateKey ?? mnemonic, createEthereumChain(ethRpcUrls, l1ChainId).chainInfo);
11
+ if (!rollupAddress && pxeRpcUrl) {
12
+ const pxe = await createCompatibleClient(pxeRpcUrl, debugLogger);
13
+ const { l1ContractAddresses } = await pxe.getNodeInfo();
14
+ rollupAddress = l1ContractAddresses.rollupAddress.toString();
15
+ }
16
+ if (!rollupAddress) {
17
+ throw new InvalidOptionArgumentError('Missing rollup address');
18
+ }
19
+ const { RollupAbi } = await import('@aztec/l1-artifacts');
20
+ const rollup = getContract({
21
+ abi: RollupAbi,
22
+ address: rollupAddress,
23
+ client: walletClient
24
+ });
25
+ const { address: verifierAddress } = await deployL1Contract(walletClient, publicClient, HonkVerifierAbi, HonkVerifierBytecode);
26
+ log(`Deployed honk verifier at ${verifierAddress}`);
27
+ await rollup.write.setEpochVerifier([
28
+ verifierAddress.toString()
29
+ ]);
30
+ log(`Rollup accepts only real proofs now`);
31
+ }
32
+ export async function deployMockVerifier(rollupAddress, ethRpcUrls, l1ChainId, privateKey, mnemonic, pxeRpcUrl, log, debugLogger) {
33
+ const { publicClient, walletClient } = createL1Clients(ethRpcUrls, privateKey ?? mnemonic, createEthereumChain(ethRpcUrls, l1ChainId).chainInfo);
34
+ const { MockVerifierAbi, MockVerifierBytecode, RollupAbi } = await import('@aztec/l1-artifacts');
35
+ const { address: mockVerifierAddress } = await deployL1Contract(walletClient, publicClient, MockVerifierAbi, MockVerifierBytecode);
36
+ log(`Deployed MockVerifier at ${mockVerifierAddress.toString()}`);
37
+ if (!rollupAddress && pxeRpcUrl) {
38
+ const pxe = await createCompatibleClient(pxeRpcUrl, debugLogger);
39
+ const { l1ContractAddresses } = await pxe.getNodeInfo();
40
+ rollupAddress = l1ContractAddresses.rollupAddress.toString();
41
+ }
42
+ if (!rollupAddress) {
43
+ throw new InvalidOptionArgumentError('Missing rollup address');
44
+ }
45
+ const rollup = getContract({
46
+ abi: RollupAbi,
47
+ address: rollupAddress,
48
+ client: walletClient
49
+ });
50
+ await rollup.write.setEpochVerifier([
51
+ mockVerifierAddress.toString()
52
+ ]);
53
+ log(`Rollup accepts only fake proofs now`);
54
+ }
@@ -0,0 +1,4 @@
1
+ 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
@@ -0,0 +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"}
@@ -0,0 +1,19 @@
1
+ import { getInitialTestAccounts } from '@aztec/accounts/testing';
2
+ import { getL1ContractsConfigEnvVars } from '@aztec/ethereum';
3
+ import { getGenesisValues } from '@aztec/world-state/testing';
4
+ import { deployNewRollupContracts } from '../../utils/aztec.js';
5
+ export async function deployNewRollup(registryAddress, rpcUrls, chainId, privateKey, mnemonic, mnemonicIndex, salt, testAccounts, json, initialValidators, log, debugLogger) {
6
+ const config = getL1ContractsConfigEnvVars();
7
+ const initialFundedAccounts = testAccounts ? await getInitialTestAccounts() : [];
8
+ const { genesisBlockHash, genesisArchiveRoot } = await getGenesisValues(initialFundedAccounts.map((a)=>a.address));
9
+ const { payloadAddress, rollup } = await deployNewRollupContracts(registryAddress, rpcUrls, chainId, privateKey, mnemonic, mnemonicIndex, salt, initialValidators, genesisArchiveRoot, genesisBlockHash, config, debugLogger);
10
+ if (json) {
11
+ log(JSON.stringify({
12
+ payloadAddress: payloadAddress.toString(),
13
+ rollupAddress: rollup.address
14
+ }, null, 2));
15
+ } else {
16
+ log(`Payload Address: ${payloadAddress.toString()}`);
17
+ log(`Rollup Address: ${rollup.address}`);
18
+ }
19
+ }
@@ -0,0 +1,4 @@
1
+ import { EthAddress } from '@aztec/aztec.js';
2
+ import type { LogFn } from '@aztec/foundation/log';
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
@@ -0,0 +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"}
@@ -0,0 +1,18 @@
1
+ import { RegistryContract, createEthereumChain } from '@aztec/ethereum';
2
+ import { createPublicClient, fallback, http } from 'viem';
3
+ export async function getL1Addresses(registryAddress, rollupVersion, rpcUrls, chainId, json, log) {
4
+ const chain = createEthereumChain(rpcUrls, chainId);
5
+ const publicClient = createPublicClient({
6
+ chain: chain.chainInfo,
7
+ transport: fallback(rpcUrls.map((url)=>http(url))),
8
+ pollingInterval: 100
9
+ });
10
+ const addresses = await RegistryContract.collectAddresses(publicClient, registryAddress.toString(), rollupVersion);
11
+ if (json) {
12
+ log(JSON.stringify(addresses, null, 2));
13
+ } else {
14
+ for (const [key, value] of Object.entries(addresses)){
15
+ log(`${key}: ${value.toString()}`);
16
+ }
17
+ }
18
+ }
@@ -0,0 +1,4 @@
1
+ import type { EthAddress } from '@aztec/foundation/eth-address';
2
+ import type { LogFn } from '@aztec/foundation/log';
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get_l1_balance.d.ts","sourceRoot":"","sources":["../../../src/cmds/l1/get_l1_balance.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAOnD,wBAAsB,YAAY,CAChC,GAAG,EAAE,UAAU,EACf,KAAK,EAAE,UAAU,GAAG,SAAS,EAC7B,SAAS,EAAE,MAAM,EAAE,EACnB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,OAAO,EACb,GAAG,EAAE,KAAK,iBA4BX"}
@@ -0,0 +1,33 @@
1
+ import { createEthereumChain } from '@aztec/ethereum';
2
+ import { TestERC20Abi } from '@aztec/l1-artifacts';
3
+ import { createPublicClient, fallback, getContract, http } from 'viem';
4
+ import { prettyPrintJSON } from '../../utils/commands.js';
5
+ export async function getL1Balance(who, token, l1RpcUrls, chainId, json, log) {
6
+ const chain = createEthereumChain(l1RpcUrls, chainId);
7
+ const publicClient = createPublicClient({
8
+ chain: chain.chainInfo,
9
+ transport: fallback(l1RpcUrls.map((url)=>http(url)))
10
+ });
11
+ let balance = 0n;
12
+ if (token) {
13
+ const gasL1 = getContract({
14
+ address: token.toString(),
15
+ abi: TestERC20Abi,
16
+ client: publicClient
17
+ });
18
+ balance = await gasL1.read.balanceOf([
19
+ who.toString()
20
+ ]);
21
+ } else {
22
+ balance = await publicClient.getBalance({
23
+ address: who.toString()
24
+ });
25
+ }
26
+ if (json) {
27
+ log(prettyPrintJSON({
28
+ balance
29
+ }));
30
+ } else {
31
+ log(`L1 balance of ${who.toString()} is ${balance.toString()}`);
32
+ }
33
+ }
@@ -0,0 +1,50 @@
1
+ import type { LogFn, Logger } from '@aztec/foundation/log';
2
+ export declare function depositGovernanceTokens({ registryAddress, rpcUrls, chainId, privateKey, mnemonic, mnemonicIndex, recipient, amount, debugLogger, mint, }: {
3
+ registryAddress: `0x${string}`;
4
+ rpcUrls: string[];
5
+ chainId: number;
6
+ privateKey: string | undefined;
7
+ mnemonic: string;
8
+ mnemonicIndex: number;
9
+ recipient: `0x${string}`;
10
+ amount: bigint;
11
+ debugLogger: Logger;
12
+ mint: boolean;
13
+ }): Promise<void>;
14
+ export declare function proposeWithLock({ payloadAddress, registryAddress, rpcUrls, chainId, privateKey, mnemonic, mnemonicIndex, json, debugLogger, log, }: {
15
+ payloadAddress: `0x${string}`;
16
+ registryAddress: `0x${string}`;
17
+ rpcUrls: string[];
18
+ chainId: number;
19
+ privateKey: string | undefined;
20
+ mnemonic: string;
21
+ mnemonicIndex: number;
22
+ debugLogger: Logger;
23
+ log: LogFn;
24
+ json: boolean;
25
+ }): Promise<void>;
26
+ export declare function voteOnGovernanceProposal({ proposalId, voteAmount, inFavor, waitTilActive, registryAddress, rpcUrls, chainId, privateKey, mnemonic, mnemonicIndex, debugLogger, }: {
27
+ proposalId: bigint;
28
+ voteAmount: bigint | undefined;
29
+ inFavor: boolean;
30
+ waitTilActive: boolean;
31
+ registryAddress: `0x${string}`;
32
+ rpcUrls: string[];
33
+ chainId: number;
34
+ privateKey: string | undefined;
35
+ mnemonic: string;
36
+ mnemonicIndex: number;
37
+ debugLogger: Logger;
38
+ }): Promise<void>;
39
+ export declare function executeGovernanceProposal({ proposalId, waitTilExecutable, registryAddress, rpcUrls, chainId, privateKey, mnemonic, mnemonicIndex, debugLogger, }: {
40
+ proposalId: bigint;
41
+ waitTilExecutable: boolean;
42
+ registryAddress: `0x${string}`;
43
+ rpcUrls: string[];
44
+ chainId: number;
45
+ privateKey: string | undefined;
46
+ mnemonic: string;
47
+ mnemonicIndex: number;
48
+ debugLogger: Logger;
49
+ }): Promise<void>;
50
+ //# sourceMappingURL=governance_utils.d.ts.map
@@ -0,0 +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,iBA0BA;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"}
@@ -0,0 +1,85 @@
1
+ import { FeeJuiceContract, GovernanceContract, ProposalState, RegistryContract, createEthereumChain, createL1Clients } from '@aztec/ethereum';
2
+ export async function depositGovernanceTokens({ registryAddress, rpcUrls, chainId, privateKey, mnemonic, mnemonicIndex, recipient, amount, debugLogger, mint }) {
3
+ debugLogger.info(`Depositing ${amount} governance tokens to ${recipient}`);
4
+ const chain = createEthereumChain(rpcUrls, chainId);
5
+ const { publicClient, walletClient } = createL1Clients(rpcUrls, privateKey ?? mnemonic, chain.chainInfo, mnemonicIndex);
6
+ const addresses = await RegistryContract.collectAddresses(publicClient, registryAddress, 'canonical');
7
+ const governanceAddress = addresses.governanceAddress.toString();
8
+ const tokenAddress = addresses.feeJuiceAddress.toString();
9
+ const feeJuice = new FeeJuiceContract(tokenAddress, publicClient, walletClient);
10
+ const governance = new GovernanceContract(governanceAddress, publicClient, walletClient);
11
+ if (mint) {
12
+ await feeJuice.mint(recipient, amount);
13
+ debugLogger.info(`Minted ${amount} tokens to ${recipient}`);
14
+ }
15
+ await feeJuice.approve(governanceAddress, amount);
16
+ debugLogger.info(`Approved ${amount} tokens for governance`);
17
+ await governance.deposit(recipient, amount);
18
+ debugLogger.info(`Deposited ${amount} tokens to ${recipient}`);
19
+ }
20
+ export async function proposeWithLock({ payloadAddress, registryAddress, rpcUrls, chainId, privateKey, mnemonic, mnemonicIndex, json, debugLogger, log }) {
21
+ debugLogger.info(`Proposing with lock from ${payloadAddress} to ${registryAddress}`);
22
+ const chain = createEthereumChain(rpcUrls, chainId);
23
+ const clients = createL1Clients(rpcUrls, privateKey ?? mnemonic, chain.chainInfo, mnemonicIndex);
24
+ const addresses = await RegistryContract.collectAddresses(clients.publicClient, registryAddress, 'canonical');
25
+ const governanceAddress = addresses.governanceAddress.toString();
26
+ const governance = new GovernanceContract(governanceAddress, clients.publicClient, clients.walletClient);
27
+ const proposalId = await governance.proposeWithLock({
28
+ payloadAddress,
29
+ withdrawAddress: clients.walletClient.account.address
30
+ });
31
+ if (json) {
32
+ log(JSON.stringify({
33
+ proposalId
34
+ }, null, 2));
35
+ } else {
36
+ log(`Proposed with lock`);
37
+ log(`Proposal ID: ${proposalId}`);
38
+ }
39
+ }
40
+ export async function voteOnGovernanceProposal({ proposalId, voteAmount, inFavor, waitTilActive, registryAddress, rpcUrls, chainId, privateKey, mnemonic, mnemonicIndex, debugLogger }) {
41
+ debugLogger.info(`Voting on proposal ${proposalId} with ${voteAmount ? voteAmount : 'all'} tokens in favor: ${inFavor}`);
42
+ const chain = createEthereumChain(rpcUrls, chainId);
43
+ const clients = createL1Clients(rpcUrls, privateKey ?? mnemonic, chain.chainInfo, mnemonicIndex);
44
+ const addresses = await RegistryContract.collectAddresses(clients.publicClient, registryAddress, 'canonical');
45
+ const governanceAddress = addresses.governanceAddress.toString();
46
+ const governance = new GovernanceContract(governanceAddress, clients.publicClient, clients.walletClient);
47
+ const state = await governance.getProposalState(proposalId);
48
+ if (state !== ProposalState.Active && !waitTilActive) {
49
+ debugLogger.warn(`Proposal is not active, but waitTilActive is false. Not voting.`);
50
+ return;
51
+ }
52
+ await governance.awaitProposalActive({
53
+ proposalId,
54
+ logger: debugLogger
55
+ });
56
+ await governance.vote({
57
+ proposalId,
58
+ voteAmount,
59
+ inFavor,
60
+ retries: 10,
61
+ logger: debugLogger
62
+ });
63
+ }
64
+ export async function executeGovernanceProposal({ proposalId, waitTilExecutable, registryAddress, rpcUrls, chainId, privateKey, mnemonic, mnemonicIndex, debugLogger }) {
65
+ debugLogger.info(`Executing proposal ${proposalId}`);
66
+ const chain = createEthereumChain(rpcUrls, chainId);
67
+ const clients = createL1Clients(rpcUrls, privateKey ?? mnemonic, chain.chainInfo, mnemonicIndex);
68
+ const addresses = await RegistryContract.collectAddresses(clients.publicClient, registryAddress, 'canonical');
69
+ const governanceAddress = addresses.governanceAddress.toString();
70
+ const governance = new GovernanceContract(governanceAddress, clients.publicClient, clients.walletClient);
71
+ const state = await governance.getProposalState(proposalId);
72
+ if (state !== ProposalState.Executable && !waitTilExecutable) {
73
+ debugLogger.warn(`Proposal is not executable, but waitTilExecutable is false. Not executing.`);
74
+ return;
75
+ }
76
+ await governance.awaitProposalExecutable({
77
+ proposalId,
78
+ logger: debugLogger
79
+ });
80
+ await governance.executeProposal({
81
+ proposalId,
82
+ retries: 10,
83
+ logger: debugLogger
84
+ });
85
+ }
@@ -0,0 +1,4 @@
1
+ import type { LogFn, Logger } from '@aztec/foundation/log';
2
+ import { type Command } from 'commander';
3
+ export declare function injectCommands(program: Command, log: LogFn, debugLogger: Logger): Command;
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cmds/l1/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAE,KAAK,OAAO,EAAU,MAAM,WAAW,CAAC;AAsBjD,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,WAkhB/E"}