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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (403) hide show
  1. package/README.md +1 -1
  2. package/dest/account/account.d.ts +59 -0
  3. package/dest/account/account.d.ts.map +1 -0
  4. package/dest/account/account.js +59 -0
  5. package/dest/account/account_contract.d.ts +43 -0
  6. package/dest/account/account_contract.d.ts.map +1 -0
  7. package/dest/account/{contract.js → account_contract.js} +7 -4
  8. package/dest/account/account_with_secret_key.d.ts +24 -0
  9. package/dest/account/account_with_secret_key.d.ts.map +1 -0
  10. package/dest/{wallet/account_wallet_with_private_key.js → account/account_with_secret_key.js} +5 -5
  11. package/dest/account/index.d.ts +4 -8
  12. package/dest/account/index.d.ts.map +1 -1
  13. package/dest/account/index.js +2 -6
  14. package/dest/account/interface.d.ts +2 -14
  15. package/dest/account/interface.d.ts.map +1 -1
  16. package/dest/account/interface.js +1 -0
  17. package/dest/account/signerless_account.d.ts +23 -0
  18. package/dest/account/signerless_account.d.ts.map +1 -0
  19. package/dest/account/signerless_account.js +27 -0
  20. package/dest/api/abi.d.ts +3 -2
  21. package/dest/api/abi.d.ts.map +1 -1
  22. package/dest/api/abi.js +1 -1
  23. package/dest/api/account.d.ts +7 -3
  24. package/dest/api/account.d.ts.map +1 -1
  25. package/dest/api/account.js +4 -1
  26. package/dest/api/addresses.d.ts +2 -1
  27. package/dest/api/addresses.d.ts.map +1 -1
  28. package/dest/api/addresses.js +1 -0
  29. package/dest/api/authorization.d.ts +5 -0
  30. package/dest/api/authorization.d.ts.map +1 -0
  31. package/dest/api/authorization.js +4 -0
  32. package/dest/api/block.d.ts +3 -0
  33. package/dest/api/block.d.ts.map +1 -0
  34. package/dest/api/block.js +2 -0
  35. package/dest/api/contract.d.ts +49 -0
  36. package/dest/api/contract.d.ts.map +1 -0
  37. package/dest/{contract/index.js → api/contract.js} +15 -11
  38. package/dest/api/crypto.d.ts +2 -0
  39. package/dest/api/crypto.d.ts.map +1 -0
  40. package/dest/api/crypto.js +1 -0
  41. package/dest/api/deployment.d.ts +5 -4
  42. package/dest/api/deployment.d.ts.map +1 -1
  43. package/dest/api/deployment.js +4 -3
  44. package/dest/api/eth_address.d.ts +1 -1
  45. package/dest/api/ethereum.d.ts +2 -0
  46. package/dest/api/ethereum.d.ts.map +1 -0
  47. package/dest/api/ethereum.js +1 -0
  48. package/dest/api/events.d.ts +12 -0
  49. package/dest/api/events.d.ts.map +1 -0
  50. package/dest/api/events.js +30 -0
  51. package/dest/api/fee.d.ts +2 -2
  52. package/dest/api/fee.d.ts.map +1 -1
  53. package/dest/api/fee.js +1 -1
  54. package/dest/api/fee_testing.d.ts +2 -0
  55. package/dest/api/fee_testing.d.ts.map +1 -0
  56. package/dest/api/fee_testing.js +1 -0
  57. package/dest/api/fields.d.ts +1 -1
  58. package/dest/api/keys.d.ts +4 -0
  59. package/dest/api/keys.d.ts.map +1 -0
  60. package/dest/api/keys.js +3 -0
  61. package/dest/api/log.d.ts +2 -1
  62. package/dest/api/log.d.ts.map +1 -1
  63. package/dest/api/log.js +1 -0
  64. package/dest/api/messaging.d.ts +3 -0
  65. package/dest/api/messaging.d.ts.map +1 -0
  66. package/dest/api/messaging.js +2 -0
  67. package/dest/api/node.d.ts +21 -0
  68. package/dest/api/node.d.ts.map +1 -0
  69. package/dest/api/node.js +18 -0
  70. package/dest/api/note.d.ts +2 -0
  71. package/dest/api/note.d.ts.map +1 -0
  72. package/dest/api/note.js +1 -0
  73. package/dest/api/protocol.d.ts +3 -0
  74. package/dest/api/protocol.d.ts.map +1 -0
  75. package/dest/api/protocol.js +2 -0
  76. package/dest/api/trees.d.ts +3 -0
  77. package/dest/api/trees.d.ts.map +1 -0
  78. package/dest/api/trees.js +2 -0
  79. package/dest/api/tx.d.ts +2 -0
  80. package/dest/api/tx.d.ts.map +1 -0
  81. package/dest/api/tx.js +1 -0
  82. package/dest/api/utils.d.ts +13 -0
  83. package/dest/api/utils.d.ts.map +1 -0
  84. package/dest/api/utils.js +12 -0
  85. package/dest/api/wallet.d.ts +4 -2
  86. package/dest/api/wallet.d.ts.map +1 -1
  87. package/dest/api/wallet.js +3 -1
  88. package/dest/authorization/call_authorization_request.d.ts +46 -0
  89. package/dest/authorization/call_authorization_request.d.ts.map +1 -0
  90. package/dest/authorization/call_authorization_request.js +49 -0
  91. package/dest/contract/base_contract_interaction.d.ts +16 -80
  92. package/dest/contract/base_contract_interaction.d.ts.map +1 -1
  93. package/dest/contract/base_contract_interaction.js +15 -128
  94. package/dest/contract/batch_call.d.ts +19 -21
  95. package/dest/contract/batch_call.d.ts.map +1 -1
  96. package/dest/contract/batch_call.js +86 -68
  97. package/dest/contract/checker.d.ts +2 -2
  98. package/dest/contract/checker.d.ts.map +1 -1
  99. package/dest/contract/checker.js +2 -2
  100. package/dest/contract/contract.d.ts +9 -8
  101. package/dest/contract/contract.d.ts.map +1 -1
  102. package/dest/contract/contract.js +10 -20
  103. package/dest/contract/contract_base.d.ts +7 -20
  104. package/dest/contract/contract_base.d.ts.map +1 -1
  105. package/dest/contract/contract_base.js +7 -14
  106. package/dest/contract/contract_function_interaction.d.ts +53 -45
  107. package/dest/contract/contract_function_interaction.d.ts.map +1 -1
  108. package/dest/contract/contract_function_interaction.js +78 -74
  109. package/dest/contract/deploy_method.d.ts +106 -60
  110. package/dest/contract/deploy_method.d.ts.map +1 -1
  111. package/dest/contract/deploy_method.js +125 -133
  112. package/dest/contract/deploy_sent_tx.d.ts +14 -11
  113. package/dest/contract/deploy_sent_tx.d.ts.map +1 -1
  114. package/dest/contract/deploy_sent_tx.js +18 -15
  115. package/dest/contract/get_gas_limits.d.ts +6 -7
  116. package/dest/contract/get_gas_limits.d.ts.map +1 -1
  117. package/dest/contract/get_gas_limits.js +9 -3
  118. package/dest/contract/interaction_options.d.ts +114 -0
  119. package/dest/contract/interaction_options.d.ts.map +1 -0
  120. package/dest/contract/interaction_options.js +46 -0
  121. package/dest/contract/protocol_contracts.d.ts +7 -7
  122. package/dest/contract/protocol_contracts.d.ts.map +1 -1
  123. package/dest/contract/protocol_contracts.js +7 -7
  124. package/dest/contract/sent_tx.d.ts +9 -19
  125. package/dest/contract/sent_tx.d.ts.map +1 -1
  126. package/dest/contract/sent_tx.js +31 -43
  127. package/dest/contract/unsafe_contract.d.ts +2 -2
  128. package/dest/contract/unsafe_contract.d.ts.map +1 -1
  129. package/dest/contract/unsafe_contract.js +1 -1
  130. package/dest/contract/wait_for_proven.d.ts +17 -0
  131. package/dest/contract/wait_for_proven.d.ts.map +1 -0
  132. package/dest/contract/wait_for_proven.js +17 -0
  133. package/dest/deployment/broadcast_function.d.ts +4 -4
  134. package/dest/deployment/broadcast_function.d.ts.map +1 -1
  135. package/dest/deployment/broadcast_function.js +27 -23
  136. package/dest/deployment/contract_deployer.d.ts +2 -2
  137. package/dest/deployment/contract_deployer.d.ts.map +1 -1
  138. package/dest/deployment/contract_deployer.js +1 -1
  139. package/dest/deployment/publish_class.d.ts +6 -0
  140. package/dest/deployment/publish_class.d.ts.map +1 -0
  141. package/dest/deployment/publish_class.js +17 -0
  142. package/dest/deployment/publish_instance.d.ts +10 -0
  143. package/dest/deployment/publish_instance.d.ts.map +1 -0
  144. package/dest/deployment/publish_instance.js +11 -0
  145. package/dest/ethereum/portal_manager.d.ts +138 -0
  146. package/dest/ethereum/portal_manager.d.ts.map +1 -0
  147. package/dest/{api/ethereum → ethereum}/portal_manager.js +136 -76
  148. package/dest/fee/fee_juice_payment_method_with_claim.d.ts +17 -12
  149. package/dest/fee/fee_juice_payment_method_with_claim.d.ts.map +1 -1
  150. package/dest/fee/fee_juice_payment_method_with_claim.js +26 -16
  151. package/dest/fee/fee_payment_method.d.ts +12 -8
  152. package/dest/fee/fee_payment_method.d.ts.map +1 -1
  153. package/dest/fee/private_fee_payment_method.d.ts +26 -9
  154. package/dest/fee/private_fee_payment_method.d.ts.map +1 -1
  155. package/dest/fee/private_fee_payment_method.js +44 -22
  156. package/dest/fee/public_fee_payment_method.d.ts +27 -10
  157. package/dest/fee/public_fee_payment_method.d.ts.map +1 -1
  158. package/dest/fee/public_fee_payment_method.js +46 -24
  159. package/dest/fee/sponsored_fee_payment.d.ts +17 -0
  160. package/dest/fee/sponsored_fee_payment.d.ts.map +1 -0
  161. package/dest/fee/sponsored_fee_payment.js +34 -0
  162. package/dest/utils/abi_types.d.ts +1 -3
  163. package/dest/utils/abi_types.d.ts.map +1 -1
  164. package/dest/utils/authwit.d.ts +82 -25
  165. package/dest/utils/authwit.d.ts.map +1 -1
  166. package/dest/utils/authwit.js +237 -40
  167. package/dest/utils/cross_chain.d.ts +24 -0
  168. package/dest/utils/cross_chain.d.ts.map +1 -0
  169. package/dest/utils/cross_chain.js +30 -0
  170. package/dest/utils/fee_juice.d.ts +4 -3
  171. package/dest/utils/fee_juice.d.ts.map +1 -1
  172. package/dest/utils/fee_juice.js +3 -2
  173. package/dest/utils/field_compressed_string.d.ts +1 -1
  174. package/dest/utils/field_compressed_string.d.ts.map +1 -1
  175. package/dest/utils/node.d.ts +2 -2
  176. package/dest/utils/node.d.ts.map +1 -1
  177. package/dest/utils/node.js +1 -1
  178. package/dest/utils/pub_key.d.ts +1 -1
  179. package/dest/utils/pub_key.d.ts.map +1 -1
  180. package/dest/utils/pub_key.js +1 -2
  181. package/dest/wallet/account_entrypoint_meta_payment_method.d.ts +34 -0
  182. package/dest/wallet/account_entrypoint_meta_payment_method.d.ts.map +1 -0
  183. package/dest/wallet/account_entrypoint_meta_payment_method.js +76 -0
  184. package/dest/wallet/account_manager.d.ts +66 -0
  185. package/dest/wallet/account_manager.d.ts.map +1 -0
  186. package/dest/wallet/account_manager.js +113 -0
  187. package/dest/wallet/deploy_account_method.d.ts +52 -0
  188. package/dest/wallet/deploy_account_method.d.ts.map +1 -0
  189. package/dest/wallet/deploy_account_method.js +77 -0
  190. package/dest/wallet/index.d.ts +3 -17
  191. package/dest/wallet/index.d.ts.map +1 -1
  192. package/dest/wallet/index.js +2 -20
  193. package/dest/wallet/wallet.d.ts +1965 -0
  194. package/dest/wallet/wallet.d.ts.map +1 -0
  195. package/dest/wallet/wallet.js +186 -0
  196. package/package.json +44 -35
  197. package/src/account/account.ts +96 -0
  198. package/src/account/{contract.ts → account_contract.ts} +24 -13
  199. package/src/{wallet/account_wallet_with_private_key.ts → account/account_with_secret_key.ts} +6 -8
  200. package/src/account/index.ts +3 -7
  201. package/src/account/interface.ts +1 -12
  202. package/src/account/signerless_account.ts +45 -0
  203. package/src/api/abi.ts +26 -0
  204. package/src/api/account.ts +6 -9
  205. package/src/api/addresses.ts +1 -0
  206. package/src/api/authorization.ts +14 -0
  207. package/src/api/block.ts +2 -0
  208. package/src/{contract/index.ts → api/contract.ts} +39 -14
  209. package/src/api/crypto.ts +1 -0
  210. package/src/api/deployment.ts +4 -3
  211. package/src/api/ethereum.ts +10 -0
  212. package/src/api/events.ts +44 -0
  213. package/src/api/fee.ts +1 -1
  214. package/src/api/fee_testing.ts +1 -0
  215. package/src/api/keys.ts +8 -0
  216. package/src/api/log.ts +1 -0
  217. package/src/api/messaging.ts +2 -0
  218. package/src/api/node.ts +20 -0
  219. package/src/api/note.ts +1 -0
  220. package/src/api/protocol.ts +2 -0
  221. package/src/api/trees.ts +2 -0
  222. package/src/api/tx.ts +13 -0
  223. package/src/api/utils.ts +14 -0
  224. package/src/api/wallet.ts +27 -5
  225. package/src/authorization/call_authorization_request.ts +63 -0
  226. package/src/contract/base_contract_interaction.ts +23 -166
  227. package/src/contract/batch_call.ts +106 -57
  228. package/src/contract/checker.ts +8 -3
  229. package/src/contract/contract.ts +14 -21
  230. package/src/contract/contract_base.ts +9 -26
  231. package/src/contract/contract_function_interaction.ts +135 -106
  232. package/src/contract/deploy_method.ts +205 -134
  233. package/src/contract/deploy_sent_tx.ts +24 -23
  234. package/src/contract/get_gas_limits.ts +15 -8
  235. package/src/contract/interaction_options.ts +163 -0
  236. package/src/contract/protocol_contracts.ts +10 -10
  237. package/src/contract/sent_tx.ts +41 -52
  238. package/src/contract/unsafe_contract.ts +2 -2
  239. package/src/contract/wait_for_proven.ts +38 -0
  240. package/src/deployment/broadcast_function.ts +57 -57
  241. package/src/deployment/contract_deployer.ts +4 -3
  242. package/src/deployment/publish_class.ts +34 -0
  243. package/src/deployment/publish_instance.ts +26 -0
  244. package/src/{api/ethereum → ethereum}/portal_manager.ts +164 -83
  245. package/src/fee/fee_juice_payment_method_with_claim.ts +48 -33
  246. package/src/fee/fee_payment_method.ts +11 -7
  247. package/src/fee/private_fee_payment_method.ts +79 -57
  248. package/src/fee/public_fee_payment_method.ts +93 -67
  249. package/src/fee/sponsored_fee_payment.ts +46 -0
  250. package/src/utils/authwit.ts +261 -53
  251. package/src/utils/cross_chain.ts +53 -0
  252. package/src/utils/fee_juice.ts +4 -4
  253. package/src/utils/node.ts +1 -1
  254. package/src/utils/pub_key.ts +1 -2
  255. package/src/wallet/account_entrypoint_meta_payment_method.ts +106 -0
  256. package/src/wallet/account_manager.ts +154 -0
  257. package/src/wallet/deploy_account_method.ts +126 -0
  258. package/src/wallet/index.ts +2 -33
  259. package/src/wallet/wallet.ts +318 -0
  260. package/dest/account/contract.d.ts +0 -37
  261. package/dest/account/contract.d.ts.map +0 -1
  262. package/dest/account/wallet.d.ts +0 -11
  263. package/dest/account/wallet.d.ts.map +0 -1
  264. package/dest/account/wallet.js +0 -3
  265. package/dest/account_manager/deploy_account_method.d.ts +0 -15
  266. package/dest/account_manager/deploy_account_method.d.ts.map +0 -1
  267. package/dest/account_manager/deploy_account_method.js +0 -43
  268. package/dest/account_manager/deploy_account_sent_tx.d.ts +0 -30
  269. package/dest/account_manager/deploy_account_sent_tx.d.ts.map +0 -1
  270. package/dest/account_manager/deploy_account_sent_tx.js +0 -29
  271. package/dest/account_manager/index.d.ts +0 -108
  272. package/dest/account_manager/index.d.ts.map +0 -1
  273. package/dest/account_manager/index.js +0 -159
  274. package/dest/api/cheat_codes.d.ts +0 -26
  275. package/dest/api/cheat_codes.d.ts.map +0 -1
  276. package/dest/api/cheat_codes.js +0 -25
  277. package/dest/api/entrypoint.d.ts +0 -2
  278. package/dest/api/entrypoint.d.ts.map +0 -1
  279. package/dest/api/entrypoint.js +0 -1
  280. package/dest/api/ethereum/anvil_test_watcher.d.ts +0 -32
  281. package/dest/api/ethereum/anvil_test_watcher.d.ts.map +0 -1
  282. package/dest/api/ethereum/anvil_test_watcher.js +0 -133
  283. package/dest/api/ethereum/chain_monitor.d.ts +0 -25
  284. package/dest/api/ethereum/chain_monitor.d.ts.map +0 -1
  285. package/dest/api/ethereum/chain_monitor.js +0 -74
  286. package/dest/api/ethereum/cheat_codes.d.ts +0 -63
  287. package/dest/api/ethereum/cheat_codes.d.ts.map +0 -1
  288. package/dest/api/ethereum/cheat_codes.js +0 -162
  289. package/dest/api/ethereum/index.d.ts +0 -7
  290. package/dest/api/ethereum/index.d.ts.map +0 -1
  291. package/dest/api/ethereum/index.js +0 -6
  292. package/dest/api/ethereum/l1_contracts.d.ts +0 -3
  293. package/dest/api/ethereum/l1_contracts.d.ts.map +0 -1
  294. package/dest/api/ethereum/l1_contracts.js +0 -13
  295. package/dest/api/ethereum/portal_manager.d.ts +0 -136
  296. package/dest/api/ethereum/portal_manager.d.ts.map +0 -1
  297. package/dest/api/interfaces/pxe.d.ts +0 -2
  298. package/dest/api/interfaces/pxe.d.ts.map +0 -1
  299. package/dest/api/interfaces/pxe.js +0 -1
  300. package/dest/api/log_id.d.ts +0 -2
  301. package/dest/api/log_id.d.ts.map +0 -1
  302. package/dest/api/log_id.js +0 -1
  303. package/dest/api/tx_hash.d.ts +0 -2
  304. package/dest/api/tx_hash.d.ts.map +0 -1
  305. package/dest/api/tx_hash.js +0 -1
  306. package/dest/contract/deploy_proven_tx.d.ts +0 -21
  307. package/dest/contract/deploy_proven_tx.d.ts.map +0 -1
  308. package/dest/contract/deploy_proven_tx.js +0 -19
  309. package/dest/contract/index.d.ts +0 -45
  310. package/dest/contract/index.d.ts.map +0 -1
  311. package/dest/contract/proven_tx.d.ts +0 -17
  312. package/dest/contract/proven_tx.d.ts.map +0 -1
  313. package/dest/contract/proven_tx.js +0 -22
  314. package/dest/deployment/deploy_instance.d.ts +0 -10
  315. package/dest/deployment/deploy_instance.d.ts.map +0 -1
  316. package/dest/deployment/deploy_instance.js +0 -14
  317. package/dest/deployment/index.d.ts +0 -2
  318. package/dest/deployment/index.d.ts.map +0 -1
  319. package/dest/deployment/index.js +0 -1
  320. package/dest/deployment/register_class.d.ts +0 -6
  321. package/dest/deployment/register_class.d.ts.map +0 -1
  322. package/dest/deployment/register_class.js +0 -22
  323. package/dest/entrypoint/default_entrypoint.d.ts +0 -12
  324. package/dest/entrypoint/default_entrypoint.d.ts.map +0 -1
  325. package/dest/entrypoint/default_entrypoint.js +0 -28
  326. package/dest/entrypoint/default_multi_call_entrypoint.d.ts +0 -15
  327. package/dest/entrypoint/default_multi_call_entrypoint.d.ts.map +0 -1
  328. package/dest/entrypoint/default_multi_call_entrypoint.js +0 -130
  329. package/dest/entrypoint/entrypoint.d.ts +0 -35
  330. package/dest/entrypoint/entrypoint.d.ts.map +0 -1
  331. package/dest/entrypoint/entrypoint.js +0 -4
  332. package/dest/entrypoint/payload.d.ts +0 -128
  333. package/dest/entrypoint/payload.d.ts.map +0 -1
  334. package/dest/entrypoint/payload.js +0 -143
  335. package/dest/fee/fee_juice_payment_method.d.ts +0 -14
  336. package/dest/fee/fee_juice_payment_method.d.ts.map +0 -1
  337. package/dest/fee/fee_juice_payment_method.js +0 -20
  338. package/dest/index.d.ts +0 -66
  339. package/dest/index.d.ts.map +0 -1
  340. package/dest/index.js +0 -69
  341. package/dest/rpc_clients/index.d.ts +0 -3
  342. package/dest/rpc_clients/index.d.ts.map +0 -1
  343. package/dest/rpc_clients/index.js +0 -2
  344. package/dest/rpc_clients/node/index.d.ts +0 -12
  345. package/dest/rpc_clients/node/index.d.ts.map +0 -1
  346. package/dest/rpc_clients/node/index.js +0 -78
  347. package/dest/rpc_clients/pxe_client.d.ts +0 -10
  348. package/dest/rpc_clients/pxe_client.d.ts.map +0 -1
  349. package/dest/rpc_clients/pxe_client.js +0 -23
  350. package/dest/utils/aztec_cheatcodes.d.ts +0 -59
  351. package/dest/utils/aztec_cheatcodes.d.ts.map +0 -1
  352. package/dest/utils/aztec_cheatcodes.js +0 -62
  353. package/dest/utils/index.d.ts +0 -8
  354. package/dest/utils/index.d.ts.map +0 -1
  355. package/dest/utils/index.js +0 -6
  356. package/dest/utils/pxe.d.ts +0 -4
  357. package/dest/utils/pxe.d.ts.map +0 -1
  358. package/dest/utils/pxe.js +0 -14
  359. package/dest/wallet/account_wallet.d.ts +0 -76
  360. package/dest/wallet/account_wallet.d.ts.map +0 -1
  361. package/dest/wallet/account_wallet.js +0 -231
  362. package/dest/wallet/account_wallet_with_private_key.d.ts +0 -26
  363. package/dest/wallet/account_wallet_with_private_key.d.ts.map +0 -1
  364. package/dest/wallet/base_wallet.d.ts +0 -73
  365. package/dest/wallet/base_wallet.d.ts.map +0 -1
  366. package/dest/wallet/base_wallet.js +0 -123
  367. package/dest/wallet/signerless_wallet.d.ts +0 -25
  368. package/dest/wallet/signerless_wallet.d.ts.map +0 -1
  369. package/dest/wallet/signerless_wallet.js +0 -36
  370. package/src/account/wallet.ts +0 -13
  371. package/src/account_manager/deploy_account_method.ts +0 -86
  372. package/src/account_manager/deploy_account_sent_tx.ts +0 -42
  373. package/src/account_manager/index.ts +0 -229
  374. package/src/api/cheat_codes.ts +0 -35
  375. package/src/api/entrypoint.ts +0 -1
  376. package/src/api/ethereum/anvil_test_watcher.ts +0 -158
  377. package/src/api/ethereum/chain_monitor.ts +0 -88
  378. package/src/api/ethereum/cheat_codes.ts +0 -184
  379. package/src/api/ethereum/index.ts +0 -19
  380. package/src/api/ethereum/l1_contracts.ts +0 -21
  381. package/src/api/interfaces/pxe.ts +0 -1
  382. package/src/api/log_id.ts +0 -1
  383. package/src/api/tx_hash.ts +0 -1
  384. package/src/contract/deploy_proven_tx.ts +0 -34
  385. package/src/contract/proven_tx.ts +0 -42
  386. package/src/deployment/deploy_instance.ts +0 -31
  387. package/src/deployment/index.ts +0 -1
  388. package/src/deployment/register_class.ts +0 -44
  389. package/src/entrypoint/default_entrypoint.ts +0 -39
  390. package/src/entrypoint/default_multi_call_entrypoint.ts +0 -93
  391. package/src/entrypoint/entrypoint.ts +0 -39
  392. package/src/entrypoint/payload.ts +0 -238
  393. package/src/fee/fee_juice_payment_method.ts +0 -26
  394. package/src/index.ts +0 -106
  395. package/src/rpc_clients/index.ts +0 -2
  396. package/src/rpc_clients/node/index.ts +0 -77
  397. package/src/rpc_clients/pxe_client.ts +0 -25
  398. package/src/utils/aztec_cheatcodes.ts +0 -77
  399. package/src/utils/index.ts +0 -21
  400. package/src/utils/pxe.ts +0 -17
  401. package/src/wallet/account_wallet.ts +0 -242
  402. package/src/wallet/base_wallet.ts +0 -198
  403. package/src/wallet/signerless_wallet.ts +0 -52
