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

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,10 +1,7 @@
1
1
  import type { FieldsOf } from '@aztec/foundation/types';
2
- import type { AztecAddress } from '@aztec/stdlib/aztec-address';
3
2
  import type { ContractInstanceWithAddress } from '@aztec/stdlib/contract';
4
- import type { PXE } from '@aztec/stdlib/interfaces/client';
5
3
  import type { TxHash, TxReceipt } from '@aztec/stdlib/tx';
6
- import type { Wallet } from '../account/index.js';
7
- import type { Contract } from './contract.js';
4
+ import type { Wallet } from '../wallet/wallet.js';
8
5
  import type { ContractBase } from './contract_base.js';
9
6
  import { SentTx, type WaitOpts } from './sent_tx.js';
10
7
  /** Options related to waiting for a deployment tx. */
@@ -13,21 +10,28 @@ export type DeployedWaitOpts = WaitOpts & {
13
10
  wallet?: Wallet;
14
11
  };
15
12
  /** Extends a transaction receipt with a contract instance that represents the newly deployed contract. */
16
- export type DeployTxReceipt<TContract extends ContractBase = Contract> = FieldsOf<TxReceipt> & {
13
+ export type DeployTxReceipt<TContract extends ContractBase = ContractBase> = FieldsOf<TxReceipt> & {
17
14
  /** Instance of the newly deployed contract. */
18
15
  contract: TContract;
16
+ /** The deployed contract instance with address and metadata. */
17
+ instance: ContractInstanceWithAddress;
19
18
  };
20
19
  /**
21
- * A contract deployment transaction sent to the network, extending SentTx with methods to create a contract instance.
20
+ * A contract deployment transaction sent to the network, extending SentTx with methods to publish a contract instance.
22
21
  */
23
- export declare class DeploySentTx<TContract extends Contract = Contract> extends SentTx {
22
+ export declare class DeploySentTx<TContract extends ContractBase = ContractBase> extends SentTx {
24
23
  private postDeployCtor;
25
24
  /** A getter for the deployed contract instance */
26
- instanceGetter: () => Promise<ContractInstanceWithAddress>;
25
+ private instanceGetter;
27
26
  private log;
28
- constructor(pxeOrWallet: PXE | Wallet, txHashPromise: Promise<TxHash>, postDeployCtor: (address: AztecAddress, wallet: Wallet) => Promise<TContract>,
27
+ constructor(wallet: Wallet, sendTx: () => Promise<TxHash>, postDeployCtor: (instance: ContractInstanceWithAddress, wallet: Wallet) => TContract,
29
28
  /** A getter for the deployed contract instance */
30
29
  instanceGetter: () => Promise<ContractInstanceWithAddress>);
30
+ /**
31
+ * Returns the contract instance for this deployment.
32
+ * @returns The deployed contract instance with address and metadata.
33
+ */
34
+ getInstance(): Promise<ContractInstanceWithAddress>;
31
35
  /**
32
36
  * Awaits for the tx to be mined and returns the contract instance. Throws if tx is not mined.
33
37
  * @param opts - Options for configuring the waiting for the tx to be mined.
@@ -40,6 +44,5 @@ export declare class DeploySentTx<TContract extends Contract = Contract> extends
40
44
  * @returns The transaction receipt with the deployed contract instance.
41
45
  */
42
46
  wait(opts?: DeployedWaitOpts): Promise<DeployTxReceipt<TContract>>;
43
- protected getContractObject(wallet?: Wallet): Promise<TContract>;
44
47
  }
45
- //# sourceMappingURL=deploy_sent_tx.d.ts.map
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwbG95X3NlbnRfdHguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdC9kZXBsb3lfc2VudF90eC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN4RCxPQUFPLEtBQUssRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzFFLE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUUxRCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRCxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssUUFBUSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRXJELHNEQUFzRDtBQUN0RCxNQUFNLE1BQU0sZ0JBQWdCLEdBQUcsUUFBUSxHQUFHO0lBQ3hDLCtHQUErRztJQUMvRyxNQUFNLENBQUMsRUFBRSxNQUFNLENBQUM7Q0FDakIsQ0FBQztBQUVGLDBHQUEwRztBQUMxRyxNQUFNLE1BQU0sZUFBZSxDQUFDLFNBQVMsU0FBUyxZQUFZLEdBQUcsWUFBWSxJQUFJLFFBQVEsQ0FBQyxTQUFTLENBQUMsR0FBRztJQUNqRywrQ0FBK0M7SUFDL0MsUUFBUSxFQUFFLFNBQVMsQ0FBQztJQUNwQixnRUFBZ0U7SUFDaEUsUUFBUSxFQUFFLDJCQUEyQixDQUFDO0NBQ3ZDLENBQUM7QUFFRjs7R0FFRztBQUNILHFCQUFhLFlBQVksQ0FBQyxTQUFTLFNBQVMsWUFBWSxHQUFHLFlBQVksQ0FBRSxTQUFRLE1BQU07SUFNbkYsT0FBTyxDQUFDLGNBQWM7SUFDdEIsa0RBQWtEO0lBQ2xELE9BQU8sQ0FBQyxjQUFjO0lBUHhCLE9BQU8sQ0FBQyxHQUFHLENBQTBDO0lBRXJELFlBQ0UsTUFBTSxFQUFFLE1BQU0sRUFDZCxNQUFNLEVBQUUsTUFBTSxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQ3JCLGNBQWMsRUFBRSxDQUFDLFFBQVEsRUFBRSwyQkFBMkIsRUFBRSxNQUFNLEVBQUUsTUFBTSxLQUFLLFNBQVM7SUFDNUYsa0RBQWtEO0lBQzFDLGNBQWMsRUFBRSxNQUFNLE9BQU8sQ0FBQywyQkFBMkIsQ0FBQyxFQUduRTtJQUVEOzs7T0FHRztJQUNVLFdBQVcsSUFBSSxPQUFPLENBQUMsMkJBQTJCLENBQUMsQ0FFL0Q7SUFFRDs7OztPQUlHO0lBQ1UsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FJakU7SUFFRDs7OztPQUlHO0lBQ21CLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxnQkFBZ0IsR0FBRyxPQUFPLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBVXZGO0NBQ0YifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"deploy_sent_tx.d.ts","sourceRoot":"","sources":["../../src/contract/deploy_sent_tx.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,KAAK,EAAa,GAAG,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE1D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,KAAK,QAAQ,EAAE,MAAM,cAAc,CAAC;AAErD,sDAAsD;AACtD,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG;IACxC,+GAA+G;IAC/G,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,0GAA0G;AAC1G,MAAM,MAAM,eAAe,CAAC,SAAS,SAAS,YAAY,GAAG,QAAQ,IAAI,QAAQ,CAAC,SAAS,CAAC,GAAG;IAC7F,+CAA+C;IAC/C,QAAQ,EAAE,SAAS,CAAC;CACrB,CAAC;AAEF;;GAEG;AACH,qBAAa,YAAY,CAAC,SAAS,SAAS,QAAQ,GAAG,QAAQ,CAAE,SAAQ,MAAM;IAM3E,OAAO,CAAC,cAAc;IACtB,kDAAkD;IAC3C,cAAc,EAAE,MAAM,OAAO,CAAC,2BAA2B,CAAC;IAPnE,OAAO,CAAC,GAAG,CAA0C;gBAGnD,WAAW,EAAE,GAAG,GAAG,MAAM,EACzB,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,EACtB,cAAc,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,CAAC;IACrF,kDAAkD;IAC3C,cAAc,EAAE,MAAM,OAAO,CAAC,2BAA2B,CAAC;IAKnE;;;;OAIG;IACU,QAAQ,CAAC,IAAI,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,SAAS,CAAC;IAOlE;;;;OAIG;IACmB,IAAI,CAAC,IAAI,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;cAMxE,iBAAiB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;CAUvE"}
1
+ {"version":3,"file":"deploy_sent_tx.d.ts","sourceRoot":"","sources":["../../src/contract/deploy_sent_tx.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE1D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,KAAK,QAAQ,EAAE,MAAM,cAAc,CAAC;AAErD,sDAAsD;AACtD,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG;IACxC,+GAA+G;IAC/G,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,0GAA0G;AAC1G,MAAM,MAAM,eAAe,CAAC,SAAS,SAAS,YAAY,GAAG,YAAY,IAAI,QAAQ,CAAC,SAAS,CAAC,GAAG;IACjG,+CAA+C;IAC/C,QAAQ,EAAE,SAAS,CAAC;IACpB,gEAAgE;IAChE,QAAQ,EAAE,2BAA2B,CAAC;CACvC,CAAC;AAEF;;GAEG;AACH,qBAAa,YAAY,CAAC,SAAS,SAAS,YAAY,GAAG,YAAY,CAAE,SAAQ,MAAM;IAMnF,OAAO,CAAC,cAAc;IACtB,kDAAkD;IAClD,OAAO,CAAC,cAAc;IAPxB,OAAO,CAAC,GAAG,CAA0C;IAErD,YACE,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,EACrB,cAAc,EAAE,CAAC,QAAQ,EAAE,2BAA2B,EAAE,MAAM,EAAE,MAAM,KAAK,SAAS;IAC5F,kDAAkD;IAC1C,cAAc,EAAE,MAAM,OAAO,CAAC,2BAA2B,CAAC,EAGnE;IAED;;;OAGG;IACU,WAAW,IAAI,OAAO,CAAC,2BAA2B,CAAC,CAE/D;IAED;;;;OAIG;IACU,QAAQ,CAAC,IAAI,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,SAAS,CAAC,CAIjE;IAED;;;;OAIG;IACmB,IAAI,CAAC,IAAI,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAUvF;CACF"}
@@ -1,13 +1,19 @@
1
1
  import { createLogger } from '@aztec/foundation/log';
2
2
  import { SentTx } from './sent_tx.js';
3
3
  /**
4
- * A contract deployment transaction sent to the network, extending SentTx with methods to create a contract instance.
4
+ * A contract deployment transaction sent to the network, extending SentTx with methods to publish a contract instance.
5
5
  */ export class DeploySentTx extends SentTx {
6
6
  postDeployCtor;
7
7
  instanceGetter;
8
8
  log;
9
- constructor(pxeOrWallet, txHashPromise, postDeployCtor, /** A getter for the deployed contract instance */ instanceGetter){
10
- super(pxeOrWallet, txHashPromise), this.postDeployCtor = postDeployCtor, this.instanceGetter = instanceGetter, this.log = createLogger('aztecjs:deploy_sent_tx');
9
+ constructor(wallet, sendTx, postDeployCtor, /** A getter for the deployed contract instance */ instanceGetter){
10
+ super(wallet, sendTx), this.postDeployCtor = postDeployCtor, this.instanceGetter = instanceGetter, this.log = createLogger('aztecjs:deploy_sent_tx');
11
+ }
12
+ /**
13
+ * Returns the contract instance for this deployment.
14
+ * @returns The deployed contract instance with address and metadata.
15
+ */ async getInstance() {
16
+ return await this.instanceGetter();
11
17
  }
12
18
  /**
13
19
  * Awaits for the tx to be mined and returns the contract instance. Throws if tx is not mined.
@@ -15,8 +21,7 @@ import { SentTx } from './sent_tx.js';
15
21
  * @returns The deployed contract instance.
16
22
  */ async deployed(opts) {
17
23
  const receipt = await this.wait(opts);
18
- const instance = await this.instanceGetter();
19
- this.log.info(`Contract ${instance.address.toString()} successfully deployed.`);
24
+ this.log.info(`Contract ${receipt.instance.address.toString()} successfully deployed.`);
20
25
  return receipt.contract;
21
26
  }
22
27
  /**
@@ -25,19 +30,17 @@ import { SentTx } from './sent_tx.js';
25
30
  * @returns The transaction receipt with the deployed contract instance.
26
31
  */ async wait(opts) {
27
32
  const receipt = await super.wait(opts);
28
- const contract = await this.getContractObject(opts?.wallet);
29
- return {
30
- ...receipt,
31
- contract
32
- };
33
- }
34
- async getContractObject(wallet) {
35
- const isWallet = (pxeOrWallet)=>!!pxeOrWallet.createTxExecutionRequest;
36
- const contractWallet = wallet ?? (isWallet(this.pxeOrNode) && this.pxeOrNode);
33
+ // In the case of DeploySentTx we have a guarantee that this.walletOrNode is a Wallet so we can cast it to Wallet.
34
+ const contractWallet = opts?.wallet ?? this.walletOrNode;
37
35
  if (!contractWallet) {
38
36
  throw new Error(`A wallet is required for creating a contract instance`);
39
37
  }
40
38
  const instance = await this.instanceGetter();
41
- return this.postDeployCtor(instance.address, contractWallet);
39
+ const contract = this.postDeployCtor(instance, contractWallet);
40
+ return {
41
+ ...receipt,
42
+ contract,
43
+ instance
44
+ };
42
45
  }
43
46
  }
@@ -1,18 +1,17 @@
1
- import type { Gas } from '@aztec/stdlib/gas';
1
+ import { Gas } from '@aztec/stdlib/gas';
2
2
  import type { TxSimulationResult } from '@aztec/stdlib/tx';
3
3
  /**
4
4
  * Returns suggested total and teardown gas limits for a simulated tx.
5
- * Note that public gas usage is only accounted for if the publicOutput is present.
6
5
  * @param pad - Percentage to pad the suggested gas limits by, (as decimal, e.g., 0.10 for 10%).
7
6
  */
8
7
  export declare function getGasLimits(simulationResult: TxSimulationResult, pad?: number): {
9
8
  /**
10
- * Total gas used across private and public
9
+ * Gas limit for the tx, excluding teardown gas
11
10
  */
12
- totalGas: Gas;
11
+ gasLimits: Gas;
13
12
  /**
14
- * Teardown gas used
13
+ * Gas limit for the teardown phase
15
14
  */
16
- teardownGas: Gas;
15
+ teardownGasLimits: Gas;
17
16
  };
18
- //# sourceMappingURL=get_gas_limits.d.ts.map
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0X2dhc19saW1pdHMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdC9nZXRfZ2FzX2xpbWl0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDeEMsT0FBTyxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUUzRDs7O0dBR0c7QUFDSCx3QkFBZ0IsWUFBWSxDQUMxQixnQkFBZ0IsRUFBRSxrQkFBa0IsRUFDcEMsR0FBRyxTQUFNLEdBQ1I7SUFDRDs7T0FFRztJQUNILFNBQVMsRUFBRSxHQUFHLENBQUM7SUFDZjs7T0FFRztJQUNILGlCQUFpQixFQUFFLEdBQUcsQ0FBQztDQUN4QixDQVlBIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"get_gas_limits.d.ts","sourceRoot":"","sources":["../../src/contract/get_gas_limits.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE3D;;;;GAIG;AACH,wBAAgB,YAAY,CAC1B,gBAAgB,EAAE,kBAAkB,EACpC,GAAG,SAAM,GACR;IACD;;OAEG;IACH,QAAQ,EAAE,GAAG,CAAC;IACd;;OAEG;IACH,WAAW,EAAE,GAAG,CAAC;CAClB,CAKA"}
1
+ {"version":3,"file":"get_gas_limits.d.ts","sourceRoot":"","sources":["../../src/contract/get_gas_limits.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE3D;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,gBAAgB,EAAE,kBAAkB,EACpC,GAAG,SAAM,GACR;IACD;;OAEG;IACH,SAAS,EAAE,GAAG,CAAC;IACf;;OAEG;IACH,iBAAiB,EAAE,GAAG,CAAC;CACxB,CAYA"}
@@ -1,10 +1,16 @@
1
+ import { AVM_MAX_PROCESSABLE_L2_GAS } from '@aztec/constants';
1
2
  /**
2
3
  * Returns suggested total and teardown gas limits for a simulated tx.
3
- * Note that public gas usage is only accounted for if the publicOutput is present.
4
4
  * @param pad - Percentage to pad the suggested gas limits by, (as decimal, e.g., 0.10 for 10%).
5
5
  */ export function getGasLimits(simulationResult, pad = 0.1) {
6
+ // Total gas does not use the teardown gas limit, but the actual total gas used by the tx.
7
+ const gasLimits = simulationResult.gasUsed.totalGas.mul(1 + pad);
8
+ const teardownGasLimits = simulationResult.gasUsed.teardownGas.mul(1 + pad);
9
+ if (gasLimits.l2Gas > AVM_MAX_PROCESSABLE_L2_GAS) {
10
+ throw new Error('Transaction consumes more gas than the AVM maximum processable gas');
11
+ }
6
12
  return {
7
- totalGas: simulationResult.gasUsed.totalGas.mul(1 + pad),
8
- teardownGas: simulationResult.gasUsed.teardownGas.mul(1 + pad)
13
+ gasLimits,
14
+ teardownGasLimits
9
15
  };
10
16
  }
@@ -0,0 +1,114 @@
1
+ import type { FieldsOf } from '@aztec/foundation/types';
2
+ import type { AuthWitness } from '@aztec/stdlib/auth-witness';
3
+ import type { AztecAddress } from '@aztec/stdlib/aztec-address';
4
+ import type { GasSettings } from '@aztec/stdlib/gas';
5
+ import type { Capsule, OffchainEffect, SimulationStats } from '@aztec/stdlib/tx';
6
+ import type { FeePaymentMethod } from '../fee/fee_payment_method.js';
7
+ import type { ProfileOptions, SendOptions, SimulateOptions } from '../wallet/index.js';
8
+ /**
9
+ * Options used to tweak the simulation and add gas estimation capabilities
10
+ */
11
+ export type FeeEstimationOptions = {
12
+ /** Whether to modify the fee settings of the simulation with high gas limit to figure out actual gas settings. */
13
+ estimateGas?: boolean;
14
+ /** Percentage to pad the estimated gas limits by, if empty, defaults to 0.1. Only relevant if estimateGas is set. */
15
+ estimatedGasPadding?: number;
16
+ };
17
+ /**
18
+ * Interactions allow configuring a custom fee payment method that gets bundled with the transaction before
19
+ * sending it to the wallet
20
+ */
21
+ export type FeePaymentMethodOption = {
22
+ /** Fee payment method to embed in the interaction */
23
+ paymentMethod?: FeePaymentMethod;
24
+ };
25
+ /**
26
+ * User-defined partial gas settings for the interaction. This type is completely optional since
27
+ * the wallet will fill in the missing options
28
+ */
29
+ export type GasSettingsOption = {
30
+ /** The gas settings */
31
+ gasSettings?: Partial<FieldsOf<GasSettings>>;
32
+ };
33
+ /** Fee options as set by a user. */
34
+ export type InteractionFeeOptions = GasSettingsOption & FeePaymentMethodOption;
35
+ /** Fee options that can be set for simulation *only* */
36
+ export type SimulationInteractionFeeOptions = InteractionFeeOptions & FeeEstimationOptions;
37
+ /**
38
+ * Represents the options to configure a request from a contract interaction.
39
+ * Allows specifying additional auth witnesses and capsules to use during execution
40
+ */
41
+ export type RequestInteractionOptions = {
42
+ /** Extra authwits to use during execution */
43
+ authWitnesses?: AuthWitness[];
44
+ /** Extra capsules to use during execution */
45
+ capsules?: Capsule[];
46
+ /** Fee payment method to embed in the interaction request */
47
+ fee?: FeePaymentMethodOption;
48
+ };
49
+ /**
50
+ * Represents options for calling a (constrained) function in a contract.
51
+ */
52
+ export type SendInteractionOptions = RequestInteractionOptions & {
53
+ /** The sender's Aztec address. */
54
+ from: AztecAddress;
55
+ /** The fee options for the transaction. */
56
+ fee?: InteractionFeeOptions;
57
+ };
58
+ /**
59
+ * Represents the options for simulating a contract function interaction.
60
+ * Allows specifying the address from which the method should be called.
61
+ * Disregarded for simulation of public functions
62
+ */
63
+ export type SimulateInteractionOptions = Omit<SendInteractionOptions, 'fee'> & {
64
+ /** The fee options for the transaction. */
65
+ fee?: SimulationInteractionFeeOptions;
66
+ /** Simulate without checking for the validity of the resulting transaction, e.g. whether it emits any existing nullifiers. */
67
+ skipTxValidation?: boolean;
68
+ /** Whether to ensure the fee payer is not empty and has enough balance to pay for the fee. */
69
+ skipFeeEnforcement?: boolean;
70
+ /** Whether to include metadata such as offchain effects and performance statistics (e.g. timing information of the different circuits and oracles) in
71
+ * the simulation result, instead of just the return value of the function */
72
+ includeMetadata?: boolean;
73
+ };
74
+ /**
75
+ * Represents the options for profiling an interaction.
76
+ */
77
+ export type ProfileInteractionOptions = SimulateInteractionOptions & {
78
+ /** Whether to return gates information or the bytecode/witnesses. */
79
+ profileMode: 'gates' | 'execution-steps' | 'full';
80
+ /** Whether to generate a Chonk proof or not */
81
+ skipProofGeneration?: boolean;
82
+ };
83
+ /**
84
+ * Represents the result type of a simulation.
85
+ * By default, it will just be the return value of the simulated function
86
+ * If `includeMetadata` is set to true in `SimulateInteractionOptions` on the input of `simulate(...)`,
87
+ * it will provide extra information.
88
+ */
89
+ export type SimulationReturn<T extends boolean | undefined> = T extends true ? {
90
+ /** Additional stats about the simulation */
91
+ stats: SimulationStats;
92
+ /** Offchain effects generated during the simulation */
93
+ offchainEffects: OffchainEffect[];
94
+ /** Return value of the function */
95
+ result: any;
96
+ /** Gas estimation results */
97
+ estimatedGas: Pick<GasSettings, 'gasLimits' | 'teardownGasLimits'>;
98
+ } : any;
99
+ /**
100
+ * Transforms and cleans up the higher level SendInteractionOptions defined by the interaction into
101
+ * SendOptions, which are the ones that can be serialized and forwarded to the wallet
102
+ */
103
+ export declare function toSendOptions(options: SendInteractionOptions): SendOptions;
104
+ /**
105
+ * Transforms and cleans up the higher level SimulateInteractionOptions defined by the interaction into
106
+ * SimulateOptions, which are the ones that can be serialized and forwarded to the wallet
107
+ */
108
+ export declare function toSimulateOptions(options: SimulateInteractionOptions): SimulateOptions;
109
+ /**
110
+ * Transforms and cleans up the higher level ProfileInteractionOptions defined by the interaction into
111
+ * ProfileOptions, which are the ones that can be serialized and forwarded to the wallet
112
+ */
113
+ export declare function toProfileOptions(options: ProfileInteractionOptions): ProfileOptions;
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3Rpb25fb3B0aW9ucy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnRyYWN0L2ludGVyYWN0aW9uX29wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDeEQsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDaEUsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDckQsT0FBTyxLQUFLLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxlQUFlLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVqRixPQUFPLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3JFLE9BQU8sS0FBSyxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFdkY7O0dBRUc7QUFDSCxNQUFNLE1BQU0sb0JBQW9CLEdBQUc7SUFDakMsa0hBQWtIO0lBQ2xILFdBQVcsQ0FBQyxFQUFFLE9BQU8sQ0FBQztJQUN0QixxSEFBcUg7SUFDckgsbUJBQW1CLENBQUMsRUFBRSxNQUFNLENBQUM7Q0FDOUIsQ0FBQztBQUVGOzs7R0FHRztBQUNILE1BQU0sTUFBTSxzQkFBc0IsR0FBRztJQUNuQyxxREFBcUQ7SUFDckQsYUFBYSxDQUFDLEVBQUUsZ0JBQWdCLENBQUM7Q0FDbEMsQ0FBQztBQUVGOzs7R0FHRztBQUNILE1BQU0sTUFBTSxpQkFBaUIsR0FBRztJQUM5Qix1QkFBdUI7SUFDdkIsV0FBVyxDQUFDLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO0NBQzlDLENBQUM7QUFFRixvQ0FBb0M7QUFDcEMsTUFBTSxNQUFNLHFCQUFxQixHQUFHLGlCQUFpQixHQUFHLHNCQUFzQixDQUFDO0FBRS9FLHlEQUF5RDtBQUN6RCxNQUFNLE1BQU0sK0JBQStCLEdBQUcscUJBQXFCLEdBQUcsb0JBQW9CLENBQUM7QUFFM0Y7OztHQUdHO0FBQ0gsTUFBTSxNQUFNLHlCQUF5QixHQUFHO0lBQ3RDLDZDQUE2QztJQUM3QyxhQUFhLENBQUMsRUFBRSxXQUFXLEVBQUUsQ0FBQztJQUM5Qiw2Q0FBNkM7SUFDN0MsUUFBUSxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUM7SUFDckIsNkRBQTZEO0lBQzdELEdBQUcsQ0FBQyxFQUFFLHNCQUFzQixDQUFDO0NBQzlCLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sTUFBTSxzQkFBc0IsR0FBRyx5QkFBeUIsR0FBRztJQUMvRCxrQ0FBa0M7SUFDbEMsSUFBSSxFQUFFLFlBQVksQ0FBQztJQUNuQiwyQ0FBMkM7SUFDM0MsR0FBRyxDQUFDLEVBQUUscUJBQXFCLENBQUM7Q0FDN0IsQ0FBQztBQUVGOzs7O0dBSUc7QUFDSCxNQUFNLE1BQU0sMEJBQTBCLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixFQUFFLEtBQUssQ0FBQyxHQUFHO0lBQzdFLDJDQUEyQztJQUMzQyxHQUFHLENBQUMsRUFBRSwrQkFBK0IsQ0FBQztJQUN0Qyw4SEFBOEg7SUFDOUgsZ0JBQWdCLENBQUMsRUFBRSxPQUFPLENBQUM7SUFDM0IsOEZBQThGO0lBQzlGLGtCQUFrQixDQUFDLEVBQUUsT0FBTyxDQUFDO0lBQzdCO2lGQUM2RTtJQUM3RSxlQUFlLENBQUMsRUFBRSxPQUFPLENBQUM7Q0FDM0IsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxNQUFNLHlCQUF5QixHQUFHLDBCQUEwQixHQUFHO0lBQ25FLHFFQUFxRTtJQUNyRSxXQUFXLEVBQUUsT0FBTyxHQUFHLGlCQUFpQixHQUFHLE1BQU0sQ0FBQztJQUNsRCwrQ0FBK0M7SUFDL0MsbUJBQW1CLENBQUMsRUFBRSxPQUFPLENBQUM7Q0FDL0IsQ0FBQztBQUVGOzs7OztHQUtHO0FBQ0gsTUFBTSxNQUFNLGdCQUFnQixDQUFDLENBQUMsU0FBUyxPQUFPLEdBQUcsU0FBUyxJQUFJLENBQUMsU0FBUyxJQUFJLEdBQ3hFO0lBQ0UsNENBQTRDO0lBQzVDLEtBQUssRUFBRSxlQUFlLENBQUM7SUFDdkIsdURBQXVEO0lBQ3ZELGVBQWUsRUFBRSxjQUFjLEVBQUUsQ0FBQztJQUNsQyxvQ0FBb0M7SUFDcEMsTUFBTSxFQUFFLEdBQUcsQ0FBQztJQUNaLDZCQUE2QjtJQUM3QixZQUFZLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxXQUFXLEdBQUcsbUJBQW1CLENBQUMsQ0FBQztDQUNwRSxHQUNELEdBQUcsQ0FBQztBQUVSOzs7R0FHRztBQUNILHdCQUFnQixhQUFhLENBQUMsT0FBTyxFQUFFLHNCQUFzQixHQUFHLFdBQVcsQ0FhMUU7QUFFRDs7O0dBR0c7QUFDSCx3QkFBZ0IsaUJBQWlCLENBQUMsT0FBTyxFQUFFLDBCQUEwQixHQUFHLGVBQWUsQ0FldEY7QUFFRDs7O0dBR0c7QUFDSCx3QkFBZ0IsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLHlCQUF5QixHQUFHLGNBQWMsQ0FNbkYifQ==
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interaction_options.d.ts","sourceRoot":"","sources":["../../src/contract/interaction_options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEjF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAEvF;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,kHAAkH;IAClH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,qHAAqH;IACrH,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACnC,qDAAqD;IACrD,aAAa,CAAC,EAAE,gBAAgB,CAAC;CAClC,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,uBAAuB;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;CAC9C,CAAC;AAEF,oCAAoC;AACpC,MAAM,MAAM,qBAAqB,GAAG,iBAAiB,GAAG,sBAAsB,CAAC;AAE/E,yDAAyD;AACzD,MAAM,MAAM,+BAA+B,GAAG,qBAAqB,GAAG,oBAAoB,CAAC;AAE3F;;;GAGG;AACH,MAAM,MAAM,yBAAyB,GAAG;IACtC,6CAA6C;IAC7C,aAAa,CAAC,EAAE,WAAW,EAAE,CAAC;IAC9B,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IACrB,6DAA6D;IAC7D,GAAG,CAAC,EAAE,sBAAsB,CAAC;CAC9B,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG,yBAAyB,GAAG;IAC/D,kCAAkC;IAClC,IAAI,EAAE,YAAY,CAAC;IACnB,2CAA2C;IAC3C,GAAG,CAAC,EAAE,qBAAqB,CAAC;CAC7B,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,0BAA0B,GAAG,IAAI,CAAC,sBAAsB,EAAE,KAAK,CAAC,GAAG;IAC7E,2CAA2C;IAC3C,GAAG,CAAC,EAAE,+BAA+B,CAAC;IACtC,8HAA8H;IAC9H,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,8FAA8F;IAC9F,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;iFAC6E;IAC7E,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,yBAAyB,GAAG,0BAA0B,GAAG;IACnE,qEAAqE;IACrE,WAAW,EAAE,OAAO,GAAG,iBAAiB,GAAG,MAAM,CAAC;IAClD,+CAA+C;IAC/C,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,OAAO,GAAG,SAAS,IAAI,CAAC,SAAS,IAAI,GACxE;IACE,4CAA4C;IAC5C,KAAK,EAAE,eAAe,CAAC;IACvB,uDAAuD;IACvD,eAAe,EAAE,cAAc,EAAE,CAAC;IAClC,oCAAoC;IACpC,MAAM,EAAE,GAAG,CAAC;IACZ,6BAA6B;IAC7B,YAAY,EAAE,IAAI,CAAC,WAAW,EAAE,WAAW,GAAG,mBAAmB,CAAC,CAAC;CACpE,GACD,GAAG,CAAC;AAER;;;GAGG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,sBAAsB,GAAG,WAAW,CAa1E;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,0BAA0B,GAAG,eAAe,CAetF;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,yBAAyB,GAAG,cAAc,CAMnF"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Transforms and cleans up the higher level SendInteractionOptions defined by the interaction into
3
+ * SendOptions, which are the ones that can be serialized and forwarded to the wallet
4
+ */ export function toSendOptions(options) {
5
+ return {
6
+ ...options,
7
+ fee: {
8
+ // If a payment method that includes gas settings was used,
9
+ // try to reuse as much as possible while still allowing
10
+ // manual override. CAREFUL: this can cause mismatches during proving
11
+ gasSettings: {
12
+ ...options.fee?.paymentMethod?.getGasSettings(),
13
+ ...options.fee?.gasSettings
14
+ }
15
+ }
16
+ };
17
+ }
18
+ /**
19
+ * Transforms and cleans up the higher level SimulateInteractionOptions defined by the interaction into
20
+ * SimulateOptions, which are the ones that can be serialized and forwarded to the wallet
21
+ */ export function toSimulateOptions(options) {
22
+ return {
23
+ ...options,
24
+ fee: {
25
+ // If a payment method that includes gas settings was used,
26
+ // try to reuse as much as possible while still allowing
27
+ // manual override. CAREFUL: this can cause mismatches during proving
28
+ gasSettings: {
29
+ ...options.fee?.paymentMethod?.getGasSettings(),
30
+ ...options.fee?.gasSettings
31
+ },
32
+ estimateGas: options.fee?.estimateGas,
33
+ estimatedGasPadding: options.fee?.estimatedGasPadding
34
+ }
35
+ };
36
+ }
37
+ /**
38
+ * Transforms and cleans up the higher level ProfileInteractionOptions defined by the interaction into
39
+ * ProfileOptions, which are the ones that can be serialized and forwarded to the wallet
40
+ */ export function toProfileOptions(options) {
41
+ return {
42
+ ...toSimulateOptions(options),
43
+ profileMode: options.profileMode,
44
+ skipProofGeneration: options.skipProofGeneration
45
+ };
46
+ }
@@ -1,9 +1,9 @@
1
- import type { Wallet } from '../wallet/index.js';
1
+ import type { Wallet } from '../wallet/wallet.js';
2
2
  import { UnsafeContract } from './unsafe_contract.js';
3
- /** Returns a Contract wrapper for the class registerer. */
4
- export declare function getRegistererContract(wallet: Wallet): Promise<UnsafeContract>;
5
- /** Returns a Contract wrapper for the instance deployer. */
6
- export declare function getDeployerContract(wallet: Wallet): Promise<UnsafeContract>;
7
- /** Returns a Contract wrapper for the fee juice */
3
+ /** Returns a Contract wrapper for the contract class registry. */
4
+ export declare function getClassRegistryContract(wallet: Wallet): Promise<UnsafeContract>;
5
+ /** Returns a Contract wrapper for the contract instance registry. */
6
+ export declare function getInstanceRegistryContract(wallet: Wallet): Promise<UnsafeContract>;
7
+ /** Returns a Contract wrapper for the fee juice contract */
8
8
  export declare function getFeeJuice(wallet: Wallet): Promise<UnsafeContract>;
9
- //# sourceMappingURL=protocol_contracts.d.ts.map
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdG9jb2xfY29udHJhY3RzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udHJhY3QvcHJvdG9jb2xfY29udHJhY3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUV0RCxrRUFBa0U7QUFDbEUsd0JBQXNCLHdCQUF3QixDQUFDLE1BQU0sRUFBRSxNQUFNLDJCQVE1RDtBQUVELHFFQUFxRTtBQUNyRSx3QkFBc0IsMkJBQTJCLENBQUMsTUFBTSxFQUFFLE1BQU0sMkJBTy9EO0FBRUQsNERBQTREO0FBQzVELHdCQUFzQixXQUFXLENBQUMsTUFBTSxFQUFFLE1BQU0sMkJBTy9DIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"protocol_contracts.d.ts","sourceRoot":"","sources":["../../src/contract/protocol_contracts.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,2DAA2D;AAC3D,wBAAsB,qBAAqB,CAAC,MAAM,EAAE,MAAM,2BAQzD;AAED,4DAA4D;AAC5D,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,MAAM,2BAOvD;AAED,mDAAmD;AACnD,wBAAsB,WAAW,CAAC,MAAM,EAAE,MAAM,2BAO/C"}
1
+ {"version":3,"file":"protocol_contracts.d.ts","sourceRoot":"","sources":["../../src/contract/protocol_contracts.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,kEAAkE;AAClE,wBAAsB,wBAAwB,CAAC,MAAM,EAAE,MAAM,2BAQ5D;AAED,qEAAqE;AACrE,wBAAsB,2BAA2B,CAAC,MAAM,EAAE,MAAM,2BAO/D;AAED,4DAA4D;AAC5D,wBAAsB,WAAW,CAAC,MAAM,EAAE,MAAM,2BAO/C"}
@@ -1,22 +1,22 @@
1
1
  import { ProtocolContractAddress } from '@aztec/protocol-contracts';
2
2
  import { UnsafeContract } from './unsafe_contract.js';
3
- /** Returns a Contract wrapper for the class registerer. */ export async function getRegistererContract(wallet) {
4
- const { contractInstance } = await wallet.getContractMetadata(ProtocolContractAddress.ContractClassRegisterer);
3
+ /** Returns a Contract wrapper for the contract class registry. */ export async function getClassRegistryContract(wallet) {
4
+ const { contractInstance } = await wallet.getContractMetadata(ProtocolContractAddress.ContractClassRegistry);
5
5
  if (!contractInstance) {
6
- throw new Error("ContractClassRegisterer is not registered in this wallet's instance");
6
+ throw new Error("ContractClassRegistry is not registered in this wallet's instance");
7
7
  }
8
8
  const { artifact } = await wallet.getContractClassMetadata(contractInstance.currentContractClassId, true);
9
9
  return new UnsafeContract(contractInstance, artifact, wallet);
10
10
  }
11
- /** Returns a Contract wrapper for the instance deployer. */ export async function getDeployerContract(wallet) {
12
- const { contractInstance } = await wallet.getContractMetadata(ProtocolContractAddress.ContractInstanceDeployer);
11
+ /** Returns a Contract wrapper for the contract instance registry. */ export async function getInstanceRegistryContract(wallet) {
12
+ const { contractInstance } = await wallet.getContractMetadata(ProtocolContractAddress.ContractInstanceRegistry);
13
13
  if (!contractInstance) {
14
- throw new Error("ContractInstanceDeployer is not registered in this wallet's instance");
14
+ throw new Error("ContractInstanceRegistry is not registered in this wallet's instance");
15
15
  }
16
16
  const { artifact } = await wallet.getContractClassMetadata(contractInstance.currentContractClassId, true);
17
17
  return new UnsafeContract(contractInstance, artifact, wallet);
18
18
  }
19
- /** Returns a Contract wrapper for the fee juice */ export async function getFeeJuice(wallet) {
19
+ /** Returns a Contract wrapper for the fee juice contract */ export async function getFeeJuice(wallet) {
20
20
  const { contractInstance } = await wallet.getContractMetadata(ProtocolContractAddress.FeeJuice);
21
21
  if (!contractInstance) {
22
22
  throw new Error("FeeJuice is not registered in this wallet's instance");
@@ -1,20 +1,15 @@
1
1
  import type { FieldsOf } from '@aztec/foundation/types';
2
- import type { AztecNode, GetPublicLogsResponse, PXE } from '@aztec/stdlib/interfaces/client';
3
- import { type TxHash, type TxReceipt } from '@aztec/stdlib/tx';
2
+ import type { AztecNode } from '@aztec/stdlib/interfaces/client';
3
+ import { TxHash, type TxReceipt } from '@aztec/stdlib/tx';
4
+ import type { Wallet } from '../wallet/wallet.js';
4
5
  /** Options related to waiting for a tx. */
5
6
  export type WaitOpts = {
6
7
  /** The amount of time to ignore TxStatus.DROPPED receipts (in seconds) due to the presumption that it is being propagated by the p2p network. Defaults to 5. */
7
8
  ignoreDroppedReceiptsFor?: number;
8
9
  /** The maximum time (in seconds) to wait for the transaction to be mined. Defaults to 60. */
9
10
  timeout?: number;
10
- /** The maximum time (in seconds) to wait for the transaction to be proven. Defaults to 600. */
11
- provenTimeout?: number;
12
11
  /** The time interval (in seconds) between retries to fetch the transaction receipt. Defaults to 1. */
13
12
  interval?: number;
14
- /** Whether to wait for the tx to be proven. */
15
- proven?: boolean;
16
- /** Whether to include information useful for debugging/testing in the receipt. */
17
- debug?: boolean;
18
13
  /** Whether to accept a revert as a status code for the tx when waiting for it. If false, will throw if the tx reverts. */
19
14
  dontThrowOnRevert?: boolean;
20
15
  };
@@ -24,9 +19,11 @@ export declare const DefaultWaitOpts: WaitOpts;
24
19
  * its hash, receipt, and mining status.
25
20
  */
26
21
  export declare class SentTx {
27
- protected pxeOrNode: PXE | AztecNode;
28
- protected txHashPromise: Promise<TxHash>;
29
- constructor(pxeOrNode: PXE | AztecNode, txHashPromise: Promise<TxHash>);
22
+ protected walletOrNode: Wallet | AztecNode;
23
+ protected sendTxPromise: Promise<void>;
24
+ protected sendTxError?: Error;
25
+ protected txHash?: TxHash;
26
+ constructor(walletOrNode: Wallet | AztecNode, sendTx: () => Promise<TxHash>);
30
27
  /**
31
28
  * Retrieves the transaction hash of the SentTx instance.
32
29
  * The function internally awaits for the 'txHashPromise' to resolve, and then returns the resolved transaction hash.
@@ -49,13 +46,6 @@ export declare class SentTx {
49
46
  * @returns The transaction receipt.
50
47
  */
51
48
  wait(opts?: WaitOpts): Promise<FieldsOf<TxReceipt>>;
52
- /**
53
- * Gets public logs emitted by this tx.
54
- * @remarks This function will wait for the tx to be mined if it hasn't been already.
55
- * @returns The requested logs.
56
- */
57
- getPublicLogs(): Promise<GetPublicLogsResponse>;
58
49
  protected waitForReceipt(opts?: WaitOpts): Promise<TxReceipt>;
59
- protected waitForProven(minedBlock: number, opts?: WaitOpts): Promise<number>;
60
50
  }
61
- //# sourceMappingURL=sent_tx.d.ts.map
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VudF90eC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnRyYWN0L3NlbnRfdHgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDeEQsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDakUsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLFNBQVMsRUFBWSxNQUFNLGtCQUFrQixDQUFDO0FBRXBFLE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRWxELDJDQUEyQztBQUMzQyxNQUFNLE1BQU0sUUFBUSxHQUFHO0lBQ3JCLGdLQUFnSztJQUNoSyx3QkFBd0IsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUNsQyw2RkFBNkY7SUFDN0YsT0FBTyxDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQ2pCLHNHQUFzRztJQUN0RyxRQUFRLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDbEIsMEhBQTBIO0lBQzFILGlCQUFpQixDQUFDLEVBQUUsT0FBTyxDQUFDO0NBQzdCLENBQUM7QUFFRixlQUFPLE1BQU0sZUFBZSxFQUFFLFFBSTdCLENBQUM7QUFFRjs7O0dBR0c7QUFDSCxxQkFBYSxNQUFNO0lBTWYsU0FBUyxDQUFDLFlBQVksRUFBRSxNQUFNLEdBQUcsU0FBUztJQUw1QyxTQUFTLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2QyxTQUFTLENBQUMsV0FBVyxDQUFDLEVBQUUsS0FBSyxDQUFDO0lBQzlCLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxNQUFNLENBQUM7SUFFMUIsWUFDWSxZQUFZLEVBQUUsTUFBTSxHQUFHLFNBQVMsRUFDMUMsTUFBTSxFQUFFLE1BQU0sT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQWM5QjtJQUVEOzs7Ozs7T0FNRztJQUNVLFNBQVMsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLENBV3hDO0lBRUQ7Ozs7OztPQU1HO0lBQ1UsVUFBVSxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FHNUM7SUFFRDs7OztPQUlHO0lBQ1UsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBUS9EO0lBRUQsVUFBZ0IsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFLFFBQVEsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLENBNEJsRTtDQUNGIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"sent_tx.d.ts","sourceRoot":"","sources":["../../src/contract/sent_tx.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,qBAAqB,EAAE,GAAG,EAAE,MAAM,iCAAiC,CAAC;AAC7F,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,SAAS,EAAY,MAAM,kBAAkB,CAAC;AAEzE,2CAA2C;AAC3C,MAAM,MAAM,QAAQ,GAAG;IACrB,gKAAgK;IAChK,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,6FAA6F;IAC7F,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+FAA+F;IAC/F,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,sGAAsG;IACtG,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,+CAA+C;IAC/C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,kFAAkF;IAClF,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,0HAA0H;IAC1H,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,QAM7B,CAAC;AAEF;;;GAGG;AACH,qBAAa,MAAM;IACL,SAAS,CAAC,SAAS,EAAE,GAAG,GAAG,SAAS;IAAE,SAAS,CAAC,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC;gBAApE,SAAS,EAAE,GAAG,GAAG,SAAS,EAAY,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC;IAE1F;;;;;;OAMG;IACI,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;IAInC;;;;;;OAMG;IACU,UAAU,IAAI,OAAO,CAAC,SAAS,CAAC;IAK7C;;;;OAIG;IACU,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAuBhE;;;;OAIG;IACU,aAAa,IAAI,OAAO,CAAC,qBAAqB,CAAC;cAK5C,cAAc,CAAC,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC;cA8BnD,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,QAAQ;CAWlE"}
1
+ {"version":3,"file":"sent_tx.d.ts","sourceRoot":"","sources":["../../src/contract/sent_tx.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,KAAK,SAAS,EAAY,MAAM,kBAAkB,CAAC;AAEpE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD,2CAA2C;AAC3C,MAAM,MAAM,QAAQ,GAAG;IACrB,gKAAgK;IAChK,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,6FAA6F;IAC7F,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sGAAsG;IACtG,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0HAA0H;IAC1H,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,QAI7B,CAAC;AAEF;;;GAGG;AACH,qBAAa,MAAM;IAMf,SAAS,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS;IAL5C,SAAS,CAAC,aAAa,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,SAAS,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC;IAC9B,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAE1B,YACY,YAAY,EAAE,MAAM,GAAG,SAAS,EAC1C,MAAM,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,EAc9B;IAED;;;;;;OAMG;IACU,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,CAWxC;IAED;;;;;;OAMG;IACU,UAAU,IAAI,OAAO,CAAC,SAAS,CAAC,CAG5C;IAED;;;;OAIG;IACU,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAQ/D;IAED,UAAgB,cAAc,CAAC,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,CA4BlE;CACF"}
@@ -1,21 +1,31 @@
1
+ import { promiseWithResolvers } from '@aztec/foundation/promise';
1
2
  import { retryUntil } from '@aztec/foundation/retry';
2
3
  import { TxStatus } from '@aztec/stdlib/tx';
3
4
  export const DefaultWaitOpts = {
4
5
  ignoreDroppedReceiptsFor: 5,
5
- timeout: 60,
6
- provenTimeout: 600,
7
- interval: 1,
8
- debug: false
6
+ timeout: 300,
7
+ interval: 1
9
8
  };
10
9
  /**
11
10
  * The SentTx class represents a sent transaction through the PXE (or directly to a node) providing methods to fetch
12
11
  * its hash, receipt, and mining status.
13
12
  */ export class SentTx {
14
- pxeOrNode;
15
- txHashPromise;
16
- constructor(pxeOrNode, txHashPromise){
17
- this.pxeOrNode = pxeOrNode;
18
- this.txHashPromise = txHashPromise;
13
+ walletOrNode;
14
+ sendTxPromise;
15
+ sendTxError;
16
+ txHash;
17
+ constructor(walletOrNode, sendTx){
18
+ this.walletOrNode = walletOrNode;
19
+ const { promise, resolve } = promiseWithResolvers();
20
+ this.sendTxPromise = promise;
21
+ sendTx().then((txHash)=>{
22
+ this.txHash = txHash;
23
+ resolve();
24
+ }).catch((err)=>{
25
+ this.sendTxError = err;
26
+ // Calling resolve instead of reject here because we want to throw the error when getTxHash is called.
27
+ resolve();
28
+ });
19
29
  }
20
30
  /**
21
31
  * Retrieves the transaction hash of the SentTx instance.
@@ -23,8 +33,15 @@ export const DefaultWaitOpts = {
23
33
  *
24
34
  * @returns A promise that resolves to the transaction hash of the SentTx instance.
25
35
  * TODO(#7717): Don't throw here.
26
- */ getTxHash() {
27
- return this.txHashPromise;
36
+ */ async getTxHash() {
37
+ // Make sure sendTx has been resolved, which can be triggered when it returns a txHash or when it throws an error.
38
+ await this.sendTxPromise;
39
+ // If sendTx threw an error, throw it.
40
+ if (this.sendTxError) {
41
+ throw this.sendTxError;
42
+ }
43
+ // sendTx returned a txHash if it's been resolved and no error was set.
44
+ return Promise.resolve(this.txHash);
28
45
  }
29
46
  /**
30
47
  * Retrieve the transaction receipt associated with the current SentTx instance.
@@ -34,7 +51,7 @@ export const DefaultWaitOpts = {
34
51
  * @returns A promise that resolves to a TxReceipt object representing the fetched transaction receipt.
35
52
  */ async getReceipt() {
36
53
  const txHash = await this.getTxHash();
37
- return await this.pxeOrNode.getTxReceipt(txHash);
54
+ return await this.walletOrNode.getTxReceipt(txHash);
38
55
  }
39
56
  /**
40
57
  * Awaits for a tx to be mined and returns the receipt. Throws if tx is not mined.
@@ -43,39 +60,16 @@ export const DefaultWaitOpts = {
43
60
  */ async wait(opts) {
44
61
  const receipt = await this.waitForReceipt(opts);
45
62
  if (receipt.status !== TxStatus.SUCCESS && !opts?.dontThrowOnRevert) {
46
- throw new Error(`Transaction ${await this.getTxHash()} was ${receipt.status}. Reason: ${receipt.error ?? 'unknown'}`);
47
- }
48
- if (opts?.proven && receipt.blockNumber !== undefined) {
49
- await this.waitForProven(receipt.blockNumber, opts);
50
- }
51
- if (opts?.debug) {
52
- const txHash = await this.getTxHash();
53
- const { data: tx } = await this.pxeOrNode.getTxEffect(txHash);
54
- receipt.debugInfo = {
55
- noteHashes: tx.noteHashes,
56
- nullifiers: tx.nullifiers,
57
- publicDataWrites: tx.publicDataWrites,
58
- l2ToL1Msgs: tx.l2ToL1Msgs
59
- };
63
+ throw new Error(`Transaction ${(await this.getTxHash()).toString()} was ${receipt.status}. Reason: ${receipt.error ?? 'unknown'}`);
60
64
  }
61
65
  return receipt;
62
66
  }
63
- /**
64
- * Gets public logs emitted by this tx.
65
- * @remarks This function will wait for the tx to be mined if it hasn't been already.
66
- * @returns The requested logs.
67
- */ async getPublicLogs() {
68
- await this.wait();
69
- return this.pxeOrNode.getPublicLogs({
70
- txHash: await this.getTxHash()
71
- });
72
- }
73
67
  async waitForReceipt(opts) {
74
68
  const txHash = await this.getTxHash();
75
69
  const startTime = Date.now();
76
70
  const ignoreDroppedReceiptsFor = opts?.ignoreDroppedReceiptsFor ?? DefaultWaitOpts.ignoreDroppedReceiptsFor;
77
71
  return await retryUntil(async ()=>{
78
- const txReceipt = await this.pxeOrNode.getTxReceipt(txHash);
72
+ const txReceipt = await this.walletOrNode.getTxReceipt(txHash);
79
73
  // If receipt is not yet available, try again
80
74
  if (txReceipt.status === TxStatus.PENDING) {
81
75
  return undefined;
@@ -93,10 +87,4 @@ export const DefaultWaitOpts = {
93
87
  return txReceipt;
94
88
  }, 'isMined', opts?.timeout ?? DefaultWaitOpts.timeout, opts?.interval ?? DefaultWaitOpts.interval);
95
89
  }
96
- async waitForProven(minedBlock, opts) {
97
- return await retryUntil(async ()=>{
98
- const provenBlock = await this.pxeOrNode.getProvenBlockNumber();
99
- return provenBlock >= minedBlock ? provenBlock : undefined;
100
- }, 'isProven', opts?.provenTimeout ?? DefaultWaitOpts.provenTimeout, opts?.interval ?? DefaultWaitOpts.interval);
101
- }
102
90
  }
@@ -1,6 +1,6 @@
1
1
  import type { ContractArtifact } from '@aztec/stdlib/abi';
2
2
  import type { ContractInstanceWithAddress } from '@aztec/stdlib/contract';
3
- import type { Wallet } from '../wallet/index.js';
3
+ import type { Wallet } from '../wallet/wallet.js';
4
4
  import { ContractBase } from './contract_base.js';
5
5
  /** Unsafe constructor for ContractBase that bypasses the check that the instance is registered in the wallet. */
6
6
  export declare class UnsafeContract extends ContractBase {
@@ -12,4 +12,4 @@ export declare class UnsafeContract extends ContractBase {
12
12
  /** The wallet used for interacting with this contract. */
13
13
  wallet: Wallet);
14
14
  }
15
- //# sourceMappingURL=unsafe_contract.d.ts.map
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5zYWZlX2NvbnRyYWN0LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udHJhY3QvdW5zYWZlX2NvbnRyYWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDMUQsT0FBTyxLQUFLLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUUxRSxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFbEQsaUhBQWlIO0FBQ2pILHFCQUFhLGNBQWUsU0FBUSxZQUFZO0lBQzlDO0lBQ0UsaURBQWlEO0lBQ2pELFFBQVEsRUFBRSwyQkFBMkI7SUFDckMseURBQXlEO0lBQ3pELFFBQVEsRUFBRSxnQkFBZ0I7SUFDMUIsMERBQTBEO0lBQzFELE1BQU0sRUFBRSxNQUFNLEVBR2Y7Q0FDRiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"unsafe_contract.d.ts","sourceRoot":"","sources":["../../src/contract/unsafe_contract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAE1E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,iHAAiH;AACjH,qBAAa,cAAe,SAAQ,YAAY;;IAE5C,iDAAiD;IACjD,QAAQ,EAAE,2BAA2B;IACrC,yDAAyD;IACzD,QAAQ,EAAE,gBAAgB;IAC1B,0DAA0D;IAC1D,MAAM,EAAE,MAAM;CAIjB"}
1
+ {"version":3,"file":"unsafe_contract.d.ts","sourceRoot":"","sources":["../../src/contract/unsafe_contract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAE1E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,iHAAiH;AACjH,qBAAa,cAAe,SAAQ,YAAY;IAC9C;IACE,iDAAiD;IACjD,QAAQ,EAAE,2BAA2B;IACrC,yDAAyD;IACzD,QAAQ,EAAE,gBAAgB;IAC1B,0DAA0D;IAC1D,MAAM,EAAE,MAAM,EAGf;CACF"}
@@ -1,6 +1,6 @@
1
1
  import { ContractBase } from './contract_base.js';
2
2
  /** Unsafe constructor for ContractBase that bypasses the check that the instance is registered in the wallet. */ export class UnsafeContract extends ContractBase {
3
3
  constructor(/** The deployed contract instance definition. */ instance, /** The Application Binary Interface for the contract. */ artifact, /** The wallet used for interacting with this contract. */ wallet){
4
- super(instance, artifact, wallet);
4
+ super(instance.address, artifact, wallet);
5
5
  }
6
6
  }