@aztec/aztec.js 0.0.0-test.0 → 0.0.1-commit.023c3e5

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 (450) hide show
  1. package/README.md +1 -1
  2. package/dest/account/account.d.ts +44 -0
  3. package/dest/account/account.d.ts.map +1 -0
  4. package/dest/account/account.js +31 -0
  5. package/dest/account/account_contract.d.ts +42 -0
  6. package/dest/account/account_contract.d.ts.map +1 -0
  7. package/dest/account/{contract.js → account_contract.js} +7 -4
  8. package/dest/account/account_with_secret_key.d.ts +36 -0
  9. package/dest/account/account_with_secret_key.d.ts.map +1 -0
  10. package/dest/{wallet/account_wallet_with_private_key.js → account/account_with_secret_key.js} +22 -5
  11. package/dest/account/index.d.ts +6 -9
  12. package/dest/account/index.d.ts.map +1 -1
  13. package/dest/account/index.js +4 -6
  14. package/dest/account/signerless_account.d.ts +22 -0
  15. package/dest/account/signerless_account.d.ts.map +1 -0
  16. package/dest/account/signerless_account.js +24 -0
  17. package/dest/api/abi.d.ts +3 -2
  18. package/dest/api/abi.d.ts.map +1 -1
  19. package/dest/api/abi.js +1 -1
  20. package/dest/api/account.d.ts +5 -3
  21. package/dest/api/account.d.ts.map +1 -1
  22. package/dest/api/account.js +3 -2
  23. package/dest/api/addresses.d.ts +2 -1
  24. package/dest/api/addresses.d.ts.map +1 -1
  25. package/dest/api/addresses.js +1 -0
  26. package/dest/api/authorization.d.ts +5 -0
  27. package/dest/api/authorization.d.ts.map +1 -0
  28. package/dest/api/authorization.js +4 -0
  29. package/dest/api/block.d.ts +3 -0
  30. package/dest/api/block.d.ts.map +1 -0
  31. package/dest/api/block.js +2 -0
  32. package/dest/api/contract.d.ts +55 -0
  33. package/dest/api/contract.d.ts.map +1 -0
  34. package/dest/api/contract.js +53 -0
  35. package/dest/api/crypto.d.ts +2 -0
  36. package/dest/api/crypto.d.ts.map +1 -0
  37. package/dest/api/crypto.js +1 -0
  38. package/dest/api/deployment.d.ts +5 -4
  39. package/dest/api/deployment.d.ts.map +1 -1
  40. package/dest/api/deployment.js +4 -3
  41. package/dest/api/eth_address.d.ts +1 -1
  42. package/dest/api/ethereum.d.ts +2 -0
  43. package/dest/api/ethereum.d.ts.map +1 -0
  44. package/dest/api/ethereum.js +1 -0
  45. package/dest/api/events.d.ts +12 -0
  46. package/dest/api/events.d.ts.map +1 -0
  47. package/dest/api/events.js +30 -0
  48. package/dest/api/fee.d.ts +2 -2
  49. package/dest/api/fee.d.ts.map +1 -1
  50. package/dest/api/fee.js +1 -1
  51. package/dest/api/fee_testing.d.ts +2 -0
  52. package/dest/api/fee_testing.d.ts.map +1 -0
  53. package/dest/api/fee_testing.js +1 -0
  54. package/dest/api/fields.d.ts +3 -2
  55. package/dest/api/fields.d.ts.map +1 -1
  56. package/dest/api/fields.js +2 -1
  57. package/dest/api/keys.d.ts +4 -0
  58. package/dest/api/keys.d.ts.map +1 -0
  59. package/dest/api/keys.js +3 -0
  60. package/dest/api/log.d.ts +2 -1
  61. package/dest/api/log.d.ts.map +1 -1
  62. package/dest/api/log.js +1 -0
  63. package/dest/api/messaging.d.ts +3 -0
  64. package/dest/api/messaging.d.ts.map +1 -0
  65. package/dest/api/messaging.js +2 -0
  66. package/dest/api/node.d.ts +25 -0
  67. package/dest/api/node.d.ts.map +1 -0
  68. package/dest/api/node.js +22 -0
  69. package/dest/api/note.d.ts +2 -0
  70. package/dest/api/note.d.ts.map +1 -0
  71. package/dest/api/note.js +1 -0
  72. package/dest/api/protocol.d.ts +9 -0
  73. package/dest/api/protocol.d.ts.map +1 -0
  74. package/dest/api/protocol.js +8 -0
  75. package/dest/api/trees.d.ts +3 -0
  76. package/dest/api/trees.d.ts.map +1 -0
  77. package/dest/api/trees.js +2 -0
  78. package/dest/api/tx.d.ts +2 -0
  79. package/dest/api/tx.d.ts.map +1 -0
  80. package/dest/api/tx.js +1 -0
  81. package/dest/api/utils.d.ts +13 -0
  82. package/dest/api/utils.d.ts.map +1 -0
  83. package/dest/api/utils.js +12 -0
  84. package/dest/api/wallet.d.ts +5 -2
  85. package/dest/api/wallet.d.ts.map +1 -1
  86. package/dest/api/wallet.js +4 -1
  87. package/dest/authorization/call_authorization_request.d.ts +67 -0
  88. package/dest/authorization/call_authorization_request.d.ts.map +1 -0
  89. package/dest/authorization/call_authorization_request.js +49 -0
  90. package/dest/contract/base_contract_interaction.d.ts +18 -84
  91. package/dest/contract/base_contract_interaction.d.ts.map +1 -1
  92. package/dest/contract/base_contract_interaction.js +11 -136
  93. package/dest/contract/batch_call.d.ts +19 -21
  94. package/dest/contract/batch_call.d.ts.map +1 -1
  95. package/dest/contract/batch_call.js +89 -69
  96. package/dest/contract/checker.d.ts +2 -2
  97. package/dest/contract/checker.d.ts.map +1 -1
  98. package/dest/contract/checker.js +2 -2
  99. package/dest/contract/contract.d.ts +9 -8
  100. package/dest/contract/contract.d.ts.map +1 -1
  101. package/dest/contract/contract.js +10 -20
  102. package/dest/contract/contract_base.d.ts +8 -18
  103. package/dest/contract/contract_base.d.ts.map +1 -1
  104. package/dest/contract/contract_base.js +7 -14
  105. package/dest/contract/contract_function_interaction.d.ts +53 -45
  106. package/dest/contract/contract_function_interaction.d.ts.map +1 -1
  107. package/dest/contract/contract_function_interaction.js +78 -74
  108. package/dest/contract/deploy_method.d.ts +155 -62
  109. package/dest/contract/deploy_method.d.ts.map +1 -1
  110. package/dest/contract/deploy_method.js +152 -142
  111. package/dest/contract/get_gas_limits.d.ts +6 -7
  112. package/dest/contract/get_gas_limits.d.ts.map +1 -1
  113. package/dest/contract/get_gas_limits.js +9 -3
  114. package/dest/contract/interaction_options.d.ts +151 -0
  115. package/dest/contract/interaction_options.d.ts.map +1 -0
  116. package/dest/contract/interaction_options.js +53 -0
  117. package/dest/contract/protocol_contracts/auth-registry.d.ts +27 -0
  118. package/dest/contract/protocol_contracts/auth-registry.d.ts.map +1 -0
  119. package/dest/contract/protocol_contracts/auth-registry.js +558 -0
  120. package/dest/contract/protocol_contracts/contract-class-registry.d.ts +26 -0
  121. package/dest/contract/protocol_contracts/contract-class-registry.d.ts.map +1 -0
  122. package/dest/contract/protocol_contracts/contract-class-registry.js +385 -0
  123. package/dest/contract/protocol_contracts/contract-instance-registry.d.ts +22 -0
  124. package/dest/contract/protocol_contracts/contract-instance-registry.d.ts.map +1 -0
  125. package/dest/contract/protocol_contracts/contract-instance-registry.js +465 -0
  126. package/dest/contract/protocol_contracts/fee-juice.d.ts +21 -0
  127. package/dest/contract/protocol_contracts/fee-juice.d.ts.map +1 -0
  128. package/dest/contract/protocol_contracts/fee-juice.js +426 -0
  129. package/dest/contract/protocol_contracts/multi-call-entrypoint.d.ts +34 -0
  130. package/dest/contract/protocol_contracts/multi-call-entrypoint.d.ts.map +1 -0
  131. package/dest/contract/protocol_contracts/multi-call-entrypoint.js +575 -0
  132. package/dest/contract/protocol_contracts/public-checks.d.ts +26 -0
  133. package/dest/contract/protocol_contracts/public-checks.d.ts.map +1 -0
  134. package/dest/contract/protocol_contracts/public-checks.js +583 -0
  135. package/dest/contract/wait_for_proven.d.ts +17 -0
  136. package/dest/contract/wait_for_proven.d.ts.map +1 -0
  137. package/dest/contract/wait_for_proven.js +17 -0
  138. package/dest/contract/wait_opts.d.ts +16 -0
  139. package/dest/contract/wait_opts.d.ts.map +1 -0
  140. package/dest/contract/wait_opts.js +5 -0
  141. package/dest/deployment/broadcast_function.d.ts +4 -4
  142. package/dest/deployment/broadcast_function.d.ts.map +1 -1
  143. package/dest/deployment/broadcast_function.js +28 -24
  144. package/dest/deployment/contract_deployer.d.ts +2 -2
  145. package/dest/deployment/contract_deployer.d.ts.map +1 -1
  146. package/dest/deployment/contract_deployer.js +1 -1
  147. package/dest/deployment/publish_class.d.ts +6 -0
  148. package/dest/deployment/publish_class.d.ts.map +1 -0
  149. package/dest/deployment/publish_class.js +17 -0
  150. package/dest/deployment/publish_instance.d.ts +10 -0
  151. package/dest/deployment/publish_instance.d.ts.map +1 -0
  152. package/dest/deployment/publish_instance.js +11 -0
  153. package/dest/ethereum/portal_manager.d.ts +141 -0
  154. package/dest/ethereum/portal_manager.d.ts.map +1 -0
  155. package/dest/ethereum/portal_manager.js +345 -0
  156. package/dest/fee/fee_juice_payment_method_with_claim.d.ts +17 -12
  157. package/dest/fee/fee_juice_payment_method_with_claim.d.ts.map +1 -1
  158. package/dest/fee/fee_juice_payment_method_with_claim.js +27 -17
  159. package/dest/fee/fee_payment_method.d.ts +12 -8
  160. package/dest/fee/fee_payment_method.d.ts.map +1 -1
  161. package/dest/fee/private_fee_payment_method.d.ts +26 -9
  162. package/dest/fee/private_fee_payment_method.d.ts.map +1 -1
  163. package/dest/fee/private_fee_payment_method.js +45 -23
  164. package/dest/fee/public_fee_payment_method.d.ts +27 -10
  165. package/dest/fee/public_fee_payment_method.d.ts.map +1 -1
  166. package/dest/fee/public_fee_payment_method.js +47 -25
  167. package/dest/fee/sponsored_fee_payment.d.ts +17 -0
  168. package/dest/fee/sponsored_fee_payment.d.ts.map +1 -0
  169. package/dest/fee/sponsored_fee_payment.js +34 -0
  170. package/dest/scripts/generate_protocol_contract_types.d.ts +2 -0
  171. package/dest/scripts/generate_protocol_contract_types.d.ts.map +1 -0
  172. package/dest/scripts/generate_protocol_contract_types.js +120 -0
  173. package/dest/utils/abi_types.d.ts +2 -4
  174. package/dest/utils/abi_types.d.ts.map +1 -1
  175. package/dest/utils/authwit.d.ts +85 -26
  176. package/dest/utils/authwit.d.ts.map +1 -1
  177. package/dest/utils/authwit.js +234 -41
  178. package/dest/utils/cross_chain.d.ts +24 -0
  179. package/dest/utils/cross_chain.d.ts.map +1 -0
  180. package/dest/utils/cross_chain.js +30 -0
  181. package/dest/utils/fee_juice.d.ts +4 -3
  182. package/dest/utils/fee_juice.d.ts.map +1 -1
  183. package/dest/utils/fee_juice.js +4 -3
  184. package/dest/utils/field_compressed_string.d.ts +1 -1
  185. package/dest/utils/field_compressed_string.d.ts.map +1 -1
  186. package/dest/utils/field_compressed_string.js +1 -1
  187. package/dest/utils/node.d.ts +13 -2
  188. package/dest/utils/node.d.ts.map +1 -1
  189. package/dest/utils/node.js +47 -1
  190. package/dest/utils/pub_key.d.ts +2 -2
  191. package/dest/utils/pub_key.d.ts.map +1 -1
  192. package/dest/utils/pub_key.js +2 -3
  193. package/dest/wallet/account_entrypoint_meta_payment_method.d.ts +31 -0
  194. package/dest/wallet/account_entrypoint_meta_payment_method.d.ts.map +1 -0
  195. package/dest/wallet/account_entrypoint_meta_payment_method.js +61 -0
  196. package/dest/wallet/account_manager.d.ts +63 -0
  197. package/dest/wallet/account_manager.d.ts.map +1 -0
  198. package/dest/wallet/account_manager.js +107 -0
  199. package/dest/wallet/capabilities.d.ts +444 -0
  200. package/dest/wallet/capabilities.d.ts.map +1 -0
  201. package/dest/wallet/capabilities.js +3 -0
  202. package/dest/wallet/deploy_account_method.d.ts +80 -0
  203. package/dest/wallet/deploy_account_method.d.ts.map +1 -0
  204. package/dest/wallet/deploy_account_method.js +79 -0
  205. package/dest/wallet/index.d.ts +4 -17
  206. package/dest/wallet/index.d.ts.map +1 -1
  207. package/dest/wallet/index.js +3 -20
  208. package/dest/wallet/wallet.d.ts +2590 -0
  209. package/dest/wallet/wallet.d.ts.map +1 -0
  210. package/dest/wallet/wallet.js +291 -0
  211. package/package.json +47 -36
  212. package/src/account/account.ts +72 -0
  213. package/src/account/account_contract.ts +66 -0
  214. package/src/account/account_with_secret_key.ts +63 -0
  215. package/src/account/index.ts +5 -8
  216. package/src/account/signerless_account.ts +46 -0
  217. package/src/api/abi.ts +26 -0
  218. package/src/api/account.ts +8 -5
  219. package/src/api/addresses.ts +1 -0
  220. package/src/api/authorization.ts +15 -0
  221. package/src/api/block.ts +2 -0
  222. package/src/api/contract.ts +88 -0
  223. package/src/api/crypto.ts +1 -0
  224. package/src/api/deployment.ts +4 -3
  225. package/src/api/ethereum.ts +10 -0
  226. package/src/api/events.ts +44 -0
  227. package/src/api/fee.ts +1 -1
  228. package/src/api/fee_testing.ts +1 -0
  229. package/src/api/fields.ts +2 -1
  230. package/src/api/keys.ts +8 -0
  231. package/src/api/log.ts +1 -0
  232. package/src/api/messaging.ts +2 -0
  233. package/src/api/node.ts +24 -0
  234. package/src/api/note.ts +1 -0
  235. package/src/api/protocol.ts +9 -0
  236. package/src/api/trees.ts +2 -0
  237. package/src/api/tx.ts +15 -0
  238. package/src/api/utils.ts +14 -0
  239. package/src/api/wallet.ts +72 -5
  240. package/src/authorization/call_authorization_request.ts +63 -0
  241. package/src/contract/base_contract_interaction.ts +40 -171
  242. package/src/contract/batch_call.ts +108 -57
  243. package/src/contract/checker.ts +8 -3
  244. package/src/contract/contract.ts +14 -21
  245. package/src/contract/contract_base.ts +9 -26
  246. package/src/contract/contract_function_interaction.ts +135 -106
  247. package/src/contract/deploy_method.ts +307 -143
  248. package/src/contract/get_gas_limits.ts +15 -8
  249. package/src/contract/interaction_options.ts +208 -0
  250. package/src/contract/protocol_contracts/auth-registry.ts +351 -0
  251. package/src/contract/protocol_contracts/contract-class-registry.ts +241 -0
  252. package/src/contract/protocol_contracts/contract-instance-registry.ts +302 -0
  253. package/src/contract/protocol_contracts/fee-juice.ts +264 -0
  254. package/src/contract/protocol_contracts/multi-call-entrypoint.ts +332 -0
  255. package/src/contract/protocol_contracts/public-checks.ts +316 -0
  256. package/src/contract/wait_for_proven.ts +38 -0
  257. package/src/contract/wait_opts.ts +21 -0
  258. package/src/deployment/broadcast_function.ts +58 -58
  259. package/src/deployment/contract_deployer.ts +4 -3
  260. package/src/deployment/publish_class.ts +34 -0
  261. package/src/deployment/publish_instance.ts +23 -0
  262. package/src/{api/ethereum → ethereum}/portal_manager.ts +166 -89
  263. package/src/fee/fee_juice_payment_method_with_claim.ts +49 -34
  264. package/src/fee/fee_payment_method.ts +11 -7
  265. package/src/fee/private_fee_payment_method.ts +80 -58
  266. package/src/fee/public_fee_payment_method.ts +94 -68
  267. package/src/fee/sponsored_fee_payment.ts +46 -0
  268. package/src/scripts/generate_protocol_contract_types.ts +150 -0
  269. package/src/utils/abi_types.ts +1 -1
  270. package/src/utils/authwit.ts +274 -54
  271. package/src/utils/cross_chain.ts +53 -0
  272. package/src/utils/fee_juice.ts +5 -5
  273. package/src/utils/field_compressed_string.ts +1 -1
  274. package/src/utils/node.ts +63 -1
  275. package/src/utils/pub_key.ts +3 -4
  276. package/src/wallet/account_entrypoint_meta_payment_method.ts +74 -0
  277. package/src/wallet/account_manager.ts +146 -0
  278. package/src/wallet/capabilities.ts +491 -0
  279. package/src/wallet/deploy_account_method.ts +150 -0
  280. package/src/wallet/index.ts +3 -33
  281. package/src/wallet/wallet.ts +533 -0
  282. package/dest/account/contract.d.ts +0 -37
  283. package/dest/account/contract.d.ts.map +0 -1
  284. package/dest/account/interface.d.ts +0 -31
  285. package/dest/account/interface.d.ts.map +0 -1
  286. package/dest/account/interface.js +0 -4
  287. package/dest/account/wallet.d.ts +0 -11
  288. package/dest/account/wallet.d.ts.map +0 -1
  289. package/dest/account/wallet.js +0 -3
  290. package/dest/account_manager/deploy_account_method.d.ts +0 -15
  291. package/dest/account_manager/deploy_account_method.d.ts.map +0 -1
  292. package/dest/account_manager/deploy_account_method.js +0 -43
  293. package/dest/account_manager/deploy_account_sent_tx.d.ts +0 -30
  294. package/dest/account_manager/deploy_account_sent_tx.d.ts.map +0 -1
  295. package/dest/account_manager/deploy_account_sent_tx.js +0 -29
  296. package/dest/account_manager/index.d.ts +0 -108
  297. package/dest/account_manager/index.d.ts.map +0 -1
  298. package/dest/account_manager/index.js +0 -159
  299. package/dest/api/cheat_codes.d.ts +0 -26
  300. package/dest/api/cheat_codes.d.ts.map +0 -1
  301. package/dest/api/cheat_codes.js +0 -25
  302. package/dest/api/entrypoint.d.ts +0 -2
  303. package/dest/api/entrypoint.d.ts.map +0 -1
  304. package/dest/api/entrypoint.js +0 -1
  305. package/dest/api/ethereum/anvil_test_watcher.d.ts +0 -32
  306. package/dest/api/ethereum/anvil_test_watcher.d.ts.map +0 -1
  307. package/dest/api/ethereum/anvil_test_watcher.js +0 -133
  308. package/dest/api/ethereum/chain_monitor.d.ts +0 -25
  309. package/dest/api/ethereum/chain_monitor.d.ts.map +0 -1
  310. package/dest/api/ethereum/chain_monitor.js +0 -74
  311. package/dest/api/ethereum/cheat_codes.d.ts +0 -63
  312. package/dest/api/ethereum/cheat_codes.d.ts.map +0 -1
  313. package/dest/api/ethereum/cheat_codes.js +0 -162
  314. package/dest/api/ethereum/index.d.ts +0 -7
  315. package/dest/api/ethereum/index.d.ts.map +0 -1
  316. package/dest/api/ethereum/index.js +0 -6
  317. package/dest/api/ethereum/l1_contracts.d.ts +0 -3
  318. package/dest/api/ethereum/l1_contracts.d.ts.map +0 -1
  319. package/dest/api/ethereum/l1_contracts.js +0 -13
  320. package/dest/api/ethereum/portal_manager.d.ts +0 -136
  321. package/dest/api/ethereum/portal_manager.d.ts.map +0 -1
  322. package/dest/api/ethereum/portal_manager.js +0 -286
  323. package/dest/api/interfaces/pxe.d.ts +0 -2
  324. package/dest/api/interfaces/pxe.d.ts.map +0 -1
  325. package/dest/api/interfaces/pxe.js +0 -1
  326. package/dest/api/log_id.d.ts +0 -2
  327. package/dest/api/log_id.d.ts.map +0 -1
  328. package/dest/api/log_id.js +0 -1
  329. package/dest/api/tx_hash.d.ts +0 -2
  330. package/dest/api/tx_hash.d.ts.map +0 -1
  331. package/dest/api/tx_hash.js +0 -1
  332. package/dest/contract/deploy_proven_tx.d.ts +0 -21
  333. package/dest/contract/deploy_proven_tx.d.ts.map +0 -1
  334. package/dest/contract/deploy_proven_tx.js +0 -19
  335. package/dest/contract/deploy_sent_tx.d.ts +0 -45
  336. package/dest/contract/deploy_sent_tx.d.ts.map +0 -1
  337. package/dest/contract/deploy_sent_tx.js +0 -43
  338. package/dest/contract/index.d.ts +0 -45
  339. package/dest/contract/index.d.ts.map +0 -1
  340. package/dest/contract/index.js +0 -43
  341. package/dest/contract/protocol_contracts.d.ts +0 -9
  342. package/dest/contract/protocol_contracts.d.ts.map +0 -1
  343. package/dest/contract/protocol_contracts.js +0 -26
  344. package/dest/contract/proven_tx.d.ts +0 -17
  345. package/dest/contract/proven_tx.d.ts.map +0 -1
  346. package/dest/contract/proven_tx.js +0 -22
  347. package/dest/contract/sent_tx.d.ts +0 -61
  348. package/dest/contract/sent_tx.d.ts.map +0 -1
  349. package/dest/contract/sent_tx.js +0 -102
  350. package/dest/contract/unsafe_contract.d.ts +0 -15
  351. package/dest/contract/unsafe_contract.d.ts.map +0 -1
  352. package/dest/contract/unsafe_contract.js +0 -6
  353. package/dest/deployment/deploy_instance.d.ts +0 -10
  354. package/dest/deployment/deploy_instance.d.ts.map +0 -1
  355. package/dest/deployment/deploy_instance.js +0 -14
  356. package/dest/deployment/index.d.ts +0 -2
  357. package/dest/deployment/index.d.ts.map +0 -1
  358. package/dest/deployment/index.js +0 -1
  359. package/dest/deployment/register_class.d.ts +0 -6
  360. package/dest/deployment/register_class.d.ts.map +0 -1
  361. package/dest/deployment/register_class.js +0 -22
  362. package/dest/entrypoint/default_entrypoint.d.ts +0 -12
  363. package/dest/entrypoint/default_entrypoint.d.ts.map +0 -1
  364. package/dest/entrypoint/default_entrypoint.js +0 -28
  365. package/dest/entrypoint/default_multi_call_entrypoint.d.ts +0 -15
  366. package/dest/entrypoint/default_multi_call_entrypoint.d.ts.map +0 -1
  367. package/dest/entrypoint/default_multi_call_entrypoint.js +0 -130
  368. package/dest/entrypoint/entrypoint.d.ts +0 -35
  369. package/dest/entrypoint/entrypoint.d.ts.map +0 -1
  370. package/dest/entrypoint/entrypoint.js +0 -4
  371. package/dest/entrypoint/payload.d.ts +0 -128
  372. package/dest/entrypoint/payload.d.ts.map +0 -1
  373. package/dest/entrypoint/payload.js +0 -143
  374. package/dest/fee/fee_juice_payment_method.d.ts +0 -14
  375. package/dest/fee/fee_juice_payment_method.d.ts.map +0 -1
  376. package/dest/fee/fee_juice_payment_method.js +0 -20
  377. package/dest/index.d.ts +0 -66
  378. package/dest/index.d.ts.map +0 -1
  379. package/dest/index.js +0 -69
  380. package/dest/rpc_clients/index.d.ts +0 -3
  381. package/dest/rpc_clients/index.d.ts.map +0 -1
  382. package/dest/rpc_clients/index.js +0 -2
  383. package/dest/rpc_clients/node/index.d.ts +0 -12
  384. package/dest/rpc_clients/node/index.d.ts.map +0 -1
  385. package/dest/rpc_clients/node/index.js +0 -78
  386. package/dest/rpc_clients/pxe_client.d.ts +0 -10
  387. package/dest/rpc_clients/pxe_client.d.ts.map +0 -1
  388. package/dest/rpc_clients/pxe_client.js +0 -23
  389. package/dest/utils/aztec_cheatcodes.d.ts +0 -59
  390. package/dest/utils/aztec_cheatcodes.d.ts.map +0 -1
  391. package/dest/utils/aztec_cheatcodes.js +0 -62
  392. package/dest/utils/index.d.ts +0 -8
  393. package/dest/utils/index.d.ts.map +0 -1
  394. package/dest/utils/index.js +0 -6
  395. package/dest/utils/pxe.d.ts +0 -4
  396. package/dest/utils/pxe.d.ts.map +0 -1
  397. package/dest/utils/pxe.js +0 -14
  398. package/dest/wallet/account_wallet.d.ts +0 -76
  399. package/dest/wallet/account_wallet.d.ts.map +0 -1
  400. package/dest/wallet/account_wallet.js +0 -231
  401. package/dest/wallet/account_wallet_with_private_key.d.ts +0 -26
  402. package/dest/wallet/account_wallet_with_private_key.d.ts.map +0 -1
  403. package/dest/wallet/base_wallet.d.ts +0 -73
  404. package/dest/wallet/base_wallet.d.ts.map +0 -1
  405. package/dest/wallet/base_wallet.js +0 -123
  406. package/dest/wallet/signerless_wallet.d.ts +0 -25
  407. package/dest/wallet/signerless_wallet.d.ts.map +0 -1
  408. package/dest/wallet/signerless_wallet.js +0 -36
  409. package/src/account/contract.ts +0 -56
  410. package/src/account/interface.ts +0 -36
  411. package/src/account/wallet.ts +0 -13
  412. package/src/account_manager/deploy_account_method.ts +0 -86
  413. package/src/account_manager/deploy_account_sent_tx.ts +0 -42
  414. package/src/account_manager/index.ts +0 -229
  415. package/src/api/cheat_codes.ts +0 -35
  416. package/src/api/entrypoint.ts +0 -1
  417. package/src/api/ethereum/anvil_test_watcher.ts +0 -158
  418. package/src/api/ethereum/chain_monitor.ts +0 -88
  419. package/src/api/ethereum/cheat_codes.ts +0 -184
  420. package/src/api/ethereum/index.ts +0 -19
  421. package/src/api/ethereum/l1_contracts.ts +0 -21
  422. package/src/api/interfaces/pxe.ts +0 -1
  423. package/src/api/log_id.ts +0 -1
  424. package/src/api/tx_hash.ts +0 -1
  425. package/src/contract/deploy_proven_tx.ts +0 -34
  426. package/src/contract/deploy_sent_tx.ts +0 -74
  427. package/src/contract/index.ts +0 -48
  428. package/src/contract/protocol_contracts.ts +0 -35
  429. package/src/contract/proven_tx.ts +0 -42
  430. package/src/contract/sent_tx.ts +0 -141
  431. package/src/contract/unsafe_contract.ts +0 -19
  432. package/src/deployment/deploy_instance.ts +0 -31
  433. package/src/deployment/index.ts +0 -1
  434. package/src/deployment/register_class.ts +0 -44
  435. package/src/entrypoint/default_entrypoint.ts +0 -39
  436. package/src/entrypoint/default_multi_call_entrypoint.ts +0 -93
  437. package/src/entrypoint/entrypoint.ts +0 -39
  438. package/src/entrypoint/payload.ts +0 -238
  439. package/src/fee/fee_juice_payment_method.ts +0 -26
  440. package/src/index.ts +0 -106
  441. package/src/rpc_clients/index.ts +0 -2
  442. package/src/rpc_clients/node/index.ts +0 -77
  443. package/src/rpc_clients/pxe_client.ts +0 -25
  444. package/src/utils/aztec_cheatcodes.ts +0 -77
  445. package/src/utils/index.ts +0 -21
  446. package/src/utils/pxe.ts +0 -17
  447. package/src/wallet/account_wallet.ts +0 -242
  448. package/src/wallet/account_wallet_with_private_key.ts +0 -40
  449. package/src/wallet/base_wallet.ts +0 -198
  450. package/src/wallet/signerless_wallet.ts +0 -52
