@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,7 +1,7 @@
1
- import { type FunctionCall } from '@aztec/stdlib/abi';
2
- import type { AztecAddress } from '@aztec/stdlib/aztec-address';
1
+ import { ExecutionPayload } from '@aztec/entrypoints/payload';
2
+ import { AztecAddress } from '@aztec/stdlib/aztec-address';
3
3
  import type { GasSettings } from '@aztec/stdlib/gas';
4
- import type { Wallet } from '../account/wallet.js';
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
68
  //# sourceMappingURL=private_fee_payment_method.d.ts.map
@@ -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":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAG9D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGrD,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;;IAGxD;;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;IAGhC;;;OAGG;IACG,QAAQ,IAAI,OAAO,CAAC,YAAY,CAAC;IAyCvC,WAAW,IAAI,OAAO,CAAC,YAAY,CAAC;IAIpC;;;;OAIG;IACG,mBAAmB,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAsCtD,cAAc,IAAI,WAAW,GAAG,SAAS;CAG1C"}
@@ -1,35 +1,42 @@
1
+ import { ExecutionPayload } from '@aztec/entrypoints/payload';
1
2
  import { Fr } from '@aztec/foundation/fields';
2
- import { FunctionSelector, FunctionType } from '@aztec/stdlib/abi';
3
+ import { FunctionSelector, FunctionType, decodeFromAbi } from '@aztec/stdlib/abi';
4
+ import { AztecAddress } from '@aztec/stdlib/aztec-address';
3
5
  import { ContractFunctionInteraction } from '../contract/contract_function_interaction.js';
4
- import { SignerlessWallet } from '../wallet/signerless_wallet.js';
5
6
  /**
6
7
  * Holds information about how the fee for a transaction is to be paid.
7
8
  */ export class PrivateFeePaymentMethod {
8
9
  paymentContract;
10
+ sender;
9
11
  wallet;
12
+ gasSettings;
10
13
  setMaxFeeToOne;
11
14
  assetPromise;
12
15
  constructor(/**
13
16
  * Address which will hold the fee payment.
14
17
  */ paymentContract, /**
15
- * An auth witness provider to authorize fee payments
18
+ * Address of the account that will pay the fee
19
+ */ sender, /**
20
+ * A wallet to perform the simulation to get the accepted asset
16
21
  */ wallet, /**
22
+ * Gas settings used to compute the maximum fee the user is willing to pay
23
+ */ gasSettings, /**
17
24
  * If true, the max fee will be set to 1.
18
25
  * TODO(#7694): Remove this param once the lacking feature in TXE is implemented.
19
26
  */ setMaxFeeToOne = false){
20
27
  this.paymentContract = paymentContract;
28
+ this.sender = sender;
21
29
  this.wallet = wallet;
30
+ this.gasSettings = gasSettings;
22
31
  this.setMaxFeeToOne = setMaxFeeToOne;
23
32
  this.assetPromise = null;
24
33
  }
25
34
  /**
26
35
  * The asset used to pay the fee.
27
36
  * @returns The asset used to pay the fee.
28
- */ getAsset() {
37
+ */ async getAsset() {
29
38
  if (!this.assetPromise) {
30
- // We use signer-less wallet because this function could be triggered before the associated account is deployed.
31
- const signerlessWallet = new SignerlessWallet(this.wallet);
32
- const interaction = new ContractFunctionInteraction(signerlessWallet, this.paymentContract, {
39
+ const abi = {
33
40
  name: 'get_accepted_asset',
34
41
  functionType: FunctionType.PRIVATE,
35
42
  isInternal: false,
@@ -51,8 +58,16 @@ import { SignerlessWallet } from '../wallet/signerless_wallet.js';
51
58
  ],
52
59
  errorTypes: {},
53
60
  isInitializer: false
54
- }, []);
55
- this.assetPromise = interaction.simulate();
61
+ };
62
+ const interaction = new ContractFunctionInteraction(this.wallet, this.paymentContract, abi, []);
63
+ const executionPayload = await interaction.request();
64
+ this.assetPromise = this.wallet.simulateTx(executionPayload, {
65
+ from: AztecAddress.ZERO,
66
+ skipFeeEnforcement: true
67
+ }).then((simulationResult)=>{
68
+ const rawReturnValues = simulationResult.getPrivateReturnValues().nested[0].values;
69
+ return decodeFromAbi(abi.returnTypes, rawReturnValues);
70
+ });
56
71
  }
57
72
  return this.assetPromise;
58
73
  }
@@ -60,44 +75,51 @@ import { SignerlessWallet } from '../wallet/signerless_wallet.js';
60
75
  return Promise.resolve(this.paymentContract);
61
76
  }