@@ -1,42 +1,20 @@
1
- import {
2
- type FunctionAbi,
3
- FunctionCall,
4
- FunctionSelector,
5
- FunctionType,
6
- decodeFromAbi,
7
- encodeArguments,
8
- } from '@aztec/stdlib/abi';
1
+ import { type FunctionAbi, FunctionSelector, FunctionType, decodeFromAbi, encodeArguments } from '@aztec/stdlib/abi';
2
+ import type { AuthWitness } from '@aztec/stdlib/auth-witness';
9
3
  import { AztecAddress } from '@aztec/stdlib/aztec-address';
10
- import type { PrivateKernelProverProfileResult } from '@aztec/stdlib/kernel';
11
- import type { TxExecutionRequest } from '@aztec/stdlib/tx';
12
-
13
- import type { Wallet } from '../account/wallet.js';
14
- import { FeeJuicePaymentMethod } from '../fee/fee_juice_payment_method.js';
15
- import { BaseContractInteraction, type SendMethodOptions } from './base_contract_interaction.js';
16
-
17
- export type { SendMethodOptions };
4
+ import { type Capsule, type HashedValues, type TxProfileResult, collectOffchainEffects } from '@aztec/stdlib/tx';
5
+ import { ExecutionPayload, mergeExecutionPayloads } from '@aztec/stdlib/tx';
18
6
 
