@aztec/aztec.js 0.0.0-test.1 → 0.0.1-commit.1142ef1

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 (410) hide show
  1. package/README.md +1 -1
  2. package/dest/account/account.d.ts +59 -0
  3. package/dest/account/account.d.ts.map +1 -0
  4. package/dest/account/account.js +59 -0
  5. package/dest/account/account_contract.d.ts +43 -0
  6. package/dest/account/account_contract.d.ts.map +1 -0
  7. package/dest/account/{contract.js → account_contract.js} +7 -4
  8. package/dest/account/account_with_secret_key.d.ts +24 -0
  9. package/dest/account/account_with_secret_key.d.ts.map +1 -0
  10. package/dest/{wallet/account_wallet_with_private_key.js → account/account_with_secret_key.js} +5 -5
  11. package/dest/account/index.d.ts +5 -9
  12. package/dest/account/index.d.ts.map +1 -1
  13. package/dest/account/index.js +2 -6
  14. package/dest/account/interface.d.ts +3 -15
  15. package/dest/account/interface.d.ts.map +1 -1
  16. package/dest/account/interface.js +1 -0
  17. package/dest/account/signerless_account.d.ts +23 -0
  18. package/dest/account/signerless_account.d.ts.map +1 -0
  19. package/dest/account/signerless_account.js +27 -0
  20. package/dest/api/abi.d.ts +3 -2
  21. package/dest/api/abi.d.ts.map +1 -1
  22. package/dest/api/abi.js +1 -1
  23. package/dest/api/account.d.ts +7 -3
  24. package/dest/api/account.d.ts.map +1 -1
  25. package/dest/api/account.js +4 -1
  26. package/dest/api/addresses.d.ts +2 -1
  27. package/dest/api/addresses.d.ts.map +1 -1
  28. package/dest/api/addresses.js +1 -0
  29. package/dest/api/authorization.d.ts +5 -0
  30. package/dest/api/authorization.d.ts.map +1 -0
  31. package/dest/api/authorization.js +4 -0
  32. package/dest/api/block.d.ts +3 -0
  33. package/dest/api/block.d.ts.map +1 -0
  34. package/dest/api/block.js +2 -0
  35. package/dest/api/contract.d.ts +49 -0
  36. package/dest/api/contract.d.ts.map +1 -0
  37. package/dest/{contract/index.js → api/contract.js} +15 -11
  38. package/dest/api/crypto.d.ts +2 -0
  39. package/dest/api/crypto.d.ts.map +1 -0
  40. package/dest/api/crypto.js +1 -0
  41. package/dest/api/deployment.d.ts +5 -4
  42. package/dest/api/deployment.d.ts.map +1 -1
  43. package/dest/api/deployment.js +4 -3
  44. package/dest/api/eth_address.d.ts +1 -1
  45. package/dest/api/ethereum.d.ts +2 -0
  46. package/dest/api/ethereum.d.ts.map +1 -0
  47. package/dest/api/ethereum.js +1 -0
  48. package/dest/api/events.d.ts +12 -0
  49. package/dest/api/events.d.ts.map +1 -0
  50. package/dest/api/events.js +30 -0
  51. package/dest/api/fee.d.ts +2 -2
  52. package/dest/api/fee.d.ts.map +1 -1
  53. package/dest/api/fee.js +1 -1
  54. package/dest/api/fee_testing.d.ts +2 -0
  55. package/dest/api/fee_testing.d.ts.map +1 -0
  56. package/dest/api/fee_testing.js +1 -0
  57. package/dest/api/fields.d.ts +3 -2
  58. package/dest/api/fields.d.ts.map +1 -1
  59. package/dest/api/fields.js +2 -1
  60. package/dest/api/keys.d.ts +4 -0
  61. package/dest/api/keys.d.ts.map +1 -0
  62. package/dest/api/keys.js +3 -0
  63. package/dest/api/log.d.ts +2 -1
  64. package/dest/api/log.d.ts.map +1 -1
  65. package/dest/api/log.js +1 -0
  66. package/dest/api/messaging.d.ts +3 -0
  67. package/dest/api/messaging.d.ts.map +1 -0
  68. package/dest/api/messaging.js +2 -0
  69. package/dest/api/node.d.ts +21 -0
  70. package/dest/api/node.d.ts.map +1 -0
  71. package/dest/api/node.js +18 -0
  72. package/dest/api/note.d.ts +2 -0
  73. package/dest/api/note.d.ts.map +1 -0
  74. package/dest/api/note.js +1 -0
  75. package/dest/api/protocol.d.ts +3 -0
  76. package/dest/api/protocol.d.ts.map +1 -0
  77. package/dest/api/protocol.js +2 -0
  78. package/dest/api/trees.d.ts +3 -0
  79. package/dest/api/trees.d.ts.map +1 -0
  80. package/dest/api/trees.js +2 -0
  81. package/dest/api/tx.d.ts +2 -0
  82. package/dest/api/tx.d.ts.map +1 -0
  83. package/dest/api/tx.js +1 -0
  84. package/dest/api/utils.d.ts +13 -0
  85. package/dest/api/utils.d.ts.map +1 -0
  86. package/dest/api/utils.js +12 -0
  87. package/dest/api/wallet.d.ts +4 -2
  88. package/dest/api/wallet.d.ts.map +1 -1
  89. package/dest/api/wallet.js +3 -1
  90. package/dest/authorization/call_authorization_request.d.ts +46 -0
  91. package/dest/authorization/call_authorization_request.d.ts.map +1 -0
  92. package/dest/authorization/call_authorization_request.js +49 -0
  93. package/dest/contract/base_contract_interaction.d.ts +16 -80
  94. package/dest/contract/base_contract_interaction.d.ts.map +1 -1
  95. package/dest/contract/base_contract_interaction.js +15 -128
  96. package/dest/contract/batch_call.d.ts +19 -21
  97. package/dest/contract/batch_call.d.ts.map +1 -1
  98. package/dest/contract/batch_call.js +89 -69
  99. package/dest/contract/checker.d.ts +2 -2
  100. package/dest/contract/checker.d.ts.map +1 -1
  101. package/dest/contract/checker.js +2 -2
  102. package/dest/contract/contract.d.ts +9 -8
  103. package/dest/contract/contract.d.ts.map +1 -1
  104. package/dest/contract/contract.js +10 -20
  105. package/dest/contract/contract_base.d.ts +7 -20
  106. package/dest/contract/contract_base.d.ts.map +1 -1
  107. package/dest/contract/contract_base.js +7 -14
  108. package/dest/contract/contract_function_interaction.d.ts +53 -45
  109. package/dest/contract/contract_function_interaction.d.ts.map +1 -1
  110. package/dest/contract/contract_function_interaction.js +78 -74
  111. package/dest/contract/deploy_method.d.ts +106 -60
  112. package/dest/contract/deploy_method.d.ts.map +1 -1
  113. package/dest/contract/deploy_method.js +125 -133
  114. package/dest/contract/deploy_sent_tx.d.ts +14 -11
  115. package/dest/contract/deploy_sent_tx.d.ts.map +1 -1
  116. package/dest/contract/deploy_sent_tx.js +18 -15
  117. package/dest/contract/get_gas_limits.d.ts +6 -7
  118. package/dest/contract/get_gas_limits.d.ts.map +1 -1
  119. package/dest/contract/get_gas_limits.js +9 -3
  120. package/dest/contract/interaction_options.d.ts +114 -0
  121. package/dest/contract/interaction_options.d.ts.map +1 -0
  122. package/dest/contract/interaction_options.js +46 -0
  123. package/dest/contract/protocol_contracts.d.ts +7 -7
  124. package/dest/contract/protocol_contracts.d.ts.map +1 -1
  125. package/dest/contract/protocol_contracts.js +7 -7
  126. package/dest/contract/sent_tx.d.ts +10 -21
  127. package/dest/contract/sent_tx.d.ts.map +1 -1
  128. package/dest/contract/sent_tx.js +31 -43
  129. package/dest/contract/unsafe_contract.d.ts +2 -2
  130. package/dest/contract/unsafe_contract.d.ts.map +1 -1
  131. package/dest/contract/unsafe_contract.js +1 -1
  132. package/dest/contract/wait_for_proven.d.ts +17 -0
  133. package/dest/contract/wait_for_proven.d.ts.map +1 -0
  134. package/dest/contract/wait_for_proven.js +17 -0
  135. package/dest/deployment/broadcast_function.d.ts +4 -4
  136. package/dest/deployment/broadcast_function.d.ts.map +1 -1
  137. package/dest/deployment/broadcast_function.js +28 -24
  138. package/dest/deployment/contract_deployer.d.ts +2 -2
  139. package/dest/deployment/contract_deployer.d.ts.map +1 -1
  140. package/dest/deployment/contract_deployer.js +1 -1
  141. package/dest/deployment/publish_class.d.ts +6 -0
  142. package/dest/deployment/publish_class.d.ts.map +1 -0
  143. package/dest/deployment/publish_class.js +17 -0
  144. package/dest/deployment/publish_instance.d.ts +10 -0
  145. package/dest/deployment/publish_instance.d.ts.map +1 -0
  146. package/dest/deployment/publish_instance.js +11 -0
  147. package/dest/ethereum/portal_manager.d.ts +139 -0
  148. package/dest/ethereum/portal_manager.d.ts.map +1 -0
  149. package/dest/ethereum/portal_manager.js +345 -0
  150. package/dest/fee/fee_juice_payment_method_with_claim.d.ts +17 -12
  151. package/dest/fee/fee_juice_payment_method_with_claim.d.ts.map +1 -1
  152. package/dest/fee/fee_juice_payment_method_with_claim.js +27 -17
  153. package/dest/fee/fee_payment_method.d.ts +12 -8
  154. package/dest/fee/fee_payment_method.d.ts.map +1 -1
  155. package/dest/fee/private_fee_payment_method.d.ts +26 -9
  156. package/dest/fee/private_fee_payment_method.d.ts.map +1 -1
  157. package/dest/fee/private_fee_payment_method.js +45 -23
  158. package/dest/fee/public_fee_payment_method.d.ts +27 -10
  159. package/dest/fee/public_fee_payment_method.d.ts.map +1 -1
  160. package/dest/fee/public_fee_payment_method.js +47 -25
  161. package/dest/fee/sponsored_fee_payment.d.ts +17 -0
  162. package/dest/fee/sponsored_fee_payment.d.ts.map +1 -0
  163. package/dest/fee/sponsored_fee_payment.js +34 -0
  164. package/dest/utils/abi_types.d.ts +2 -4
  165. package/dest/utils/abi_types.d.ts.map +1 -1
  166. package/dest/utils/authwit.d.ts +83 -26
  167. package/dest/utils/authwit.d.ts.map +1 -1
  168. package/dest/utils/authwit.js +238 -41
  169. package/dest/utils/cross_chain.d.ts +24 -0
  170. package/dest/utils/cross_chain.d.ts.map +1 -0
  171. package/dest/utils/cross_chain.js +30 -0
  172. package/dest/utils/fee_juice.d.ts +4 -3
  173. package/dest/utils/fee_juice.d.ts.map +1 -1
  174. package/dest/utils/fee_juice.js +4 -3
  175. package/dest/utils/field_compressed_string.d.ts +1 -1
  176. package/dest/utils/field_compressed_string.d.ts.map +1 -1
  177. package/dest/utils/field_compressed_string.js +1 -1
  178. package/dest/utils/node.d.ts +2 -2
  179. package/dest/utils/node.d.ts.map +1 -1
  180. package/dest/utils/node.js +1 -1
  181. package/dest/utils/pub_key.d.ts +2 -2
  182. package/dest/utils/pub_key.d.ts.map +1 -1
  183. package/dest/utils/pub_key.js +2 -3
  184. package/dest/wallet/account_entrypoint_meta_payment_method.d.ts +34 -0
  185. package/dest/wallet/account_entrypoint_meta_payment_method.d.ts.map +1 -0
  186. package/dest/wallet/account_entrypoint_meta_payment_method.js +76 -0
  187. package/dest/wallet/account_manager.d.ts +66 -0
  188. package/dest/wallet/account_manager.d.ts.map +1 -0
  189. package/dest/wallet/account_manager.js +113 -0
  190. package/dest/wallet/deploy_account_method.d.ts +52 -0
  191. package/dest/wallet/deploy_account_method.d.ts.map +1 -0
  192. package/dest/wallet/deploy_account_method.js +77 -0
  193. package/dest/wallet/index.d.ts +3 -17
  194. package/dest/wallet/index.d.ts.map +1 -1
  195. package/dest/wallet/index.js +2 -20
  196. package/dest/wallet/wallet.d.ts +3554 -0
  197. package/dest/wallet/wallet.d.ts.map +1 -0
  198. package/dest/wallet/wallet.js +198 -0
  199. package/package.json +44 -35
  200. package/src/account/account.ts +96 -0
  201. package/src/account/{contract.ts → account_contract.ts} +25 -14
  202. package/src/{wallet/account_wallet_with_private_key.ts → account/account_with_secret_key.ts} +7 -9
  203. package/src/account/index.ts +4 -8
  204. package/src/account/interface.ts +2 -13
  205. package/src/account/signerless_account.ts +45 -0
  206. package/src/api/abi.ts +26 -0
  207. package/src/api/account.ts +6 -9
  208. package/src/api/addresses.ts +1 -0
  209. package/src/api/authorization.ts +14 -0
  210. package/src/api/block.ts +2 -0
  211. package/src/{contract/index.ts → api/contract.ts} +39 -14
  212. package/src/api/crypto.ts +1 -0
  213. package/src/api/deployment.ts +4 -3
  214. package/src/api/ethereum.ts +10 -0
  215. package/src/api/events.ts +44 -0
  216. package/src/api/fee.ts +1 -1
  217. package/src/api/fee_testing.ts +1 -0
  218. package/src/api/fields.ts +2 -1
  219. package/src/api/keys.ts +8 -0
  220. package/src/api/log.ts +1 -0
  221. package/src/api/messaging.ts +2 -0
  222. package/src/api/node.ts +20 -0
  223. package/src/api/note.ts +1 -0
  224. package/src/api/protocol.ts +2 -0
  225. package/src/api/trees.ts +2 -0
  226. package/src/api/tx.ts +13 -0
  227. package/src/api/utils.ts +14 -0
  228. package/src/api/wallet.ts +31 -5
  229. package/src/authorization/call_authorization_request.ts +63 -0
  230. package/src/contract/base_contract_interaction.ts +23 -166
  231. package/src/contract/batch_call.ts +108 -57
  232. package/src/contract/checker.ts +8 -3
  233. package/src/contract/contract.ts +14 -21
  234. package/src/contract/contract_base.ts +9 -26
  235. package/src/contract/contract_function_interaction.ts +135 -106
  236. package/src/contract/deploy_method.ts +205 -134
  237. package/src/contract/deploy_sent_tx.ts +24 -23
  238. package/src/contract/get_gas_limits.ts +15 -8
  239. package/src/contract/interaction_options.ts +163 -0
  240. package/src/contract/protocol_contracts.ts +10 -10
  241. package/src/contract/sent_tx.ts +42 -54
  242. package/src/contract/unsafe_contract.ts +2 -2
  243. package/src/contract/wait_for_proven.ts +38 -0
  244. package/src/deployment/broadcast_function.ts +58 -58
  245. package/src/deployment/contract_deployer.ts +4 -3
  246. package/src/deployment/publish_class.ts +34 -0
  247. package/src/deployment/publish_instance.ts +26 -0
  248. package/src/{api/ethereum → ethereum}/portal_manager.ts +166 -89
  249. package/src/fee/fee_juice_payment_method_with_claim.ts +49 -34
  250. package/src/fee/fee_payment_method.ts +11 -7
  251. package/src/fee/private_fee_payment_method.ts +80 -58
  252. package/src/fee/public_fee_payment_method.ts +94 -68
  253. package/src/fee/sponsored_fee_payment.ts +46 -0
  254. package/src/utils/abi_types.ts +1 -1
  255. package/src/utils/authwit.ts +262 -54
  256. package/src/utils/cross_chain.ts +53 -0
  257. package/src/utils/fee_juice.ts +5 -5
  258. package/src/utils/field_compressed_string.ts +1 -1
  259. package/src/utils/node.ts +1 -1
  260. package/src/utils/pub_key.ts +3 -4
  261. package/src/wallet/account_entrypoint_meta_payment_method.ts +106 -0
  262. package/src/wallet/account_manager.ts +154 -0
  263. package/src/wallet/deploy_account_method.ts +126 -0
  264. package/src/wallet/index.ts +2 -33
  265. package/src/wallet/wallet.ts +369 -0
  266. package/dest/account/contract.d.ts +0 -37
  267. package/dest/account/contract.d.ts.map +0 -1
  268. package/dest/account/wallet.d.ts +0 -11
  269. package/dest/account/wallet.d.ts.map +0 -1
  270. package/dest/account/wallet.js +0 -3
  271. package/dest/account_manager/deploy_account_method.d.ts +0 -15
  272. package/dest/account_manager/deploy_account_method.d.ts.map +0 -1
  273. package/dest/account_manager/deploy_account_method.js +0 -43
  274. package/dest/account_manager/deploy_account_sent_tx.d.ts +0 -30
  275. package/dest/account_manager/deploy_account_sent_tx.d.ts.map +0 -1
  276. package/dest/account_manager/deploy_account_sent_tx.js +0 -29
  277. package/dest/account_manager/index.d.ts +0 -108
  278. package/dest/account_manager/index.d.ts.map +0 -1
  279. package/dest/account_manager/index.js +0 -159
  280. package/dest/api/cheat_codes.d.ts +0 -26
  281. package/dest/api/cheat_codes.d.ts.map +0 -1
  282. package/dest/api/cheat_codes.js +0 -25
  283. package/dest/api/entrypoint.d.ts +0 -2
  284. package/dest/api/entrypoint.d.ts.map +0 -1
  285. package/dest/api/entrypoint.js +0 -1
  286. package/dest/api/ethereum/anvil_test_watcher.d.ts +0 -32
  287. package/dest/api/ethereum/anvil_test_watcher.d.ts.map +0 -1
  288. package/dest/api/ethereum/anvil_test_watcher.js +0 -133
  289. package/dest/api/ethereum/chain_monitor.d.ts +0 -25
  290. package/dest/api/ethereum/chain_monitor.d.ts.map +0 -1
  291. package/dest/api/ethereum/chain_monitor.js +0 -74
  292. package/dest/api/ethereum/cheat_codes.d.ts +0 -63
  293. package/dest/api/ethereum/cheat_codes.d.ts.map +0 -1
  294. package/dest/api/ethereum/cheat_codes.js +0 -162
  295. package/dest/api/ethereum/index.d.ts +0 -7
  296. package/dest/api/ethereum/index.d.ts.map +0 -1
  297. package/dest/api/ethereum/index.js +0 -6
  298. package/dest/api/ethereum/l1_contracts.d.ts +0 -3
  299. package/dest/api/ethereum/l1_contracts.d.ts.map +0 -1
  300. package/dest/api/ethereum/l1_contracts.js +0 -13
  301. package/dest/api/ethereum/portal_manager.d.ts +0 -136
  302. package/dest/api/ethereum/portal_manager.d.ts.map +0 -1
  303. package/dest/api/ethereum/portal_manager.js +0 -286
  304. package/dest/api/interfaces/pxe.d.ts +0 -2
  305. package/dest/api/interfaces/pxe.d.ts.map +0 -1
  306. package/dest/api/interfaces/pxe.js +0 -1
  307. package/dest/api/log_id.d.ts +0 -2
  308. package/dest/api/log_id.d.ts.map +0 -1
  309. package/dest/api/log_id.js +0 -1
  310. package/dest/api/tx_hash.d.ts +0 -2
  311. package/dest/api/tx_hash.d.ts.map +0 -1
  312. package/dest/api/tx_hash.js +0 -1
  313. package/dest/contract/deploy_proven_tx.d.ts +0 -21
  314. package/dest/contract/deploy_proven_tx.d.ts.map +0 -1
  315. package/dest/contract/deploy_proven_tx.js +0 -19
  316. package/dest/contract/index.d.ts +0 -45
  317. package/dest/contract/index.d.ts.map +0 -1
  318. package/dest/contract/proven_tx.d.ts +0 -17
  319. package/dest/contract/proven_tx.d.ts.map +0 -1
  320. package/dest/contract/proven_tx.js +0 -22
  321. package/dest/deployment/deploy_instance.d.ts +0 -10
  322. package/dest/deployment/deploy_instance.d.ts.map +0 -1
  323. package/dest/deployment/deploy_instance.js +0 -14
  324. package/dest/deployment/index.d.ts +0 -2
  325. package/dest/deployment/index.d.ts.map +0 -1
  326. package/dest/deployment/index.js +0 -1
  327. package/dest/deployment/register_class.d.ts +0 -6
  328. package/dest/deployment/register_class.d.ts.map +0 -1
  329. package/dest/deployment/register_class.js +0 -22
  330. package/dest/entrypoint/default_entrypoint.d.ts +0 -12
  331. package/dest/entrypoint/default_entrypoint.d.ts.map +0 -1
  332. package/dest/entrypoint/default_entrypoint.js +0 -28
  333. package/dest/entrypoint/default_multi_call_entrypoint.d.ts +0 -15
  334. package/dest/entrypoint/default_multi_call_entrypoint.d.ts.map +0 -1
  335. package/dest/entrypoint/default_multi_call_entrypoint.js +0 -130
  336. package/dest/entrypoint/entrypoint.d.ts +0 -35
  337. package/dest/entrypoint/entrypoint.d.ts.map +0 -1
  338. package/dest/entrypoint/entrypoint.js +0 -4
  339. package/dest/entrypoint/payload.d.ts +0 -128
  340. package/dest/entrypoint/payload.d.ts.map +0 -1
  341. package/dest/entrypoint/payload.js +0 -143
  342. package/dest/fee/fee_juice_payment_method.d.ts +0 -14
  343. package/dest/fee/fee_juice_payment_method.d.ts.map +0 -1
  344. package/dest/fee/fee_juice_payment_method.js +0 -20
  345. package/dest/index.d.ts +0 -66
  346. package/dest/index.d.ts.map +0 -1
  347. package/dest/index.js +0 -69
  348. package/dest/rpc_clients/index.d.ts +0 -3
  349. package/dest/rpc_clients/index.d.ts.map +0 -1
  350. package/dest/rpc_clients/index.js +0 -2
  351. package/dest/rpc_clients/node/index.d.ts +0 -12
  352. package/dest/rpc_clients/node/index.d.ts.map +0 -1
  353. package/dest/rpc_clients/node/index.js +0 -78
  354. package/dest/rpc_clients/pxe_client.d.ts +0 -10
  355. package/dest/rpc_clients/pxe_client.d.ts.map +0 -1
  356. package/dest/rpc_clients/pxe_client.js +0 -23
  357. package/dest/utils/aztec_cheatcodes.d.ts +0 -59
  358. package/dest/utils/aztec_cheatcodes.d.ts.map +0 -1
  359. package/dest/utils/aztec_cheatcodes.js +0 -62
  360. package/dest/utils/index.d.ts +0 -8
  361. package/dest/utils/index.d.ts.map +0 -1
  362. package/dest/utils/index.js +0 -6
  363. package/dest/utils/pxe.d.ts +0 -4
  364. package/dest/utils/pxe.d.ts.map +0 -1
  365. package/dest/utils/pxe.js +0 -14
  366. package/dest/wallet/account_wallet.d.ts +0 -76
  367. package/dest/wallet/account_wallet.d.ts.map +0 -1
  368. package/dest/wallet/account_wallet.js +0 -231
  369. package/dest/wallet/account_wallet_with_private_key.d.ts +0 -26
  370. package/dest/wallet/account_wallet_with_private_key.d.ts.map +0 -1
  371. package/dest/wallet/base_wallet.d.ts +0 -73
  372. package/dest/wallet/base_wallet.d.ts.map +0 -1
  373. package/dest/wallet/base_wallet.js +0 -123
  374. package/dest/wallet/signerless_wallet.d.ts +0 -25
  375. package/dest/wallet/signerless_wallet.d.ts.map +0 -1
  376. package/dest/wallet/signerless_wallet.js +0 -36
  377. package/src/account/wallet.ts +0 -13
  378. package/src/account_manager/deploy_account_method.ts +0 -86
  379. package/src/account_manager/deploy_account_sent_tx.ts +0 -42
  380. package/src/account_manager/index.ts +0 -229
  381. package/src/api/cheat_codes.ts +0 -35
  382. package/src/api/entrypoint.ts +0 -1
  383. package/src/api/ethereum/anvil_test_watcher.ts +0 -158
  384. package/src/api/ethereum/chain_monitor.ts +0 -88
  385. package/src/api/ethereum/cheat_codes.ts +0 -184
  386. package/src/api/ethereum/index.ts +0 -19
  387. package/src/api/ethereum/l1_contracts.ts +0 -21
  388. package/src/api/interfaces/pxe.ts +0 -1
  389. package/src/api/log_id.ts +0 -1
  390. package/src/api/tx_hash.ts +0 -1
  391. package/src/contract/deploy_proven_tx.ts +0 -34
  392. package/src/contract/proven_tx.ts +0 -42
  393. package/src/deployment/deploy_instance.ts +0 -31
  394. package/src/deployment/index.ts +0 -1
  395. package/src/deployment/register_class.ts +0 -44
  396. package/src/entrypoint/default_entrypoint.ts +0 -39
  397. package/src/entrypoint/default_multi_call_entrypoint.ts +0 -93
  398. package/src/entrypoint/entrypoint.ts +0 -39
  399. package/src/entrypoint/payload.ts +0 -238
  400. package/src/fee/fee_juice_payment_method.ts +0 -26
  401. package/src/index.ts +0 -106
  402. package/src/rpc_clients/index.ts +0 -2
  403. package/src/rpc_clients/node/index.ts +0 -77
  404. package/src/rpc_clients/pxe_client.ts +0 -25
  405. package/src/utils/aztec_cheatcodes.ts +0 -77
  406. package/src/utils/index.ts +0 -21
  407. package/src/utils/pxe.ts +0 -17
  408. package/src/wallet/account_wallet.ts +0 -242
  409. package/src/wallet/base_wallet.ts +0 -198
  410. package/src/wallet/signerless_wallet.ts +0 -52
