@aztec/aztec.js 0.0.0-test.1 → 0.0.1-commit.5476d83

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 (403) 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 +4 -8
  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 +2 -14
  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 +1 -1
  58. package/dest/api/keys.d.ts +4 -0
  59. package/dest/api/keys.d.ts.map +1 -0
  60. package/dest/api/keys.js +3 -0
  61. package/dest/api/log.d.ts +2 -1
  62. package/dest/api/log.d.ts.map +1 -1
  63. package/dest/api/log.js +1 -0
  64. package/dest/api/messaging.d.ts +3 -0
  65. package/dest/api/messaging.d.ts.map +1 -0
  66. package/dest/api/messaging.js +2 -0
  67. package/dest/api/node.d.ts +21 -0
  68. package/dest/api/node.d.ts.map +1 -0
  69. package/dest/api/node.js +18 -0
  70. package/dest/api/note.d.ts +2 -0
  71. package/dest/api/note.d.ts.map +1 -0
  72. package/dest/api/note.js +1 -0
  73. package/dest/api/protocol.d.ts +3 -0
  74. package/dest/api/protocol.d.ts.map +1 -0
  75. package/dest/api/protocol.js +2 -0
  76. package/dest/api/trees.d.ts +3 -0
  77. package/dest/api/trees.d.ts.map +1 -0
  78. package/dest/api/trees.js +2 -0
  79. package/dest/api/tx.d.ts +2 -0
  80. package/dest/api/tx.d.ts.map +1 -0
  81. package/dest/api/tx.js +1 -0
  82. package/dest/api/utils.d.ts +13 -0
  83. package/dest/api/utils.d.ts.map +1 -0
  84. package/dest/api/utils.js +12 -0
  85. package/dest/api/wallet.d.ts +4 -2
  86. package/dest/api/wallet.d.ts.map +1 -1
  87. package/dest/api/wallet.js +3 -1
  88. package/dest/authorization/call_authorization_request.d.ts +46 -0
  89. package/dest/authorization/call_authorization_request.d.ts.map +1 -0
  90. package/dest/authorization/call_authorization_request.js +49 -0
  91. package/dest/contract/base_contract_interaction.d.ts +16 -80
  92. package/dest/contract/base_contract_interaction.d.ts.map +1 -1
  93. package/dest/contract/base_contract_interaction.js +15 -128
  94. package/dest/contract/batch_call.d.ts +19 -21
  95. package/dest/contract/batch_call.d.ts.map +1 -1
  96. package/dest/contract/batch_call.js +86 -68
  97. package/dest/contract/checker.d.ts +2 -2
  98. package/dest/contract/checker.d.ts.map +1 -1
  99. package/dest/contract/checker.js +2 -2
  100. package/dest/contract/contract.d.ts +9 -8
  101. package/dest/contract/contract.d.ts.map +1 -1
  102. package/dest/contract/contract.js +10 -20
  103. package/dest/contract/contract_base.d.ts +7 -20
  104. package/dest/contract/contract_base.d.ts.map +1 -1
  105. package/dest/contract/contract_base.js +7 -14
  106. package/dest/contract/contract_function_interaction.d.ts +53 -45
  107. package/dest/contract/contract_function_interaction.d.ts.map +1 -1
  108. package/dest/contract/contract_function_interaction.js +78 -74
  109. package/dest/contract/deploy_method.d.ts +106 -60
  110. package/dest/contract/deploy_method.d.ts.map +1 -1
  111. package/dest/contract/deploy_method.js +125 -133
  112. package/dest/contract/deploy_sent_tx.d.ts +14 -11
  113. package/dest/contract/deploy_sent_tx.d.ts.map +1 -1
  114. package/dest/contract/deploy_sent_tx.js +18 -15
  115. package/dest/contract/get_gas_limits.d.ts +6 -7
  116. package/dest/contract/get_gas_limits.d.ts.map +1 -1
  117. package/dest/contract/get_gas_limits.js +9 -3
  118. package/dest/contract/interaction_options.d.ts +114 -0
  119. package/dest/contract/interaction_options.d.ts.map +1 -0
  120. package/dest/contract/interaction_options.js +46 -0
  121. package/dest/contract/protocol_contracts.d.ts +7 -7
  122. package/dest/contract/protocol_contracts.d.ts.map +1 -1
  123. package/dest/contract/protocol_contracts.js +7 -7
  124. package/dest/contract/sent_tx.d.ts +9 -19
  125. package/dest/contract/sent_tx.d.ts.map +1 -1
  126. package/dest/contract/sent_tx.js +31 -43
  127. package/dest/contract/unsafe_contract.d.ts +2 -2
  128. package/dest/contract/unsafe_contract.d.ts.map +1 -1
  129. package/dest/contract/unsafe_contract.js +1 -1
  130. package/dest/contract/wait_for_proven.d.ts +17 -0
  131. package/dest/contract/wait_for_proven.d.ts.map +1 -0
  132. package/dest/contract/wait_for_proven.js +17 -0
  133. package/dest/deployment/broadcast_function.d.ts +4 -4
  134. package/dest/deployment/broadcast_function.d.ts.map +1 -1
  135. package/dest/deployment/broadcast_function.js +27 -23
  136. package/dest/deployment/contract_deployer.d.ts +2 -2
  137. package/dest/deployment/contract_deployer.d.ts.map +1 -1
  138. package/dest/deployment/contract_deployer.js +1 -1
  139. package/dest/deployment/publish_class.d.ts +6 -0
  140. package/dest/deployment/publish_class.d.ts.map +1 -0
  141. package/dest/deployment/publish_class.js +17 -0
  142. package/dest/deployment/publish_instance.d.ts +10 -0
  143. package/dest/deployment/publish_instance.d.ts.map +1 -0
  144. package/dest/deployment/publish_instance.js +11 -0
  145. package/dest/ethereum/portal_manager.d.ts +138 -0
  146. package/dest/ethereum/portal_manager.d.ts.map +1 -0
  147. package/dest/{api/ethereum → ethereum}/portal_manager.js +136 -76
  148. package/dest/fee/fee_juice_payment_method_with_claim.d.ts +17 -12
  149. package/dest/fee/fee_juice_payment_method_with_claim.d.ts.map +1 -1
  150. package/dest/fee/fee_juice_payment_method_with_claim.js +26 -16
  151. package/dest/fee/fee_payment_method.d.ts +12 -8
  152. package/dest/fee/fee_payment_method.d.ts.map +1 -1
  153. package/dest/fee/private_fee_payment_method.d.ts +26 -9
  154. package/dest/fee/private_fee_payment_method.d.ts.map +1 -1
  155. package/dest/fee/private_fee_payment_method.js +44 -22
  156. package/dest/fee/public_fee_payment_method.d.ts +27 -10
  157. package/dest/fee/public_fee_payment_method.d.ts.map +1 -1
  158. package/dest/fee/public_fee_payment_method.js +46 -24
  159. package/dest/fee/sponsored_fee_payment.d.ts +17 -0
  160. package/dest/fee/sponsored_fee_payment.d.ts.map +1 -0
  161. package/dest/fee/sponsored_fee_payment.js +34 -0
  162. package/dest/utils/abi_types.d.ts +1 -3
  163. package/dest/utils/abi_types.d.ts.map +1 -1
  164. package/dest/utils/authwit.d.ts +82 -25
  165. package/dest/utils/authwit.d.ts.map +1 -1
  166. package/dest/utils/authwit.js +237 -40
  167. package/dest/utils/cross_chain.d.ts +24 -0
  168. package/dest/utils/cross_chain.d.ts.map +1 -0
  169. package/dest/utils/cross_chain.js +30 -0
  170. package/dest/utils/fee_juice.d.ts +4 -3
  171. package/dest/utils/fee_juice.d.ts.map +1 -1
  172. package/dest/utils/fee_juice.js +3 -2
  173. package/dest/utils/field_compressed_string.d.ts +1 -1
  174. package/dest/utils/field_compressed_string.d.ts.map +1 -1
  175. package/dest/utils/node.d.ts +2 -2
  176. package/dest/utils/node.d.ts.map +1 -1
  177. package/dest/utils/node.js +1 -1
  178. package/dest/utils/pub_key.d.ts +1 -1
  179. package/dest/utils/pub_key.d.ts.map +1 -1
  180. package/dest/utils/pub_key.js +1 -2
  181. package/dest/wallet/account_entrypoint_meta_payment_method.d.ts +34 -0
  182. package/dest/wallet/account_entrypoint_meta_payment_method.d.ts.map +1 -0
  183. package/dest/wallet/account_entrypoint_meta_payment_method.js +76 -0
  184. package/dest/wallet/account_manager.d.ts +66 -0
  185. package/dest/wallet/account_manager.d.ts.map +1 -0
  186. package/dest/wallet/account_manager.js +113 -0
  187. package/dest/wallet/deploy_account_method.d.ts +52 -0
  188. package/dest/wallet/deploy_account_method.d.ts.map +1 -0
  189. package/dest/wallet/deploy_account_method.js +77 -0
  190. package/dest/wallet/index.d.ts +3 -17
  191. package/dest/wallet/index.d.ts.map +1 -1
  192. package/dest/wallet/index.js +2 -20
  193. package/dest/wallet/wallet.d.ts +1965 -0
  194. package/dest/wallet/wallet.d.ts.map +1 -0
  195. package/dest/wallet/wallet.js +186 -0
  196. package/package.json +44 -35
  197. package/src/account/account.ts +96 -0
  198. package/src/account/{contract.ts → account_contract.ts} +24 -13
  199. package/src/{wallet/account_wallet_with_private_key.ts → account/account_with_secret_key.ts} +6 -8
  200. package/src/account/index.ts +3 -7
  201. package/src/account/interface.ts +1 -12
  202. package/src/account/signerless_account.ts +45 -0
  203. package/src/api/abi.ts +26 -0
  204. package/src/api/account.ts +6 -9
  205. package/src/api/addresses.ts +1 -0
  206. package/src/api/authorization.ts +14 -0
  207. package/src/api/block.ts +2 -0
  208. package/src/{contract/index.ts → api/contract.ts} +39 -14
  209. package/src/api/crypto.ts +1 -0
  210. package/src/api/deployment.ts +4 -3
  211. package/src/api/ethereum.ts +10 -0
  212. package/src/api/events.ts +44 -0
  213. package/src/api/fee.ts +1 -1
  214. package/src/api/fee_testing.ts +1 -0
  215. package/src/api/keys.ts +8 -0
  216. package/src/api/log.ts +1 -0
  217. package/src/api/messaging.ts +2 -0
  218. package/src/api/node.ts +20 -0
  219. package/src/api/note.ts +1 -0
  220. package/src/api/protocol.ts +2 -0
  221. package/src/api/trees.ts +2 -0
  222. package/src/api/tx.ts +13 -0
  223. package/src/api/utils.ts +14 -0
  224. package/src/api/wallet.ts +27 -5
  225. package/src/authorization/call_authorization_request.ts +63 -0
  226. package/src/contract/base_contract_interaction.ts +23 -166
  227. package/src/contract/batch_call.ts +106 -57
  228. package/src/contract/checker.ts +8 -3
  229. package/src/contract/contract.ts +14 -21
  230. package/src/contract/contract_base.ts +9 -26
  231. package/src/contract/contract_function_interaction.ts +135 -106
  232. package/src/contract/deploy_method.ts +205 -134
  233. package/src/contract/deploy_sent_tx.ts +24 -23
  234. package/src/contract/get_gas_limits.ts +15 -8
  235. package/src/contract/interaction_options.ts +163 -0
  236. package/src/contract/protocol_contracts.ts +10 -10
  237. package/src/contract/sent_tx.ts +41 -52
  238. package/src/contract/unsafe_contract.ts +2 -2
  239. package/src/contract/wait_for_proven.ts +38 -0
  240. package/src/deployment/broadcast_function.ts +57 -57
  241. package/src/deployment/contract_deployer.ts +4 -3
  242. package/src/deployment/publish_class.ts +34 -0
  243. package/src/deployment/publish_instance.ts +26 -0
  244. package/src/{api/ethereum → ethereum}/portal_manager.ts +164 -83
  245. package/src/fee/fee_juice_payment_method_with_claim.ts +48 -33
  246. package/src/fee/fee_payment_method.ts +11 -7
  247. package/src/fee/private_fee_payment_method.ts +79 -57
  248. package/src/fee/public_fee_payment_method.ts +93 -67
  249. package/src/fee/sponsored_fee_payment.ts +46 -0
  250. package/src/utils/authwit.ts +261 -53
  251. package/src/utils/cross_chain.ts +53 -0
  252. package/src/utils/fee_juice.ts +4 -4
  253. package/src/utils/node.ts +1 -1
  254. package/src/utils/pub_key.ts +1 -2
  255. package/src/wallet/account_entrypoint_meta_payment_method.ts +106 -0
  256. package/src/wallet/account_manager.ts +154 -0
  257. package/src/wallet/deploy_account_method.ts +126 -0
  258. package/src/wallet/index.ts +2 -33
  259. package/src/wallet/wallet.ts +318 -0
  260. package/dest/account/contract.d.ts +0 -37
  261. package/dest/account/contract.d.ts.map +0 -1
  262. package/dest/account/wallet.d.ts +0 -11
  263. package/dest/account/wallet.d.ts.map +0 -1
  264. package/dest/account/wallet.js +0 -3
  265. package/dest/account_manager/deploy_account_method.d.ts +0 -15
  266. package/dest/account_manager/deploy_account_method.d.ts.map +0 -1
  267. package/dest/account_manager/deploy_account_method.js +0 -43
  268. package/dest/account_manager/deploy_account_sent_tx.d.ts +0 -30
  269. package/dest/account_manager/deploy_account_sent_tx.d.ts.map +0 -1
  270. package/dest/account_manager/deploy_account_sent_tx.js +0 -29
  271. package/dest/account_manager/index.d.ts +0 -108
  272. package/dest/account_manager/index.d.ts.map +0 -1
  273. package/dest/account_manager/index.js +0 -159
  274. package/dest/api/cheat_codes.d.ts +0 -26
  275. package/dest/api/cheat_codes.d.ts.map +0 -1
  276. package/dest/api/cheat_codes.js +0 -25
  277. package/dest/api/entrypoint.d.ts +0 -2
  278. package/dest/api/entrypoint.d.ts.map +0 -1
  279. package/dest/api/entrypoint.js +0 -1
  280. package/dest/api/ethereum/anvil_test_watcher.d.ts +0 -32
  281. package/dest/api/ethereum/anvil_test_watcher.d.ts.map +0 -1
  282. package/dest/api/ethereum/anvil_test_watcher.js +0 -133
  283. package/dest/api/ethereum/chain_monitor.d.ts +0 -25
  284. package/dest/api/ethereum/chain_monitor.d.ts.map +0 -1
  285. package/dest/api/ethereum/chain_monitor.js +0 -74
  286. package/dest/api/ethereum/cheat_codes.d.ts +0 -63
  287. package/dest/api/ethereum/cheat_codes.d.ts.map +0 -1
  288. package/dest/api/ethereum/cheat_codes.js +0 -162
  289. package/dest/api/ethereum/index.d.ts +0 -7
  290. package/dest/api/ethereum/index.d.ts.map +0 -1
  291. package/dest/api/ethereum/index.js +0 -6
  292. package/dest/api/ethereum/l1_contracts.d.ts +0 -3
  293. package/dest/api/ethereum/l1_contracts.d.ts.map +0 -1
  294. package/dest/api/ethereum/l1_contracts.js +0 -13
  295. package/dest/api/ethereum/portal_manager.d.ts +0 -136
  296. package/dest/api/ethereum/portal_manager.d.ts.map +0 -1
  297. package/dest/api/interfaces/pxe.d.ts +0 -2
  298. package/dest/api/interfaces/pxe.d.ts.map +0 -1
  299. package/dest/api/interfaces/pxe.js +0 -1
  300. package/dest/api/log_id.d.ts +0 -2
  301. package/dest/api/log_id.d.ts.map +0 -1
  302. package/dest/api/log_id.js +0 -1
  303. package/dest/api/tx_hash.d.ts +0 -2
  304. package/dest/api/tx_hash.d.ts.map +0 -1
  305. package/dest/api/tx_hash.js +0 -1
  306. package/dest/contract/deploy_proven_tx.d.ts +0 -21
  307. package/dest/contract/deploy_proven_tx.d.ts.map +0 -1
  308. package/dest/contract/deploy_proven_tx.js +0 -19
  309. package/dest/contract/index.d.ts +0 -45
  310. package/dest/contract/index.d.ts.map +0 -1
  311. package/dest/contract/proven_tx.d.ts +0 -17
  312. package/dest/contract/proven_tx.d.ts.map +0 -1
  313. package/dest/contract/proven_tx.js +0 -22
  314. package/dest/deployment/deploy_instance.d.ts +0 -10
  315. package/dest/deployment/deploy_instance.d.ts.map +0 -1
  316. package/dest/deployment/deploy_instance.js +0 -14
  317. package/dest/deployment/index.d.ts +0 -2
  318. package/dest/deployment/index.d.ts.map +0 -1
  319. package/dest/deployment/index.js +0 -1
  320. package/dest/deployment/register_class.d.ts +0 -6
  321. package/dest/deployment/register_class.d.ts.map +0 -1
  322. package/dest/deployment/register_class.js +0 -22
  323. package/dest/entrypoint/default_entrypoint.d.ts +0 -12
  324. package/dest/entrypoint/default_entrypoint.d.ts.map +0 -1
  325. package/dest/entrypoint/default_entrypoint.js +0 -28
  326. package/dest/entrypoint/default_multi_call_entrypoint.d.ts +0 -15
  327. package/dest/entrypoint/default_multi_call_entrypoint.d.ts.map +0 -1
  328. package/dest/entrypoint/default_multi_call_entrypoint.js +0 -130
  329. package/dest/entrypoint/entrypoint.d.ts +0 -35
  330. package/dest/entrypoint/entrypoint.d.ts.map +0 -1
  331. package/dest/entrypoint/entrypoint.js +0 -4
  332. package/dest/entrypoint/payload.d.ts +0 -128
  333. package/dest/entrypoint/payload.d.ts.map +0 -1
  334. package/dest/entrypoint/payload.js +0 -143
  335. package/dest/fee/fee_juice_payment_method.d.ts +0 -14
  336. package/dest/fee/fee_juice_payment_method.d.ts.map +0 -1
  337. package/dest/fee/fee_juice_payment_method.js +0 -20
  338. package/dest/index.d.ts +0 -66
  339. package/dest/index.d.ts.map +0 -1
  340. package/dest/index.js +0 -69
  341. package/dest/rpc_clients/index.d.ts +0 -3
  342. package/dest/rpc_clients/index.d.ts.map +0 -1
  343. package/dest/rpc_clients/index.js +0 -2
  344. package/dest/rpc_clients/node/index.d.ts +0 -12
  345. package/dest/rpc_clients/node/index.d.ts.map +0 -1
  346. package/dest/rpc_clients/node/index.js +0 -78
  347. package/dest/rpc_clients/pxe_client.d.ts +0 -10
  348. package/dest/rpc_clients/pxe_client.d.ts.map +0 -1
  349. package/dest/rpc_clients/pxe_client.js +0 -23
  350. package/dest/utils/aztec_cheatcodes.d.ts +0 -59
  351. package/dest/utils/aztec_cheatcodes.d.ts.map +0 -1
  352. package/dest/utils/aztec_cheatcodes.js +0 -62
  353. package/dest/utils/index.d.ts +0 -8
  354. package/dest/utils/index.d.ts.map +0 -1
  355. package/dest/utils/index.js +0 -6
  356. package/dest/utils/pxe.d.ts +0 -4
  357. package/dest/utils/pxe.d.ts.map +0 -1
  358. package/dest/utils/pxe.js +0 -14
  359. package/dest/wallet/account_wallet.d.ts +0 -76
  360. package/dest/wallet/account_wallet.d.ts.map +0 -1
  361. package/dest/wallet/account_wallet.js +0 -231
  362. package/dest/wallet/account_wallet_with_private_key.d.ts +0 -26
  363. package/dest/wallet/account_wallet_with_private_key.d.ts.map +0 -1
  364. package/dest/wallet/base_wallet.d.ts +0 -73
  365. package/dest/wallet/base_wallet.d.ts.map +0 -1
  366. package/dest/wallet/base_wallet.js +0 -123
  367. package/dest/wallet/signerless_wallet.d.ts +0 -25
  368. package/dest/wallet/signerless_wallet.d.ts.map +0 -1
  369. package/dest/wallet/signerless_wallet.js +0 -36
  370. package/src/account/wallet.ts +0 -13
  371. package/src/account_manager/deploy_account_method.ts +0 -86
  372. package/src/account_manager/deploy_account_sent_tx.ts +0 -42
  373. package/src/account_manager/index.ts +0 -229
  374. package/src/api/cheat_codes.ts +0 -35
  375. package/src/api/entrypoint.ts +0 -1
  376. package/src/api/ethereum/anvil_test_watcher.ts +0 -158
  377. package/src/api/ethereum/chain_monitor.ts +0 -88
  378. package/src/api/ethereum/cheat_codes.ts +0 -184
  379. package/src/api/ethereum/index.ts +0 -19
  380. package/src/api/ethereum/l1_contracts.ts +0 -21
  381. package/src/api/interfaces/pxe.ts +0 -1
  382. package/src/api/log_id.ts +0 -1
  383. package/src/api/tx_hash.ts +0 -1
  384. package/src/contract/deploy_proven_tx.ts +0 -34
  385. package/src/contract/proven_tx.ts +0 -42
  386. package/src/deployment/deploy_instance.ts +0 -31
  387. package/src/deployment/index.ts +0 -1
  388. package/src/deployment/register_class.ts +0 -44
  389. package/src/entrypoint/default_entrypoint.ts +0 -39
  390. package/src/entrypoint/default_multi_call_entrypoint.ts +0 -93
  391. package/src/entrypoint/entrypoint.ts +0 -39
  392. package/src/entrypoint/payload.ts +0 -238
  393. package/src/fee/fee_juice_payment_method.ts +0 -26
  394. package/src/index.ts +0 -106
  395. package/src/rpc_clients/index.ts +0 -2
  396. package/src/rpc_clients/node/index.ts +0 -77
  397. package/src/rpc_clients/pxe_client.ts +0 -25
  398. package/src/utils/aztec_cheatcodes.ts +0 -77
  399. package/src/utils/index.ts +0 -21
  400. package/src/utils/pxe.ts +0 -17
  401. package/src/wallet/account_wallet.ts +0 -242
  402. package/src/wallet/base_wallet.ts +0 -198
  403. package/src/wallet/signerless_wallet.ts +0 -52
