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

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 (392) hide show
  1. package/README.md +1 -1
  2. package/dest/account/account.d.ts +60 -0
  3. package/dest/account/account.d.ts.map +1 -0
  4. package/dest/account/account.js +59 -0
  5. package/dest/account/{contract.d.ts → account_contract.d.ts} +16 -10
  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/{wallet/account_wallet_with_private_key.d.ts → account/account_with_secret_key.d.ts} +7 -8
  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 +3 -7
  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 +1 -13
  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 +24 -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 +2 -1
  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 +5 -2
  24. package/dest/api/account.d.ts.map +1 -1
  25. package/dest/api/account.js +3 -1
  26. package/dest/api/addresses.d.ts +1 -0
  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/{contract/index.d.ts → api/contract.d.ts} +15 -11
  36. package/dest/api/contract.d.ts.map +1 -0
  37. package/dest/{contract/index.js → api/contract.js} +14 -10
  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 +4 -3
  42. package/dest/api/deployment.d.ts.map +1 -1
  43. package/dest/api/deployment.js +4 -3
  44. package/dest/api/ethereum.d.ts +2 -0
  45. package/dest/api/ethereum.d.ts.map +1 -0
  46. package/dest/api/ethereum.js +1 -0
  47. package/dest/api/events.d.ts +12 -0
  48. package/dest/api/events.d.ts.map +1 -0
  49. package/dest/api/events.js +30 -0
  50. package/dest/api/fee.d.ts +1 -1
  51. package/dest/api/fee.d.ts.map +1 -1
  52. package/dest/api/fee.js +1 -1
  53. package/dest/api/fee_testing.d.ts +2 -0
  54. package/dest/api/fee_testing.d.ts.map +1 -0
  55. package/dest/api/fee_testing.js +1 -0
  56. package/dest/api/keys.d.ts +4 -0
  57. package/dest/api/keys.d.ts.map +1 -0
  58. package/dest/api/keys.js +3 -0
  59. package/dest/api/log.d.ts +1 -0
  60. package/dest/api/log.d.ts.map +1 -1
  61. package/dest/api/log.js +1 -0
  62. package/dest/api/messaging.d.ts +3 -0
  63. package/dest/api/messaging.d.ts.map +1 -0
  64. package/dest/api/messaging.js +2 -0
  65. package/dest/api/node.d.ts +21 -0
  66. package/dest/api/node.d.ts.map +1 -0
  67. package/dest/api/node.js +18 -0
  68. package/dest/api/note.d.ts +2 -0
  69. package/dest/api/note.d.ts.map +1 -0
  70. package/dest/api/note.js +1 -0
  71. package/dest/api/protocol.d.ts +3 -0
  72. package/dest/api/protocol.d.ts.map +1 -0
  73. package/dest/api/protocol.js +2 -0
  74. package/dest/api/trees.d.ts +3 -0
  75. package/dest/api/trees.d.ts.map +1 -0
  76. package/dest/api/trees.js +2 -0
  77. package/dest/api/tx.d.ts +2 -0
  78. package/dest/api/tx.d.ts.map +1 -0
  79. package/dest/api/tx.js +1 -0
  80. package/dest/api/utils.d.ts +13 -0
  81. package/dest/api/utils.d.ts.map +1 -0
  82. package/dest/api/utils.js +12 -0
  83. package/dest/api/wallet.d.ts +4 -1
  84. package/dest/api/wallet.d.ts.map +1 -1
  85. package/dest/api/wallet.js +4 -1
  86. package/dest/authorization/call_authorization_request.d.ts +67 -0
  87. package/dest/authorization/call_authorization_request.d.ts.map +1 -0
  88. package/dest/authorization/call_authorization_request.js +49 -0
  89. package/dest/contract/base_contract_interaction.d.ts +16 -79
  90. package/dest/contract/base_contract_interaction.d.ts.map +1 -1
  91. package/dest/contract/base_contract_interaction.js +15 -128
  92. package/dest/contract/batch_call.d.ts +13 -14
  93. package/dest/contract/batch_call.d.ts.map +1 -1
  94. package/dest/contract/batch_call.js +60 -60
  95. package/dest/contract/checker.d.ts +1 -1
  96. package/dest/contract/checker.d.ts.map +1 -1
  97. package/dest/contract/checker.js +2 -2
  98. package/dest/contract/contract.d.ts +7 -6
  99. package/dest/contract/contract.d.ts.map +1 -1
  100. package/dest/contract/contract.js +7 -16
  101. package/dest/contract/contract_base.d.ts +3 -9
  102. package/dest/contract/contract_base.d.ts.map +1 -1
  103. package/dest/contract/contract_base.js +2 -2
  104. package/dest/contract/contract_function_interaction.d.ts +52 -44
  105. package/dest/contract/contract_function_interaction.d.ts.map +1 -1
  106. package/dest/contract/contract_function_interaction.js +75 -74
  107. package/dest/contract/deploy_method.d.ts +102 -57
  108. package/dest/contract/deploy_method.d.ts.map +1 -1
  109. package/dest/contract/deploy_method.js +122 -132
  110. package/dest/contract/deploy_sent_tx.d.ts +3 -5
  111. package/dest/contract/deploy_sent_tx.d.ts.map +1 -1
  112. package/dest/contract/deploy_sent_tx.js +10 -13
  113. package/dest/contract/get_gas_limits.d.ts +5 -6
  114. package/dest/contract/get_gas_limits.d.ts.map +1 -1
  115. package/dest/contract/get_gas_limits.js +9 -3
  116. package/dest/contract/interaction_options.d.ts +114 -0
  117. package/dest/contract/interaction_options.d.ts.map +1 -0
  118. package/dest/contract/interaction_options.js +52 -0
  119. package/dest/contract/protocol_contracts.d.ts +6 -6
  120. package/dest/contract/protocol_contracts.d.ts.map +1 -1
  121. package/dest/contract/protocol_contracts.js +7 -7
  122. package/dest/contract/sent_tx.d.ts +8 -18
  123. package/dest/contract/sent_tx.d.ts.map +1 -1
  124. package/dest/contract/sent_tx.js +30 -42
  125. package/dest/contract/unsafe_contract.d.ts +1 -1
  126. package/dest/contract/unsafe_contract.d.ts.map +1 -1
  127. package/dest/contract/wait_for_proven.d.ts +17 -0
  128. package/dest/contract/wait_for_proven.d.ts.map +1 -0
  129. package/dest/contract/wait_for_proven.js +17 -0
  130. package/dest/deployment/broadcast_function.d.ts +3 -3
  131. package/dest/deployment/broadcast_function.d.ts.map +1 -1
  132. package/dest/deployment/broadcast_function.js +27 -23
  133. package/dest/deployment/contract_deployer.d.ts +1 -1
  134. package/dest/deployment/contract_deployer.d.ts.map +1 -1
  135. package/dest/deployment/publish_class.d.ts +6 -0
  136. package/dest/deployment/publish_class.d.ts.map +1 -0
  137. package/dest/deployment/publish_class.js +17 -0
  138. package/dest/deployment/publish_instance.d.ts +10 -0
  139. package/dest/deployment/publish_instance.d.ts.map +1 -0
  140. package/dest/deployment/publish_instance.js +11 -0
  141. package/dest/{api/ethereum → ethereum}/portal_manager.d.ts +29 -25
  142. package/dest/ethereum/portal_manager.d.ts.map +1 -0
  143. package/dest/{api/ethereum → ethereum}/portal_manager.js +106 -73
  144. package/dest/fee/fee_juice_payment_method_with_claim.d.ts +16 -11
  145. package/dest/fee/fee_juice_payment_method_with_claim.d.ts.map +1 -1
  146. package/dest/fee/fee_juice_payment_method_with_claim.js +26 -16
  147. package/dest/fee/fee_payment_method.d.ts +11 -7
  148. package/dest/fee/fee_payment_method.d.ts.map +1 -1
  149. package/dest/fee/private_fee_payment_method.d.ts +25 -8
  150. package/dest/fee/private_fee_payment_method.d.ts.map +1 -1
  151. package/dest/fee/private_fee_payment_method.js +43 -21
  152. package/dest/fee/public_fee_payment_method.d.ts +26 -9
  153. package/dest/fee/public_fee_payment_method.d.ts.map +1 -1
  154. package/dest/fee/public_fee_payment_method.js +45 -23
  155. package/dest/fee/sponsored_fee_payment.d.ts +17 -0
  156. package/dest/fee/sponsored_fee_payment.d.ts.map +1 -0
  157. package/dest/fee/sponsored_fee_payment.js +34 -0
  158. package/dest/utils/abi_types.d.ts +0 -2
  159. package/dest/utils/abi_types.d.ts.map +1 -1
  160. package/dest/utils/authwit.d.ts +81 -24
  161. package/dest/utils/authwit.d.ts.map +1 -1
  162. package/dest/utils/authwit.js +226 -40
  163. package/dest/utils/cross_chain.d.ts +24 -0
  164. package/dest/utils/cross_chain.d.ts.map +1 -0
  165. package/dest/utils/cross_chain.js +30 -0
  166. package/dest/utils/fee_juice.d.ts +3 -2
  167. package/dest/utils/fee_juice.d.ts.map +1 -1
  168. package/dest/utils/fee_juice.js +3 -2
  169. package/dest/utils/field_compressed_string.d.ts.map +1 -1
  170. package/dest/utils/node.d.ts.map +1 -1
  171. package/dest/utils/node.js +1 -1
  172. package/dest/utils/pub_key.d.ts.map +1 -1
  173. package/dest/utils/pub_key.js +1 -2
  174. package/dest/wallet/account_entrypoint_meta_payment_method.d.ts +34 -0
  175. package/dest/wallet/account_entrypoint_meta_payment_method.d.ts.map +1 -0
  176. package/dest/wallet/account_entrypoint_meta_payment_method.js +76 -0
  177. package/dest/wallet/account_manager.d.ts +69 -0
  178. package/dest/wallet/account_manager.d.ts.map +1 -0
  179. package/dest/wallet/account_manager.js +113 -0
  180. package/dest/wallet/base_wallet.d.ts +81 -63
  181. package/dest/wallet/base_wallet.d.ts.map +1 -1
  182. package/dest/wallet/base_wallet.js +221 -106
  183. package/dest/wallet/deploy_account_method.d.ts +52 -0
  184. package/dest/wallet/deploy_account_method.d.ts.map +1 -0
  185. package/dest/wallet/deploy_account_method.js +77 -0
  186. package/dest/wallet/index.d.ts +3 -16
  187. package/dest/wallet/index.d.ts.map +1 -1
  188. package/dest/wallet/index.js +3 -20
  189. package/dest/wallet/wallet.d.ts +2478 -0
  190. package/dest/wallet/wallet.d.ts.map +1 -0
  191. package/dest/wallet/wallet.js +202 -0
  192. package/package.json +40 -32
  193. package/src/account/account.ts +97 -0
  194. package/src/account/{contract.ts → account_contract.ts} +24 -13
  195. package/src/{wallet/account_wallet_with_private_key.ts → account/account_with_secret_key.ts} +6 -8
  196. package/src/account/index.ts +3 -7
  197. package/src/account/interface.ts +1 -12
  198. package/src/account/signerless_account.ts +46 -0
  199. package/src/api/abi.ts +26 -0
  200. package/src/api/account.ts +5 -9
  201. package/src/api/addresses.ts +1 -0
  202. package/src/api/authorization.ts +14 -0
  203. package/src/api/block.ts +2 -0
  204. package/src/{contract/index.ts → api/contract.ts} +37 -13
  205. package/src/api/crypto.ts +1 -0
  206. package/src/api/deployment.ts +4 -3
  207. package/src/api/ethereum.ts +10 -0
  208. package/src/api/events.ts +44 -0
  209. package/src/api/fee.ts +1 -1
  210. package/src/api/fee_testing.ts +1 -0
  211. package/src/api/keys.ts +8 -0
  212. package/src/api/log.ts +1 -0
  213. package/src/api/messaging.ts +2 -0
  214. package/src/api/node.ts +20 -0
  215. package/src/api/note.ts +1 -0
  216. package/src/api/protocol.ts +2 -0
  217. package/src/api/trees.ts +2 -0
  218. package/src/api/tx.ts +11 -0
  219. package/src/api/utils.ts +14 -0
  220. package/src/api/wallet.ts +33 -5
  221. package/src/authorization/call_authorization_request.ts +63 -0
  222. package/src/contract/base_contract_interaction.ts +24 -166
  223. package/src/contract/batch_call.ts +81 -49
  224. package/src/contract/checker.ts +8 -3
  225. package/src/contract/contract.ts +8 -17
  226. package/src/contract/contract_base.ts +4 -11
  227. package/src/contract/contract_function_interaction.ts +136 -106
  228. package/src/contract/deploy_method.ts +199 -129
  229. package/src/contract/deploy_sent_tx.ts +9 -15
  230. package/src/contract/get_gas_limits.ts +15 -8
  231. package/src/contract/interaction_options.ts +169 -0
  232. package/src/contract/protocol_contracts.ts +10 -10
  233. package/src/contract/sent_tx.ts +40 -51
  234. package/src/contract/unsafe_contract.ts +1 -1
  235. package/src/contract/wait_for_proven.ts +38 -0
  236. package/src/deployment/broadcast_function.ts +57 -57
  237. package/src/deployment/contract_deployer.ts +1 -1
  238. package/src/deployment/publish_class.ts +34 -0
  239. package/src/deployment/publish_instance.ts +26 -0
  240. package/src/{api/ethereum → ethereum}/portal_manager.ts +120 -74
  241. package/src/fee/fee_juice_payment_method_with_claim.ts +46 -33
  242. package/src/fee/fee_payment_method.ts +11 -7
  243. package/src/fee/private_fee_payment_method.ts +77 -57
  244. package/src/fee/public_fee_payment_method.ts +91 -67
  245. package/src/fee/sponsored_fee_payment.ts +44 -0
  246. package/src/utils/authwit.ts +255 -53
  247. package/src/utils/cross_chain.ts +53 -0
  248. package/src/utils/fee_juice.ts +4 -4
  249. package/src/utils/node.ts +1 -1
  250. package/src/utils/pub_key.ts +1 -2
  251. package/src/wallet/account_entrypoint_meta_payment_method.ts +105 -0
  252. package/src/wallet/account_manager.ts +154 -0
  253. package/src/wallet/base_wallet.ts +295 -143
  254. package/src/wallet/deploy_account_method.ts +125 -0
  255. package/src/wallet/index.ts +3 -33
  256. package/src/wallet/wallet.ts +362 -0
  257. package/dest/account/contract.d.ts.map +0 -1
  258. package/dest/account/wallet.d.ts +0 -11
  259. package/dest/account/wallet.d.ts.map +0 -1
  260. package/dest/account/wallet.js +0 -3
  261. package/dest/account_manager/deploy_account_method.d.ts +0 -15
  262. package/dest/account_manager/deploy_account_method.d.ts.map +0 -1
  263. package/dest/account_manager/deploy_account_method.js +0 -43
  264. package/dest/account_manager/deploy_account_sent_tx.d.ts +0 -30
  265. package/dest/account_manager/deploy_account_sent_tx.d.ts.map +0 -1
  266. package/dest/account_manager/deploy_account_sent_tx.js +0 -29
  267. package/dest/account_manager/index.d.ts +0 -108
  268. package/dest/account_manager/index.d.ts.map +0 -1
  269. package/dest/account_manager/index.js +0 -159
  270. package/dest/api/cheat_codes.d.ts +0 -26
  271. package/dest/api/cheat_codes.d.ts.map +0 -1
  272. package/dest/api/cheat_codes.js +0 -25
  273. package/dest/api/entrypoint.d.ts +0 -2
  274. package/dest/api/entrypoint.d.ts.map +0 -1
  275. package/dest/api/entrypoint.js +0 -1
  276. package/dest/api/ethereum/anvil_test_watcher.d.ts +0 -32
  277. package/dest/api/ethereum/anvil_test_watcher.d.ts.map +0 -1
  278. package/dest/api/ethereum/anvil_test_watcher.js +0 -133
  279. package/dest/api/ethereum/chain_monitor.d.ts +0 -25
  280. package/dest/api/ethereum/chain_monitor.d.ts.map +0 -1
  281. package/dest/api/ethereum/chain_monitor.js +0 -74
  282. package/dest/api/ethereum/cheat_codes.d.ts +0 -63
  283. package/dest/api/ethereum/cheat_codes.d.ts.map +0 -1
  284. package/dest/api/ethereum/cheat_codes.js +0 -162
  285. package/dest/api/ethereum/index.d.ts +0 -7
  286. package/dest/api/ethereum/index.d.ts.map +0 -1
  287. package/dest/api/ethereum/index.js +0 -6
  288. package/dest/api/ethereum/l1_contracts.d.ts +0 -3
  289. package/dest/api/ethereum/l1_contracts.d.ts.map +0 -1
  290. package/dest/api/ethereum/l1_contracts.js +0 -13
  291. package/dest/api/ethereum/portal_manager.d.ts.map +0 -1
  292. package/dest/api/interfaces/pxe.d.ts +0 -2
  293. package/dest/api/interfaces/pxe.d.ts.map +0 -1
  294. package/dest/api/interfaces/pxe.js +0 -1
  295. package/dest/api/log_id.d.ts +0 -2
  296. package/dest/api/log_id.d.ts.map +0 -1
  297. package/dest/api/log_id.js +0 -1
  298. package/dest/api/tx_hash.d.ts +0 -2
  299. package/dest/api/tx_hash.d.ts.map +0 -1
  300. package/dest/api/tx_hash.js +0 -1
  301. package/dest/contract/deploy_proven_tx.d.ts +0 -21
  302. package/dest/contract/deploy_proven_tx.d.ts.map +0 -1
  303. package/dest/contract/deploy_proven_tx.js +0 -19
  304. package/dest/contract/index.d.ts.map +0 -1
  305. package/dest/contract/proven_tx.d.ts +0 -17
  306. package/dest/contract/proven_tx.d.ts.map +0 -1
  307. package/dest/contract/proven_tx.js +0 -22
  308. package/dest/deployment/deploy_instance.d.ts +0 -10
  309. package/dest/deployment/deploy_instance.d.ts.map +0 -1
  310. package/dest/deployment/deploy_instance.js +0 -14
  311. package/dest/deployment/index.d.ts +0 -2
  312. package/dest/deployment/index.d.ts.map +0 -1
  313. package/dest/deployment/index.js +0 -1
  314. package/dest/deployment/register_class.d.ts +0 -6
  315. package/dest/deployment/register_class.d.ts.map +0 -1
  316. package/dest/deployment/register_class.js +0 -22
  317. package/dest/entrypoint/default_entrypoint.d.ts +0 -12
  318. package/dest/entrypoint/default_entrypoint.d.ts.map +0 -1
  319. package/dest/entrypoint/default_entrypoint.js +0 -28
  320. package/dest/entrypoint/default_multi_call_entrypoint.d.ts +0 -15
  321. package/dest/entrypoint/default_multi_call_entrypoint.d.ts.map +0 -1
  322. package/dest/entrypoint/default_multi_call_entrypoint.js +0 -130
  323. package/dest/entrypoint/entrypoint.d.ts +0 -35
  324. package/dest/entrypoint/entrypoint.d.ts.map +0 -1
  325. package/dest/entrypoint/entrypoint.js +0 -4
  326. package/dest/entrypoint/payload.d.ts +0 -128
  327. package/dest/entrypoint/payload.d.ts.map +0 -1
  328. package/dest/entrypoint/payload.js +0 -143
  329. package/dest/fee/fee_juice_payment_method.d.ts +0 -14
  330. package/dest/fee/fee_juice_payment_method.d.ts.map +0 -1
  331. package/dest/fee/fee_juice_payment_method.js +0 -20
  332. package/dest/index.d.ts +0 -66
  333. package/dest/index.d.ts.map +0 -1
  334. package/dest/index.js +0 -69
  335. package/dest/rpc_clients/index.d.ts +0 -3
  336. package/dest/rpc_clients/index.d.ts.map +0 -1
  337. package/dest/rpc_clients/index.js +0 -2
  338. package/dest/rpc_clients/node/index.d.ts +0 -12
  339. package/dest/rpc_clients/node/index.d.ts.map +0 -1
  340. package/dest/rpc_clients/node/index.js +0 -78
  341. package/dest/rpc_clients/pxe_client.d.ts +0 -10
  342. package/dest/rpc_clients/pxe_client.d.ts.map +0 -1
  343. package/dest/rpc_clients/pxe_client.js +0 -23
  344. package/dest/utils/aztec_cheatcodes.d.ts +0 -59
  345. package/dest/utils/aztec_cheatcodes.d.ts.map +0 -1
  346. package/dest/utils/aztec_cheatcodes.js +0 -62
  347. package/dest/utils/index.d.ts +0 -8
  348. package/dest/utils/index.d.ts.map +0 -1
  349. package/dest/utils/index.js +0 -6
  350. package/dest/utils/pxe.d.ts +0 -4
  351. package/dest/utils/pxe.d.ts.map +0 -1
  352. package/dest/utils/pxe.js +0 -14
  353. package/dest/wallet/account_wallet.d.ts +0 -76
  354. package/dest/wallet/account_wallet.d.ts.map +0 -1
  355. package/dest/wallet/account_wallet.js +0 -231
  356. package/dest/wallet/account_wallet_with_private_key.d.ts.map +0 -1
  357. package/dest/wallet/signerless_wallet.d.ts +0 -25
  358. package/dest/wallet/signerless_wallet.d.ts.map +0 -1
  359. package/dest/wallet/signerless_wallet.js +0 -36
  360. package/src/account/wallet.ts +0 -13
  361. package/src/account_manager/deploy_account_method.ts +0 -86
  362. package/src/account_manager/deploy_account_sent_tx.ts +0 -42
  363. package/src/account_manager/index.ts +0 -229
  364. package/src/api/cheat_codes.ts +0 -35
  365. package/src/api/entrypoint.ts +0 -1
  366. package/src/api/ethereum/anvil_test_watcher.ts +0 -158
  367. package/src/api/ethereum/chain_monitor.ts +0 -88
  368. package/src/api/ethereum/cheat_codes.ts +0 -184
  369. package/src/api/ethereum/index.ts +0 -19
  370. package/src/api/ethereum/l1_contracts.ts +0 -21
  371. package/src/api/interfaces/pxe.ts +0 -1
  372. package/src/api/log_id.ts +0 -1
  373. package/src/api/tx_hash.ts +0 -1
  374. package/src/contract/deploy_proven_tx.ts +0 -34
  375. package/src/contract/proven_tx.ts +0 -42
  376. package/src/deployment/deploy_instance.ts +0 -31
  377. package/src/deployment/index.ts +0 -1
  378. package/src/deployment/register_class.ts +0 -44
  379. package/src/entrypoint/default_entrypoint.ts +0 -39
  380. package/src/entrypoint/default_multi_call_entrypoint.ts +0 -93
  381. package/src/entrypoint/entrypoint.ts +0 -39
  382. package/src/entrypoint/payload.ts +0 -238
  383. package/src/fee/fee_juice_payment_method.ts +0 -26
  384. package/src/index.ts +0 -106
  385. package/src/rpc_clients/index.ts +0 -2
  386. package/src/rpc_clients/node/index.ts +0 -77
  387. package/src/rpc_clients/pxe_client.ts +0 -25
  388. package/src/utils/aztec_cheatcodes.ts +0 -77
  389. package/src/utils/index.ts +0 -21
  390. package/src/utils/pxe.ts +0 -17
  391. package/src/wallet/account_wallet.ts +0 -242
  392. package/src/wallet/signerless_wallet.ts +0 -52
