@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,10 +1,7 @@
1
- export {
2
- type AccountContract,
3
- type AccountInterface,
4
- type AuthWitnessProvider,
5
- type Salt,
6
- type Wallet,
7
- getAccountContractAddress,
8
- } from '../account/index.js';
1
+ export { type AccountContract, type AccountInterface, type Salt, getAccountContractAddress } from '../account/index.js';
2
+ export type { AuthWitnessProvider, ChainInfo } from '@aztec/entrypoints/interfaces';
3
+ export { ChainInfoSchema } from '@aztec/entrypoints/interfaces';
9
4
 
10
- export { AccountManager } from '../account_manager/index.js';
5
+ export { AccountWithSecretKey } from '../account/account_with_secret_key.js';
6
+ export { type Account, BaseAccount } from '../account/account.js';
7
+ export { SignerlessAccount } from '../account/signerless_account.js';
@@ -1,2 +1,3 @@
1
1
  export { AztecAddress } from '@aztec/stdlib/aztec-address';
2
2
  export { CompleteAddress } from '@aztec/stdlib/contract';
3
+ export { EthAddress } from '@aztec/foundation/eth-address';
@@ -0,0 +1,14 @@
1
+ export { AuthWitness } from '@aztec/stdlib/auth-witness';
2
+ export {
3
+ SetPublicAuthwitContractInteraction,
4
+ type ContractFunctionInteractionCallIntent,
5
+ getMessageHashFromIntent,
6
+ computeAuthWitMessageHash,
7
+ computeInnerAuthWitHashFromAction,
8
+ lookupValidity,
9
+ type CallIntent,
10
+ type IntentInnerHash,
11
+ } from '../utils/authwit.js';
12
+ export { computeInnerAuthWitHash } from '@aztec/stdlib/auth-witness';
13
+
14
+ export { CallAuthorizationRequest } from '../authorization/call_authorization_request.js';
@@ -0,0 +1,2 @@
1
+ export { Body, L2Block } from '@aztec/stdlib/block';
2
+ export { getTimestampRangeForEpoch } from '@aztec/stdlib/epoch-helpers';
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * The `contract` module provides utilities for deploying and interacting with contracts, based on a
3
3
  * `Wallet` instance and a compiled artifact. Refer to the {@link account} module for how to obtain a valid