19
- /**
20
- * Represents the options for simulating a contract function interaction.
21
- * Allows specifying the address from which the view method should be called.
22
- * Disregarded for simulation of public functions
23
- */
24
- export type SimulateMethodOptions = Pick<SendMethodOptions, 'fee'> & {
25
- /** The sender's Aztec address. */
26
- from?: AztecAddress;
27
- /** Simulate without checking for the validity of the resulting transaction, e.g. whether it emits any existing nullifiers. */
28
- skipTxValidation?: boolean;
29
- /** Whether to ensure the fee payer is not empty and has enough balance to pay for the fee. */
30
- skipFeeEnforcement?: boolean;
31
- };
32
-
33
- /**
34
- * The result of a profile() call.
35
- */
36
- export type ProfileResult = PrivateKernelProverProfileResult & {
37
- /** The result of the transaction as returned by the contract function. */
38
- returnValues: any;
39
- };
7
+ import type { Wallet } from '../wallet/wallet.js';
8
+ import { BaseContractInteraction } from './base_contract_interaction.js';
9
+ import { getGasLimits } from './get_gas_limits.js';
10
+ import {
11
+ type ProfileInteractionOptions,
12
+ type RequestInteractionOptions,
13
+ type SimulateInteractionOptions,
14
+ type SimulationReturn,
15
+ toProfileOptions,
16
+ toSimulateOptions,
17
+ } from './interaction_options.js';
40
18
 