@@ -1,19 +1,22 @@
1
- import type { ViemPublicClient, ViemWalletClient } from '@aztec/ethereum';
1
+ import type { ExtendedViemWalletClient, ViemContract } from '@aztec/ethereum';
2
2
  import { extractEvent } from '@aztec/ethereum/utils';
3
3
  import { sha256ToField } from '@aztec/foundation/crypto';
4
4
  import { EthAddress } from '@aztec/foundation/eth-address';
5
5
  import { Fr } from '@aztec/foundation/fields';
6
6
  import type { Logger } from '@aztec/foundation/log';
7
7
  import type { SiblingPath } from '@aztec/foundation/trees';
8
- import { FeeJuicePortalAbi, OutboxAbi, TestERC20Abi, TokenPortalAbi } from '@aztec/l1-artifacts';
8
+ import { FeeAssetHandlerAbi } from '@aztec/l1-artifacts/FeeAssetHandlerAbi';
9
+ import { FeeJuicePortalAbi } from '@aztec/l1-artifacts/FeeJuicePortalAbi';
10
+ import { OutboxAbi } from '@aztec/l1-artifacts/OutboxAbi';
11
+ import { TestERC20Abi } from '@aztec/l1-artifacts/TestERC20Abi';
12
+ import { TokenPortalAbi } from '@aztec/l1-artifacts/TokenPortalAbi';
9
13
  import type { AztecAddress } from '@aztec/stdlib/aztec-address';