@@ -1,38 +1,45 @@
1
- import { Fr } from '@aztec/foundation/fields';
2
- import { FunctionSelector, FunctionType } from '@aztec/stdlib/abi';
1
+ import { Fr } from '@aztec/foundation/curves/bn254';
2
+ import { FunctionSelector, FunctionType, decodeFromAbi } from '@aztec/stdlib/abi';
3
+ import { AztecAddress } from '@aztec/stdlib/aztec-address';
4
+ import { ExecutionPayload } from '@aztec/stdlib/tx';
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
- isInternal: false,
42
+ isOnlySelf: false,
36
43
  isStatic: false,
37
44
  parameters: [],
38
45
  returnTypes: [
@@ -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
+ ], [], [], this.paymentContract);
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 { AztecAddress } from '@aztec/stdlib/aztec-address';
2
+ import { GasSettings } from '@aztec/stdlib/gas';
3
+ import { ExecutionPayload } from '@aztec/stdlib/tx';
4
+ import type { Wallet } from '../wallet/wallet.js';
5
5
  import type { FeePaymentMethod } from './fee_payment_method.js';
6
6
  /**
7
7
  * Holds information about how the fee for a transaction is to be paid.
@@ -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
- //# sourceMappingURL=public_fee_payment_method.d.ts.map
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2ZlZV9wYXltZW50X21ldGhvZC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ZlZS9wdWJsaWNfZmVlX3BheW1lbnRfbWV0aG9kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDaEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFJcEQsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbEQsT0FBTyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUVoRTs7R0FFRztBQUNILHFCQUFhLHNCQUF1QixZQUFXLGdCQUFnQjtJQUkzRDs7T0FFRztJQUNILFNBQVMsQ0FBQyxlQUFlLEVBQUUsWUFBWTtJQUN2Qzs7T0FFRztJQUNILFNBQVMsQ0FBQyxNQUFNLEVBQUUsWUFBWTtJQUM5Qjs7T0FFRztJQUNILFNBQVMsQ0FBQyxNQUFNLEVBQUUsTUFBTTtJQUN4Qjs7T0FFRztJQUNILFNBQVMsQ0FBQyxXQUFXLEVBQUUsV0FBVztJQWxCcEMsT0FBTyxDQUFDLFlBQVksQ0FBc0M7SUFFMUQ7SUFDRTs7T0FFRztJQUNPLGVBQWUsRUFBRSxZQUFZO0lBQ3ZDOztPQUVHO0lBQ08sTUFBTSxFQUFFLFlBQVk7SUFDOUI7O09BRUc7SUFDTyxNQUFNLEVBQUUsTUFBTTtJQUN4Qjs7T0FFRztJQUNPLFdBQVcsRUFBRSxXQUFXLEVBQ2hDO0lBRUo7OztPQUdHO0lBQ0csUUFBUSxJQUFJLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0F1Q3RDO0lBRUQsV0FBVyxJQUFJLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FFbkM7SUFFRDs7OztPQUlHO0lBQ0csbUJBQW1CLElBQUksT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBNENyRDtJQUVELGNBQWMsSUFBSSxXQUFXLEdBQUcsU0FBUyxDQUV4QztDQUNGIn0=
@@ -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":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAIpD,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;IAE1D;IACE;;OAEG;IACO,eAAe,EAAE,YAAY;IACvC;;OAEG;IACO,MAAM,EAAE,YAAY;IAC9B;;OAEG;IACO,MAAM,EAAE,MAAM;IACxB;;OAEG;IACO,WAAW,EAAE,WAAW,EAChC;IAEJ;;;OAGG;IACG,QAAQ,IAAI,OAAO,CAAC,YAAY,CAAC,CAuCtC;IAED,WAAW,IAAI,OAAO,CAAC,YAAY,CAAC,CAEnC;IAED;;;;OAIG;IACG,mBAAmB,IAAI,OAAO,CAAC,gBAAgB,CAAC,CA4CrD;IAED,cAAc,IAAI,WAAW,GAAG,SAAS,CAExC;CACF"}
@@ -1,33 +1,41 @@
1
- import { Fr } from '@aztec/foundation/fields';
2
- import { FunctionSelector, FunctionType } from '@aztec/stdlib/abi';
1
+ import { Fr } from '@aztec/foundation/curves/bn254';
2
+ import { FunctionSelector, FunctionType, decodeFromAbi } from '@aztec/stdlib/abi';
3
+ import { AztecAddress } from '@aztec/stdlib/aztec-address';
4
+ import { ExecutionPayload } from '@aztec/stdlib/tx';
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
- isInternal: false,
38
+ isOnlySelf: false,
31
39
  isStatic: false,
32
40
  parameters: [],
33
41
  returnTypes: [
@@ -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
+ ], [], [], [], this.paymentContract);
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 { AztecAddress } from '@aztec/stdlib/aztec-address';
3
+ import type { GasSettings } from '@aztec/stdlib/gas';
4
+ import { ExecutionPayload } from '@aztec/stdlib/tx';
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=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BvbnNvcmVkX2ZlZV9wYXltZW50LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZmVlL3Nwb25zb3JlZF9mZWVfcGF5bWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRTVELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVwRDs7O0dBR0c7QUFDSCxxQkFBYSx5QkFBMEIsWUFBVyxnQkFBZ0I7SUFDcEQsT0FBTyxDQUFDLGVBQWU7SUFBbkMsWUFBb0IsZUFBZSxFQUFFLFlBQVksRUFBSTtJQUVyRCxRQUFRLElBQUksT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUVoQztJQUVELFdBQVcsMEJBRVY7SUFFSyxtQkFBbUIsSUFBSSxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FtQnJEO0lBRUQsY0FBYyxJQUFJLFdBQVcsR0FBRyxTQUFTLENBRXhDO0NBQ0YifQ==
@@ -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;AAE5D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD;;;GAGG;AACH,qBAAa,yBAA0B,YAAW,gBAAgB;IACpD,OAAO,CAAC,eAAe;IAAnC,YAAoB,eAAe,EAAE,YAAY,EAAI;IAErD,QAAQ,IAAI,OAAO,CAAC,YAAY,CAAC,CAEhC;IAED,WAAW,0BAEV;IAEK,mBAAmB,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAmBrD;IAED,cAAc,IAAI,WAAW,GAAG,SAAS,CAExC;CACF"}
@@ -0,0 +1,34 @@
1
+ import { FunctionSelector, FunctionType } from '@aztec/stdlib/abi';
2
+ import { ExecutionPayload } from '@aztec/stdlib/tx';
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
+ ], [], [], [], this.paymentContract);
30
+ }
31
+ getGasSettings() {
32
+ return;
33
+ }
34
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGVfcHJvdG9jb2xfY29udHJhY3RfdHlwZXMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JpcHRzL2dlbmVyYXRlX3Byb3RvY29sX2NvbnRyYWN0X3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate_protocol_contract_types.d.ts","sourceRoot":"","sources":["../../src/scripts/generate_protocol_contract_types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,120 @@
1
+ /**
2
+ * Generates type-safe contract wrappers for protocol contracts.
3
+ * These wrappers use a minimal artifact (without bytecode) since PXE already has the full artifacts registered.
4
+ */ import { generateTypescriptContractInterface } from '@aztec/builder/codegen';
5
+ import { FunctionType, getAllFunctionAbis, loadContractArtifact } from '@aztec/stdlib/abi';
6
+ import { promises as fs } from 'fs';
7
+ import path from 'path';
8
+ const log = console.log;
9
+ const noirContractsRoot = path.join(import.meta.dirname, '../../../../noir-projects/noir-contracts');
10
+ const srcPath = path.join(noirContractsRoot, 'target');
11
+ const outputDir = path.join(import.meta.dirname, '../contract/protocol_contracts');
12
+ function toKebabCase(str) {
13
+ return str.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();
14
+ }
15
+ function functionTypeToEnum(type) {
16
+ switch(type){
17
+ case FunctionType.PRIVATE:
18
+ return 'FunctionType.PRIVATE';
19
+ case FunctionType.PUBLIC:
20
+ return 'FunctionType.PUBLIC';
21
+ case FunctionType.UTILITY:
22
+ return 'FunctionType.UTILITY';
23
+ }
24
+ }
25
+ function generateFunctionAbiJson(abi) {
26
+ const baseObj = {
27
+ name: abi.name,
28
+ isOnlySelf: abi.isOnlySelf,
29
+ isStatic: abi.isStatic,
30
+ isInitializer: abi.isInitializer,
31
+ parameters: abi.parameters,
32
+ returnTypes: abi.returnTypes,
33
+ errorTypes: abi.errorTypes
34
+ };
35
+ const jsonStr = JSON.stringify(baseObj);
36
+ return jsonStr.replace('{', `{ functionType: ${functionTypeToEnum(abi.functionType)},`);
37
+ }
38
+ function generateProtocolContractArtifact(input) {
39
+ const allAbis = getAllFunctionAbis(input);
40
+ const functionAbis = input.functions.map((f)=>allAbis.find((abi)=>abi.name === f.name));
41
+ const nonDispatchAbis = input.nonDispatchPublicFunctions;
42
+ const functionsArray = functionAbis.map((abi)=>`{ ...${generateFunctionAbiJson(abi)}, bytecode: Buffer.from([]), debugSymbols: '' }`).join(',\n ');
43
+ const nonDispatchArray = nonDispatchAbis.map((abi)=>generateFunctionAbiJson(abi)).join(',\n ');
44
+ return `{
45
+ name: '${input.name}',
46
+ functions: [
47
+ ${functionsArray}
48
+ ],
49
+ nonDispatchPublicFunctions: [
50
+ ${nonDispatchArray}
51
+ ],
52
+ outputs: { structs: {}, globals: {} },
53
+ storageLayout: {},
54
+ fileMap: {},
55
+ }`;
56
+ }
57
+ async function generateProtocolContractInterface(input, protocolContractName) {
58
+ const baseInterface = await generateTypescriptContractInterface(input);
59
+ // Match everything between "public declare methods: {" and the closing "};"
60
+ const methodsMatch = baseInterface.match(/public declare methods: \{([\s\S]*?)\n \};/);
61
+ if (!methodsMatch) {
62
+ throw new Error('Could not extract methods from generated interface');
63
+ }
64
+ const artifactCode = generateProtocolContractArtifact(input);
65
+ const contractName = `${input.name}Contract`;
66
+ return `
67
+ /* Autogenerated file, do not edit! */
68
+
69
+ /* eslint-disable */
70
+ import { ProtocolContractAddress } from '@aztec/protocol-contracts';
71
+ import { FunctionType } from '@aztec/stdlib/abi';
72
+
73
+ import type { ContractArtifact } from '../../api/abi.js';
74
+ import { PublicKeys } from '../../api/keys.js';
75
+ import type { AztecAddressLike, EthAddressLike, FieldLike, FunctionSelectorLike, WrappedFieldLike } from '../../utils/abi_types.js';
76
+ import { ContractBase, type ContractMethod } from '../contract_base.js';
77
+ import { ContractFunctionInteraction } from '../contract_function_interaction.js';
78
+ import type { Wallet } from '../../wallet/wallet.js';
79
+
80
+ const ${contractName}Artifact: ContractArtifact = ${artifactCode};
81
+
82
+ export class ${contractName} extends ContractBase {
83
+ private constructor(wallet: Wallet) {
84
+ super(ProtocolContractAddress.${protocolContractName}, ${contractName}Artifact, wallet);
85
+ }
86
+
87
+ public static at(wallet: Wallet): ${contractName} {
88
+ return new ${contractName}(wallet);
89
+ }
90
+
91
+ public declare methods: {${methodsMatch[1]}
92
+ };
93
+ }
94
+ `;
95
+ }
96
+ async function main() {
97
+ await fs.rm(outputDir, {
98
+ recursive: true,
99
+ force: true
100
+ });
101
+ await fs.mkdir(outputDir, {
102
+ recursive: true
103
+ });
104
+ const srcNames = JSON.parse(await fs.readFile(path.join(noirContractsRoot, 'protocol_contracts.json'), 'utf8'));
105
+ for (const srcName of srcNames){
106
+ // srcName is like "auth_registry_contract-AuthRegistry", split to get the contract name
107
+ const name = srcName.split('-')[1];
108
+ const artifactPath = path.join(srcPath, `${srcName}.json`);
109
+ const json = JSON.parse(await fs.readFile(artifactPath, 'utf8'));
110
+ const contractArtifact = loadContractArtifact(json);
111
+ const content = await generateProtocolContractInterface(contractArtifact, name);
112
+ const fileName = `${toKebabCase(name)}.ts`;
113
+ await fs.writeFile(path.join(outputDir, fileName), content);
114
+ log(`Generated ${fileName}`);
115
+ }
116
+ }
117
+ main().catch((err)=>{
118
+ console.error('Error generating protocol contract types:', err);
119
+ process.exit(1);
120
+ });
@@ -1,7 +1,5 @@
1
- /// <reference types="node" resolution-mode="require"/>
2
- /// <reference types="node" resolution-mode="require"/>
1
+ import type { Fr } from '@aztec/foundation/curves/bn254';
3
2
  import type { EthAddress } from '@aztec/foundation/eth-address';