41
19
  /**
42
20
  * This is the class that is returned when calling e.g. `contract.methods.myMethod(arg0, arg1)`.
@@ -48,40 +26,22 @@ export class ContractFunctionInteraction extends BaseContractInteraction {
48
26
  protected contractAddress: AztecAddress,
49
27
  protected functionDao: FunctionAbi,
50
28
  protected args: any[],
29
+ authWitnesses: AuthWitness[] = [],
30
+ capsules: Capsule[] = [],
31
+ private extraHashedArgs: HashedValues[] = [],
51
32
  ) {
52
- super(wallet);
33
+ super(wallet, authWitnesses, capsules);
53
34
  if (args.some(arg => arg === undefined || arg === null)) {
54
- throw new Error('All function interaction arguments must be defined and not null. Received: ' + args);
35
+ throw new Error(`All function interaction arguments must be defined and not null. Received: ${args}`);
55
36
  }
56
37
  }
57
38
 
58
- // docs:start:create
59
39
  /**
60
- * Create a transaction execution request that represents this call, encoded and authenticated by the
61
- * user's wallet, ready to be simulated.
62
- * @param opts - An optional object containing additional configuration for the transaction.
63
- * @returns A Promise that resolves to a transaction instance.
40
+ * Returns the encoded function call wrapped by this interaction
41
+ * Useful when generating authwits
42
+ * @returns An encoded function call
64
43
  */