@@ -1,35 +0,0 @@
1
- import { EthCheatCodes } from '@aztec/ethereum/eth-cheatcodes';
2
- import type { L1ContractAddresses } from '@aztec/ethereum/l1-contract-addresses';
3
- import type { PXE } from '@aztec/stdlib/interfaces/client';
4
-
5
- import { AztecCheatCodes } from '../utils/aztec_cheatcodes.js';
6
- import { RollupCheatCodes } from './ethereum/cheat_codes.js';
7
-
8
- /**
9
- * A class that provides utility functions for interacting with the chain.
10
- */
11
- export class CheatCodes {
12
- constructor(
13
- /** Cheat codes for L1.*/
14
- public eth: EthCheatCodes,
15
- /** Cheat codes for Aztec L2. */
16
- public aztec: AztecCheatCodes,
17
- /** Cheat codes for the Aztec Rollup contract on L1. */
18
- public rollup: RollupCheatCodes,
19
- ) {}
20
-
21
- static async create(rpcUrls: string[], pxe: PXE): Promise<CheatCodes> {
22
- const ethCheatCodes = new EthCheatCodes(rpcUrls);
23
- const aztecCheatCodes = new AztecCheatCodes(pxe);
24
- const rollupCheatCodes = new RollupCheatCodes(
25
- ethCheatCodes,
26
- await pxe.getNodeInfo().then(n => n.l1ContractAddresses),
27
- );
28
- return new CheatCodes(ethCheatCodes, aztecCheatCodes, rollupCheatCodes);
29
- }
30
-
31
- static createRollup(rpcUrls: string[], addresses: Pick<L1ContractAddresses, 'rollupAddress'>): RollupCheatCodes {
32
- const ethCheatCodes = new EthCheatCodes(rpcUrls);
33
- return new RollupCheatCodes(ethCheatCodes, addresses);
34
- }
35
- }
@@ -1 +0,0 @@
1
- export * from '../entrypoint/entrypoint.js';
@@ -1,158 +0,0 @@
1
- import type { ViemPublicClient } from '@aztec/ethereum';
2
- import type { EthCheatCodes } from '@aztec/ethereum/eth-cheatcodes';
3
- import type { EthAddress } from '@aztec/foundation/eth-address';
4
- import { type Logger, createLogger } from '@aztec/foundation/log';
5
- import { RunningPromise } from '@aztec/foundation/running-promise';
6
- import type { TestDateProvider } from '@aztec/foundation/timer';
7
- import { RollupAbi } from '@aztec/l1-artifacts';
8
-
9
- import { type GetContractReturnType, getAddress, getContract } from 'viem';
10
-
11
- import { RollupCheatCodes } from './cheat_codes.js';
12
-
13
- /**
14
- * Represents a watcher for a rollup contract.
15
- *
16
- * It started on a network like anvil where time traveling is allowed, and auto-mine is turned on
17
- * it will periodically check if the current slot have already been filled, e.g., there was an L2
18
- * block within the slot. And if so, it will time travel into the next slot.
19
- */
20
- export class AnvilTestWatcher {
21
- private isSandbox: boolean = false;
22
-
23
- private rollup: GetContractReturnType<typeof RollupAbi, ViemPublicClient>;
24
- private rollupCheatCodes: RollupCheatCodes;
25
-
26
- private filledRunningPromise?: RunningPromise;
27
- private mineIfOutdatedPromise?: RunningPromise;
28
- private markingAsProvenRunningPromise?: RunningPromise;
29
-
30
- private logger: Logger = createLogger(`aztecjs:utils:watcher`);
31
-
32
- private isMarkingAsProven = true;
33
-
34
- constructor(
35
- private cheatcodes: EthCheatCodes,
36
- rollupAddress: EthAddress,
37
- publicClient: ViemPublicClient,
38
- private dateProvider?: TestDateProvider,
39
- ) {
40
- this.rollup = getContract({
41
- address: getAddress(rollupAddress.toString()),
42
- abi: RollupAbi,
43
- client: publicClient,
44
- });
45
-
46
- this.rollupCheatCodes = new RollupCheatCodes(this.cheatcodes, {
47
- rollupAddress,
48
- });
49
-
50
- this.logger.debug(`Watcher created for rollup at ${rollupAddress}`);
51
- }
52
-
53
- setIsMarkingAsProven(isMarkingAsProven: boolean) {
54
- this.isMarkingAsProven = isMarkingAsProven;
55
- }
56
-
57
- setIsSandbox(isSandbox: boolean) {
58
- this.isSandbox = isSandbox;
59
- }
60
-
61
- async start() {
62
- if (this.filledRunningPromise) {
63
- throw new Error('Watcher already watching for filled slot');
64
- }
65
-
66
- // If auto mining is not supported (e.g., we are on a real network), then we
67
- // will simple do nothing. But if on an anvil or the like, this make sure that
68
- // the sandbox and tests don't break because time is frozen and we never get to
69
- // the next slot.
70
- const isAutoMining = await this.cheatcodes.isAutoMining();
71
-
72
- if (isAutoMining) {
73
- this.filledRunningPromise = new RunningPromise(() => this.warpTimeIfNeeded(), this.logger, 1000);
74
- this.filledRunningPromise.start();
75
- this.mineIfOutdatedPromise = new RunningPromise(() => this.mineIfOutdated(), this.logger, 1000);
76
- this.mineIfOutdatedPromise.start();
77
- this.markingAsProvenRunningPromise = new RunningPromise(() => this.markAsProven(), this.logger, 1000);
78
- this.markingAsProvenRunningPromise.start();
79
- this.logger.info(`Watcher started for rollup at ${this.rollup.address}`);
80
- } else {
81
- this.logger.info(`Watcher not started because not auto mining`);
82
- }
83
- }
84
-
85
- async stop() {
86
- await this.filledRunningPromise?.stop();
87
- await this.mineIfOutdatedPromise?.stop();
88
- await this.markingAsProvenRunningPromise?.stop();
89
- }
90
-
91
- async markAsProven() {
92
- if (!this.isMarkingAsProven) {
93
- return;
94
- }
95
- await this.rollupCheatCodes.markAsProven();
96
- }
97
-
98
- async mineIfOutdated() {
99
- // this doesn't apply to the sandbox, because we don't have a date provider in the sandbox
100
- if (!this.dateProvider) {
101
- return;
102
- }
103
-
104
- const l1Time = (await this.cheatcodes.timestamp()) * 1000;
105
- const wallTime = this.dateProvider.now();
106
-
107
- // If the wall time is more than 24 seconds away from L1 time,
108
- // mine a block and sync the clocks
109
- if (Math.abs(wallTime - l1Time) > 24 * 1000) {
110
- this.logger.warn(`Wall time is more than 24 seconds away from L1 time, mining a block and syncing clocks`);
111
- await this.cheatcodes.evmMine();
112
- const newL1Time = await this.cheatcodes.timestamp();
113
- this.logger.info(`New L1 time: ${newL1Time}`);
114
- this.dateProvider.setTime(newL1Time * 1000);
115
- }
116
- }
117
-
118
- async warpTimeIfNeeded() {
119
- try {
120
- const currentSlot = await this.rollup.read.getCurrentSlot();
121
- const pendingBlockNumber = BigInt(await this.rollup.read.getPendingBlockNumber());
122
- const blockLog = await this.rollup.read.getBlock([pendingBlockNumber]);
123
- const nextSlotTimestamp = Number(await this.rollup.read.getTimestampForSlot([currentSlot + 1n]));
124
-
125
- if (currentSlot === blockLog.slotNumber) {
126
- // We should jump to the next slot
127
- try {
128
- await this.cheatcodes.warp(nextSlotTimestamp);
129
- this.dateProvider?.setTime(nextSlotTimestamp * 1000);
130
- } catch (e) {
131
- this.logger.error(`Failed to warp to timestamp ${nextSlotTimestamp}: ${e}`);
132
- }
133
-
134
- this.logger.info(`Slot ${currentSlot} was filled, jumped to next slot`);
135
- return;
136
- }
137
-
138
- // If we are not in sandbox, we don't need to warp time
139
- if (!this.isSandbox) {
140
- return;
141
- }
142
-
143
- const currentTimestamp = this.dateProvider?.now() ?? Date.now();
144
- if (currentTimestamp > nextSlotTimestamp * 1000) {
145
- try {
146
- await this.cheatcodes.warp(nextSlotTimestamp);
147
- this.dateProvider?.setTime(nextSlotTimestamp * 1000);
148
- } catch (e) {
149
- this.logger.error(`Failed to warp to timestamp ${nextSlotTimestamp}: ${e}`);
150
- }
151
-
152
- this.logger.info(`Slot ${currentSlot} was missed, jumped to next slot`);
153
- }
154
- } catch (err) {
155
- this.logger.error('mineIfSlotFilled failed');
156
- }
157
- }
158
- }
@@ -1,88 +0,0 @@
1
- import type { RollupContract } from '@aztec/ethereum/contracts';
2
- import { createLogger } from '@aztec/foundation/log';
3
-
4
- import type { PublicClient } from 'viem';
5
-
6
- /** Utility class that polls the chain on quick intervals and logs new L1 blocks, L2 blocks, and L2 proofs. */
7
- export class ChainMonitor {
8
- private readonly l1Client: PublicClient;
9
- private handle: NodeJS.Timeout | undefined;
10
-
11
- /** Current L1 block number */
12
- public l1BlockNumber!: number;
13
- /** Current L2 block number */
14
- public l2BlockNumber!: number;
15
- /** Current L2 proven block number */
16
- public l2ProvenBlockNumber!: number;
17
- /** L1 timestamp for the current L2 block */
18
- public l2BlockTimestamp!: bigint;
19
- /** L1 timestamp for the proven L2 block */
20
- public l2ProvenBlockTimestamp!: bigint;
21
-
22
- constructor(
23
- private readonly rollup: RollupContract,
24
- private logger = createLogger('aztecjs:utils:chain_monitor'),
25
- private readonly intervalMs = 200,
26
- ) {
27
- this.l1Client = rollup.client;
28
- }
29
-
30
- start() {
31
- if (this.handle) {
32
- throw new Error('Chain monitor already started');
33
- }
34
- this.handle = setInterval(this.safeRun.bind(this), this.intervalMs);
35
- return this;
36
- }
37
-
38
- stop() {
39
- if (this.handle) {
40
- clearInterval(this.handle!);
41
- this.handle = undefined;
42
- }
43
- }
44
-
45
- private safeRun() {
46
- void this.run().catch(error => {
47
- this.logger.error('Error in chain monitor loop', error);
48
- });
49
- }
50
-
51
- async run() {
52
- const newL1BlockNumber = Number(await this.l1Client.getBlockNumber({ cacheTime: 0 }));
53
- if (this.l1BlockNumber === newL1BlockNumber) {
54
- return;
55
- }
56
- this.l1BlockNumber = newL1BlockNumber;
57
-
58
- const block = await this.l1Client.getBlock({ blockNumber: BigInt(newL1BlockNumber), includeTransactions: false });
59
- const timestamp = block.timestamp;
60
- const timestampString = new Date(Number(timestamp) * 1000).toTimeString().split(' ')[0];
61
-
62
- let msg = `L1 block ${newL1BlockNumber} mined at ${timestampString}`;
63
-
64
- const newL2BlockNumber = Number(await this.rollup.getBlockNumber());
65
- if (this.l2BlockNumber !== newL2BlockNumber) {
66
- const epochNumber = await this.rollup.getEpochNumber(BigInt(newL2BlockNumber));
67
- msg += ` with new L2 block ${newL2BlockNumber} for epoch ${epochNumber}`;
68
- this.l2BlockNumber = newL2BlockNumber;
69
- this.l2BlockTimestamp = timestamp;
70
- }
71
-
72
- const newL2ProvenBlockNumber = Number(await this.rollup.getProvenBlockNumber());
73
- if (this.l2ProvenBlockNumber !== newL2ProvenBlockNumber) {
74
- const epochNumber = await this.rollup.getEpochNumber(BigInt(newL2ProvenBlockNumber));
75
- msg += ` with proof up to L2 block ${newL2ProvenBlockNumber} for epoch ${epochNumber}`;
76
- this.l2ProvenBlockNumber = newL2ProvenBlockNumber;
77
- this.l2ProvenBlockTimestamp = timestamp;
78
- }
79
-
80
- this.logger.info(msg, {
81
- l1Timestamp: timestamp,
82
- l1BlockNumber: this.l1BlockNumber,
83
- l2SlotNumber: await this.rollup.getSlotNumber(),
84
- l2BlockNumber: this.l2BlockNumber,
85
- l2ProvenBlockNumber: this.l2ProvenBlockNumber,
86
- });
87
- }
88
- }
@@ -1,184 +0,0 @@
1
- import type { ViemPublicClient } from '@aztec/ethereum';
2
- import { EthCheatCodes } from '@aztec/ethereum/eth-cheatcodes';
3
- import type { L1ContractAddresses } from '@aztec/ethereum/l1-contract-addresses';
4
- import { EthAddress } from '@aztec/foundation/eth-address';
5
- import { createLogger } from '@aztec/foundation/log';
6
- import { RollupAbi } from '@aztec/l1-artifacts';
7
-
8
- import { type GetContractReturnType, type Hex, createPublicClient, fallback, getContract, http, keccak256 } from 'viem';
9
- import { foundry } from 'viem/chains';
10
-
11
- export { EthCheatCodes };
12
-
13
- /** Cheat codes for the L1 rollup contract. */
14
- export class RollupCheatCodes {
15
- private client: ViemPublicClient;
16
- private rollup: GetContractReturnType<typeof RollupAbi, ViemPublicClient>;
17
-
18
- private logger = createLogger('aztecjs:cheat_codes');
19
-
20
- constructor(private ethCheatCodes: EthCheatCodes, addresses: Pick<L1ContractAddresses, 'rollupAddress'>) {
21
- this.client = createPublicClient({
22
- chain: foundry,
23
- transport: fallback(ethCheatCodes.rpcUrls.map(url => http(url))),
24
- });
25
- this.rollup = getContract({
26
- abi: RollupAbi,
27
- address: addresses.rollupAddress.toString(),
28
- client: this.client,
29
- });
30
- }
31
-
32
- /** Returns the current slot */
33
- public async getSlot() {
34
- const ts = BigInt((await this.client.getBlock()).timestamp);
35
- return await this.rollup.read.getSlotAt([ts]);
36
- }
37
-
38
- /** Returns the current epoch */
39
- public async getEpoch() {
40
- const slotNumber = await this.getSlot();
41
- return await this.rollup.read.getEpochAtSlot([slotNumber]);
42
- }
43
-
44
- /**
45
- * Returns the pending and proven chain tips
46
- * @returns The pending and proven chain tips
47
- */
48
- public async getTips(): Promise<{
49
- /** The pending chain tip */ pending: bigint;
50
- /** The proven chain tip */ proven: bigint;
51
- }> {
52
- const res = await this.rollup.read.getTips();
53
- return {
54
- pending: res.pendingBlockNumber,
55
- proven: res.provenBlockNumber,
56
- };
57
- }
58
-
59
- /** Fetches the epoch and slot duration config from the rollup contract */
60
- public async getConfig(): Promise<{
61
- /** Epoch duration */ epochDuration: bigint;
62
- /** Slot duration */ slotDuration: bigint;
63
- }> {
64
- const [epochDuration, slotDuration] = await Promise.all([
65
- this.rollup.read.getEpochDuration(),
66
- this.rollup.read.getSlotDuration(),
67
- ]);
68
- return { epochDuration, slotDuration };
69
- }
70
-
71
- /** Warps time in L1 until the next epoch */
72
- public async advanceToNextEpoch() {
73
- const slot = await this.getSlot();
74
- const { epochDuration, slotDuration } = await this.getConfig();
75
- const slotsUntilNextEpoch = epochDuration - (slot % epochDuration) + 1n;
76
- const timeToNextEpoch = slotsUntilNextEpoch * slotDuration;
77
- const l1Timestamp = BigInt((await this.client.getBlock()).timestamp);
78
- await this.ethCheatCodes.warp(Number(l1Timestamp + timeToNextEpoch), true);
79
- this.logger.warn(`Advanced to next epoch`);
80
- }
81
-
82
- /** Warps time in L1 until the beginning of the next slot. */
83
- public async advanceToNextSlot() {
84
- const currentSlot = await this.getSlot();
85
- const timestamp = await this.rollup.read.getTimestampForSlot([currentSlot + 1n]);
86
- await this.ethCheatCodes.warp(Number(timestamp));
87
- this.logger.warn(`Advanced to slot ${currentSlot + 1n}`);
88
- return [timestamp, currentSlot + 1n];
89
- }
90
-
91
- /**
92
- * Warps time in L1 equivalent to however many slots.
93
- * @param howMany - The number of slots to advance.
94
- */
95
- public async advanceSlots(howMany: number) {
96
- const l1Timestamp = (await this.client.getBlock()).timestamp;
97
- const slotDuration = await this.rollup.read.getSlotDuration();
98
- const timeToWarp = BigInt(howMany) * slotDuration;
99
- await this.ethCheatCodes.warp(l1Timestamp + timeToWarp, true);
100
- const [slot, epoch] = await Promise.all([this.getSlot(), this.getEpoch()]);
101
- this.logger.warn(`Advanced ${howMany} slots up to slot ${slot} in epoch ${epoch}`);
102
- }
103
-
104
- /**
105
- * Marks the specified block (or latest if none) as proven
106
- * @param maybeBlockNumber - The block number to mark as proven (defaults to latest pending)
107
- */
108
- public async markAsProven(maybeBlockNumber?: number | bigint) {
109
- const { pending, proven } = await this.getTips();
110
-
111
- let blockNumber = maybeBlockNumber;
112
- if (blockNumber === undefined || blockNumber > pending) {
113
- blockNumber = pending;
114
- }
115
- if (blockNumber <= proven) {
116
- this.logger.warn(`Block ${blockNumber} is already proven`);
117
- return;
118
- }
119
-
120
- // @note @LHerskind this is heavily dependent on the storage layout and size of values
121
- // The rollupStore is a struct and if the size of elements or the struct changes, this can break
122
-
123
- // Convert string to bytes and then compute keccak256
124
- const storageSlot = keccak256(Buffer.from('aztec.stf.storage', 'utf-8'));
125
- const provenBlockNumberSlot = BigInt(storageSlot) + 1n;
126
-
127
- const tipsBefore = await this.getTips();
128
-
129
- await this.ethCheatCodes.store(
130
- EthAddress.fromString(this.rollup.address),
131
- provenBlockNumberSlot,
132
- BigInt(blockNumber),
133
- );
134
-
135
- const tipsAfter = await this.getTips();
136
- this.logger.info(
137
- `Proven tip moved: ${tipsBefore.proven} -> ${tipsAfter.proven}. Pending tip: ${tipsAfter.pending}.`,
138
- );
139
- }
140
-
141
- /**
142
- * Executes an action impersonated as the owner of the Rollup contract.
143
- * @param action - The action to execute
144
- */
145
- public async asOwner(
146
- action: (owner: Hex, rollup: GetContractReturnType<typeof RollupAbi, ViemPublicClient>) => Promise<void>,
147
- ) {
148
- const owner = await this.rollup.read.owner();
149
- await this.ethCheatCodes.startImpersonating(owner);
150
- await action(owner, this.rollup);
151
- await this.ethCheatCodes.stopImpersonating(owner);
152
- }
153
-
154
- /** Directly calls the L1 gas fee oracle. */
155
- public async updateL1GasFeeOracle() {
156
- await this.asOwner(async (account, rollup) => {
157
- const hash = await rollup.write.updateL1GasFeeOracle({ account, chain: this.client.chain });
158
- await this.client.waitForTransactionReceipt({ hash });
159
- this.logger.warn(`Updated L1 gas fee oracle`);
160
- });
161
- }
162
-
163
- /**
164
- * Bumps proving cost per mana.
165
- * @param bumper - Callback to calculate the new proving cost per mana based on current value.
166
- */
167
- public async bumpProvingCostPerMana(bumper: (before: bigint) => bigint) {
168
- const currentCost = await this.rollup.read.getProvingCostPerManaInEth();
169
- const newCost = bumper(currentCost);
170
- await this.setProvingCostPerMana(newCost);
171
- }
172
-
173
- /**
174
- * Directly updates proving cost per mana.
175
- * @param ethValue - The new proving cost per mana in ETH
176
- */
177
- public async setProvingCostPerMana(ethValue: bigint) {
178
- await this.asOwner(async (account, rollup) => {
179
- const hash = await rollup.write.setProvingCostPerMana([ethValue], { account, chain: this.client.chain });
180
- await this.client.waitForTransactionReceipt({ hash });
181
- this.logger.warn(`Updated proving cost per mana to ${ethValue}`);
182
- });
183
- }
184
- }
@@ -1,19 +0,0 @@
1
- export {
2
- L1FeeJuicePortalManager,
3
- L1ToL2TokenPortalManager,
4
- L1TokenManager,
5
- L1TokenPortalManager,
6
- type L2AmountClaim,
7
- type L2AmountClaimWithRecipient,
8
- type L2Claim,
9
- generateClaimSecret,
10
- } from './portal_manager.js';
11
- export { getL1ContractAddresses } from './l1_contracts.js';
12
- export { RollupCheatCodes, EthCheatCodes } from './cheat_codes.js';
13
- export { ChainMonitor } from './chain_monitor.js';
14
- export { AnvilTestWatcher } from './anvil_test_watcher.js';
15
- export {
16
- deployL1Contract,
17
- deployL1Contracts,
18
- type DeployL1ContractsReturnType,
19
- } from '@aztec/ethereum/deploy-l1-contracts';
@@ -1,21 +0,0 @@
1
- import type { L1ContractAddresses } from '@aztec/ethereum/l1-contract-addresses';
2
- import { retryUntil } from '@aztec/foundation/retry';
3
-
4
- import { createPXEClient } from '../../rpc_clients/index.js';
5
-
6
- export const getL1ContractAddresses = async (url: string): Promise<L1ContractAddresses> => {
7
- const pxeClient = createPXEClient(url, {});
8
- const response = await retryUntil(
9
- async () => {
10
- try {
11
- return (await pxeClient.getNodeInfo()).l1ContractAddresses;
12
- } catch (err) {
13
- // do nothing
14
- }
15
- },
16
- 'isNodeReady',
17
- 120,
18
- 1,
19
- );
20
- return response;
21
- };
@@ -1 +0,0 @@
1
- export type { PXE } from '@aztec/stdlib/interfaces/client';
package/src/api/log_id.ts DELETED
@@ -1 +0,0 @@
1
- export { LogId } from '@aztec/stdlib/logs';
@@ -1 +0,0 @@
1
- export { TxHash } from '@aztec/stdlib/tx';
@@ -1,34 +0,0 @@
1
- import type { AztecAddress } from '@aztec/stdlib/aztec-address';
2
- import type { ContractInstanceWithAddress } from '@aztec/stdlib/contract';
3
- import type { PXE } from '@aztec/stdlib/interfaces/client';
4
- import type { Tx } from '@aztec/stdlib/tx';
5
-
6
- import type { Wallet } from '../account/index.js';
7
- import type { Contract } from './contract.js';
8
- import { DeploySentTx } from './deploy_sent_tx.js';
9
- import { ProvenTx } from './proven_tx.js';
10
-
11
- /**
12
- * A proven transaction that can be sent to the network. Returned by the `prove` method of a contract deployment.
13
- */
14
- export class DeployProvenTx<TContract extends Contract = Contract> extends ProvenTx {
15
- constructor(
16
- wallet: PXE | Wallet,
17
- tx: Tx,
18
- private postDeployCtor: (address: AztecAddress, wallet: Wallet) => Promise<TContract>,
19
- private instanceGetter: () => Promise<ContractInstanceWithAddress>,
20
- ) {
21
- super(wallet, tx);
22
- }
23
-
24
- /**
25
- * Sends the transaction to the network via the provided wallet.
26
- */
27
- public override send(): DeploySentTx<TContract> {
28
- const promise = (() => {
29
- return this.wallet.sendTx(this.getPlainDataTx());
30
- })();
31
-
32
- return new DeploySentTx(this.wallet, promise, this.postDeployCtor, this.instanceGetter);
33
- }
34
- }
@@ -1,42 +0,0 @@
1
- import type { PXE } from '@aztec/stdlib/interfaces/client';
2
- import { Tx } from '@aztec/stdlib/tx';
3
-
4
- import type { Wallet } from '../account/index.js';
5
- import { SentTx } from './sent_tx.js';
6
-
7
- /**
8
- * A proven transaction that can be sent to the network. Returned by the `prove` method of a contract interaction.
9
- */
10
- export class ProvenTx extends Tx {
11
- constructor(protected wallet: PXE | Wallet, tx: Tx) {
12
- super(
13
- tx.data,
14
- tx.clientIvcProof,
15
- tx.contractClassLogs,
16
- tx.enqueuedPublicFunctionCalls,
17
- tx.publicTeardownFunctionCall,
18
- );
19
- }
20
-
21
- // Clone the TX data to get a serializable object.
22
- protected getPlainDataTx(): Tx {
23
- return new Tx(
24
- this.data,
25
- this.clientIvcProof,
26
- this.contractClassLogs,
27
- this.enqueuedPublicFunctionCalls,
28
- this.publicTeardownFunctionCall,
29
- );
30
- }
31
-
32
- /**
33
- * Sends the transaction to the network via the provided wallet.
34
- */
35
- public send(): SentTx {
36
- const promise = (() => {
37
- return this.wallet.sendTx(this.getPlainDataTx());
38
- })();
39
-
40
- return new SentTx(this.wallet, promise);
41
- }
42
- }
@@ -1,31 +0,0 @@
1
- import type { ContractInstanceWithAddress } from '@aztec/stdlib/contract';
2
-
3
- import type { ContractFunctionInteraction } from '../contract/contract_function_interaction.js';
4
- import { getDeployerContract } from '../contract/protocol_contracts.js';
5
- import type { Wallet } from '../wallet/index.js';
6
-
7
- /**
8
- * Sets up a call to the canonical deployer contract to publicly deploy a contract instance.
9
- * @param wallet - The wallet to use for the deployment.
10
- * @param instance - The instance to deploy.
11
- */
12
- export async function deployInstance(
13
- wallet: Wallet,
14
- instance: ContractInstanceWithAddress,
15
- ): Promise<ContractFunctionInteraction> {
16
- const deployerContract = await getDeployerContract(wallet);
17
- const { salt, currentContractClassId: contractClassId, publicKeys, deployer } = instance;
18
- const isUniversalDeploy = deployer.isZero();
19
- if (!isUniversalDeploy && !wallet.getAddress().equals(deployer)) {
20
- throw new Error(
21
- `Expected deployer ${deployer.toString()} does not match sender wallet ${wallet.getAddress().toString()}`,
22
- );
23
- }
24
- return deployerContract.methods.deploy(
25
- salt,
26
- contractClassId,
27
- instance.initializationHash,
28
- publicKeys,
29
- isUniversalDeploy,
30
- );
31
- }
@@ -1 +0,0 @@
1
- export * from './contract_deployer.js';
@@ -1,44 +0,0 @@
1
- import { MAX_PACKED_PUBLIC_BYTECODE_SIZE_IN_FIELDS, REGISTERER_CONTRACT_BYTECODE_CAPSULE_SLOT } from '@aztec/constants';
2
- import { Fr } from '@aztec/foundation/fields';
3
- import { ProtocolContractAddress } from '@aztec/protocol-contracts';
4
- import { type ContractArtifact, bufferAsFields } from '@aztec/stdlib/abi';
5
- import { getContractClassFromArtifact } from '@aztec/stdlib/contract';
6
- import { Capsule } from '@aztec/stdlib/tx';
7
-
8
- import type { ContractFunctionInteraction } from '../contract/contract_function_interaction.js';
9
- import { getRegistererContract } from '../contract/protocol_contracts.js';
10
- import type { Wallet } from '../wallet/index.js';
11
-
12
- const defaultEmitPublicBytecode =
13
- // guard against `process` not being defined (e.g. in the browser)
14
- typeof process === 'object' && typeof process.env === 'object'
15
- ? ['1', 'true', 'yes', ''].includes(process.env.AZTEC_EMIT_PUBLIC_BYTECODE ?? '')
16
- : true;
17
-
18
- /** Sets up a call to register a contract class given its artifact. */
19
- export async function registerContractClass(
20
- wallet: Wallet,
21
- artifact: ContractArtifact,
22
- emitPublicBytecode = defaultEmitPublicBytecode,
23
- ): Promise<ContractFunctionInteraction> {
24
- const { artifactHash, privateFunctionsRoot, publicBytecodeCommitment, packedBytecode } =
25
- await getContractClassFromArtifact(artifact);
26
- const registerer = await getRegistererContract(wallet);
27
- const fn = registerer.methods.register(
28
- artifactHash,
29
- privateFunctionsRoot,
30
- publicBytecodeCommitment,
31
- emitPublicBytecode,
32
- );
33
-
34
- const encodedBytecode = bufferAsFields(packedBytecode, MAX_PACKED_PUBLIC_BYTECODE_SIZE_IN_FIELDS);
35
- fn.addCapsule(
36
- new Capsule(
37
- ProtocolContractAddress.ContractClassRegisterer,
38
- new Fr(REGISTERER_CONTRACT_BYTECODE_CAPSULE_SLOT),
39
- encodedBytecode,
40
- ),
41
- );
42
-
43
- return fn;
44
- }