4
- import type { Fr } from '@aztec/foundation/fields';
5
3
  import type { EventSelector, FunctionSelector } from '@aztec/stdlib/abi';
6
4
  import type { AztecAddress } from '@aztec/stdlib/aztec-address';
7
5
  /** Any type that can be converted into a field for a contract call. */
@@ -26,4 +24,4 @@ export type U128Like = bigint | number;
26
24
  export type WrappedFieldLike = {
27
25
  inner: FieldLike;
28
26
  } | FieldLike;
29
- //# sourceMappingURL=abi_types.d.ts.map
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJpX3R5cGVzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvYWJpX3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3pELE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sS0FBSyxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3pFLE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRWhFLHVFQUF1RTtBQUN2RSxNQUFNLE1BQU0sU0FBUyxHQUFHLEVBQUUsR0FBRyxNQUFNLEdBQUcsTUFBTSxHQUFHLE1BQU0sR0FBRztJQUEyQixPQUFPLEVBQUUsTUFBTSxFQUFFLENBQUE7Q0FBRSxDQUFDO0FBRXZHLHlFQUF5RTtBQUN6RSxNQUFNLE1BQU0sY0FBYyxHQUFHO0lBQXlCLE9BQU8sRUFBRSxTQUFTLENBQUE7Q0FBRSxHQUFHLFVBQVUsQ0FBQztBQUV4RiwyRUFBMkU7QUFDM0UsTUFBTSxNQUFNLGdCQUFnQixHQUFHO0lBQXlCLE9BQU8sRUFBRSxTQUFTLENBQUE7Q0FBRSxHQUFHLFlBQVksQ0FBQztBQUU1Riw4RUFBOEU7QUFDOUUsTUFBTSxNQUFNLG9CQUFvQixHQUFHLFNBQVMsR0FBRyxnQkFBZ0IsQ0FBQztBQUVoRSw0RUFBNEU7QUFDNUUsTUFBTSxNQUFNLGlCQUFpQixHQUFHLFNBQVMsR0FBRyxhQUFhLENBQUM7QUFFMUQsa0RBQWtEO0FBQ2xELE1BQU0sTUFBTSxRQUFRLEdBQUcsTUFBTSxHQUFHLE1BQU0sQ0FBQztBQUV2QyxnRkFBZ0Y7QUFDaEYsTUFBTSxNQUFNLGdCQUFnQixHQUFHO0lBQXVCLEtBQUssRUFBRSxTQUFTLENBQUE7Q0FBRSxHQUFHLFNBQVMsQ0FBQyJ9
@@ -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,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,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"}