65
- public async create(opts: SendMethodOptions = {}): Promise<TxExecutionRequest> {
66
- // docs:end:create
67
- if (this.functionDao.functionType === FunctionType.UNCONSTRAINED) {
68
- throw new Error("Can't call `create` on an unconstrained function.");
69
- }
70
- const calls = [await this.request()];
71
- const capsules = this.getCapsules();
72
- const fee = await this.getFeeOptions({ calls, capsules, ...opts });
73
- const { nonce, cancellable } = opts;
74
- return await this.wallet.createTxExecutionRequest({ calls, fee, nonce, cancellable, capsules });
75
- }
76
-
77
- // docs:start:request
78
- /**
79
- * Returns an execution request that represents this operation. Useful as a building
80
- * block for constructing batch requests.
81
- * @returns An execution request wrapped in promise.
82
- */
83
- public async request(): Promise<FunctionCall> {
84
- // docs:end:request
44
+ public async getFunctionCall() {
85
45
  const args = encodeArguments(this.functionDao, this.args);
86
46
  return {
87
47
  name: this.functionDao.name,
@@ -90,35 +50,77 @@ export class ContractFunctionInteraction extends BaseContractInteraction {
90
50
  type: this.functionDao.functionType,
91
51
  to: this.contractAddress,
92
52
  isStatic: this.functionDao.isStatic,
53
+ hideMsgSender: false /** Only set to `true` for enqueued public function calls */,
93
54
  returnTypes: this.functionDao.returnTypes,
94
55
  };
95
56
  }
96
57
 
58
+ /**
59
+ * Returns the execution payload that allows this operation to happen on chain.
60
+ * @param options - Configuration options.
61
+ * @returns The execution payload for this operation
62
+ */
63
+ public override async request(options: RequestInteractionOptions = {}): Promise<ExecutionPayload> {
64
+ const calls = [await this.getFunctionCall()];
65
+ const { authWitnesses, capsules } = options;
66
+ const feeExecutionPayload = options.fee?.paymentMethod
67
+ ? await options.fee.paymentMethod.getExecutionPayload()
68
+ : undefined;
69
+ const functionExecutionPayload = new ExecutionPayload(
70
+ calls,
71
+ this.authWitnesses.concat(authWitnesses ?? []),
72
+ this.capsules.concat(capsules ?? []),
73
+ this.extraHashedArgs,
74
+ );
75
+ const finalExecutionPayload = feeExecutionPayload
76
+ ? mergeExecutionPayloads([feeExecutionPayload, functionExecutionPayload])
77
+ : functionExecutionPayload;
78
+ return finalExecutionPayload;
79
+ }
80
+
97
81
  // docs:start:simulate
98
82
  /**
99
- * Simulate a transaction and get its return values
83
+ * Simulate a transaction and get information from its execution.
100
84
  * Differs from prove in a few important ways:
101
- * 1. It returns the values of the function execution
102
- * 2. It supports `unconstrained`, `private` and `public` functions
85
+ * 1. It returns the values of the function execution, plus additional metadata if requested
86
+ * 2. It supports `utility`, `private` and `public` functions
103
87
  *
104
- * @param options - An optional object containing additional configuration for the transaction.
105
- * @returns The result of the transaction as returned by the contract function.
88
+ * @param options - An optional object containing additional configuration for the simulation.
89
+ * @returns Depending on the simulation options, this method directly returns the result value of the executed
90
+ * function or a rich object containing extra metadata, such as estimated gas costs (if requested via options),
91
+ * execution statistics and emitted offchain effects
106
92
  */
107
- public async simulate(options: SimulateMethodOptions = {}): Promise<any> {
93
+ public async simulate<T extends SimulateInteractionOptions>(
94
+ options: T,
95
+ ): Promise<SimulationReturn<Exclude<T['fee'], undefined>['estimateGas']>>;
96
+ // eslint-disable-next-line jsdoc/require-jsdoc
97
+ public async simulate<T extends SimulateInteractionOptions>(
98
+ options: T,
99
+ ): Promise<SimulationReturn<T['includeMetadata']>>;
100
+ // eslint-disable-next-line jsdoc/require-jsdoc
101
+ public async simulate(
102
+ options: SimulateInteractionOptions,
103
+ ): Promise<SimulationReturn<typeof options.includeMetadata>> {
108
104
  // docs:end:simulate
109
- if (this.functionDao.functionType == FunctionType.UNCONSTRAINED) {
110
- return this.wallet.simulateUnconstrained(this.functionDao.name, this.args, this.contractAddress, options?.from);
105
+ if (this.functionDao.functionType == FunctionType.UTILITY) {
106
+ const call = await this.getFunctionCall();
107
+ const utilityResult = await this.wallet.simulateUtility(call, options.authWitnesses ?? []);
108
+
109
+ // Decode the raw field elements to the actual return type
110
+ const returnValue = utilityResult.result ? decodeFromAbi(this.functionDao.returnTypes, utilityResult.result) : [];
111
+
112
+ if (options.includeMetadata) {
113
+ return {
114
+ stats: utilityResult.stats,
115
+ result: returnValue,
116
+ };
117
+ } else {
118
+ return returnValue;
119
+ }
111
120
  }
112
121
 
113
- const fee = options.fee ?? { paymentMethod: new FeeJuicePaymentMethod(AztecAddress.ZERO) };
114
- const txRequest = await this.create({ fee });
115
- const simulatedTx = await this.wallet.simulateTx(
116
- txRequest,
117
- true /* simulatePublic */,
118
- options.from,
119
- options.skipTxValidation,
120
- options.skipFeeEnforcement ?? true,
121
- );
122
+ const executionPayload = await this.request(options);
123
+ const simulatedTx = await this.wallet.simulateTx(executionPayload, toSimulateOptions(options));
122
124
 
123
125
  let rawReturnValues;
124
126
  if (this.functionDao.functionType == FunctionType.PRIVATE) {
@@ -132,42 +134,69 @@ export class ContractFunctionInteraction extends BaseContractInteraction {
132
134
  }
133
135
  } else {
134
136
  // For public functions we retrieve the first values directly from the public output.
135
- rawReturnValues = simulatedTx.getPublicReturnValues()?.[0].values;
137
+ rawReturnValues = simulatedTx.getPublicReturnValues()?.[0]?.values;
136
138
  }
137
139
 
138
- return rawReturnValues ? decodeFromAbi(this.functionDao.returnTypes, rawReturnValues) : [];
140
+ const returnValue = rawReturnValues ? decodeFromAbi(this.functionDao.returnTypes, rawReturnValues) : [];
141
+
142
+ if (options.includeMetadata || options.fee?.estimateGas) {
143
+ const { gasLimits, teardownGasLimits } = getGasLimits(simulatedTx, options.fee?.estimatedGasPadding);
144
+ this.log.verbose(
145
+ `Estimated gas limits for tx: DA=${gasLimits.daGas} L2=${gasLimits.l2Gas} teardownDA=${teardownGasLimits.daGas} teardownL2=${teardownGasLimits.l2Gas}`,
146
+ );
147
+ return {
148
+ stats: simulatedTx.stats,
149
+ offchainEffects: collectOffchainEffects(simulatedTx.privateExecutionResult),
150
+ result: returnValue,
151
+ estimatedGas: { gasLimits, teardownGasLimits },
152
+ };
153
+ } else {
154
+ return returnValue;
155
+ }
139
156
  }
140
157
 
141
158
  /**
142
159
  * Simulate a transaction and profile the gate count for each function in the transaction.
143
- * @param options - Same options as `simulate`.
160
+ * @param options - Same options as `simulate`, plus profiling method
144
161
  *
145
162
  * @returns An object containing the function return value and profile result.
146
163
  */
147
- public async simulateWithProfile(options: SimulateMethodOptions = {}): Promise<ProfileResult> {
148
- if (this.functionDao.functionType == FunctionType.UNCONSTRAINED) {
149
- throw new Error("Can't profile an unconstrained function.");
164
+ public async profile(options: ProfileInteractionOptions): Promise<TxProfileResult> {
165
+ if (this.functionDao.functionType == FunctionType.UTILITY) {
166
+ throw new Error("Can't profile a utility function.");
150
167
  }
151
168
 
152
- const txRequest = await this.create({ fee: options.fee });
153
- const simulatedTx = await this.wallet.simulateTx(
154
- txRequest,
155
- true,
156
- options?.from,
157
- options?.skipTxValidation,
158
- undefined,
159
- true,
160
- );
161
-
162
- const rawReturnValues =
163
- this.functionDao.functionType == FunctionType.PRIVATE
164
- ? simulatedTx.getPrivateReturnValues().nested?.[0].values
165
- : simulatedTx.getPublicReturnValues()?.[0].values;
166
- const rawReturnValuesDecoded = rawReturnValues ? decodeFromAbi(this.functionDao.returnTypes, rawReturnValues) : [];
169
+ const executionPayload = await this.request(options);
170
+ return await this.wallet.profileTx(executionPayload, toProfileOptions(options));
171
+ }
167
172
 
168
- return {
169
- returnValues: rawReturnValuesDecoded,
170
- gateCounts: simulatedTx.profileResult!.gateCounts,
171
- };
173
+ /**
174
+ * Augments this ContractFunctionInteraction with additional metadata, such as authWitnesses, capsules, and extraHashedArgs.
175
+ * This is useful when creating a "batteries included" interaction, such as registering a contract class with its associated
176
+ * capsule instead of having the user provide them externally.
177
+ * @param options - An object containing the metadata to add to the interaction
178
+ * @returns A new ContractFunctionInteraction with the added metadata, but calling the same original function in the same manner
179
+ */
180
+ public with({
181
+ authWitnesses = [],
182
+ capsules = [],
183
+ extraHashedArgs = [],
184
+ }: {
185
+ /** The authWitnesses to add to the interaction */
186
+ authWitnesses?: AuthWitness[];
187
+ /** The capsules to add to the interaction */
188
+ capsules?: Capsule[];
189
+ /** The extra hashed args to add to the interaction */
190
+ extraHashedArgs?: HashedValues[];
191
+ }): ContractFunctionInteraction {
192
+ return new ContractFunctionInteraction(
193
+ this.wallet,
194
+ this.contractAddress,
195
+ this.functionDao,
196
+ this.args,
197
+ this.authWitnesses.concat(authWitnesses),
198
+ this.capsules.concat(capsules),
199
+ this.extraHashedArgs.concat(extraHashedArgs),
200
+ );
172
201
  }
173
202
  }