@@ -2,8 +2,13 @@ import { extractEvent } from '@aztec/ethereum/utils';
2
2
  import { sha256ToField } from '@aztec/foundation/crypto';
3
3
  import { EthAddress } from '@aztec/foundation/eth-address';
4
4
  import { Fr } from '@aztec/foundation/fields';
5
- import { FeeJuicePortalAbi, OutboxAbi, TestERC20Abi, TokenPortalAbi } from '@aztec/l1-artifacts';
6
- import { computeSecretHash } from '@aztec/stdlib/hash';
5
+ import { FeeAssetHandlerAbi } from '@aztec/l1-artifacts/FeeAssetHandlerAbi';
6
+ import { FeeJuicePortalAbi } from '@aztec/l1-artifacts/FeeJuicePortalAbi';
7
+ import { OutboxAbi } from '@aztec/l1-artifacts/OutboxAbi';
8
+ import { TestERC20Abi } from '@aztec/l1-artifacts/TestERC20Abi';
9
+ import { TokenPortalAbi } from '@aztec/l1-artifacts/TokenPortalAbi';
10
+ import { computeL2ToL1MessageHash, computeSecretHash } from '@aztec/stdlib/hash';
11
+ import { getL2ToL1MessageLeafId } from '@aztec/stdlib/messaging';
7
12
  import { getContract, toFunctionSelector } from 'viem';