4
- * `Wallet` instance, and to the {@link https://docs.aztec.network/developers/guides/smart_contracts/how_to_compile_contract | Compiling contracts}
4
+ * `Wallet` instance, and to the {@link https://docs.aztec.network/developers/aztec-nr/how_to_compile_contract | Compiling contracts}
5
5
  * section of the documentation for how to generate an artifact out of your Noir source code.
6
6
  *
7
7
  * The {@link Contract} class is the main class in this module, and provides static methods for deploying
@@ -15,7 +15,7 @@
15
15
  * ```
16
16
  *
17
17
  * ```ts
18
- * const contract = await Contract.at(address, MyContractArtifact, wallet);
18
+ * const contract = Contract.at(address, MyContractArtifact, wallet);
19
19
  * await contract.methods.mint(1000, owner).send().wait();
20
20
  * console.log(`Total supply is now ${await contract.methods.totalSupply().simulate()}`);
21
21
  * ```
@@ -26,23 +26,48 @@
26
26
  * or obtaining the `request` for aggregating into a {@link BatchCall}.
27
27
  *
28
28
  * The result of `send`ing a transaction is a {@link SentTx} object, from which you can get the
29
- * transaction hash, or simply `wait` until the transaction is mined and the local PXE Service
29
+ * transaction hash, or simply `wait` until the transaction is mined and the local PXE
30
30
  * has synchronized its changes.
31
31
  *
32
32
  * @remarks If you are using typescript, consider using the
33
- * {@link https://docs.aztec.network/developers/guides/smart_contracts/how_to_compile_contract#typescript-interfaces | autogenerated type-safe interfaces}
33
+ * {@link https://docs.aztec.network/developers/aztec-nr/how_to_compile_contract#use-generated-interfaces | autogenerated type-safe interfaces}
34
34
  * for interacting with your contracts.
35
35
  *
36
36
  * @packageDocumentation
37
37
  */
38
- export { Contract } from './contract.js';
38
+ export { Contract } from '../contract/contract.js';
39
+ export { ContractFunctionInteraction } from '../contract/contract_function_interaction.js';
40
+
39
41
  export {
40
- ContractFunctionInteraction,
41
- type ProfileResult,
42
- type SendMethodOptions,
43
- } from './contract_function_interaction.js';
44
- export { DefaultWaitOpts, SentTx, type WaitOpts } from './sent_tx.js';
45
- export { ContractBase, type ContractMethod, type ContractNotes, type ContractStorageLayout } from './contract_base.js';
46
- export { BatchCall } from './batch_call.js';
47
- export { type DeployOptions, DeployMethod } from './deploy_method.js';
48
- export { DeploySentTx } from './deploy_sent_tx.js';
42
+ type RequestInteractionOptions,
43
+ type SendInteractionOptions,
44
+ type ProfileInteractionOptions,
45
+ type SimulateInteractionOptions,
46
+ type InteractionFeeOptions,
47
+ type GasSettingsOption,
48
+ toProfileOptions,
49
+ toSendOptions,
50
+ toSimulateOptions,
51
+ } from '../contract/interaction_options.js';
52
+
53
+ export { DefaultWaitOpts, SentTx, type WaitOpts } from '../contract/sent_tx.js';
54
+ export { ContractBase, type ContractMethod, type ContractStorageLayout } from '../contract/contract_base.js';
55
+ export { BatchCall } from '../contract/batch_call.js';
56
+ export {
57
+ type DeployOptions,
58
+ DeployMethod,
59
+ type RequestDeployOptions,
60
+ type SimulateDeployOptions,
61
+ } from '../contract/deploy_method.js';
62
+ export { DeploySentTx } from '../contract/deploy_sent_tx.js';
63
+ export { waitForProven, type WaitForProvenOpts, DefaultWaitForProvenOpts } from '../contract/wait_for_proven.js';
64
+ export { getGasLimits } from '../contract/get_gas_limits.js';
65
+
66
+ export {
67
+ type PartialAddress,
68
+ type ContractClassWithId,
69
+ type ContractInstanceWithAddress,
70
+ getContractClassFromArtifact,
71
+ getContractInstanceFromInstantiationParams,
72
+ type NodeInfo,
73
+ } from '@aztec/stdlib/contract';
@@ -0,0 +1 @@
1
+ export { computeSecretHash } from '@aztec/stdlib/hash';
@@ -1,3 +1,4 @@
1
- export { registerContractClass } from '../deployment/register_class.js';
2
- export { broadcastPrivateFunction, broadcastUnconstrainedFunction } from '../deployment/broadcast_function.js';
3
- export { deployInstance } from '../deployment/deploy_instance.js';
1
+ export { publishContractClass } from '../deployment/publish_class.js';
2
+ export { broadcastPrivateFunction, broadcastUtilityFunction } from '../deployment/broadcast_function.js';
3
+ export { publishInstance } from '../deployment/publish_instance.js';
4
+ export { ContractDeployer } from '../deployment/contract_deployer.js';
@@ -0,0 +1,10 @@
1
+ export {
2
+ L1FeeJuicePortalManager,
3
+ L1ToL2TokenPortalManager,
4
+ L1TokenManager,
5
+ L1TokenPortalManager,
6
+ type L2AmountClaim,
7
+ type L2AmountClaimWithRecipient,
8
+ type L2Claim,
9
+ generateClaimSecret,
10
+ } from '../ethereum/portal_manager.js';
@@ -0,0 +1,44 @@
1
+ import { type EventMetadataDefinition, EventSelector, decodeFromAbi } from '@aztec/stdlib/abi';
2
+ import type { AztecNode } from '@aztec/stdlib/interfaces/client';
3
+
4
+ /**
5
+ * Returns decoded public events given search parameters.
6
+ * @param node - The node to request events from
7
+ * @param eventMetadata - Metadata of the event. This should be the class generated from the contract. e.g. Contract.events.Event
8
+ * @param from - The block number to search from.
9
+ * @param limit - The amount of blocks to search.
10
+ * @returns - The deserialized events.
11
+ */
12
+ export async function getDecodedPublicEvents<T>(
13
+ node: AztecNode,
14
+ eventMetadataDef: EventMetadataDefinition,
15
+ from: number,
16
+ limit: number,
17
+ ): Promise<T[]> {
18
+ const { logs } = await node.getPublicLogs({
19
+ fromBlock: from,
20
+ toBlock: from + limit,
21
+ });
22
+
23
+ const decodedEvents = logs
24
+ .map(log => {
25
+ // +1 for the event selector
26
+ const expectedLength = eventMetadataDef.fieldNames.length + 1;
27
+ if (log.log.fields.length !== expectedLength) {
28
+ throw new Error(
29
+ `Something is weird here, we have matching EventSelectors, but the actual payload has mismatched length. Expected ${expectedLength}. Got ${log.log.fields.length}.`,
30
+ );
31
+ }
32
+
33
+ const logFields = log.log.getEmittedFields();
34
+ // We are assuming here that event logs are the last 4 bytes of the event. This is not enshrined but is a function of aztec.nr raw log emission.
35
+ if (!EventSelector.fromField(logFields[logFields.length - 1]).equals(eventMetadataDef.eventSelector)) {
36
+ return undefined;
37
+ }
38
+
39
+ return decodeFromAbi([eventMetadataDef.abiType], log.log.fields) as T;
40
+ })
41
+ .filter(log => log !== undefined) as T[];
42
+
43
+ return decodedEvents;
44
+ }
package/src/api/fee.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export type { FeePaymentMethod } from '../fee/fee_payment_method.js';
2
- export { FeeJuicePaymentMethod } from '../fee/fee_juice_payment_method.js';
3
2
  export { PrivateFeePaymentMethod } from '../fee/private_fee_payment_method.js';
4
3
  export { PublicFeePaymentMethod } from '../fee/public_fee_payment_method.js';
5
4
  export { FeeJuicePaymentMethodWithClaim } from '../fee/fee_juice_payment_method_with_claim.js';
5
+ export { SponsoredFeePaymentMethod } from '../fee/sponsored_fee_payment.js';
@@ -0,0 +1 @@
1
+ export { SponsoredFeePaymentMethod } from '../fee/sponsored_fee_payment.js';
@@ -0,0 +1,8 @@
1
+ export { type PublicKey, PublicKeys } from '@aztec/stdlib/keys';
2
+ export {
3
+ computeAppNullifierSecretKey,
4
+ deriveKeys,
5
+ deriveMasterIncomingViewingSecretKey,
6
+ deriveMasterNullifierSecretKey,
7
+ } from '@aztec/stdlib/keys';
8
+ export { generatePublicKey } from '../utils/pub_key.js';
package/src/api/log.ts CHANGED
@@ -1 +1,2 @@
1
1
  export { createLogger, type Logger } from '@aztec/foundation/log';
2
+ export { LogId, type LogFilter } from '@aztec/stdlib/logs';
@@ -0,0 +1,2 @@
1
+ export { L1ToL2Message, L2Actor, L1Actor } from '@aztec/stdlib/messaging';
2
+ export { isL1ToL2MessageReady, waitForL1ToL2MessageReady } from '../utils/cross_chain.js';
@@ -0,0 +1,20 @@
1
+ /**
2
+ * The `node` module provides utilities for connecting to and interacting with an Aztec node.
3
+ *
4
+ * The primary function is {@link createAztecNodeClient}, which creates a JSON-RPC client
5
+ * that connects to a running Aztec node instance. Use {@link waitForNode} to wait for
6
+ * the node to be ready before proceeding.
7
+ *
8
+ * @example
9
+ * ```ts
10
+ * import { createAztecNodeClient, waitForNode } from '@aztec/aztec.js/node';
11
+ *
12
+ * const node = createAztecNodeClient('http://localhost:8080');
13
+ * await waitForNode(node);
14
+ * const blockNumber = await node.getBlockNumber();
15
+ * ```
16
+ *
17
+ * @packageDocumentation
18
+ */
19
+ export { createAztecNodeClient, waitForNode, type AztecNode } from '../utils/node.js';
20
+ export { type NodeInfo } from '@aztec/stdlib/contract';
@@ -0,0 +1 @@
1
+ export { Comparator, Note } from '@aztec/stdlib/note';
@@ -0,0 +1,2 @@
1
+ export { ProtocolContractAddress } from '@aztec/protocol-contracts';
2
+ export { INITIAL_L2_BLOCK_NUM } from '@aztec/constants';
@@ -0,0 +1,2 @@
1
+ export { SiblingPath } from '@aztec/foundation/trees';
2
+ export { MerkleTreeId, merkleTreeIds } from '@aztec/stdlib/trees';
package/src/api/tx.ts ADDED
@@ -0,0 +1,13 @@
1
+ export {
2
+ Tx,
3
+ TxExecutionRequest,
4
+ TxHash,
5
+ TxReceipt,
6
+ TxStatus,
7
+ Capsule,
8
+ HashedValues,
9
+ GlobalVariables,
10
+ TxProfileResult,
11
+ ExecutionPayload,
12
+ mergeExecutionPayloads,
13
+ } from '@aztec/stdlib/tx';
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Utility functions for aztec.js.
3
+ *
4
+ * NOTE: This module contains low-usage utilities and may be deprecated in the future.
5
+ * Prefer using more specific modules:
6
+ * - Node connection utilities → `@aztec/aztec.js/node`
7
+ * - Type converters → `@aztec/aztec.js/abi`
8
+ * - Key generation → `@aztec/aztec.js/keys`
9
+ * - Messaging utilities → `@aztec/aztec.js/messaging`
10
+ */
11
+
12
+ // Low-usage utilities - consider these internal/experimental
13
+ export { getFeeJuiceBalance } from '../utils/fee_juice.js';
14
+ export { readFieldCompressedString } from '../utils/field_compressed_string.js';
package/src/api/wallet.ts CHANGED
@@ -1,7 +1,29 @@
1
1
  export {
2
- AccountWallet,
3
- AccountWalletWithSecretKey as AccountWalletWithSecretKey,
4
- SignerlessWallet,
2
+ type Aliased,
3
+ type SimulateOptions,
4
+ type ProfileOptions,
5
+ type SendOptions,
6
+ type BatchableMethods,
7
+ type BatchedMethod,
8
+ type BatchedMethodResult,
9
+ type BatchedMethodResultWrapper,
10
+ type BatchResults,
5
11
  type Wallet,
6
- getWallet,
7
- } from '../wallet/index.js';
12
+ FunctionCallSchema,
13
+ ExecutionPayloadSchema,
14
+ GasSettingsOptionSchema,
15
+ WalletSimulationFeeOptionSchema,
16
+ SendOptionsSchema,
17
+ SimulateOptionsSchema,
18
+ ProfileOptionsSchema,
19
+ MessageHashOrIntentSchema,
20
+ BatchedMethodSchema,
21
+ ContractMetadataSchema,
22
+ ContractClassMetadataSchema,
23
+ EventMetadataDefinitionSchema,
24
+ WalletSchema,
25
+ } from '../wallet/wallet.js';
26
+
27
+ export { AccountManager } from '../wallet/account_manager.js';
28
+
29
+ export { type DeployAccountOptions, DeployAccountMethod } from '../wallet/deploy_account_method.js';
@@ -0,0 +1,63 @@
1
+ import type { Fr } from '@aztec/foundation/fields';
2
+ import { FieldReader } from '@aztec/foundation/serialize';
3
+ import { AuthorizationSelector, FunctionSelector } from '@aztec/stdlib/abi';
4
+ import { AztecAddress } from '@aztec/stdlib/aztec-address';
5
+
6
+ /**
7
+ * An authwit request for a function call. Includes the preimage of the data
8
+ * to be signed, as opposed of just the inner hash.
9
+ */
10
+ export class CallAuthorizationRequest {
11
+ constructor(
12
+ /**
13
+ * The selector of the authwit type, used to identify it
14
+ * when emitted from `emit_offchain_effect`oracle.
15
+ * Computed as poseidon2("CallAuthwit((Field),(u32),Field)".to_bytes())
16
+ */
17
+ public selector: AuthorizationSelector,
18
+ /**
19
+ * The inner hash of the authwit, computed as
20
+ * poseidon2([msg_sender, selector, args_hash])
21
+ */
22
+ public innerHash: Fr,
23
+ /**
24
+ * The address performing the call
25
+ */
26
+ public msgSender: AztecAddress,
27
+ /**
28
+ * The selector of the function that is to be authorized
29
+ * */
30
+ public functionSelector: FunctionSelector,
31
+ /**
32
+ * The hash of the arguments to the function call,
33
+ */
34
+ public argsHash: Fr,
35
+ /**
36
+ * The arguments to the function call.
37
+ */
38
+ public args: Fr[],
39
+ ) {}
40
+
41
+ static getSelector(): Promise<AuthorizationSelector> {
42
+ return AuthorizationSelector.fromSignature('CallAuthorization((Field),(u32),Field)');
43
+ }
44
+
45
+ static async fromFields(fields: Fr[]): Promise<CallAuthorizationRequest> {
46
+ const expectedSelector = await CallAuthorizationRequest.getSelector();
47
+ const reader = FieldReader.asReader(fields);
48
+ const selector = AuthorizationSelector.fromField(reader.readField());
49
+ if (!selector.equals(expectedSelector)) {
50
+ throw new Error(
51
+ `Invalid authorization selector for CallAuthwit: expected ${expectedSelector.toString()}, got ${selector.toString()}`,
52
+ );
53
+ }
54
+ return new CallAuthorizationRequest(
55
+ selector,
56
+ reader.readField(),
57
+ AztecAddress.fromField(reader.readField()),
58
+ FunctionSelector.fromField(reader.readField()),
59
+ reader.readField(),
60
+ reader.readFieldArray(reader.remainingFields()),
61
+ );
62
+ }
63
+ }
@@ -1,31 +1,11 @@
1
- import type { Fr } from '@aztec/foundation/fields';
2
1
  import { createLogger } from '@aztec/foundation/log';
3
- import { GasSettings } from '@aztec/stdlib/gas';
4
- import type { Capsule, TxExecutionRequest, TxProvingResult } from '@aztec/stdlib/tx';
2
+ import type { AuthWitness } from '@aztec/stdlib/auth-witness';
3
+ import type { Capsule, ExecutionPayload } from '@aztec/stdlib/tx';
5
4
 
6
- import type { Wallet } from '../account/wallet.js';
7
- import type { ExecutionRequestInit } from '../entrypoint/entrypoint.js';
8
- import type { FeeOptions, UserFeeOptions } from '../entrypoint/payload.js';
9
- import { FeeJuicePaymentMethod } from '../fee/fee_juice_payment_method.js';
10
- import { getGasLimits } from './get_gas_limits.js';
11
- import { ProvenTx } from './proven_tx.js';
5
+ import type { Wallet } from '../wallet/wallet.js';
6
+ import { type RequestInteractionOptions, type SendInteractionOptions, toSendOptions } from './interaction_options.js';
12
7
  import { SentTx } from './sent_tx.js';
13
8
 
14
- /**
15
- * Represents options for calling a (constrained) function in a contract.
16
- * Allows the user to specify the sender address and nonce for a transaction.
17
- */
18
- export type SendMethodOptions = {
19
- /** Wether to skip the simulation of the public part of the transaction. */
20
- skipPublicSimulation?: boolean;
21
- /** The fee options for the transaction. */
22
- fee?: UserFeeOptions;
23
- /** Custom nonce to inject into the app payload of the transaction. Useful when trying to cancel an ongoing transaction by creating a new one with a higher fee */
24
- nonce?: Fr;
25
- /** Whether the transaction can be cancelled. If true, an extra nullifier will be emitted: H(nonce, GENERATOR_INDEX__TX_NULLIFIER) */
26
- cancellable?: boolean;
27
- };
28
-
29
9
  /**
30
10
  * Base class for an interaction with a contract, be it a deployment, a function call, or a batch.
31
11
  * Implements the sequence create/simulate/send.
@@ -33,160 +13,37 @@ export type SendMethodOptions = {
33
13
  export abstract class BaseContractInteraction {
34
14
  protected log = createLogger('aztecjs:contract_interaction');
35
15
 
36
- private capsules: Capsule[] = [];
37
-
38
- constructor(protected wallet: Wallet) {}
16
+ constructor(
17
+ protected wallet: Wallet,
18
+ protected authWitnesses: AuthWitness[] = [],
19
+ protected capsules: Capsule[] = [],
20
+ ) {}
39
21
 
40
22
  /**
41
- * Create a transaction execution request ready to be simulated.
23
+ * Returns an execution request that represents this operation.
24
+ * Can be used as a building block for constructing batch requests.
42
25
  * @param options - An optional object containing additional configuration for the transaction.
43
- * @returns A transaction execution request.
44
- */
45
- public abstract create(options?: SendMethodOptions): Promise<TxExecutionRequest>;
46
-
47
- /**
48
- * Creates a transaction execution request, simulates and proves it. Differs from .prove in
49
- * that its result does not include the wallet nor the composed tx object, but only the proving result.
50
- * This object can then be used to either create a ProvenTx ready to be sent, or directly send the transaction.
51
- * @param options - optional arguments to be used in the creation of the transaction
52
- * @returns The proving result.
26
+ * @returns An execution request wrapped in promise.
53
27
  */
54
- protected async proveInternal(options: SendMethodOptions = {}): Promise<TxProvingResult> {
55
- const txRequest = await this.create(options);
56
- const txSimulationResult = await this.wallet.simulateTx(txRequest, !options.skipPublicSimulation, undefined, true);
57
- return await this.wallet.proveTx(txRequest, txSimulationResult.privateExecutionResult);
58
- }
59
-
60
- // docs:start:prove
61
- /**
62
- * Proves a transaction execution request and returns a tx object ready to be sent.
63
- * @param options - optional arguments to be used in the creation of the transaction
64
- * @returns The resulting transaction
65
- */
66
- public async prove(options: SendMethodOptions = {}): Promise<ProvenTx> {
67
- // docs:end:prove
68
- const txProvingResult = await this.proveInternal(options);
69
- return new ProvenTx(this.wallet, txProvingResult.toTx());
70
- }
28
+ public abstract request(options?: RequestInteractionOptions): Promise<ExecutionPayload>;
71
29
 
72
30
  // docs:start:send
73
31
  /**
74
32
  * Sends a transaction to the contract function with the specified options.
75
- * This function throws an error if called on an unconstrained function.
33
+ * This function throws an error if called on a utility function.
76
34
  * It creates and signs the transaction if necessary, and returns a SentTx instance,
77
35
  * which can be used to track the transaction status, receipt, and events.
78
- * @param options - An optional object containing 'from' property representing
79
- * the AztecAddress of the sender. If not provided, the default address is used.
36
+ * @param options - An object containing 'from' property representing
37
+ * the AztecAddress of the sender and optional fee configuration
80
38
  * @returns A SentTx instance for tracking the transaction status and information.
81
39
  */
82
- public send(options: SendMethodOptions = {}): SentTx {
40
+ public send(options: SendInteractionOptions): SentTx {
83
41
  // docs:end:send
84
- const promise = (async () => {
85
- const txProvingResult = await this.proveInternal(options);
86
- return this.wallet.sendTx(txProvingResult.toTx());
87
- })();
88
- return new SentTx(this.wallet, promise);
89
- }
90
-
91
- // docs:start:estimateGas
92
- /**
93
- * Estimates gas for a given tx request and returns gas limits for it.
94
- * @param opts - Options.
95
- * @param pad - Percentage to pad the suggested gas limits by, if empty, defaults to 10%.
96
- * @returns Gas limits.
97
- */
98
- public async estimateGas(
99
- opts?: Omit<SendMethodOptions, 'estimateGas' | 'skipPublicSimulation'>,
100
- ): Promise<Pick<GasSettings, 'gasLimits' | 'teardownGasLimits'>> {
101
- // docs:end:estimateGas
102
- const txRequest = await this.create({ ...opts, fee: { ...opts?.fee, estimateGas: false } });
103
- const simulationResult = await this.wallet.simulateTx(
104
- txRequest,
105
- true /*simulatePublic*/,
106
- undefined /* msgSender */,
107
- undefined /* skipTxValidation */,
108
- true /* skipFeeEnforcement */,
109
- );
110
- const { totalGas: gasLimits, teardownGas: teardownGasLimits } = getGasLimits(
111
- simulationResult,
112
- opts?.fee?.estimatedGasPadding,
113
- );
114
- return { gasLimits, teardownGasLimits };
115
- }
116
-
117
- /**
118
- * Returns default fee options based on the user opts without running a simulation for gas estimation.
119
- * @param fee - User-provided fee options.
120
- */
121
- protected async getDefaultFeeOptions(fee: UserFeeOptions | undefined): Promise<FeeOptions> {
122
- const maxFeesPerGas =
123
- fee?.gasSettings?.maxFeesPerGas ?? (await this.wallet.getCurrentBaseFees()).mul(1 + (fee?.baseFeePadding ?? 0.5));
124
- const paymentMethod = fee?.paymentMethod ?? new FeeJuicePaymentMethod(this.wallet.getAddress());
125
- const gasSettings: GasSettings = GasSettings.default({ ...fee?.gasSettings, maxFeesPerGas });
126
- this.log.debug(`Using L2 gas settings`, gasSettings);
127
- return { gasSettings, paymentMethod };
128
- }
129
-
130
- // docs:start:getFeeOptions
131
- /**
132
- * Return fee options based on the user opts, estimating tx gas if needed.
133
- * @param request - Request to execute for this interaction.
134
- * @param pad - Percentage to pad the suggested gas limits by, as decimal (e.g., 0.10 for 10%).
135
- * @returns Fee options for the actual transaction.
136
- */
137
- protected async getFeeOptions(
138
- request: Omit<ExecutionRequestInit, 'fee'> & { /** User-provided fee options */ fee?: UserFeeOptions },
139
- ): Promise<FeeOptions> {
140
- // docs:end:getFeeOptions
141
- const defaultFeeOptions = await this.getDefaultFeeOptions(request.fee);
142
- const paymentMethod = defaultFeeOptions.paymentMethod;
143
- const maxFeesPerGas = defaultFeeOptions.gasSettings.maxFeesPerGas;
144
- const maxPriorityFeesPerGas = defaultFeeOptions.gasSettings.maxPriorityFeesPerGas;
145
-
146
- let gasSettings = defaultFeeOptions.gasSettings;
147
- if (request.fee?.estimateGas) {
148
- const feeForEstimation: FeeOptions = { paymentMethod, gasSettings };
149
- const txRequest = await this.wallet.createTxExecutionRequest({ ...request, fee: feeForEstimation });
150
- const simulationResult = await this.wallet.simulateTx(
151
- txRequest,
152
- true /*simulatePublic*/,
153
- undefined /* msgSender */,
154
- undefined /* skipTxValidation */,
155
- true /* skipFeeEnforcement */,
156
- );
157
- const { totalGas: gasLimits, teardownGas: teardownGasLimits } = getGasLimits(
158
- simulationResult,
159
- request.fee?.estimatedGasPadding,
160
- );
161
- gasSettings = GasSettings.from({ maxFeesPerGas, maxPriorityFeesPerGas, gasLimits, teardownGasLimits });
162
- this.log.verbose(
163
- `Estimated gas limits for tx: DA=${gasLimits.daGas} L2=${gasLimits.l2Gas} teardownDA=${teardownGasLimits.daGas} teardownL2=${teardownGasLimits.l2Gas}`,
164
- );
165
- }
166
-
167
- return { gasSettings, paymentMethod };
168
- }
169
-
170
- /**
171
- * Add data passed to the oracle calls during this contract interaction.
172
- * @param capsule - Data passed to oracle calls.
173
- */
174
- public addCapsule(capsule: Capsule) {
175
- this.capsules.push(capsule);
176
- }
177
-
178
- /**
179
- * Add data passed to the oracle calls during this contract interaction.
180
- * @param capsules - Data passed to oracle calls.
181
- */
182
- public addCapsules(capsules: Capsule[]) {
183
- this.capsules.push(...capsules);
184
- }
185
-
186
- /**
187
- * Return all capsules added for this function interaction.
188
- */
189
- public getCapsules() {
190
- return this.capsules;
42
+ const sendTx = async () => {
43
+ const executionPayload = await this.request(options);
44
+ const sendOptions = toSendOptions(options);
45
+ return this.wallet.sendTx(executionPayload, sendOptions);
46
+ };
47
+ return new SentTx(this.wallet, sendTx);
191
48
  }
192
49
  }