10
- import { computeSecretHash } from '@aztec/stdlib/hash';
11
- import type { PXE } from '@aztec/stdlib/interfaces/client';
14
+ import { computeL2ToL1MessageHash, computeSecretHash } from '@aztec/stdlib/hash';
15
+ import type { AztecNode } from '@aztec/stdlib/interfaces/client';
16
+ import { getL2ToL1MessageLeafId } from '@aztec/stdlib/messaging';
12
17
 
13
- import { type GetContractReturnType, type Hex, getContract, toFunctionSelector } from 'viem';
18
+ import { type Hex, getContract, toFunctionSelector } from 'viem';
14
19
 
15
- // docs:start:claim_type
16
- // docs:start:claim_type_amount
17
20
  /** L1 to L2 message info to claim it on L2. */
18
21
  export type L2Claim = {
19
22
  /** Secret for claiming. */
@@ -25,11 +28,9 @@ export type L2Claim = {
25
28
  /** Leaf index in the L1 to L2 message tree. */
26
29
  messageLeafIndex: bigint;
27
30
  };
28
- // docs:end:claim_type
29
31
 
30
32
  /** L1 to L2 message info that corresponds to an amount to claim. */
31
33
  export type L2AmountClaim = L2Claim & { /** Amount to claim */ claimAmount: bigint };
32
- // docs:end:claim_type_amount
33
34
 
34
35
  /** L1 to L2 message info that corresponds to an amount to claim with associated recipient. */
35
36
  export type L2AmountClaimWithRecipient = L2AmountClaim & {
@@ -51,20 +52,39 @@ export async function generateClaimSecret(logger?: Logger): Promise<[Fr, Fr]> {
51
52
 
52
53
  /** Helper for managing an ERC20 on L1. */
53
54
  export class L1TokenManager {
54
- private contract: GetContractReturnType<typeof TestERC20Abi, ViemWalletClient>;
55
+ private contract: ViemContract<typeof TestERC20Abi>;
56
+ private handler: ViemContract<typeof FeeAssetHandlerAbi> | undefined;
55
57
 
56
58
  public constructor(
57
59
  /** Address of the ERC20 contract. */
58
- public readonly address: EthAddress,
59
- private publicClient: ViemPublicClient,
60
- private walletClient: ViemWalletClient,
60
+ public readonly tokenAddress: EthAddress,
61
+ /** Address of the handler/faucet contract. */
62
+ public readonly handlerAddress: EthAddress | undefined,
63
+ private readonly extendedClient: ExtendedViemWalletClient,
61
64
  private logger: Logger,
62
65
  ) {
63
66
  this.contract = getContract({
64
- address: this.address.toString(),
67
+ address: this.tokenAddress.toString(),
65
68
  abi: TestERC20Abi,
66
- client: this.walletClient,
69
+ client: this.extendedClient,
67
70
  });
71
+ if (this.handlerAddress) {
72
+ this.handler = getContract({
73
+ address: this.handlerAddress.toString(),
74
+ abi: FeeAssetHandlerAbi,
75
+ client: this.extendedClient,
76
+ });
77
+ }
78
+ }
79
+
80
+ /** Returns the amount of tokens available to mint via the handler.
81
+ * @throws if the handler is not provided.
82
+ */
83
+ public async getMintAmount() {
84
+ if (!this.handler) {
85
+ throw new Error('Minting handler was not provided');
86
+ }
87
+ return await this.handler.read.mintAmount();
68
88
  }
69
89
 
70
90
  /**
@@ -76,16 +96,18 @@ export class L1TokenManager {
76
96
  }
77
97
 
78
98
  /**
79
- * Mints tokens for the given address. Returns once the tx has been mined.
80
- * @param amount - Amount to mint.
99
+ * Mints a fixed amount of tokens for the given address. Returns once the tx has been mined.
81
100
  * @param address - Address to mint the tokens for.
82
101
  * @param addressName - Optional name of the address for logging.
83
102
  */
84
- public async mint(amount: bigint, address: Hex, addressName?: string) {
85
- this.logger.info(`Minting ${amount} tokens for ${stringifyEthAddress(address, addressName)}`);
86
- await this.publicClient.waitForTransactionReceipt({
87
- hash: await this.contract.write.mint([address, amount]),
88
- });
103
+ public async mint(address: Hex, addressName?: string) {
104
+ if (!this.handler) {
105
+ throw new Error('Minting handler was not provided');
106
+ }
107
+ const mintAmount = await this.getMintAmount();
108
+ this.logger.info(`Minting ${mintAmount} tokens for ${stringifyEthAddress(address, addressName)}`);
109
+ // NOTE: the handler mints a fixed amount.
110
+ await this.handler.write.mint([address]);
89
111
  }
90
112
 
91
113
  /**
@@ -96,7 +118,7 @@ export class L1TokenManager {
96
118
  */
97
119
  public async approve(amount: bigint, address: Hex, addressName = '') {
98
120
  this.logger.info(`Approving ${amount} tokens for ${stringifyEthAddress(address, addressName)}`);
99
- await this.publicClient.waitForTransactionReceipt({
121
+ await this.extendedClient.waitForTransactionReceipt({
100
122
  hash: await this.contract.write.approve([address, amount]),
101
123
  });
102
124
  }
@@ -105,20 +127,20 @@ export class L1TokenManager {
105
127
  /** Helper for interacting with the FeeJuicePortal on L1. */
106
128
  export class L1FeeJuicePortalManager {
107
129
  private readonly tokenManager: L1TokenManager;
108
- private readonly contract: GetContractReturnType<typeof FeeJuicePortalAbi, ViemWalletClient>;
130
+ private readonly contract: ViemContract<typeof FeeJuicePortalAbi>;
109
131
 
110
132
  constructor(
111
133
  portalAddress: EthAddress,
112
134
  tokenAddress: EthAddress,
113
- private readonly publicClient: ViemPublicClient,
114
- private readonly walletClient: ViemWalletClient,
135
+ handlerAddress: EthAddress,
136
+ private readonly extendedClient: ExtendedViemWalletClient,
115
137
  private readonly logger: Logger,
116
138
  ) {
117
- this.tokenManager = new L1TokenManager(tokenAddress, publicClient, walletClient, logger);
139
+ this.tokenManager = new L1TokenManager(tokenAddress, handlerAddress, extendedClient, logger);
118
140
  this.contract = getContract({
119
141
  address: portalAddress.toString(),
120
142
  abi: FeeJuicePortalAbi,
121
- client: this.walletClient,
143
+ client: extendedClient,
122
144
  });
123
145
  }
124
146
 
@@ -133,20 +155,25 @@ export class L1FeeJuicePortalManager {
133
155
  * @param amount - Amount of tokens to send.
134
156
  * @param mint - Whether to mint the tokens before sending (only during testing).
135
157
  */
136
- public async bridgeTokensPublic(to: AztecAddress, amount: bigint, mint = false): Promise<L2AmountClaim> {
158
+ public async bridgeTokensPublic(to: AztecAddress, amount: bigint | undefined, mint = false): Promise<L2AmountClaim> {
137
159
  const [claimSecret, claimSecretHash] = await generateClaimSecret();
160
+ const mintableAmount = await this.tokenManager.getMintAmount();
161
+ const amountToBridge = amount ?? mintableAmount;
138
162
  if (mint) {
139
- await this.tokenManager.mint(amount, this.walletClient.account.address);
163
+ if (amountToBridge !== mintableAmount) {
164
+ throw new Error(`Minting amount must be ${mintableAmount}`);
165
+ }
166
+ await this.tokenManager.mint(this.extendedClient.account.address);
140
167
  }
141
168
 
142
- await this.tokenManager.approve(amount, this.contract.address, 'FeeJuice Portal');
169
+ await this.tokenManager.approve(amountToBridge, this.contract.address, 'FeeJuice Portal');
143
170
 
144
171
  this.logger.info('Sending L1 Fee Juice to L2 to be claimed publicly');
145
- const args = [to.toString(), amount, claimSecretHash.toString()] as const;
172
+ const args = [to.toString(), amountToBridge, claimSecretHash.toString()] as const;
146
173
 
147
174
  await this.contract.simulate.depositToAztecPublic(args);
148
175
 
149
- const txReceipt = await this.publicClient.waitForTransactionReceipt({
176
+ const txReceipt = await this.extendedClient.waitForTransactionReceipt({
150
177
  hash: await this.contract.write.depositToAztecPublic(args),
151
178
  });
152
179
 
@@ -159,13 +186,13 @@ export class L1FeeJuicePortalManager {
159
186
  'DepositToAztecPublic',
160
187
  log =>
161
188
  log.args.secretHash === claimSecretHash.toString() &&
162
- log.args.amount === amount &&
189
+ log.args.amount === amountToBridge &&
163
190
  log.args.to === to.toString(),
164
191
  this.logger,
165
192
  );
166
193
 
167
194
  return {
168
- claimAmount: amount,
195
+ claimAmount: amountToBridge,
169
196
  claimSecret,
170
197
  claimSecretHash,
171
198
  messageHash: log.args.key,
@@ -175,46 +202,53 @@ export class L1FeeJuicePortalManager {
175
202
 
176
203
  /**
177
204
  * Creates a new instance
178
- * @param pxe - PXE client used for retrieving the L1 contract addresses.
179
- * @param publicClient - L1 public client.
180
- * @param walletClient - L1 wallet client.
205
+ * @param node - Aztec node client used for retrieving the L1 contract addresses.
206
+ * @param extendedClient - Wallet client, extended with public actions.
181
207
  * @param logger - Logger.
182
208
  */
183
209
  public static async new(
184
- pxe: PXE,
185
- publicClient: ViemPublicClient,
186
- walletClient: ViemWalletClient,
210
+ node: AztecNode,
211
+ extendedClient: ExtendedViemWalletClient,
187
212
  logger: Logger,
188
213
  ): Promise<L1FeeJuicePortalManager> {
189
214
  const {
190
- l1ContractAddresses: { feeJuiceAddress, feeJuicePortalAddress },
191
- } = await pxe.getNodeInfo();
215
+ l1ContractAddresses: { feeJuiceAddress, feeJuicePortalAddress, feeAssetHandlerAddress },
216
+ } = await node.getNodeInfo();
192
217
 
193
218
  if (feeJuiceAddress.isZero() || feeJuicePortalAddress.isZero()) {
194
219
  throw new Error('Portal or token not deployed on L1');
195
220
  }
221
+ if (!feeAssetHandlerAddress || feeAssetHandlerAddress.isZero()) {
222
+ throw new Error('Handler not deployed on L1, or handler address is zero');
223
+ }
196
224
 
197
- return new L1FeeJuicePortalManager(feeJuicePortalAddress, feeJuiceAddress, publicClient, walletClient, logger);
225
+ return new L1FeeJuicePortalManager(
226
+ feeJuicePortalAddress,
227
+ feeJuiceAddress,
228
+ feeAssetHandlerAddress,
229
+ extendedClient,
230
+ logger,
231
+ );
198
232
  }
199
233
  }
200
234
 
201
235
  /** Helper for interacting with a test TokenPortal on L1 for sending tokens to L2. */
202
236
  export class L1ToL2TokenPortalManager {
203
- protected readonly portal: GetContractReturnType<typeof TokenPortalAbi, ViemWalletClient>;
237
+ protected readonly portal: ViemContract<typeof TokenPortalAbi>;
204
238
  protected readonly tokenManager: L1TokenManager;
205
239
 
206
240
  constructor(
207
241
  portalAddress: EthAddress,
208
242
  tokenAddress: EthAddress,
209
- protected publicClient: ViemPublicClient,
210
- protected walletClient: ViemWalletClient,
243
+ handlerAddress: EthAddress | undefined,
244
+ protected extendedClient: ExtendedViemWalletClient,
211
245
  protected logger: Logger,
212
246
  ) {
213
- this.tokenManager = new L1TokenManager(tokenAddress, publicClient, walletClient, logger);
247
+ this.tokenManager = new L1TokenManager(tokenAddress, handlerAddress, extendedClient, logger);
214
248
  this.portal = getContract({
215
249
  address: portalAddress.toString(),
216
250
  abi: TokenPortalAbi,
217
- client: this.walletClient,
251
+ client: extendedClient,
218
252
  });
219
253
  }
220
254
 
@@ -239,8 +273,8 @@ export class L1ToL2TokenPortalManager {
239
273
  claimSecretHash.toString(),
240
274
  ]);
241
275
 
242
- const txReceipt = await this.publicClient.waitForTransactionReceipt({
243
- hash: await this.walletClient.writeContract(request),
276
+ const txReceipt = await this.extendedClient.waitForTransactionReceipt({
277
+ hash: await this.extendedClient.writeContract(request),
244
278
  });
245
279
 
246
280
  const log = extractEvent(
@@ -280,8 +314,8 @@ export class L1ToL2TokenPortalManager {
280
314
  this.logger.info('Sending L1 tokens to L2 to be claimed privately');
281
315
  const { request } = await this.portal.simulate.depositToAztecPrivate([amount, claimSecretHash.toString()]);
282
316
 
283
- const txReceipt = await this.publicClient.waitForTransactionReceipt({
284
- hash: await this.walletClient.writeContract(request),
317
+ const txReceipt = await this.extendedClient.waitForTransactionReceipt({
318
+ hash: await this.extendedClient.writeContract(request),
285
319
  });
286
320
 
287
321
  const log = extractEvent(
@@ -309,7 +343,11 @@ export class L1ToL2TokenPortalManager {
309
343
 
310
344
  private async bridgeSetup(amount: bigint, mint: boolean) {
311
345
  if (mint) {
312
- await this.tokenManager.mint(amount, this.walletClient.account.address);
346
+ const mintableAmount = await this.tokenManager.getMintAmount();
347
+ if (amount !== mintableAmount) {
348
+ throw new Error(`Minting amount must be ${mintableAmount} for testing`);
349
+ }
350
+ await this.tokenManager.mint(this.extendedClient.account.address);
313
351
  }
314
352
  await this.tokenManager.approve(amount, this.portal.address, 'TokenPortal');
315
353
  return generateClaimSecret();
@@ -318,21 +356,21 @@ export class L1ToL2TokenPortalManager {
318
356
 
319
357
  /** Helper for interacting with a test TokenPortal on L1 for both withdrawing from and bridging to L2. */
320
358
  export class L1TokenPortalManager extends L1ToL2TokenPortalManager {
321
- private readonly outbox: GetContractReturnType<typeof OutboxAbi, ViemWalletClient>;
359
+ private readonly outbox: ViemContract<typeof OutboxAbi>;
322
360
 
323
361
  constructor(
324
362
  portalAddress: EthAddress,
325
363
  tokenAddress: EthAddress,
364
+ handlerAddress: EthAddress | undefined,
326
365
  outboxAddress: EthAddress,
327
- publicClient: ViemPublicClient,
328
- walletClient: ViemWalletClient,
366
+ extendedClient: ExtendedViemWalletClient,
329
367
  logger: Logger,
330
368
  ) {
331
- super(portalAddress, tokenAddress, publicClient, walletClient, logger);
369
+ super(portalAddress, tokenAddress, handlerAddress, extendedClient, logger);
332
370
  this.outbox = getContract({
333
371
  address: outboxAddress.toString(),
334
372
  abi: OutboxAbi,
335
- client: walletClient,
373
+ client: extendedClient,
336
374
  });
337
375
  }
338
376
 
@@ -355,9 +393,12 @@ export class L1TokenPortalManager extends L1ToL2TokenPortalManager {
355
393
  `Sending L1 tx to consume message at block ${blockNumber} index ${messageIndex} to withdraw ${amount}`,
356
394
  );
357
395
 
358
- const isConsumedBefore = await this.outbox.read.hasMessageBeenConsumedAtBlockAndIndex([blockNumber, messageIndex]);
396
+ const messageLeafId = getL2ToL1MessageLeafId({ leafIndex: messageIndex, siblingPath });
397
+ const isConsumedBefore = await this.outbox.read.hasMessageBeenConsumedAtBlock([blockNumber, messageLeafId]);
359
398
  if (isConsumedBefore) {
360
- throw new Error(`L1 to L2 message at block ${blockNumber} index ${messageIndex} has already been consumed`);
399
+ throw new Error(
400
+ `L1 to L2 message at block ${blockNumber} index ${messageIndex} height ${siblingPath.pathSize} has already been consumed`,
401
+ );
361
402
  }
362
403
 
363
404
  // Call function on L1 contract to consume the message
@@ -370,11 +411,15 @@ export class L1TokenPortalManager extends L1ToL2TokenPortalManager {
370
411
  siblingPath.toBufferArray().map((buf: Buffer): Hex => `0x${buf.toString('hex')}`),
371
412
  ]);
372
413
 
373
- await this.publicClient.waitForTransactionReceipt({ hash: await this.walletClient.writeContract(withdrawRequest) });
414
+ await this.extendedClient.waitForTransactionReceipt({
415
+ hash: await this.extendedClient.writeContract(withdrawRequest),
416
+ });
374
417
 
375
- const isConsumedAfter = await this.outbox.read.hasMessageBeenConsumedAtBlockAndIndex([blockNumber, messageIndex]);
418
+ const isConsumedAfter = await this.outbox.read.hasMessageBeenConsumedAtBlock([blockNumber, messageLeafId]);
376
419
  if (!isConsumedAfter) {
377
- throw new Error(`L1 to L2 message at block ${blockNumber} index ${messageIndex} not consumed after withdrawal`);
420
+ throw new Error(
421
+ `L1 to L2 message at block ${blockNumber} index ${messageIndex} height ${siblingPath.pathSize} not consumed after withdrawal`,
422
+ );
378
423
  }
379
424
  }
380
425
 
@@ -385,26 +430,27 @@ export class L1TokenPortalManager extends L1ToL2TokenPortalManager {
385
430
  * @param l2Bridge - Address of the L2 bridge.
386
431
  * @param callerOnL1 - Caller address on L1.
387
432
  */
388
- public getL2ToL1MessageLeaf(
433
+ public async getL2ToL1MessageLeaf(
389
434
  amount: bigint,
390
435
  recipient: EthAddress,
391
436
  l2Bridge: AztecAddress,
392
437
  callerOnL1: EthAddress = EthAddress.ZERO,
393
- ): Fr {
438
+ ): Promise<Fr> {
439
+ const version = await this.outbox.read.VERSION();
440
+
394
441
  const content = sha256ToField([
395
442
  Buffer.from(toFunctionSelector('withdraw(address,uint256,address)').substring(2), 'hex'),
396
443
  recipient.toBuffer32(),
397
444
  new Fr(amount).toBuffer(),
398
445
  callerOnL1.toBuffer32(),
399
446
  ]);
400
- const leaf = sha256ToField([
401
- l2Bridge.toBuffer(),
402
- new Fr(1).toBuffer(), // aztec version
403
- EthAddress.fromString(this.portal.address).toBuffer32() ?? Buffer.alloc(32, 0),
404
- new Fr(this.publicClient.chain.id).toBuffer(), // chain id
405
- content.toBuffer(),
406
- ]);
407
447
 
408
- return leaf;
448
+ return computeL2ToL1MessageHash({
449
+ l2Sender: l2Bridge,
450
+ l1Recipient: EthAddress.fromString(this.portal.address),
451
+ content,
452
+ rollupVersion: new Fr(version),
453
+ chainId: new Fr(this.extendedClient.chain.id),
454
+ });
409
455
  }
410
456
  }
@@ -1,49 +1,62 @@
1
+ import { ExecutionPayload } from '@aztec/entrypoints/payload';
1
2
  import { Fr } from '@aztec/foundation/fields';
2
3
  import { ProtocolContractAddress } from '@aztec/protocol-contracts';
3
- import type { FunctionCall } from '@aztec/stdlib/abi';
4
4
  import { FunctionSelector, FunctionType } from '@aztec/stdlib/abi';
5
+ import type { AztecAddress } from '@aztec/stdlib/aztec-address';
6
+ import type { GasSettings } from '@aztec/stdlib/gas';
5
7
 
6
- import type { L2AmountClaim } from '../api/ethereum/portal_manager.js';
7
- import { getFeeJuice } from '../contract/protocol_contracts.js';
8
- import type { Wallet } from '../wallet/index.js';
9
- import { FeeJuicePaymentMethod } from './fee_juice_payment_method.js';
8
+ import type { L2AmountClaim } from '../ethereum/portal_manager.js';
9
+ import type { FeePaymentMethod } from './fee_payment_method.js';
10
10
 
11
11
  /**
12
- * Pay fee directly with Fee Juice claimed on the same tx.
12
+ * Pay fee directly with Fee Juice claimed in the same tx. Claiming consumes an L1 to L2 message that "contains"
13
+ * the fee juice bridged from L1.
13
14
  */
14
- export class FeeJuicePaymentMethodWithClaim extends FeeJuicePaymentMethod {
15
+ export class FeeJuicePaymentMethodWithClaim implements FeePaymentMethod {
15
16
  constructor(
16
- private senderWallet: Wallet,
17
+ private sender: AztecAddress,
17
18
  private claim: Pick<L2AmountClaim, 'claimAmount' | 'claimSecret' | 'messageLeafIndex'>,
18
- ) {
19
- super(senderWallet.getAddress());
20
- }
19
+ ) {}
21
20
 
22
21
  /**
23
- * Creates a function call to pay the fee in Fee Juice.
24
- * @returns A function call
22
+ * Creates an execution payload to pay the fee in Fee Juice.
23
+ * @returns An execution payload that just contains the `claim_and_end_setup` function call.
25
24
  */
26
- override async getFunctionCalls(): Promise<FunctionCall[]> {
27
- const canonicalFeeJuice = await getFeeJuice(this.senderWallet);
28
- const selector = await FunctionSelector.fromNameAndParameters(
29
- canonicalFeeJuice.artifact.functions.find(f => f.name === 'claim')!,
25
+ async getExecutionPayload(): Promise<ExecutionPayload> {
26
+ const selector = await FunctionSelector.fromSignature('claim_and_end_setup((Field),u128,Field,Field)');
27
+
28
+ return new ExecutionPayload(
29
+ [
30
+ {
31
+ to: ProtocolContractAddress.FeeJuice,
32
+ name: 'claim_and_end_setup',
33
+ selector,
34
+ hideMsgSender: false,
35
+ isStatic: false,
36
+ args: [
37
+ this.sender.toField(),
38
+ new Fr(this.claim.claimAmount),
39
+ this.claim.claimSecret,
40
+ new Fr(this.claim.messageLeafIndex),
41
+ ],
42
+ returnTypes: [],
43
+ type: FunctionType.PRIVATE,
44
+ },
45
+ ],
46
+ [],
47
+ [],
30
48
  );
49
+ }
50
+
51
+ getAsset() {
52
+ return Promise.resolve(ProtocolContractAddress.FeeJuice);
53
+ }
54
+
55
+ getFeePayer(): Promise<AztecAddress> {
56
+ return Promise.resolve(this.sender);
57
+ }
31
58
 
32
- return Promise.resolve([
33
- {
34
- to: ProtocolContractAddress.FeeJuice,
35
- name: 'claim',
36
- selector,
37
- isStatic: false,
38
- args: [
39
- this.senderWallet.getAddress().toField(),
40
- new Fr(this.claim.claimAmount),
41
- this.claim.claimSecret,
42
- new Fr(this.claim.messageLeafIndex),
43
- ],
44
- returnTypes: [],
45
- type: FunctionType.PRIVATE,
46
- },
47
- ]);
59
+ getGasSettings(): GasSettings | undefined {
60
+ return;
48
61
  }
49
62
  }
@@ -1,4 +1,4 @@
1
- import type { FunctionCall } from '@aztec/stdlib/abi';
1
+ import type { ExecutionPayload } from '@aztec/entrypoints/payload';
2
2
  import type { AztecAddress } from '@aztec/stdlib/aztec-address';
3
3
  import type { GasSettings } from '@aztec/stdlib/gas';
4
4
 
@@ -9,14 +9,18 @@ export interface FeePaymentMethod {
9
9
  /** The asset used to pay the fee. */
10
10
  getAsset(): Promise<AztecAddress>;
11
11
  /**
12
- * Creates a function call to pay the fee in the given asset.
13
- * @param gasSettings - The gas limits and max fees.
14
- * @returns The function call to pay the fee.
12
+ * Returns the data to be added to the final execution request
13
+ * to pay the fee in the given asset
14
+ * @returns The function calls to pay the fee.
15
15
  */
16
- getFunctionCalls(gasSettings: GasSettings): Promise<FunctionCall[]>;
16
+ getExecutionPayload(): Promise<ExecutionPayload>;
17
17
  /**
18
18
  * The expected fee payer for this tx.
19
- * @param gasSettings - The gas limits and max fees.
20
19
  */
21
- getFeePayer(gasSettings: GasSettings): Promise<AztecAddress>;
20
+ getFeePayer(): Promise<AztecAddress>;
21
+ /**
22
+ * The gas settings (if any) used to compute the
23
+ * execution payload of the payment method
24
+ */
25
+ getGasSettings(): GasSettings | undefined;
22
26
  }