8
13
  /** Stringifies an eth address for logging. */ function stringifyEthAddress(address, name) {
9
14
  return name ? `${name} (${address.toString()})` : address.toString();
@@ -18,21 +23,37 @@ import { getContract, toFunctionSelector } from 'viem';
18
23
  ];
19
24
  }
20
25
  /** Helper for managing an ERC20 on L1. */ export class L1TokenManager {
21
- address;
22
- publicClient;
23
- walletClient;
26
+ tokenAddress;
27
+ handlerAddress;
28
+ extendedClient;
24
29
  logger;
25
30
  contract;
26
- constructor(/** Address of the ERC20 contract. */ address, publicClient, walletClient, logger){
27
- this.address = address;
28
- this.publicClient = publicClient;
29
- this.walletClient = walletClient;
31
+ handler;
32
+ constructor(/** Address of the ERC20 contract. */ tokenAddress, /** Address of the handler/faucet contract. */ handlerAddress, extendedClient, logger){
33
+ this.tokenAddress = tokenAddress;
34
+ this.handlerAddress = handlerAddress;
35
+ this.extendedClient = extendedClient;
30
36
  this.logger = logger;
31
37
  this.contract = getContract({
32
- address: this.address.toString(),
38
+ address: this.tokenAddress.toString(),
33
39
  abi: TestERC20Abi,
34
- client: this.walletClient
40
+ client: this.extendedClient
35
41
  });
42
+ if (this.handlerAddress) {
43
+ this.handler = getContract({
44
+ address: this.handlerAddress.toString(),
45
+ abi: FeeAssetHandlerAbi,
46
+ client: this.extendedClient
47
+ });
48
+ }
49
+ }
50
+ /** Returns the amount of tokens available to mint via the handler.
51
+ * @throws if the handler is not provided.
52
+ */ async getMintAmount() {
53
+ if (!this.handler) {
54
+ throw new Error('Minting handler was not provided');
55
+ }
56
+ return await this.handler.read.mintAmount();
36
57
  }
37
58
  /**
38
59
  * Returns the balance of the given address.
@@ -43,18 +64,19 @@ import { getContract, toFunctionSelector } from 'viem';
43
64
  ]);
44
65
  }
45
66
  /**
46
- * Mints tokens for the given address. Returns once the tx has been mined.
47
- * @param amount - Amount to mint.
67
+ * Mints a fixed amount of tokens for the given address. Returns once the tx has been mined.
48
68
  * @param address - Address to mint the tokens for.
49
69
  * @param addressName - Optional name of the address for logging.
50
- */ async mint(amount, address, addressName) {
51
- this.logger.info(`Minting ${amount} tokens for ${stringifyEthAddress(address, addressName)}`);
52
- await this.publicClient.waitForTransactionReceipt({
53
- hash: await this.contract.write.mint([
54
- address,
55
- amount
56
- ])
57
- });
70
+ */ async mint(address, addressName) {
71
+ if (!this.handler) {
72
+ throw new Error('Minting handler was not provided');
73
+ }
74
+ const mintAmount = await this.getMintAmount();
75
+ this.logger.info(`Minting ${mintAmount} tokens for ${stringifyEthAddress(address, addressName)}`);
76
+ // NOTE: the handler mints a fixed amount.
77
+ await this.handler.write.mint([
78
+ address
79
+ ]);
58
80
  }
59
81
  /**
60
82
  * Approves tokens for the given address. Returns once the tx has been mined.
@@ -63,7 +85,7 @@ import { getContract, toFunctionSelector } from 'viem';
63
85
  * @param addressName - Optional name of the address for logging.
64
86
  */ async approve(amount, address, addressName = '') {
65
87
  this.logger.info(`Approving ${amount} tokens for ${stringifyEthAddress(address, addressName)}`);
66
- await this.publicClient.waitForTransactionReceipt({
88
+ await this.extendedClient.waitForTransactionReceipt({
67
89
  hash: await this.contract.write.approve([
68
90
  address,
69
91
  amount
@@ -72,20 +94,18 @@ import { getContract, toFunctionSelector } from 'viem';
72
94
  }
73
95
  }
74
96
  /** Helper for interacting with the FeeJuicePortal on L1. */ export class L1FeeJuicePortalManager {
75
- publicClient;
76
- walletClient;
97
+ extendedClient;
77
98
  logger;
78
99
  tokenManager;
79
100
  contract;
80
- constructor(portalAddress, tokenAddress, publicClient, walletClient, logger){
81
- this.publicClient = publicClient;
82
- this.walletClient = walletClient;
101
+ constructor(portalAddress, tokenAddress, handlerAddress, extendedClient, logger){
102
+ this.extendedClient = extendedClient;
83
103
  this.logger = logger;
84
- this.tokenManager = new L1TokenManager(tokenAddress, publicClient, walletClient, logger);
104
+ this.tokenManager = new L1TokenManager(tokenAddress, handlerAddress, extendedClient, logger);
85
105
  this.contract = getContract({
86
106
  address: portalAddress.toString(),
87
107
  abi: FeeJuicePortalAbi,
88
- client: this.walletClient
108
+ client: extendedClient
89
109
  });
90
110
  }
91
111
  /** Returns the associated token manager for the L1 ERC20. */ getTokenManager() {
@@ -98,24 +118,42 @@ import { getContract, toFunctionSelector } from 'viem';
98
118
  * @param mint - Whether to mint the tokens before sending (only during testing).
99
119
  */ async bridgeTokensPublic(to, amount, mint = false) {
100
120
  const [claimSecret, claimSecretHash] = await generateClaimSecret();
121
+ const mintableAmount = await this.tokenManager.getMintAmount();
122
+ const amountToBridge = amount ?? mintableAmount;
101
123
  if (mint) {
102
- await this.tokenManager.mint(amount, this.walletClient.account.address);
124
+ if (amountToBridge !== mintableAmount) {
125
+ throw new Error(`Minting amount must be ${mintableAmount}`);
126
+ }
127
+ await this.tokenManager.mint(this.extendedClient.account.address);
103
128
  }
104
- await this.tokenManager.approve(amount, this.contract.address, 'FeeJuice Portal');
129
+ await this.tokenManager.approve(amountToBridge, this.contract.address, 'FeeJuice Portal');
105
130
  this.logger.info('Sending L1 Fee Juice to L2 to be claimed publicly');
106
131
  const args = [
107
132
  to.toString(),
108
- amount,
133
+ amountToBridge,
109
134
  claimSecretHash.toString()
110
135
  ];
111
136
  await this.contract.simulate.depositToAztecPublic(args);
112
- const txReceipt = await this.publicClient.waitForTransactionReceipt({
137
+ const txReceipt = await this.extendedClient.waitForTransactionReceipt({
113
138
  hash: await this.contract.write.depositToAztecPublic(args)
114
139
  });
115
- this.logger.info('Deposited to Aztec public successfully');
116
- const log = extractEvent(txReceipt.logs, this.contract.address, this.contract.abi, 'DepositToAztecPublic', (log)=>log.args.secretHash === claimSecretHash.toString() && log.args.amount === amount && log.args.to === to.toString(), this.logger);
140
+ this.logger.info('Deposited to Aztec public successfully', {
141
+ txReceipt
142
+ });
143
+ const log = extractEvent(txReceipt.logs, this.contract.address, this.contract.abi, 'DepositToAztecPublic', (log)=>{
144
+ // Normalize hex strings for comparison (case-insensitive, handle different formats)
145
+ const normalizeHex = (val)=>{
146
+ const hexStr = typeof val === 'string' ? val : `0x${val.toString(16).padStart(64, '0')}`;
147
+ return hexStr.toLowerCase();
148
+ };
149
+ const secretHashMatch = normalizeHex(log.args.secretHash) === normalizeHex(claimSecretHash.toString());
150
+ const amountMatch = log.args.amount === amountToBridge;
151
+ const toMatch = normalizeHex(log.args.to) === normalizeHex(to.toString());
152
+ this.logger.debug(`Event filter matching: secretHash=${secretHashMatch} (${log.args.secretHash} vs ${claimSecretHash.toString()}), ` + `amount=${amountMatch} (${log.args.amount} vs ${amountToBridge}), ` + `to=${toMatch} (${log.args.to} vs ${to.toString()})`);
153
+ return secretHashMatch && amountMatch && toMatch;
154
+ }, this.logger);
117
155
  return {
118
- claimAmount: amount,
156
+ claimAmount: amountToBridge,
119
157
  claimSecret,
120
158
  claimSecretHash,
121
159
  messageHash: log.args.key,
@@ -124,33 +162,33 @@ import { getContract, toFunctionSelector } from 'viem';
124
162
  }
125
163
  /**
126
164
  * Creates a new instance
127
- * @param pxe - PXE client used for retrieving the L1 contract addresses.
128
- * @param publicClient - L1 public client.
129
- * @param walletClient - L1 wallet client.
165
+ * @param node - Aztec node client used for retrieving the L1 contract addresses.
166
+ * @param extendedClient - Wallet client, extended with public actions.
130
167
  * @param logger - Logger.
131
- */ static async new(pxe, publicClient, walletClient, logger) {
132
- const { l1ContractAddresses: { feeJuiceAddress, feeJuicePortalAddress } } = await pxe.getNodeInfo();
168
+ */ static async new(node, extendedClient, logger) {
169
+ const { l1ContractAddresses: { feeJuiceAddress, feeJuicePortalAddress, feeAssetHandlerAddress } } = await node.getNodeInfo();
133
170
  if (feeJuiceAddress.isZero() || feeJuicePortalAddress.isZero()) {
134
171
  throw new Error('Portal or token not deployed on L1');
135
172
  }
136
- return new L1FeeJuicePortalManager(feeJuicePortalAddress, feeJuiceAddress, publicClient, walletClient, logger);
173
+ if (!feeAssetHandlerAddress || feeAssetHandlerAddress.isZero()) {
174
+ throw new Error('Handler not deployed on L1, or handler address is zero');
175
+ }
176
+ return new L1FeeJuicePortalManager(feeJuicePortalAddress, feeJuiceAddress, feeAssetHandlerAddress, extendedClient, logger);
137
177
  }
138
178
  }
139
179
  /** Helper for interacting with a test TokenPortal on L1 for sending tokens to L2. */ export class L1ToL2TokenPortalManager {
140
- publicClient;
141
- walletClient;
180
+ extendedClient;
142
181
  logger;
143
182
  portal;
144
183
  tokenManager;
145
- constructor(portalAddress, tokenAddress, publicClient, walletClient, logger){
146
- this.publicClient = publicClient;
147
- this.walletClient = walletClient;
184
+ constructor(portalAddress, tokenAddress, handlerAddress, extendedClient, logger){
185
+ this.extendedClient = extendedClient;
148
186
  this.logger = logger;
149
- this.tokenManager = new L1TokenManager(tokenAddress, publicClient, walletClient, logger);
187
+ this.tokenManager = new L1TokenManager(tokenAddress, handlerAddress, extendedClient, logger);
150
188
  this.portal = getContract({
151
189
  address: portalAddress.toString(),
152
190
  abi: TokenPortalAbi,
153
- client: this.walletClient
191
+ client: extendedClient
154
192
  });
155
193
  }
156
194
  /** Returns the token manager for the underlying L1 token. */ getTokenManager() {
@@ -169,10 +207,17 @@ import { getContract, toFunctionSelector } from 'viem';
169
207
  amount,
170
208
  claimSecretHash.toString()
171
209
  ]);
172
- const txReceipt = await this.publicClient.waitForTransactionReceipt({
173
- hash: await this.walletClient.writeContract(request)
210
+ const txReceipt = await this.extendedClient.waitForTransactionReceipt({
211
+ hash: await this.extendedClient.writeContract(request)
174
212
  });
175
- const log = extractEvent(txReceipt.logs, this.portal.address, this.portal.abi, 'DepositToAztecPublic', (log)=>log.args.secretHash === claimSecretHash.toString() && log.args.amount === amount && log.args.to === to.toString(), this.logger);
213
+ const log = extractEvent(txReceipt.logs, this.portal.address, this.portal.abi, 'DepositToAztecPublic', (log)=>{
214
+ // Normalize hex strings for comparison (case-insensitive, handle different formats)
215
+ const normalizeHex = (val)=>{
216
+ const hexStr = typeof val === 'string' ? val : `0x${val.toString(16).padStart(64, '0')}`;
217
+ return hexStr.toLowerCase();
218
+ };
219
+ return normalizeHex(log.args.secretHash) === normalizeHex(claimSecretHash.toString()) && log.args.amount === amount && normalizeHex(log.args.to) === normalizeHex(to.toString());
220
+ }, this.logger);
176
221
  return {
177
222
  claimAmount: amount,
178
223
  claimSecret,
@@ -193,10 +238,17 @@ import { getContract, toFunctionSelector } from 'viem';
193
238
  amount,
194
239
  claimSecretHash.toString()
195
240
  ]);
196
- const txReceipt = await this.publicClient.waitForTransactionReceipt({
197
- hash: await this.walletClient.writeContract(request)
241
+ const txReceipt = await this.extendedClient.waitForTransactionReceipt({
242
+ hash: await this.extendedClient.writeContract(request)
198
243
  });
199
- const log = extractEvent(txReceipt.logs, this.portal.address, this.portal.abi, 'DepositToAztecPrivate', (log)=>log.args.amount === amount && log.args.secretHashForL2MessageConsumption === claimSecretHash.toString(), this.logger);
244
+ const log = extractEvent(txReceipt.logs, this.portal.address, this.portal.abi, 'DepositToAztecPrivate', (log)=>{
245
+ // Normalize hex strings for comparison (case-insensitive, handle different formats)
246
+ const normalizeHex = (val)=>{
247
+ const hexStr = typeof val === 'string' ? val : `0x${val.toString(16).padStart(64, '0')}`;
248
+ return hexStr.toLowerCase();
249
+ };
250
+ return log.args.amount === amount && normalizeHex(log.args.secretHashForL2MessageConsumption) === normalizeHex(claimSecretHash.toString());
251
+ }, this.logger);
200
252
  this.logger.info(`Claim message secret: ${claimSecret.toString()}, claim message secret hash: ${claimSecretHash.toString()}`);
201
253
  return {
202
254
  claimAmount: amount,
@@ -209,7 +261,11 @@ import { getContract, toFunctionSelector } from 'viem';
209
261
  }
210
262
  async bridgeSetup(amount, mint) {
211
263
  if (mint) {
212
- await this.tokenManager.mint(amount, this.walletClient.account.address);
264
+ const mintableAmount = await this.tokenManager.getMintAmount();
265
+ if (amount !== mintableAmount) {
266
+ throw new Error(`Minting amount must be ${mintableAmount} for testing`);
267
+ }
268
+ await this.tokenManager.mint(this.extendedClient.account.address);
213
269
  }
214
270
  await this.tokenManager.approve(amount, this.portal.address, 'TokenPortal');
215
271
  return generateClaimSecret();
@@ -217,12 +273,12 @@ import { getContract, toFunctionSelector } from 'viem';
217
273
  }
218
274
  /** Helper for interacting with a test TokenPortal on L1 for both withdrawing from and bridging to L2. */ export class L1TokenPortalManager extends L1ToL2TokenPortalManager {
219
275
  outbox;
220
- constructor(portalAddress, tokenAddress, outboxAddress, publicClient, walletClient, logger){
221
- super(portalAddress, tokenAddress, publicClient, walletClient, logger);
276
+ constructor(portalAddress, tokenAddress, handlerAddress, outboxAddress, extendedClient, logger){
277
+ super(portalAddress, tokenAddress, handlerAddress, extendedClient, logger);
222
278
  this.outbox = getContract({
223
279
  address: outboxAddress.toString(),
224
280
  abi: OutboxAbi,
225
- client: walletClient
281
+ client: extendedClient
226
282
  });
227
283
  }
228
284
  /**
@@ -234,12 +290,16 @@ import { getContract, toFunctionSelector } from 'viem';
234
290
  * @param siblingPath - Sibling path of the message.
235
291
  */ async withdrawFunds(amount, recipient, blockNumber, messageIndex, siblingPath) {
236
292
  this.logger.info(`Sending L1 tx to consume message at block ${blockNumber} index ${messageIndex} to withdraw ${amount}`);
237
- const isConsumedBefore = await this.outbox.read.hasMessageBeenConsumedAtBlockAndIndex([
293
+ const messageLeafId = getL2ToL1MessageLeafId({
294
+ leafIndex: messageIndex,
295
+ siblingPath
296
+ });
297
+ const isConsumedBefore = await this.outbox.read.hasMessageBeenConsumedAtCheckpoint([
238
298
  blockNumber,
239
- messageIndex
299
+ messageLeafId
240
300
  ]);
241
301
  if (isConsumedBefore) {
242
- throw new Error(`L1 to L2 message at block ${blockNumber} index ${messageIndex} has already been consumed`);
302
+ throw new Error(`L1 to L2 message at block ${blockNumber} index ${messageIndex} height ${siblingPath.pathSize} has already been consumed`);
243
303
  }
244
304
  // Call function on L1 contract to consume the message
245
305
  const { request: withdrawRequest } = await this.portal.simulate.withdraw([
@@ -250,15 +310,15 @@ import { getContract, toFunctionSelector } from 'viem';
250
310
  messageIndex,
251
311
  siblingPath.toBufferArray().map((buf)=>`0x${buf.toString('hex')}`)
252
312
  ]);
253
- await this.publicClient.waitForTransactionReceipt({
254
- hash: await this.walletClient.writeContract(withdrawRequest)
313
+ await this.extendedClient.waitForTransactionReceipt({
314
+ hash: await this.extendedClient.writeContract(withdrawRequest)
255
315
  });
256
- const isConsumedAfter = await this.outbox.read.hasMessageBeenConsumedAtBlockAndIndex([
316
+ const isConsumedAfter = await this.outbox.read.hasMessageBeenConsumedAtCheckpoint([
257
317
  blockNumber,
258
- messageIndex
318
+ messageLeafId
259
319
  ]);
260
320
  if (!isConsumedAfter) {
261
- throw new Error(`L1 to L2 message at block ${blockNumber} index ${messageIndex} not consumed after withdrawal`);
321
+ throw new Error(`L1 to L2 message at block ${blockNumber} index ${messageIndex} height ${siblingPath.pathSize} not consumed after withdrawal`);
262
322
  }
263
323
  }
264
324
  /**
@@ -267,20 +327,20 @@ import { getContract, toFunctionSelector } from 'viem';
267
327
  * @param recipient - Recipient on L1.
268
328
  * @param l2Bridge - Address of the L2 bridge.
269
329
  * @param callerOnL1 - Caller address on L1.
270
- */ getL2ToL1MessageLeaf(amount, recipient, l2Bridge, callerOnL1 = EthAddress.ZERO) {
330
+ */ async getL2ToL1MessageLeaf(amount, recipient, l2Bridge, callerOnL1 = EthAddress.ZERO) {
331
+ const version = await this.outbox.read.VERSION();
271
332
  const content = sha256ToField([
272
333
  Buffer.from(toFunctionSelector('withdraw(address,uint256,address)').substring(2), 'hex'),
273
334
  recipient.toBuffer32(),
274
335
  new Fr(amount).toBuffer(),
275
336
  callerOnL1.toBuffer32()
276
337
  ]);
277
- const leaf = sha256ToField([
278
- l2Bridge.toBuffer(),
279
- new Fr(1).toBuffer(),
280
- EthAddress.fromString(this.portal.address).toBuffer32() ?? Buffer.alloc(32, 0),
281
- new Fr(this.publicClient.chain.id).toBuffer(),
282
- content.toBuffer()
283
- ]);
284
- return leaf;
338
+ return computeL2ToL1MessageHash({
339
+ l2Sender: l2Bridge,
340
+ l1Recipient: EthAddress.fromString(this.portal.address),
341
+ content,
342
+ rollupVersion: new Fr(version),
343
+ chainId: new Fr(this.extendedClient.chain.id)
344
+ });
285
345
  }
286
346
  }
@@ -1,18 +1,23 @@
1
- import type { FunctionCall } from '@aztec/stdlib/abi';
2
- import type { L2AmountClaim } from '../api/ethereum/portal_manager.js';
3
- import type { Wallet } from '../wallet/index.js';
4
- import { FeeJuicePaymentMethod } from './fee_juice_payment_method.js';
1
+ import type { AztecAddress } from '@aztec/stdlib/aztec-address';
2
+ import type { GasSettings } from '@aztec/stdlib/gas';
3
+ import { ExecutionPayload } from '@aztec/stdlib/tx';
4
+ import type { L2AmountClaim } from '../ethereum/portal_manager.js';
5
+ import type { FeePaymentMethod } from './fee_payment_method.js';
5
6
  /**
6
- * Pay fee directly with Fee Juice claimed on the same tx.
7
+ * Pay fee directly with Fee Juice claimed in the same tx. Claiming consumes an L1 to L2 message that "contains"
8
+ * the fee juice bridged from L1.
7
9
  */
8
- export declare class FeeJuicePaymentMethodWithClaim extends FeeJuicePaymentMethod {
9
- private senderWallet;
10
+ export declare class FeeJuicePaymentMethodWithClaim implements FeePaymentMethod {
11
+ private sender;
10
12
  private claim;
11
- constructor(senderWallet: Wallet, claim: Pick<L2AmountClaim, 'claimAmount' | 'claimSecret' | 'messageLeafIndex'>);
13
+ constructor(sender: AztecAddress, claim: Pick<L2AmountClaim, 'claimAmount' | 'claimSecret' | 'messageLeafIndex'>);
12
14
  /**
13
- * Creates a function call to pay the fee in Fee Juice.
14
- * @returns A function call
15
+ * Creates an execution payload to pay the fee in Fee Juice.
16
+ * @returns An execution payload that just contains the `claim_and_end_setup` function call.
15
17
  */
16
- getFunctionCalls(): Promise<FunctionCall[]>;
18
+ getExecutionPayload(): Promise<ExecutionPayload>;
19
+ getAsset(): Promise<AztecAddress>;
20
+ getFeePayer(): Promise<AztecAddress>;
21
+ getGasSettings(): GasSettings | undefined;
17
22
  }
18
- //# sourceMappingURL=fee_juice_payment_method_with_claim.d.ts.map
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVlX2p1aWNlX3BheW1lbnRfbWV0aG9kX3dpdGhfY2xhaW0uZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mZWUvZmVlX2p1aWNlX3BheW1lbnRfbWV0aG9kX3dpdGhfY2xhaW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDaEUsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDckQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFcEQsT0FBTyxLQUFLLEVBQUUsYUFBYSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbkUsT0FBTyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUVoRTs7O0dBR0c7QUFDSCxxQkFBYSw4QkFBK0IsWUFBVyxnQkFBZ0I7SUFFbkUsT0FBTyxDQUFDLE1BQU07SUFDZCxPQUFPLENBQUMsS0FBSztJQUZmLFlBQ1UsTUFBTSxFQUFFLFlBQVksRUFDcEIsS0FBSyxFQUFFLElBQUksQ0FBQyxhQUFhLEVBQUUsYUFBYSxHQUFHLGFBQWEsR0FBRyxrQkFBa0IsQ0FBQyxFQUNwRjtJQUVKOzs7T0FHRztJQUNHLG1CQUFtQixJQUFJLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQTBCckQ7SUFFRCxRQUFRLDBCQUVQO0lBRUQsV0FBVyxJQUFJLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FFbkM7SUFFRCxjQUFjLElBQUksV0FBVyxHQUFHLFNBQVMsQ0FFeEM7Q0FDRiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"fee_juice_payment_method_with_claim.d.ts","sourceRoot":"","sources":["../../src/fee/fee_juice_payment_method_with_claim.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAEvE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAEtE;;GAEG;AACH,qBAAa,8BAA+B,SAAQ,qBAAqB;IAErE,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,KAAK;gBADL,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,aAAa,GAAG,aAAa,GAAG,kBAAkB,CAAC;IAKxF;;;OAGG;IACY,gBAAgB,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;CAuB3D"}
1
+ {"version":3,"file":"fee_juice_payment_method_with_claim.d.ts","sourceRoot":"","sources":["../../src/fee/fee_juice_payment_method_with_claim.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE;;;GAGG;AACH,qBAAa,8BAA+B,YAAW,gBAAgB;IAEnE,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,KAAK;IAFf,YACU,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,aAAa,GAAG,aAAa,GAAG,kBAAkB,CAAC,EACpF;IAEJ;;;OAGG;IACG,mBAAmB,IAAI,OAAO,CAAC,gBAAgB,CAAC,CA0BrD;IAED,QAAQ,0BAEP;IAED,WAAW,IAAI,OAAO,CAAC,YAAY,CAAC,CAEnC;IAED,cAAc,IAAI,WAAW,GAAG,SAAS,CAExC;CACF"}
@@ -1,30 +1,31 @@
1
1
  import { Fr } from '@aztec/foundation/fields';
2
2
  import { ProtocolContractAddress } from '@aztec/protocol-contracts';
3
3
  import { FunctionSelector, FunctionType } from '@aztec/stdlib/abi';
4
- import { getFeeJuice } from '../contract/protocol_contracts.js';
5
- import { FeeJuicePaymentMethod } from './fee_juice_payment_method.js';
4
+ import { ExecutionPayload } from '@aztec/stdlib/tx';
6
5
  /**
7
- * Pay fee directly with Fee Juice claimed on the same tx.
8
- */ export class FeeJuicePaymentMethodWithClaim extends FeeJuicePaymentMethod {
9
- senderWallet;
6
+ * Pay fee directly with Fee Juice claimed in the same tx. Claiming consumes an L1 to L2 message that "contains"
7
+ * the fee juice bridged from L1.
8
+ */ export class FeeJuicePaymentMethodWithClaim {
9
+ sender;
10
10
  claim;
11
- constructor(senderWallet, claim){
12
- super(senderWallet.getAddress()), this.senderWallet = senderWallet, this.claim = claim;
11
+ constructor(sender, claim){
12
+ this.sender = sender;
13
+ this.claim = claim;
13
14
  }
14
15
  /**
15
- * Creates a function call to pay the fee in Fee Juice.
16
- * @returns A function call
17
- */ async getFunctionCalls() {
18
- const canonicalFeeJuice = await getFeeJuice(this.senderWallet);
19
- const selector = await FunctionSelector.fromNameAndParameters(canonicalFeeJuice.artifact.functions.find((f)=>f.name === 'claim'));
20
- return Promise.resolve([
16
+ * Creates an execution payload to pay the fee in Fee Juice.
17
+ * @returns An execution payload that just contains the `claim_and_end_setup` function call.
18
+ */ async getExecutionPayload() {
19
+ const selector = await FunctionSelector.fromSignature('claim_and_end_setup((Field),u128,Field,Field)');
20
+ return new ExecutionPayload([
21
21
  {
22
22
  to: ProtocolContractAddress.FeeJuice,
23
- name: 'claim',
23
+ name: 'claim_and_end_setup',
24
24
  selector,
25
+ hideMsgSender: false,
25
26
  isStatic: false,
26
27
  args: [
27
- this.senderWallet.getAddress().toField(),
28
+ this.sender.toField(),
28
29
  new Fr(this.claim.claimAmount),
29
30
  this.claim.claimSecret,
30
31
  new Fr(this.claim.messageLeafIndex)
@@ -32,6 +33,15 @@ import { FeeJuicePaymentMethod } from './fee_juice_payment_method.js';
32
33
  returnTypes: [],
33
34
  type: FunctionType.PRIVATE
34
35
  }
35
- ]);
36
+ ], [], [], [], this.sender);
37
+ }
38
+ getAsset() {
39
+ return Promise.resolve(ProtocolContractAddress.FeeJuice);
40
+ }
41
+ getFeePayer() {
42
+ return Promise.resolve(this.sender);
43
+ }
44
+ getGasSettings() {
45
+ return;
36
46
  }
37
47
  }
@@ -1,6 +1,6 @@
1
- import type { FunctionCall } from '@aztec/stdlib/abi';
2
1
  import type { AztecAddress } from '@aztec/stdlib/aztec-address';
3
2
  import type { GasSettings } from '@aztec/stdlib/gas';
3
+ import type { ExecutionPayload } from '@aztec/stdlib/tx';
4
4
  /**
5
5
  * Holds information about how the fee for a transaction is to be paid.
6
6
  */
@@ -8,15 +8,19 @@ export interface FeePaymentMethod {
8
8
  /** The asset used to pay the fee. */
9
9
  getAsset(): Promise<AztecAddress>;
10
10
  /**
11
- * Creates a function call to pay the fee in the given asset.
12
- * @param gasSettings - The gas limits and max fees.
13
- * @returns The function call to pay the fee.
11
+ * Returns the data to be added to the final execution request
12
+ * to pay the fee in the given asset
13
+ * @returns The function calls to pay the fee.
14
14
  */
15
- getFunctionCalls(gasSettings: GasSettings): Promise<FunctionCall[]>;
15
+ getExecutionPayload(): Promise<ExecutionPayload>;
16
16
  /**
17
17
  * The expected fee payer for this tx.
18
- * @param gasSettings - The gas limits and max fees.
19
18
  */
20
- getFeePayer(gasSettings: GasSettings): Promise<AztecAddress>;
19
+ getFeePayer(): Promise<AztecAddress>;
20
+ /**
21
+ * The gas settings (if any) used to compute the
22
+ * execution payload of the payment method
23
+ */
24
+ getGasSettings(): GasSettings | undefined;
21
25
  }
22
- //# sourceMappingURL=fee_payment_method.d.ts.map
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVlX3BheW1lbnRfbWV0aG9kLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZmVlL2ZlZV9wYXltZW50X21ldGhvZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNyRCxPQUFPLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRXpEOztHQUVHO0FBQ0gsTUFBTSxXQUFXLGdCQUFnQjtJQUMvQixxQ0FBcUM7SUFDckMsUUFBUSxJQUFJLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNsQzs7OztPQUlHO0lBQ0gsbUJBQW1CLElBQUksT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDakQ7O09BRUc7SUFDSCxXQUFXLElBQUksT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3JDOzs7T0FHRztJQUNILGNBQWMsSUFBSSxXQUFXLEdBQUcsU0FBUyxDQUFDO0NBQzNDIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"fee_payment_method.d.ts","sourceRoot":"","sources":["../../src/fee/fee_payment_method.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,qCAAqC;IACrC,QAAQ,IAAI,OAAO,CAAC,YAAY,CAAC,CAAC;IAClC;;;;OAIG;IACH,gBAAgB,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IACpE;;;OAGG;IACH,WAAW,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;CAC9D"}
1
+ {"version":3,"file":"fee_payment_method.d.ts","sourceRoot":"","sources":["../../src/fee/fee_payment_method.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,qCAAqC;IACrC,QAAQ,IAAI,OAAO,CAAC,YAAY,CAAC,CAAC;IAClC;;;;OAIG;IACH,mBAAmB,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACjD;;OAEG;IACH,WAAW,IAAI,OAAO,CAAC,YAAY,CAAC,CAAC;IACrC;;;OAGG;IACH,cAAc,IAAI,WAAW,GAAG,SAAS,CAAC;CAC3C"}
@@ -1,7 +1,7 @@
1
- import { type FunctionCall } from '@aztec/stdlib/abi';
2
- import type { AztecAddress } from '@aztec/stdlib/aztec-address';
1
+ import { AztecAddress } from '@aztec/stdlib/aztec-address';
3
2
  import type { GasSettings } from '@aztec/stdlib/gas';
4
- import type { Wallet } from '../account/wallet.js';
3
+ import { ExecutionPayload } from '@aztec/stdlib/tx';
4
+ import type { Wallet } from '../wallet/wallet.js';
5
5
  import type { FeePaymentMethod } from './fee_payment_method.js';
6
6
  /**
7
7
  * Holds information about how the fee for a transaction is to be paid.
@@ -12,9 +12,17 @@ export declare class PrivateFeePaymentMethod implements FeePaymentMethod {
12
12
  */
13
13
  private paymentContract;
14
14
  /**
15
- * An auth witness provider to authorize fee payments
15
+ * Address of the account that will pay the fee
16
+ */
17
+ private sender;
18
+ /**
19
+ * A wallet to perform the simulation to get the accepted asset
16
20
  */
17
21
  private wallet;
22
+ /**
23
+ * Gas settings used to compute the maximum fee the user is willing to pay
24
+ */
25
+ protected gasSettings: GasSettings;
18
26
  /**
19
27
  * If true, the max fee will be set to 1.
20
28
  * TODO(#7694): Remove this param once the lacking feature in TXE is implemented.
@@ -27,9 +35,17 @@ export declare class PrivateFeePaymentMethod implements FeePaymentMethod {
27
35
  */
28
36
  paymentContract: AztecAddress,
29
37
  /**
30
- * An auth witness provider to authorize fee payments
38
+ * Address of the account that will pay the fee
39
+ */
40
+ sender: AztecAddress,
41
+ /**
42
+ * A wallet to perform the simulation to get the accepted asset
31
43
  */
32
44
  wallet: Wallet,
45
+ /**
46
+ * Gas settings used to compute the maximum fee the user is willing to pay
47
+ */
48
+ gasSettings: GasSettings,
33
49
  /**
34
50
  * If true, the max fee will be set to 1.
35
51
  * TODO(#7694): Remove this param once the lacking feature in TXE is implemented.
@@ -42,10 +58,11 @@ export declare class PrivateFeePaymentMethod implements FeePaymentMethod {
42
58
  getAsset(): Promise<AztecAddress>;
43
59
  getFeePayer(): Promise<AztecAddress>;
44
60
  /**
45
- * Creates a function call to pay the fee in the given asset.
61
+ * Creates an execution payload to pay the fee using a private function through an FPC in the desired asset
46
62
  * @param gasSettings - The gas settings.
47
- * @returns The function call to pay the fee.
63
+ * @returns An execution payload that contains the required function calls and auth witnesses.
48
64
  */
49
- getFunctionCalls(gasSettings: GasSettings): Promise<FunctionCall[]>;
65
+ getExecutionPayload(): Promise<ExecutionPayload>;
66
+ getGasSettings(): GasSettings | undefined;
50
67
  }
51
- //# sourceMappingURL=private_fee_payment_method.d.ts.map
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmF0ZV9mZWVfcGF5bWVudF9tZXRob2QuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mZWUvcHJpdmF0ZV9mZWVfcGF5bWVudF9tZXRob2QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBR3BELE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2xELE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFaEU7O0dBRUc7QUFDSCxxQkFBYSx1QkFBd0IsWUFBVyxnQkFBZ0I7SUFJNUQ7O09BRUc7SUFDSCxPQUFPLENBQUMsZUFBZTtJQUV2Qjs7T0FFRztJQUNILE9BQU8sQ0FBQyxNQUFNO0lBRWQ7O09BRUc7SUFDSCxPQUFPLENBQUMsTUFBTTtJQUNkOztPQUVHO0lBQ0gsU0FBUyxDQUFDLFdBQVcsRUFBRSxXQUFXO0lBQ2xDOzs7T0FHRztJQUNILE9BQU8sQ0FBQyxjQUFjO0lBekJ4QixPQUFPLENBQUMsWUFBWSxDQUFzQztJQUUxRDtJQUNFOztPQUVHO0lBQ0ssZUFBZSxFQUFFLFlBQVk7SUFFckM7O09BRUc7SUFDSyxNQUFNLEVBQUUsWUFBWTtJQUU1Qjs7T0FFRztJQUNLLE1BQU0sRUFBRSxNQUFNO0lBQ3RCOztPQUVHO0lBQ08sV0FBVyxFQUFFLFdBQVc7SUFDbEM7OztPQUdHO0lBQ0ssY0FBYyxVQUFRLEVBQzVCO0lBRUo7OztPQUdHO0lBQ0csUUFBUSxJQUFJLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0F1Q3RDO0lBRUQsV0FBVyxJQUFJLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FFbkM7SUFFRDs7OztPQUlHO0lBQ0csbUJBQW1CLElBQUksT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBc0NyRDtJQUVELGNBQWMsSUFBSSxXQUFXLEdBQUcsU0FBUyxDQUV4QztDQUNGIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"private_fee_payment_method.d.ts","sourceRoot":"","sources":["../../src/fee/private_fee_payment_method.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,YAAY,EAAkC,MAAM,mBAAmB,CAAC;AACtF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAGnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE;;GAEG;AACH,qBAAa,uBAAwB,YAAW,gBAAgB;IAI5D;;OAEG;IACH,OAAO,CAAC,eAAe;IAEvB;;OAEG;IACH,OAAO,CAAC,MAAM;IAEd;;;OAGG;IACH,OAAO,CAAC,cAAc;IAjBxB,OAAO,CAAC,YAAY,CAAsC;;IAGxD;;OAEG;IACK,eAAe,EAAE,YAAY;IAErC;;OAEG;IACK,MAAM,EAAE,MAAM;IAEtB;;;OAGG;IACK,cAAc,UAAQ;IAGhC;;;OAGG;IACH,QAAQ,IAAI,OAAO,CAAC,YAAY,CAAC;IAuCjC,WAAW,IAAI,OAAO,CAAC,YAAY,CAAC;IAIpC;;;;OAIG;IACG,gBAAgB,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;CA+B1E"}
1
+ {"version":3,"file":"private_fee_payment_method.d.ts","sourceRoot":"","sources":["../../src/fee/private_fee_payment_method.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAGpD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE;;GAEG;AACH,qBAAa,uBAAwB,YAAW,gBAAgB;IAI5D;;OAEG;IACH,OAAO,CAAC,eAAe;IAEvB;;OAEG;IACH,OAAO,CAAC,MAAM;IAEd;;OAEG;IACH,OAAO,CAAC,MAAM;IACd;;OAEG;IACH,SAAS,CAAC,WAAW,EAAE,WAAW;IAClC;;;OAGG;IACH,OAAO,CAAC,cAAc;IAzBxB,OAAO,CAAC,YAAY,CAAsC;IAE1D;IACE;;OAEG;IACK,eAAe,EAAE,YAAY;IAErC;;OAEG;IACK,MAAM,EAAE,YAAY;IAE5B;;OAEG;IACK,MAAM,EAAE,MAAM;IACtB;;OAEG;IACO,WAAW,EAAE,WAAW;IAClC;;;OAGG;IACK,cAAc,UAAQ,EAC5B;IAEJ;;;OAGG;IACG,QAAQ,IAAI,OAAO,CAAC,YAAY,CAAC,CAuCtC;IAED,WAAW,IAAI,OAAO,CAAC,YAAY,CAAC,CAEnC;IAED;;;;OAIG;IACG,mBAAmB,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAsCrD;IAED,cAAc,IAAI,WAAW,GAAG,SAAS,CAExC;CACF"}