62
77
  /**
63
- * Creates a function call to pay the fee in the given asset.
78
+ * Creates an execution payload to pay the fee using a private function through an FPC in the desired asset
64
79
  * @param gasSettings - The gas settings.
65
- * @returns The function call to pay the fee.
66
- */ async getFunctionCalls(gasSettings) {
80
+ * @returns An execution payload that contains the required function calls and auth witnesses.
81
+ */ async getExecutionPayload() {
67
82
  // We assume 1:1 exchange rate between fee juice and token. But in reality you would need to convert feeLimit
68
83
  // (maxFee) to be in token denomination.
69
- const maxFee = this.setMaxFeeToOne ? Fr.ONE : gasSettings.getFeeLimit();
70
- const nonce = Fr.random();
71
- await this.wallet.createAuthWit({
84
+ const maxFee = this.setMaxFeeToOne ? Fr.ONE : this.gasSettings.getFeeLimit();
85
+ const txNonce = Fr.random();
86
+ const witness = await this.wallet.createAuthWit(this.sender, {
72
87
  caller: this.paymentContract,
73
- action: {
88
+ call: {
74
89
  name: 'transfer_to_public',
75
90
  args: [
76
- this.wallet.getAddress().toField(),
91
+ this.sender.toField(),
77
92
  this.paymentContract.toField(),
78
93
  maxFee,
79
- nonce
94
+ txNonce
80
95
  ],
81
96
  selector: await FunctionSelector.fromSignature('transfer_to_public((Field),(Field),u128,Field)'),
82
97
  type: FunctionType.PRIVATE,
98
+ hideMsgSender: false,
83
99
  isStatic: false,
84
100
  to: await this.getAsset(),
85
101
  returnTypes: []
86
102
  }
87
103
  });
88
- return [
104
+ return new ExecutionPayload([
89
105
  {
90
106
  name: 'fee_entrypoint_private',
91
107
  to: this.paymentContract,
92
108
  selector: await FunctionSelector.fromSignature('fee_entrypoint_private(u128,Field)'),
93
109
  type: FunctionType.PRIVATE,
110
+ hideMsgSender: false,
94
111
  isStatic: false,
95
112
  args: [
96
113
  maxFee,
97
- nonce
114
+ txNonce
98
115
  ],
99
116
  returnTypes: []
100
117
  }
101
- ];
118
+ ], [
119
+ witness
120
+ ], []);
121
+ }
122
+ getGasSettings() {
123
+ return this.gasSettings;
102
124
  }
103
125
  }
@@ -1,7 +1,7 @@
1
- import type { FunctionCall } from '@aztec/stdlib/abi';
2
- import type { AztecAddress } from '@aztec/stdlib/aztec-address';
3
- import type { GasSettings } from '@aztec/stdlib/gas';
4
- import type { AccountWallet } from '../wallet/account_wallet.js';
1
+ import { ExecutionPayload } from '@aztec/entrypoints/payload';
2
+ import { AztecAddress } from '@aztec/stdlib/aztec-address';
3
+ import { GasSettings } from '@aztec/stdlib/gas';
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.
@@ -14,7 +14,15 @@ export declare class PublicFeePaymentMethod implements FeePaymentMethod {
14
14
  /**
15
15
  * An auth witness provider to authorize fee payments
16
16
  */
17
- protected wallet: AccountWallet;
17
+ protected sender: AztecAddress;
18
+ /**
19
+ * A wallet to perform the simulation to get the accepted asset
20
+ */
21
+ protected wallet: Wallet;
22
+ /**
23
+ * Gas settings used to compute the maximum fee the user is willing to pay
24
+ */
25
+ protected gasSettings: GasSettings;
18
26
  private assetPromise;
19
27
  constructor(
20
28
  /**
@@ -24,7 +32,15 @@ export declare class PublicFeePaymentMethod implements FeePaymentMethod {
24
32
  /**
25
33
  * An auth witness provider to authorize fee payments
26
34
  */
27
- wallet: AccountWallet);
35
+ sender: AztecAddress,
36
+ /**
37
+ * A wallet to perform the simulation to get the accepted asset
38
+ */
39
+ wallet: Wallet,
40
+ /**
41
+ * Gas settings used to compute the maximum fee the user is willing to pay
42
+ */
43
+ gasSettings: GasSettings);
28
44
  /**
29
45
  * The asset used to pay the fee.
30
46
  * @returns The asset used to pay the fee.
@@ -32,10 +48,11 @@ export declare class PublicFeePaymentMethod implements FeePaymentMethod {
32
48
  getAsset(): Promise<AztecAddress>;
33
49
  getFeePayer(): Promise<AztecAddress>;
34
50
  /**
35
- * Creates a function call to pay the fee in the given asset.
51
+ * Creates an execution payload to pay the fee using a public function through an FPC in the desired asset
36
52
  * @param gasSettings - The gas settings.
37
- * @returns The function call to pay the fee.
53
+ * @returns An execution payload that contains the required function calls.
38
54
  */
39
- getFunctionCalls(gasSettings: GasSettings): Promise<FunctionCall[]>;
55
+ getExecutionPayload(): Promise<ExecutionPayload>;
56
+ getGasSettings(): GasSettings | undefined;
40
57
  }
41
58
  //# sourceMappingURL=public_fee_payment_method.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"public_fee_payment_method.d.ts","sourceRoot":"","sources":["../../src/fee/public_fee_payment_method.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAEjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE;;GAEG;AACH,qBAAa,sBAAuB,YAAW,gBAAgB;IAI3D;;OAEG;IACH,SAAS,CAAC,eAAe,EAAE,YAAY;IACvC;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,aAAa;IAVjC,OAAO,CAAC,YAAY,CAAsC;;IAGxD;;OAEG;IACO,eAAe,EAAE,YAAY;IACvC;;OAEG;IACO,MAAM,EAAE,aAAa;IAGjC;;;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;CAiC1E"}
1
+ {"version":3,"file":"public_fee_payment_method.d.ts","sourceRoot":"","sources":["../../src/fee/public_fee_payment_method.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAG9D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAIhD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE;;GAEG;AACH,qBAAa,sBAAuB,YAAW,gBAAgB;IAI3D;;OAEG;IACH,SAAS,CAAC,eAAe,EAAE,YAAY;IACvC;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,YAAY;IAC9B;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM;IACxB;;OAEG;IACH,SAAS,CAAC,WAAW,EAAE,WAAW;IAlBpC,OAAO,CAAC,YAAY,CAAsC;;IAGxD;;OAEG;IACO,eAAe,EAAE,YAAY;IACvC;;OAEG;IACO,MAAM,EAAE,YAAY;IAC9B;;OAEG;IACO,MAAM,EAAE,MAAM;IACxB;;OAEG;IACO,WAAW,EAAE,WAAW;IAGpC;;;OAGG;IACG,QAAQ,IAAI,OAAO,CAAC,YAAY,CAAC;IAyCvC,WAAW,IAAI,OAAO,CAAC,YAAY,CAAC;IAIpC;;;;OAIG;IACG,mBAAmB,IAAI,OAAO,CAAC,gBAAgB,CAAC;IA4CtD,cAAc,IAAI,WAAW,GAAG,SAAS;CAG1C"}
@@ -1,30 +1,38 @@
1
+ import { ExecutionPayload } from '@aztec/entrypoints/payload';
1
2
  import { Fr } from '@aztec/foundation/fields';
2
- import { FunctionSelector, FunctionType } from '@aztec/stdlib/abi';
3
+ import { FunctionSelector, FunctionType, decodeFromAbi } from '@aztec/stdlib/abi';
4
+ import { AztecAddress } from '@aztec/stdlib/aztec-address';
3
5
  import { ContractFunctionInteraction } from '../contract/contract_function_interaction.js';
4
- import { SignerlessWallet } from '../wallet/signerless_wallet.js';
6
+ import { SetPublicAuthwitContractInteraction } from '../utils/authwit.js';
5
7
  /**
6
8
  * Holds information about how the fee for a transaction is to be paid.
7
9
  */ export class PublicFeePaymentMethod {
8
10
  paymentContract;
11
+ sender;
9
12
  wallet;
13
+ gasSettings;
10
14
  assetPromise;
11
15
  constructor(/**
12
16
  * Address which will hold the fee payment.
13
17
  */ paymentContract, /**
14
18
  * An auth witness provider to authorize fee payments
15
- */ wallet){
19
+ */ sender, /**
20
+ * A wallet to perform the simulation to get the accepted asset
21
+ */ wallet, /**
22
+ * Gas settings used to compute the maximum fee the user is willing to pay
23
+ */ gasSettings){
16
24
  this.paymentContract = paymentContract;
25
+ this.sender = sender;
17
26
  this.wallet = wallet;
27
+ this.gasSettings = gasSettings;
18
28
  this.assetPromise = null;
19
29
  }
20
30
  /**
21
31
  * The asset used to pay the fee.
22
32
  * @returns The asset used to pay the fee.
23
- */ getAsset() {
33
+ */ async getAsset() {
24
34
  if (!this.assetPromise) {
25
- // We use signer-less wallet because this function could be triggered before the associated account is deployed.
26
- const signerlessWallet = new SignerlessWallet(this.wallet);
27
- const interaction = new ContractFunctionInteraction(signerlessWallet, this.paymentContract, {
35
+ const abi = {
28
36
  name: 'get_accepted_asset',
29
37
  functionType: FunctionType.PRIVATE,
30
38
  isInternal: false,
@@ -46,8 +54,16 @@ import { SignerlessWallet } from '../wallet/signerless_wallet.js';
46
54
  ],
47
55
  errorTypes: {},
48
56
  isInitializer: false
49
- }, []);
50
- this.assetPromise = interaction.simulate();
57
+ };
58
+ const interaction = new ContractFunctionInteraction(this.wallet, this.paymentContract, abi, []);
59
+ const executionPayload = await interaction.request();
60
+ this.assetPromise = this.wallet.simulateTx(executionPayload, {
61
+ from: AztecAddress.ZERO,
62
+ skipFeeEnforcement: true
63
+ }).then((simulationResult)=>{
64
+ const rawReturnValues = simulationResult.getPrivateReturnValues().nested[0].values;
65
+ return decodeFromAbi(abi.returnTypes, rawReturnValues);
66
+ });
51
67
  }
52
68
  return this.assetPromise;
53
69
  }
@@ -55,43 +71,49 @@ import { SignerlessWallet } from '../wallet/signerless_wallet.js';
55
71
  return Promise.resolve(this.paymentContract);
56
72
  }
57
73
  /**
58
- * Creates a function call to pay the fee in the given asset.
74
+ * Creates an execution payload to pay the fee using a public function through an FPC in the desired asset
59
75
  * @param gasSettings - The gas settings.
60
- * @returns The function call to pay the fee.
61
- */ async getFunctionCalls(gasSettings) {
62
- const nonce = Fr.random();
63
- const maxFee = gasSettings.getFeeLimit();
64
- const setPublicAuthWitInteraction = await this.wallet.setPublicAuthWit({
76
+ * @returns An execution payload that contains the required function calls.
77
+ */ async getExecutionPayload() {
78
+ const txNonce = Fr.random();
79
+ const maxFee = this.gasSettings.getFeeLimit();
80
+ const intent = {
65
81
  caller: this.paymentContract,
66
- action: {
82
+ call: {
67
83
  name: 'transfer_in_public',
68
84
  args: [
69
- this.wallet.getAddress().toField(),
85
+ this.sender.toField(),
70
86
  this.paymentContract.toField(),
71
87
  maxFee,
72
- nonce
88
+ txNonce
73
89
  ],
74
90
  selector: await FunctionSelector.fromSignature('transfer_in_public((Field),(Field),u128,Field)'),
75
91
  type: FunctionType.PUBLIC,
76
92
  isStatic: false,
93
+ hideMsgSender: false,
77
94
  to: await this.getAsset(),
78
95
  returnTypes: []
79
96
  }
80
- }, true);
81
- return [
82
- await setPublicAuthWitInteraction.request(),
97
+ };
98
+ const setPublicAuthWitInteraction = await SetPublicAuthwitContractInteraction.create(this.wallet, this.sender, intent, true);
99
+ return new ExecutionPayload([
100
+ ...(await setPublicAuthWitInteraction.request()).calls,
83
101
  {
84
102
  name: 'fee_entrypoint_public',
85
103
  to: this.paymentContract,
86
104
  selector: await FunctionSelector.fromSignature('fee_entrypoint_public(u128,Field)'),
87
105
  type: FunctionType.PRIVATE,
106
+ hideMsgSender: false,
88
107
  isStatic: false,
89
108
  args: [
90
109
  maxFee,
91
- nonce
110
+ txNonce
92
111
  ],
93
112
  returnTypes: []
94
113
  }
95
- ];
114
+ ], [], []);
115
+ }
116
+ getGasSettings() {
117
+ return this.gasSettings;
96
118
  }
97
119
  }
@@ -0,0 +1,17 @@
1
+ import type { FeePaymentMethod } from '@aztec/aztec.js/fee';
2
+ import { ExecutionPayload } from '@aztec/entrypoints/payload';
3
+ import { AztecAddress } from '@aztec/stdlib/aztec-address';
4
+ import type { GasSettings } from '@aztec/stdlib/gas';
5
+ /**
6
+ * A fee payment method that uses a contract that blindly sponsors transactions.
7
+ * This contract is expected to be prefunded in testing environments.
8
+ */
9
+ export declare class SponsoredFeePaymentMethod implements FeePaymentMethod {
10
+ private paymentContract;
11
+ constructor(paymentContract: AztecAddress);
12
+ getAsset(): Promise<AztecAddress>;
13
+ getFeePayer(): Promise<AztecAddress>;
14
+ getExecutionPayload(): Promise<ExecutionPayload>;
15
+ getGasSettings(): GasSettings | undefined;
16
+ }
17
+ //# sourceMappingURL=sponsored_fee_payment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sponsored_fee_payment.d.ts","sourceRoot":"","sources":["../../src/fee/sponsored_fee_payment.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE9D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD;;;GAGG;AACH,qBAAa,yBAA0B,YAAW,gBAAgB;IACpD,OAAO,CAAC,eAAe;gBAAf,eAAe,EAAE,YAAY;IAEjD,QAAQ,IAAI,OAAO,CAAC,YAAY,CAAC;IAIjC,WAAW;IAIL,mBAAmB,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAmBtD,cAAc,IAAI,WAAW,GAAG,SAAS;CAG1C"}
@@ -0,0 +1,34 @@
1
+ import { ExecutionPayload } from '@aztec/entrypoints/payload';
2
+ import { FunctionSelector, FunctionType } from '@aztec/stdlib/abi';
3
+ /**
4
+ * A fee payment method that uses a contract that blindly sponsors transactions.
5
+ * This contract is expected to be prefunded in testing environments.
6
+ */ export class SponsoredFeePaymentMethod {
7
+ paymentContract;
8
+ constructor(paymentContract){
9
+ this.paymentContract = paymentContract;
10
+ }
11
+ getAsset() {
12
+ throw new Error('Asset is not required for sponsored fpc.');
13
+ }
14
+ getFeePayer() {
15
+ return Promise.resolve(this.paymentContract);
16
+ }
17
+ async getExecutionPayload() {
18
+ return new ExecutionPayload([
19
+ {
20
+ name: 'sponsor_unconditionally',
21
+ to: this.paymentContract,
22
+ selector: await FunctionSelector.fromSignature('sponsor_unconditionally()'),
23
+ type: FunctionType.PRIVATE,
24
+ hideMsgSender: false,
25
+ isStatic: false,
26
+ args: [],
27
+ returnTypes: []
28
+ }
29
+ ], [], []);
30
+ }
31
+ getGasSettings() {
32
+ return;
33
+ }
34
+ }
@@ -1,5 +1,3 @@
1
- /// <reference types="node" resolution-mode="require"/>
2
- /// <reference types="node" resolution-mode="require"/>
3
1
  import type { EthAddress } from '@aztec/foundation/eth-address';
4
2
  import type { Fr } from '@aztec/foundation/fields';
5
3
  import type { EventSelector, FunctionSelector } from '@aztec/stdlib/abi';
@@ -1 +1 @@
1
- {"version":3,"file":"abi_types.d.ts","sourceRoot":"","sources":["../../src/utils/abi_types.ts"],"names":[],"mappings":";;AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAEhE,uEAAuE;AACvE,MAAM,MAAM,SAAS,GAAG,EAAE,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG;IAA2B,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAEvG,yEAAyE;AACzE,MAAM,MAAM,cAAc,GAAG;IAAyB,OAAO,EAAE,SAAS,CAAA;CAAE,GAAG,UAAU,CAAC;AAExF,2EAA2E;AAC3E,MAAM,MAAM,gBAAgB,GAAG;IAAyB,OAAO,EAAE,SAAS,CAAA;CAAE,GAAG,YAAY,CAAC;AAE5F,8EAA8E;AAC9E,MAAM,MAAM,oBAAoB,GAAG,SAAS,GAAG,gBAAgB,CAAC;AAEhE,4EAA4E;AAC5E,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,aAAa,CAAC;AAE1D,kDAAkD;AAClD,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;AAEvC,gFAAgF;AAChF,MAAM,MAAM,gBAAgB,GAAG;IAAuB,KAAK,EAAE,SAAS,CAAA;CAAE,GAAG,SAAS,CAAC"}
1
+ {"version":3,"file":"abi_types.d.ts","sourceRoot":"","sources":["../../src/utils/abi_types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAEhE,uEAAuE;AACvE,MAAM,MAAM,SAAS,GAAG,EAAE,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG;IAA2B,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAEvG,yEAAyE;AACzE,MAAM,MAAM,cAAc,GAAG;IAAyB,OAAO,EAAE,SAAS,CAAA;CAAE,GAAG,UAAU,CAAC;AAExF,2EAA2E;AAC3E,MAAM,MAAM,gBAAgB,GAAG;IAAyB,OAAO,EAAE,SAAS,CAAA;CAAE,GAAG,YAAY,CAAC;AAE5F,8EAA8E;AAC9E,MAAM,MAAM,oBAAoB,GAAG,SAAS,GAAG,gBAAgB,CAAC;AAEhE,4EAA4E;AAC5E,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,aAAa,CAAC;AAE1D,kDAAkD;AAClD,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;AAEvC,gFAAgF;AAChF,MAAM,MAAM,gBAAgB,GAAG;IAAuB,KAAK,EAAE,SAAS,CAAA;CAAE,GAAG,SAAS,CAAC"}
@@ -1,29 +1,33 @@
1
- /// <reference types="node" resolution-mode="require"/>
2
- /// <reference types="node" resolution-mode="require"/>
1
+ import type { ChainInfo } from '@aztec/entrypoints/interfaces';
3
2
  import { Fr } from '@aztec/foundation/fields';
4
- import type { FunctionCall } from '@aztec/stdlib/abi';
3
+ import { type FunctionCall } from '@aztec/stdlib/abi';
4
+ import { AuthWitness } from '@aztec/stdlib/auth-witness';
5
5
  import type { AztecAddress } from '@aztec/stdlib/aztec-address';
6
+ import type { TxProfileResult } from '@aztec/stdlib/tx';
6
7
  import { ContractFunctionInteraction } from '../contract/contract_function_interaction.js';
7
- /** Metadata for the intent */
8
- export type IntentMetadata = {
9
- /** The chain id to approve */
10
- chainId: Fr;
11
- /** The version to approve */
12
- version: Fr;
13
- };
8
+ import type { ProfileInteractionOptions, SendInteractionOptions, SimulateInteractionOptions, SimulationReturn } from '../contract/interaction_options.js';
9
+ import type { SentTx } from '../contract/sent_tx.js';
10
+ import type { Wallet } from '../wallet/index.js';
14
11
  /** Intent with an inner hash */
15
12
  export type IntentInnerHash = {
16
13
  /** The consumer */
17
14
  consumer: AztecAddress;
18
15
  /** The action to approve */
19
- innerHash: Buffer | Fr;
16
+ innerHash: Buffer<ArrayBuffer> | Fr;
17
+ };
18
+ /** Intent with a call */
19
+ export type CallIntent = {
20
+ /** The caller to approve */
21
+ caller: AztecAddress;
22
+ /** The call to approve */
23
+ call: FunctionCall;
20
24
  };
21
- /** Intent with an action */
22
- export type IntentAction = {
25
+ /** Intent with a ContractFunctionInteraction */
26
+ export type ContractFunctionInteractionCallIntent = {
23
27
  /** The caller to approve */
24
28
  caller: AztecAddress;
25
29
  /** The action to approve */
26
- action: ContractFunctionInteraction | FunctionCall;
30
+ action: ContractFunctionInteraction;
27
31
  };
28
32
  /**
29
33
  * Compute an authentication witness message hash from an intent and metadata
@@ -35,7 +39,7 @@ export type IntentAction = {
35
39
  * and use it for the authentication check.
36
40
  * Therefore, any allowed `innerHash` will therefore also have information around where it can be spent (version, chainId) and who can spend it (consumer).
37
41
  *
38
- * If using the `IntentAction`, the caller is the address that is making the call, for a token approval from Alice to Bob, this would be Bob.
42
+ * If using the `CallIntent`, the caller is the address that is making the call, for a token approval from Alice to Bob, this would be Bob.
39
43
  * The action is then used along with the `caller` to compute the `innerHash` and the consumer.
40
44
  *
41
45
  *
@@ -46,15 +50,68 @@ export type IntentAction = {
46
50
  * @param metadata - The metadata for the intent (chainId, version)
47
51
  * @returns The message hash for the action
48
52
  */
49
- export declare const computeAuthWitMessageHash: (intent: IntentInnerHash | IntentAction, metadata: IntentMetadata) => Promise<Fr>;
50
- export declare const computeInnerAuthWitHashFromAction: (caller: AztecAddress, action: FunctionCall) => Promise<Fr>;
53
+ export declare const computeAuthWitMessageHash: (intent: IntentInnerHash | CallIntent | ContractFunctionInteractionCallIntent, metadata: ChainInfo) => Promise<Fr>;
54
+ /**
55
+ * Compute an authentication witness message hash from an intent and metadata. This is just
56
+ * a wrapper around computeAuthwitMessageHash that allows receiving an already computed messageHash as input
57
+ * @param messageHashOrIntent - The precomputed messageHash or intent to approve (consumer and innerHash or caller and call/action)
58
+ * @param metadata - The metadata for the intent (chainId, version)
59
+ * @returns The message hash for the intent
60
+ */
61
+ export declare function getMessageHashFromIntent(messageHashOrIntent: Fr | Buffer | IntentInnerHash | CallIntent | ContractFunctionInteractionCallIntent, chainInfo: ChainInfo): Promise<Fr>;
62
+ /**
63
+ * Computes the inner authwitness hash for either a function call or an action, for it to later be combined with the metadata
64
+ * required for the outer hash and eventually the full AuthWitness.
65
+ * @param caller - Who is going to be calling the function
66
+ * @param action - The action to compute the inner hash from
67
+ * @returns The inner hash for the action
68
+ **/
69
+ export declare const computeInnerAuthWitHashFromAction: (caller: AztecAddress, action: FunctionCall | ContractFunctionInteraction) => Promise<Fr>;
70
+ /**
71
+ * Lookup the validity of an authwit in private and public contexts.
72
+ *
73
+ * Uses the chain id and version of the wallet.
74
+ *
75
+ * @param wallet - The wallet use to simulate and read the public data
76
+ * @param onBehalfOf - The address of the "approver"
77
+ * @param intent - The consumer and inner hash or the caller and action to lookup
78
+ * @param witness - The computed authentication witness to check
79
+ * @returns - A struct containing the validity of the authwit in private and public contexts.
80
+ */
81
+ export declare function lookupValidity(wallet: Wallet, onBehalfOf: AztecAddress, intent: IntentInnerHash | CallIntent | ContractFunctionInteractionCallIntent, witness: AuthWitness): Promise<{
82
+ /** boolean flag indicating if the authwit is valid in private context */
83
+ isValidInPrivate: boolean;
84
+ /** boolean flag indicating if the authwit is valid in public context */
85
+ isValidInPublic: boolean;
86
+ }>;
51
87
  /**
52
- * Compute the inner hash for an authentication witness.
53
- * This is the "intent" of the message, before siloed with the consumer.
54
- * It is used as part of the `computeAuthWitMessageHash` but can also be used
55
- * in case the message is not a "call" to a function, but arbitrary data.
56
- * @param args - The arguments to hash
57
- * @returns The inner hash for the witness
88
+ * Convenience class designed to wrap the very common interaction of setting a public authwit in the AuthRegistry contract
58
89
  */
59
- export declare const computeInnerAuthWitHash: (args: Fr[]) => Promise<Fr>;
90
+ export declare class SetPublicAuthwitContractInteraction extends ContractFunctionInteraction {
91
+ private from;
92
+ private constructor();
93
+ static create(wallet: Wallet, from: AztecAddress, messageHashOrIntent: Fr | Buffer | IntentInnerHash | CallIntent | ContractFunctionInteractionCallIntent, authorized: boolean): Promise<SetPublicAuthwitContractInteraction>;
94
+ /**
95
+ * Overrides the simulate method, adding the sender of the authwit (authorizer) as from
96
+ * and preventing misuse
97
+ * @param options - An optional object containing additional configuration for the transaction.
98
+ * @returns The result of the transaction as returned by the contract function.
99
+ */
100
+ simulate<T extends SimulateInteractionOptions>(options: Omit<T, 'from'>): Promise<SimulationReturn<T['includeMetadata']>>;
101
+ /**
102
+ * Overrides the profile method, adding the sender of the authwit (authorizer) as from
103
+ * and preventing misuse
104
+ * @param options - Same options as `simulate`, plus profiling method
105
+ * @returns An object containing the function return value and profile result.
106
+ */
107
+ profile(options?: Omit<ProfileInteractionOptions, 'from'>): Promise<TxProfileResult>;
108
+ /**
109
+ * Overrides the send method, adding the sender of the authwit (authorizer) as from
110
+ * and preventing misuse
111
+ * @param options - An optional object containing 'fee' options information
112
+ * @returns A SentTx instance for tracking the transaction status and information.
113
+ */
114
+ send(options?: Omit<SendInteractionOptions, 'from'>): SentTx;
115
+ private static getSetAuthorizedAbi;
116
+ }
60
117
  //# sourceMappingURL=authwit.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"authwit.d.ts","sourceRoot":"","sources":["../../src/utils/authwit.ts"],"names":[],"mappings":";;AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAGhE,OAAO,EAAE,2BAA2B,EAAE,MAAM,8CAA8C,CAAC;AAE3F,8BAA8B;AAC9B,MAAM,MAAM,cAAc,GAAG;IAC3B,8BAA8B;IAC9B,OAAO,EAAE,EAAE,CAAC;IACZ,8BAA8B;IAC9B,OAAO,EAAE,EAAE,CAAC;CACb,CAAC;AAEF,gCAAgC;AAChC,MAAM,MAAM,eAAe,GAAG;IAC5B,qBAAqB;IACrB,QAAQ,EAAE,YAAY,CAAC;IACvB,4BAA4B;IAC5B,SAAS,EAAE,MAAM,GAAG,EAAE,CAAC;CACxB,CAAC;AAEF,4BAA4B;AAC5B,MAAM,MAAM,YAAY,GAAG;IACzB,6BAA6B;IAC7B,MAAM,EAAE,YAAY,CAAC;IACrB,4BAA4B;IAC5B,MAAM,EAAE,2BAA2B,GAAG,YAAY,CAAC;CACpD,CAAC;AAGF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,yBAAyB,WAAkB,eAAe,GAAG,YAAY,YAAY,cAAc,gBAgB/G,CAAC;AAGF,eAAO,MAAM,iCAAiC,WAAkB,YAAY,UAAU,YAAY,gBAK9F,CAAC;AAEL;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB,SAAU,EAAE,EAAE,gBAEjD,CAAC"}
1
+ {"version":3,"file":"authwit.d.ts","sourceRoot":"","sources":["../../src/utils/authwit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,EAAiD,KAAK,YAAY,EAAgB,MAAM,mBAAmB,CAAC;AACnH,OAAO,EAAE,WAAW,EAAoD,MAAM,4BAA4B,CAAC;AAC3G,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAEhE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAExD,OAAO,EAAE,2BAA2B,EAAE,MAAM,8CAA8C,CAAC;AAC3F,OAAO,KAAK,EACV,yBAAyB,EACzB,sBAAsB,EACtB,0BAA0B,EAC1B,gBAAgB,EACjB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAEjD,gCAAgC;AAChC,MAAM,MAAM,eAAe,GAAG;IAC5B,qBAAqB;IACrB,QAAQ,EAAE,YAAY,CAAC;IACvB,4BAA4B;IAC5B,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;CACrC,CAAC;AAEF,yBAAyB;AACzB,MAAM,MAAM,UAAU,GAAG;IACvB,6BAA6B;IAC7B,MAAM,EAAE,YAAY,CAAC;IACrB,0BAA0B;IAC1B,IAAI,EAAE,YAAY,CAAC;CACpB,CAAC;AAEF,gDAAgD;AAChD,MAAM,MAAM,qCAAqC,GAAG;IAClD,6BAA6B;IAC7B,MAAM,EAAE,YAAY,CAAC;IACrB,4BAA4B;IAC5B,MAAM,EAAE,2BAA2B,CAAC;CACrC,CAAC;AAaF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,yBAAyB,GACpC,QAAQ,eAAe,GAAG,UAAU,GAAG,qCAAqC,EAC5E,UAAU,SAAS,gBAiBpB,CAAC;AAEF;;;;;;GAMG;AACH,wBAAsB,wBAAwB,CAC5C,mBAAmB,EAAE,EAAE,GAAG,MAAM,GAAG,eAAe,GAAG,UAAU,GAAG,qCAAqC,EACvG,SAAS,EAAE,SAAS,eAYrB;AAED;;;;;;IAMI;AACJ,eAAO,MAAM,iCAAiC,GAC5C,QAAQ,YAAY,EACpB,QAAQ,YAAY,GAAG,2BAA2B,gBAInD,CAAC;AAEF;;;;;;;;;;GAUG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,YAAY,EACxB,MAAM,EAAE,eAAe,GAAG,UAAU,GAAG,qCAAqC,EAC5E,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC;IACT,yEAAyE;IACzE,gBAAgB,EAAE,OAAO,CAAC;IAC1B,wEAAwE;IACxE,eAAe,EAAE,OAAO,CAAC;CAC1B,CAAC,CAkED;AAED;;GAEG;AACH,qBAAa,mCAAoC,SAAQ,2BAA2B;IAGhF,OAAO,CAAC,IAAI;IAFd,OAAO;WAYM,MAAM,CACjB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,YAAY,EAClB,mBAAmB,EAAE,EAAE,GAAG,MAAM,GAAG,eAAe,GAAG,UAAU,GAAG,qCAAqC,EACvG,UAAU,EAAE,OAAO;IAOrB;;;;;OAKG;IACa,QAAQ,CAAC,CAAC,SAAS,0BAA0B,EAC3D,OAAO,EAAE,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,GACvB,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAQlD;;;;;OAKG;IACa,OAAO,CACrB,OAAO,GAAE,IAAI,CAAC,yBAAyB,EAAE,MAAM,CAA4B,GAC1E,OAAO,CAAC,eAAe,CAAC;IAI3B;;;;;OAKG;IACa,IAAI,CAAC,OAAO,GAAE,IAAI,CAAC,sBAAsB,EAAE,MAAM,CAAM,GAAG,MAAM;IAIhF,OAAO,CAAC,MAAM,CAAC,mBAAmB;CAuBnC"}