@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,98 +1,34 @@
1
- import type { Fr } from '@aztec/foundation/fields';
2
- import { GasSettings } from '@aztec/stdlib/gas';
3
- import type { Capsule, TxExecutionRequest, TxProvingResult } from '@aztec/stdlib/tx';
4
- import type { Wallet } from '../account/wallet.js';
5
- import type { ExecutionRequestInit } from '../entrypoint/entrypoint.js';
6
- import type { FeeOptions, UserFeeOptions } from '../entrypoint/payload.js';
7
- import { ProvenTx } from './proven_tx.js';
1
+ import type { AuthWitness } from '@aztec/stdlib/auth-witness';
2
+ import type { Capsule, ExecutionPayload } from '@aztec/stdlib/tx';
3
+ import type { Wallet } from '../wallet/wallet.js';
4
+ import { type RequestInteractionOptions, type SendInteractionOptions } from './interaction_options.js';
8
5
  import { SentTx } from './sent_tx.js';
9
- /**
10
- * Represents options for calling a (constrained) function in a contract.
11
- * Allows the user to specify the sender address and nonce for a transaction.
12
- */
13
- export type SendMethodOptions = {
14
- /** Wether to skip the simulation of the public part of the transaction. */
15
- skipPublicSimulation?: boolean;
16
- /** The fee options for the transaction. */
17
- fee?: UserFeeOptions;
18
- /** 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 */
19
- nonce?: Fr;
20
- /** Whether the transaction can be cancelled. If true, an extra nullifier will be emitted: H(nonce, GENERATOR_INDEX__TX_NULLIFIER) */
21
- cancellable?: boolean;
22
- };
23
6
  /**
24
7
  * Base class for an interaction with a contract, be it a deployment, a function call, or a batch.
25
8
  * Implements the sequence create/simulate/send.
26
9
  */
27
10
  export declare abstract class BaseContractInteraction {
28
11
  protected wallet: Wallet;
12
+ protected authWitnesses: AuthWitness[];
13
+ protected capsules: Capsule[];
29
14
  protected log: import("@aztec/foundation/log").Logger;
30
- private capsules;
31
- constructor(wallet: Wallet);
15
+ constructor(wallet: Wallet, authWitnesses?: AuthWitness[], capsules?: Capsule[]);
32
16
  /**
33
- * Create a transaction execution request ready to be simulated.
17
+ * Returns an execution request that represents this operation.
18
+ * Can be used as a building block for constructing batch requests.
34
19
  * @param options - An optional object containing additional configuration for the transaction.
35
- * @returns A transaction execution request.
20
+ * @returns An execution request wrapped in promise.
36
21
  */
37
- abstract create(options?: SendMethodOptions): Promise<TxExecutionRequest>;
38
- /**
39
- * Creates a transaction execution request, simulates and proves it. Differs from .prove in
40
- * that its result does not include the wallet nor the composed tx object, but only the proving result.
41
- * This object can then be used to either create a ProvenTx ready to be sent, or directly send the transaction.
42
- * @param options - optional arguments to be used in the creation of the transaction
43
- * @returns The proving result.
44
- */
45
- protected proveInternal(options?: SendMethodOptions): Promise<TxProvingResult>;
46
- /**
47
- * Proves a transaction execution request and returns a tx object ready to be sent.
48
- * @param options - optional arguments to be used in the creation of the transaction
49
- * @returns The resulting transaction
50
- */
51
- prove(options?: SendMethodOptions): Promise<ProvenTx>;
22
+ abstract request(options?: RequestInteractionOptions): Promise<ExecutionPayload>;
52
23
  /**
53
24
  * Sends a transaction to the contract function with the specified options.
54
- * This function throws an error if called on an unconstrained function.
25
+ * This function throws an error if called on a utility function.
55
26
  * It creates and signs the transaction if necessary, and returns a SentTx instance,
56
27
  * which can be used to track the transaction status, receipt, and events.
57
- * @param options - An optional object containing 'from' property representing
58
- * the AztecAddress of the sender. If not provided, the default address is used.
28
+ * @param options - An object containing 'from' property representing
29
+ * the AztecAddress of the sender and optional fee configuration
59
30
  * @returns A SentTx instance for tracking the transaction status and information.
60
31
  */
61
- send(options?: SendMethodOptions): SentTx;
62
- /**
63
- * Estimates gas for a given tx request and returns gas limits for it.
64
- * @param opts - Options.
65
- * @param pad - Percentage to pad the suggested gas limits by, if empty, defaults to 10%.
66
- * @returns Gas limits.
67
- */
68
- estimateGas(opts?: Omit<SendMethodOptions, 'estimateGas' | 'skipPublicSimulation'>): Promise<Pick<GasSettings, 'gasLimits' | 'teardownGasLimits'>>;
69
- /**
70
- * Returns default fee options based on the user opts without running a simulation for gas estimation.
71
- * @param fee - User-provided fee options.
72
- */
73
- protected getDefaultFeeOptions(fee: UserFeeOptions | undefined): Promise<FeeOptions>;
74
- /**
75
- * Return fee options based on the user opts, estimating tx gas if needed.
76
- * @param request - Request to execute for this interaction.
77
- * @param pad - Percentage to pad the suggested gas limits by, as decimal (e.g., 0.10 for 10%).
78
- * @returns Fee options for the actual transaction.
79
- */
80
- protected getFeeOptions(request: Omit<ExecutionRequestInit, 'fee'> & {
81
- fee?: UserFeeOptions;
82
- }): Promise<FeeOptions>;
83
- /**
84
- * Add data passed to the oracle calls during this contract interaction.
85
- * @param capsule - Data passed to oracle calls.
86
- */
87
- addCapsule(capsule: Capsule): void;
88
- /**
89
- * Add data passed to the oracle calls during this contract interaction.
90
- * @param capsules - Data passed to oracle calls.
91
- */
92
- addCapsules(capsules: Capsule[]): void;
93
- /**
94
- * Return all capsules added for this function interaction.
95
- */
96
- getCapsules(): Capsule[];
32
+ send(options: SendInteractionOptions): SentTx;
97
33
  }
98
- //# sourceMappingURL=base_contract_interaction.d.ts.map
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZV9jb250cmFjdF9pbnRlcmFjdGlvbi5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnRyYWN0L2Jhc2VfY29udHJhY3RfaW50ZXJhY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxLQUFLLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFbEUsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbEQsT0FBTyxFQUFFLEtBQUsseUJBQXlCLEVBQUUsS0FBSyxzQkFBc0IsRUFBaUIsTUFBTSwwQkFBMEIsQ0FBQztBQUN0SCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRXRDOzs7R0FHRztBQUNILDhCQUFzQix1QkFBdUI7SUFJekMsU0FBUyxDQUFDLE1BQU0sRUFBRSxNQUFNO0lBQ3hCLFNBQVMsQ0FBQyxhQUFhLEVBQUUsV0FBVyxFQUFFO0lBQ3RDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsT0FBTyxFQUFFO0lBTC9CLFNBQVMsQ0FBQyxHQUFHLHlDQUFnRDtJQUU3RCxZQUNZLE1BQU0sRUFBRSxNQUFNLEVBQ2QsYUFBYSxHQUFFLFdBQVcsRUFBTyxFQUNqQyxRQUFRLEdBQUUsT0FBTyxFQUFPLEVBQ2hDO0lBRUo7Ozs7O09BS0c7SUFDSCxTQUFnQixPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUseUJBQXlCLEdBQUcsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFHeEY7Ozs7Ozs7O09BUUc7SUFDSSxJQUFJLENBQUMsT0FBTyxFQUFFLHNCQUFzQixHQUFHLE1BQU0sQ0FRbkQ7Q0FDRiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"base_contract_interaction.d.ts","sourceRoot":"","sources":["../../src/contract/base_contract_interaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAEnD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAErF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAG3E,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,2EAA2E;IAC3E,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,2CAA2C;IAC3C,GAAG,CAAC,EAAE,cAAc,CAAC;IACrB,kKAAkK;IAClK,KAAK,CAAC,EAAE,EAAE,CAAC;IACX,qIAAqI;IACrI,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF;;;GAGG;AACH,8BAAsB,uBAAuB;IAK/B,SAAS,CAAC,MAAM,EAAE,MAAM;IAJpC,SAAS,CAAC,GAAG,yCAAgD;IAE7D,OAAO,CAAC,QAAQ,CAAiB;gBAEX,MAAM,EAAE,MAAM;IAEpC;;;;OAIG;aACa,MAAM,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAEhF;;;;;;OAMG;cACa,aAAa,CAAC,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,eAAe,CAAC;IAOxF;;;;OAIG;IACU,KAAK,CAAC,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAOtE;;;;;;;;OAQG;IACI,IAAI,CAAC,OAAO,GAAE,iBAAsB,GAAG,MAAM;IAUpD;;;;;OAKG;IACU,WAAW,CACtB,IAAI,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,aAAa,GAAG,sBAAsB,CAAC,GACrE,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,GAAG,mBAAmB,CAAC,CAAC;IAiBhE;;;OAGG;cACa,oBAAoB,CAAC,GAAG,EAAE,cAAc,GAAG,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC;IAU1F;;;;;OAKG;cACa,aAAa,CAC3B,OAAO,EAAE,IAAI,CAAC,oBAAoB,EAAE,KAAK,CAAC,GAAG;QAAmC,GAAG,CAAC,EAAE,cAAc,CAAA;KAAE,GACrG,OAAO,CAAC,UAAU,CAAC;IA+BtB;;;OAGG;IACI,UAAU,CAAC,OAAO,EAAE,OAAO;IAIlC;;;OAGG;IACI,WAAW,CAAC,QAAQ,EAAE,OAAO,EAAE;IAItC;;OAEG;IACI,WAAW;CAGnB"}
1
+ {"version":3,"file":"base_contract_interaction.d.ts","sourceRoot":"","sources":["../../src/contract/base_contract_interaction.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAElE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,KAAK,yBAAyB,EAAE,KAAK,sBAAsB,EAAiB,MAAM,0BAA0B,CAAC;AACtH,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC;;;GAGG;AACH,8BAAsB,uBAAuB;IAIzC,SAAS,CAAC,MAAM,EAAE,MAAM;IACxB,SAAS,CAAC,aAAa,EAAE,WAAW,EAAE;IACtC,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE;IAL/B,SAAS,CAAC,GAAG,yCAAgD;IAE7D,YACY,MAAM,EAAE,MAAM,EACd,aAAa,GAAE,WAAW,EAAO,EACjC,QAAQ,GAAE,OAAO,EAAO,EAChC;IAEJ;;;;;OAKG;IACH,SAAgB,OAAO,CAAC,OAAO,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAGxF;;;;;;;;OAQG;IACI,IAAI,CAAC,OAAO,EAAE,sBAAsB,GAAG,MAAM,CAQnD;CACF"}
@@ -1,149 +1,36 @@
1
1
  import { createLogger } from '@aztec/foundation/log';
2
- import { GasSettings } from '@aztec/stdlib/gas';
3
- import { FeeJuicePaymentMethod } from '../fee/fee_juice_payment_method.js';
4
- import { getGasLimits } from './get_gas_limits.js';
5
- import { ProvenTx } from './proven_tx.js';
2
+ import { toSendOptions } from './interaction_options.js';
6
3
  import { SentTx } from './sent_tx.js';
7
4
  /**
8
5
  * Base class for an interaction with a contract, be it a deployment, a function call, or a batch.
9
6
  * Implements the sequence create/simulate/send.
10
7
  */ export class BaseContractInteraction {
11
8
  wallet;
12
- log;
9
+ authWitnesses;
13
10
  capsules;
14
- constructor(wallet){
11
+ log;
12
+ constructor(wallet, authWitnesses = [], capsules = []){
15
13
  this.wallet = wallet;
14
+ this.authWitnesses = authWitnesses;
15
+ this.capsules = capsules;
16
16
  this.log = createLogger('aztecjs:contract_interaction');
17
- this.capsules = [];
18
- }
19
- /**
20
- * Creates a transaction execution request, simulates and proves it. Differs from .prove in
21
- * that its result does not include the wallet nor the composed tx object, but only the proving result.
22
- * This object can then be used to either create a ProvenTx ready to be sent, or directly send the transaction.
23
- * @param options - optional arguments to be used in the creation of the transaction
24
- * @returns The proving result.
25
- */ async proveInternal(options = {}) {
26
- const txRequest = await this.create(options);
27
- const txSimulationResult = await this.wallet.simulateTx(txRequest, !options.skipPublicSimulation, undefined, true);
28
- return await this.wallet.proveTx(txRequest, txSimulationResult.privateExecutionResult);
29
- }
30
- // docs:start:prove
31
- /**
32
- * Proves a transaction execution request and returns a tx object ready to be sent.
33
- * @param options - optional arguments to be used in the creation of the transaction
34
- * @returns The resulting transaction
35
- */ async prove(options = {}) {
36
- // docs:end:prove
37
- const txProvingResult = await this.proveInternal(options);
38
- return new ProvenTx(this.wallet, txProvingResult.toTx());
39
17
  }
40
18
  // docs:start:send
41
19
  /**
42
20
  * Sends a transaction to the contract function with the specified options.
43
- * This function throws an error if called on an unconstrained function.
21
+ * This function throws an error if called on a utility function.
44
22
  * It creates and signs the transaction if necessary, and returns a SentTx instance,
45
23
  * which can be used to track the transaction status, receipt, and events.
46
- * @param options - An optional object containing 'from' property representing
47
- * the AztecAddress of the sender. If not provided, the default address is used.
24
+ * @param options - An object containing 'from' property representing
25
+ * the AztecAddress of the sender and optional fee configuration
48
26
  * @returns A SentTx instance for tracking the transaction status and information.
49
- */ send(options = {}) {
27
+ */ send(options) {
50
28
  // docs:end:send
51
- const promise = (async ()=>{
52
- const txProvingResult = await this.proveInternal(options);
53
- return this.wallet.sendTx(txProvingResult.toTx());
54
- })();
55
- return new SentTx(this.wallet, promise);
56
- }
57
- // docs:start:estimateGas
58
- /**
59
- * Estimates gas for a given tx request and returns gas limits for it.
60
- * @param opts - Options.
61
- * @param pad - Percentage to pad the suggested gas limits by, if empty, defaults to 10%.
62
- * @returns Gas limits.
63
- */ async estimateGas(opts) {
64
- // docs:end:estimateGas
65
- const txRequest = await this.create({
66
- ...opts,
67
- fee: {
68
- ...opts?.fee,
69
- estimateGas: false
70
- }
71
- });
72
- const simulationResult = await this.wallet.simulateTx(txRequest, true, undefined /* msgSender */ , undefined /* skipTxValidation */ , true);
73
- const { totalGas: gasLimits, teardownGas: teardownGasLimits } = getGasLimits(simulationResult, opts?.fee?.estimatedGasPadding);
74
- return {
75
- gasLimits,
76
- teardownGasLimits
77
- };
78
- }
79
- /**
80
- * Returns default fee options based on the user opts without running a simulation for gas estimation.
81
- * @param fee - User-provided fee options.
82
- */ async getDefaultFeeOptions(fee) {
83
- const maxFeesPerGas = fee?.gasSettings?.maxFeesPerGas ?? (await this.wallet.getCurrentBaseFees()).mul(1 + (fee?.baseFeePadding ?? 0.5));
84
- const paymentMethod = fee?.paymentMethod ?? new FeeJuicePaymentMethod(this.wallet.getAddress());
85
- const gasSettings = GasSettings.default({
86
- ...fee?.gasSettings,
87
- maxFeesPerGas
88
- });
89
- this.log.debug(`Using L2 gas settings`, gasSettings);
90
- return {
91
- gasSettings,
92
- paymentMethod
29
+ const sendTx = async ()=>{
30
+ const executionPayload = await this.request(options);
31
+ const sendOptions = toSendOptions(options);
32
+ return this.wallet.sendTx(executionPayload, sendOptions);
93
33
  };
94
- }
95
- // docs:start:getFeeOptions
96
- /**
97
- * Return fee options based on the user opts, estimating tx gas if needed.
98
- * @param request - Request to execute for this interaction.
99
- * @param pad - Percentage to pad the suggested gas limits by, as decimal (e.g., 0.10 for 10%).
100
- * @returns Fee options for the actual transaction.
101
- */ async getFeeOptions(request) {
102
- // docs:end:getFeeOptions
103
- const defaultFeeOptions = await this.getDefaultFeeOptions(request.fee);
104
- const paymentMethod = defaultFeeOptions.paymentMethod;
105
- const maxFeesPerGas = defaultFeeOptions.gasSettings.maxFeesPerGas;
106
- const maxPriorityFeesPerGas = defaultFeeOptions.gasSettings.maxPriorityFeesPerGas;
107
- let gasSettings = defaultFeeOptions.gasSettings;
108
- if (request.fee?.estimateGas) {
109
- const feeForEstimation = {
110
- paymentMethod,
111
- gasSettings
112
- };
113
- const txRequest = await this.wallet.createTxExecutionRequest({
114
- ...request,
115
- fee: feeForEstimation
116
- });
117
- const simulationResult = await this.wallet.simulateTx(txRequest, true, undefined /* msgSender */ , undefined /* skipTxValidation */ , true);
118
- const { totalGas: gasLimits, teardownGas: teardownGasLimits } = getGasLimits(simulationResult, request.fee?.estimatedGasPadding);
119
- gasSettings = GasSettings.from({
120
- maxFeesPerGas,
121
- maxPriorityFeesPerGas,
122
- gasLimits,
123
- teardownGasLimits
124
- });
125
- this.log.verbose(`Estimated gas limits for tx: DA=${gasLimits.daGas} L2=${gasLimits.l2Gas} teardownDA=${teardownGasLimits.daGas} teardownL2=${teardownGasLimits.l2Gas}`);
126
- }
127
- return {
128
- gasSettings,
129
- paymentMethod
130
- };
131
- }
132
- /**
133
- * Add data passed to the oracle calls during this contract interaction.
134
- * @param capsule - Data passed to oracle calls.
135
- */ addCapsule(capsule) {
136
- this.capsules.push(capsule);
137
- }
138
- /**
139
- * Add data passed to the oracle calls during this contract interaction.
140
- * @param capsules - Data passed to oracle calls.
141
- */ addCapsules(capsules) {
142
- this.capsules.push(...capsules);
143
- }
144
- /**
145
- * Return all capsules added for this function interaction.
146
- */ getCapsules() {
147
- return this.capsules;
34
+ return new SentTx(this.wallet, sendTx);
148
35
  }
149
36
  }
@@ -1,28 +1,26 @@
1
- import { type FunctionCall } from '@aztec/stdlib/abi';
2
- import type { TxExecutionRequest } from '@aztec/stdlib/tx';
3
- import type { Wallet } from '../account/index.js';
4
- import { BaseContractInteraction, type SendMethodOptions } from './base_contract_interaction.js';
5
- import type { SimulateMethodOptions } from './contract_function_interaction.js';
1
+ import { ExecutionPayload } from '@aztec/stdlib/tx';
2
+ import type { Wallet } from '../wallet/wallet.js';
3
+ import { BaseContractInteraction } from './base_contract_interaction.js';
4
+ import { type RequestInteractionOptions, type SimulateInteractionOptions } from './interaction_options.js';
6
5
  /** A batch of function calls to be sent as a single transaction through a wallet. */
7
6
  export declare class BatchCall extends BaseContractInteraction {
8
- protected calls: FunctionCall[];
9
- constructor(wallet: Wallet, calls: FunctionCall[]);
7
+ protected interactions: (BaseContractInteraction | ExecutionPayload)[];
8
+ constructor(wallet: Wallet, interactions: (BaseContractInteraction | ExecutionPayload)[]);
10
9
  /**
11
- * Create a transaction execution request that represents this batch, encoded and authenticated by the
12
- * user's wallet, ready to be simulated.
13
- * @param opts - An optional object containing additional configuration for the transaction.
14
- * @returns A Promise that resolves to a transaction instance.
10
+ * Returns an execution request that represents this operation.
11
+ * @param options - An optional object containing additional configuration for the request generation.
12
+ * @returns An execution payload wrapped in promise.
15
13
  */
16
- create(opts?: SendMethodOptions): Promise<TxExecutionRequest>;
14
+ request(options?: RequestInteractionOptions): Promise<ExecutionPayload>;
17
15
  /**
18
- * Simulate a transaction and get its return values
19
- * Differs from prove in a few important ways:
20
- * 1. It returns the values of the function execution
21
- * 2. It supports `unconstrained`, `private` and `public` functions
22
- *
23
- * @param options - An optional object containing additional configuration for the transaction.
24
- * @returns The result of the transaction as returned by the contract function.
16
+ * Simulates the batch, supporting private, public and utility functions. Although this is a single
17
+ * interaction with the wallet, private and public functions will be grouped into a single ExecutionPayload
18
+ * that the wallet will simulate as a single transaction. Utility function calls will simply be executed
19
+ * one by one.
20
+ * @param options - An optional object containing additional configuration for the interaction.
21
+ * @returns The results of all the interactions that make up the batch
25
22
  */
26
- simulate(options?: SimulateMethodOptions): Promise<any>;
23
+ simulate(options: SimulateInteractionOptions): Promise<any>;
24
+ protected getExecutionPayloads(): Promise<ExecutionPayload[]>;
27
25
  }
28
- //# sourceMappingURL=batch_call.d.ts.map
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmF0Y2hfY2FsbC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnRyYWN0L2JhdGNoX2NhbGwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNMLGdCQUFnQixFQUlqQixNQUFNLGtCQUFrQixDQUFDO0FBRTFCLE9BQU8sS0FBSyxFQUFpQixNQUFNLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN6RSxPQUFPLEVBQ0wsS0FBSyx5QkFBeUIsRUFDOUIsS0FBSywwQkFBMEIsRUFFaEMsTUFBTSwwQkFBMEIsQ0FBQztBQUVsQyxxRkFBcUY7QUFDckYscUJBQWEsU0FBVSxTQUFRLHVCQUF1QjtJQUdsRCxTQUFTLENBQUMsWUFBWSxFQUFFLENBQUMsdUJBQXVCLEdBQUcsZ0JBQWdCLENBQUMsRUFBRTtJQUZ4RSxZQUNFLE1BQU0sRUFBRSxNQUFNLEVBQ0osWUFBWSxFQUFFLENBQUMsdUJBQXVCLEdBQUcsZ0JBQWdCLENBQUMsRUFBRSxFQUd2RTtJQUVEOzs7O09BSUc7SUFDVSxPQUFPLENBQUMsT0FBTyxHQUFFLHlCQUE4QixHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQVN2RjtJQUVEOzs7Ozs7O09BT0c7SUFDVSxRQUFRLENBQUMsT0FBTyxFQUFFLDBCQUEwQixHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0F5RnZFO0lBRUQsVUFBZ0Isb0JBQW9CLElBQUksT0FBTyxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FFbEU7Q0FDRiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"batch_call.d.ts","sourceRoot":"","sources":["../../src/contract/batch_call.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAA+B,MAAM,mBAAmB,CAAC;AACnF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,KAAK,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACjG,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAEhF,qFAAqF;AACrF,qBAAa,SAAU,SAAQ,uBAAuB;IACxB,SAAS,CAAC,KAAK,EAAE,YAAY,EAAE;gBAA/C,MAAM,EAAE,MAAM,EAAY,KAAK,EAAE,YAAY,EAAE;IAI3D;;;;;OAKG;IACU,MAAM,CAAC,IAAI,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAO1E;;;;;;;;OAQG;IACU,QAAQ,CAAC,OAAO,GAAE,qBAA0B,GAAG,OAAO,CAAC,GAAG,CAAC;CA2DzE"}
1
+ {"version":3,"file":"batch_call.d.ts","sourceRoot":"","sources":["../../src/contract/batch_call.ts"],"names":[],"mappings":"AACA,OAAO,EACL,gBAAgB,EAIjB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAiB,MAAM,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EACL,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAEhC,MAAM,0BAA0B,CAAC;AAElC,qFAAqF;AACrF,qBAAa,SAAU,SAAQ,uBAAuB;IAGlD,SAAS,CAAC,YAAY,EAAE,CAAC,uBAAuB,GAAG,gBAAgB,CAAC,EAAE;IAFxE,YACE,MAAM,EAAE,MAAM,EACJ,YAAY,EAAE,CAAC,uBAAuB,GAAG,gBAAgB,CAAC,EAAE,EAGvE;IAED;;;;OAIG;IACU,OAAO,CAAC,OAAO,GAAE,yBAA8B,GAAG,OAAO,CAAC,gBAAgB,CAAC,CASvF;IAED;;;;;;;OAOG;IACU,QAAQ,CAAC,OAAO,EAAE,0BAA0B,GAAG,OAAO,CAAC,GAAG,CAAC,CAyFvE;IAED,UAAgB,oBAAoB,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAElE;CACF"}
@@ -1,91 +1,109 @@
1
1
  import { FunctionType, decodeFromAbi } from '@aztec/stdlib/abi';
2
+ import { ExecutionPayload, mergeExecutionPayloads } from '@aztec/stdlib/tx';
2
3
  import { BaseContractInteraction } from './base_contract_interaction.js';
4
+ import { toSimulateOptions } from './interaction_options.js';
3
5
  /** A batch of function calls to be sent as a single transaction through a wallet. */ export class BatchCall extends BaseContractInteraction {
4
- calls;
5
- constructor(wallet, calls){
6
- super(wallet), this.calls = calls;
6
+ interactions;
7
+ constructor(wallet, interactions){
8
+ super(wallet), this.interactions = interactions;
7
9
  }
8
10
  /**
9
- * Create a transaction execution request that represents this batch, encoded and authenticated by the
10
- * user's wallet, ready to be simulated.
11
- * @param opts - An optional object containing additional configuration for the transaction.
12
- * @returns A Promise that resolves to a transaction instance.
13
- */ async create(opts) {
14
- const calls = this.calls;
15
- const capsules = this.getCapsules();
16
- const fee = await this.getFeeOptions({
17
- calls,
18
- capsules,
19
- ...opts
20
- });
21
- return await this.wallet.createTxExecutionRequest({
22
- calls,
23
- capsules,
24
- ...opts,
25
- fee
26
- });
11
+ * Returns an execution request that represents this operation.
12
+ * @param options - An optional object containing additional configuration for the request generation.
13
+ * @returns An execution payload wrapped in promise.
14
+ */ async request(options = {}) {
15
+ const requests = await this.getExecutionPayloads();
16
+ const feeExecutionPayload = options.fee?.paymentMethod ? await options.fee.paymentMethod.getExecutionPayload() : undefined;
17
+ const finalExecutionPayload = feeExecutionPayload ? mergeExecutionPayloads([
18
+ feeExecutionPayload,
19
+ ...requests
20
+ ]) : mergeExecutionPayloads([
21
+ ...requests
22
+ ]);
23
+ return finalExecutionPayload;
27
24
  }
28
25
  /**
29
- * Simulate a transaction and get its return values
30
- * Differs from prove in a few important ways:
31
- * 1. It returns the values of the function execution
32
- * 2. It supports `unconstrained`, `private` and `public` functions
33
- *
34
- * @param options - An optional object containing additional configuration for the transaction.
35
- * @returns The result of the transaction as returned by the contract function.
36
- */ async simulate(options = {}) {
37
- const { indexedCalls, unconstrained } = this.calls.reduce((acc, current, index)=>{
38
- if (current.type === FunctionType.UNCONSTRAINED) {
39
- acc.unconstrained.push([
40
- current,
26
+ * Simulates the batch, supporting private, public and utility functions. Although this is a single
27
+ * interaction with the wallet, private and public functions will be grouped into a single ExecutionPayload
28
+ * that the wallet will simulate as a single transaction. Utility function calls will simply be executed
29
+ * one by one.
30
+ * @param options - An optional object containing additional configuration for the interaction.
31
+ * @returns The results of all the interactions that make up the batch
32
+ */ async simulate(options) {
33
+ const { indexedExecutionPayloads, utility } = (await this.getExecutionPayloads()).reduce((acc, current, index)=>{
34
+ const call = current.calls[0];
35
+ if (call.type === FunctionType.UTILITY) {
36
+ acc.utility.push([
37
+ call,
41
38
  index
42
39
  ]);
43
40
  } else {
44
- acc.indexedCalls.push([
41
+ acc.indexedExecutionPayloads.push([
45
42
  current,
46
43
  index,
47
- current.type === FunctionType.PRIVATE ? acc.privateIndex++ : acc.publicIndex++
44
+ call.type === FunctionType.PRIVATE ? acc.privateIndex++ : acc.publicIndex++
48
45
  ]);
49
46
  }
50
47
  return acc;
51
48
  }, {
52
- indexedCalls: [],
53
- unconstrained: [],
49
+ indexedExecutionPayloads: [],
50
+ utility: [],
54
51
  publicIndex: 0,
55
52
  privateIndex: 0
56
53
  });
57
- const calls = indexedCalls.map(([call])=>call);
58
- const capsules = this.getCapsules();
59
- const fee = await this.getFeeOptions({
60
- calls,
61
- capsules,
62
- ...options
63
- });
64
- const txRequest = await this.wallet.createTxExecutionRequest({
65
- calls,
66
- capsules,
67
- ...options,
68
- fee
69
- });
70
- const unconstrainedCalls = unconstrained.map(async ([call, index])=>[
71
- await this.wallet.simulateUnconstrained(call.name, call.args, call.to, options?.from),
72
- index
73
- ]);
74
- const [unconstrainedResults, simulatedTx] = await Promise.all([
75
- Promise.all(unconstrainedCalls),
76
- this.wallet.simulateTx(txRequest, true, options?.from, options?.skipTxValidation)
77
- ]);
54
+ const batchRequests = [];
55
+ // Add utility calls to batch
56
+ for (const [call] of utility){
57
+ batchRequests.push({
58
+ name: 'simulateUtility',
59
+ args: [
60
+ call,
61
+ options?.authWitnesses
62
+ ]
63
+ });
64
+ }
65
+ // Add tx simulation to batch if there are any private/public calls
66
+ if (indexedExecutionPayloads.length > 0) {
67
+ const payloads = indexedExecutionPayloads.map(([request])=>request);
68
+ const combinedPayload = mergeExecutionPayloads(payloads);
69
+ const executionPayload = new ExecutionPayload(combinedPayload.calls, combinedPayload.authWitnesses.concat(options.authWitnesses ?? []), combinedPayload.capsules.concat(options.capsules ?? []), combinedPayload.extraHashedArgs);
70
+ batchRequests.push({
71
+ name: 'simulateTx',
72
+ args: [
73
+ executionPayload,
74
+ toSimulateOptions(options)
75
+ ]
76
+ });
77
+ }
78
+ const batchResults = batchRequests.length > 0 ? await this.wallet.batch(batchRequests) : [];
78
79
  const results = [];
79
- unconstrainedResults.forEach(([result, index])=>{
80
- results[index] = result;
81
- });
82
- indexedCalls.forEach(([call, callIndex, resultIndex])=>{
83
- // As account entrypoints are private, for private functions we retrieve the return values from the first nested call
84
- // since we're interested in the first set of values AFTER the account entrypoint
85
- // For public functions we retrieve the first values directly from the public output.
86
- const rawReturnValues = call.type == FunctionType.PRIVATE ? simulatedTx.getPrivateReturnValues()?.nested?.[resultIndex].values : simulatedTx.getPublicReturnValues()?.[resultIndex].values;
87
- results[callIndex] = rawReturnValues ? decodeFromAbi(call.returnTypes, rawReturnValues) : [];
88
- });
80
+ // Process utility results (they come first in batch results)
81
+ for(let i = 0; i < utility.length; i++){
82
+ const [call, resultIndex] = utility[i];
83
+ const wrappedResult = batchResults[i];
84
+ if (wrappedResult.name === 'simulateUtility') {
85
+ const rawReturnValues = wrappedResult.result.result;
86
+ results[resultIndex] = rawReturnValues ? decodeFromAbi(call.returnTypes, rawReturnValues) : [];
87
+ }
88
+ }
89
+ // Process tx simulation result (it comes last if present)
90
+ if (indexedExecutionPayloads.length > 0) {
91
+ const txResultWrapper = batchResults[utility.length];
92
+ if (txResultWrapper.name === 'simulateTx') {
93
+ const simulatedTx = txResultWrapper.result;
94
+ indexedExecutionPayloads.forEach(([request, callIndex, resultIndex])=>{
95
+ const call = request.calls[0];
96
+ // As account entrypoints are private, for private functions we retrieve the return values from the first nested call
97
+ // since we're interested in the first set of values AFTER the account entrypoint
98
+ // For public functions we retrieve the first values directly from the public output.
99
+ const rawReturnValues = call.type == FunctionType.PRIVATE ? simulatedTx.getPrivateReturnValues()?.nested?.[resultIndex].values : simulatedTx.getPublicReturnValues()?.[resultIndex].values;
100
+ results[callIndex] = rawReturnValues ? decodeFromAbi(call.returnTypes, rawReturnValues) : [];
101
+ });
102
+ }
103
+ }
89
104
  return results;
90
105
  }
106
+ async getExecutionPayloads() {
107
+ return await Promise.all(this.interactions.map((i)=>i instanceof ExecutionPayload ? i : i.request()));
108
+ }
91
109
  }
@@ -1,4 +1,4 @@
1
- import type { ContractArtifact } from '@aztec/stdlib/abi';
1
+ import { type ContractArtifact } from '@aztec/stdlib/abi';
2
2
  /**
3
3
  * Validates the given ContractArtifact object by checking its functions and their parameters.
4
4
  * Ensures that the ABI has at least one function, a constructor, valid bytecode, and correct parameter types.
@@ -8,4 +8,4 @@ import type { ContractArtifact } from '@aztec/stdlib/abi';
8
8
  * @returns A boolean value indicating whether the artifact is valid or not.
9
9
  */
10
10
  export declare function abiChecker(artifact: ContractArtifact): boolean;
11
- //# sourceMappingURL=checker.d.ts.map
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tlci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnRyYWN0L2NoZWNrZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUdMLEtBQUssZ0JBQWdCLEVBR3RCLE1BQU0sbUJBQW1CLENBQUM7QUFRM0I7Ozs7Ozs7R0FPRztBQUNILHdCQUFnQixVQUFVLENBQUMsUUFBUSxFQUFFLGdCQUFnQixXQTZCcEQifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"checker.d.ts","sourceRoot":"","sources":["../../src/contract/checker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAsB,gBAAgB,EAAc,MAAM,mBAAmB,CAAC;AAQ1F;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,gBAAgB,WA8BpD"}
1
+ {"version":3,"file":"checker.d.ts","sourceRoot":"","sources":["../../src/contract/checker.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,gBAAgB,EAGtB,MAAM,mBAAmB,CAAC;AAQ3B;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,gBAAgB,WA6BpD"}
@@ -1,3 +1,4 @@
1
+ import { getDefaultInitializer } from '@aztec/stdlib/abi';
1
2
  /**
2
3
  * Validates the given ContractArtifact object by checking its functions and their parameters.
3
4
  * Ensures that the ABI has at least one function, a constructor, valid bytecode, and correct parameter types.
@@ -24,8 +25,7 @@
24
25
  abiParameterTypeChecker(param.type);
25
26
  });
26
27
  });
27
- // TODO: implement a better check for constructor (right now only checks if it has it or not)
28
- if (!artifact.functions.find((func)=>func.name === 'constructor')) {
28
+ if (!getDefaultInitializer(artifact)) {
29
29
  throw new Error('ABI has no constructor');
30
30
  }
31
31
  return true;
@@ -1,27 +1,27 @@
1
1
  import type { ContractArtifact } from '@aztec/stdlib/abi';
2
2
  import type { AztecAddress } from '@aztec/stdlib/aztec-address';
3
3
  import { PublicKeys } from '@aztec/stdlib/keys';
4
- import type { Wallet } from '../account/index.js';
4
+ import type { Wallet } from '../wallet/wallet.js';
5
5
  import { ContractBase } from './contract_base.js';
6
6
  import { DeployMethod } from './deploy_method.js';
7
7
  /**
8
8
  * The Contract class represents a contract and provides utility methods for interacting with it.
9
9
  * It enables the creation of ContractFunctionInteraction instances for each function in the contract's ABI,
10
10
  * allowing users to call or send transactions to these functions. Additionally, the Contract class can be used
11
- * to attach the contract instance to a deployed contract on-chain through the PXE, which facilitates
11
+ * to attach the contract instance to a deployed contract onchain through the PXE, which facilitates
12
12
  * interaction with Aztec's privacy protocol.
13
13
  */
14
14
  export declare class Contract extends ContractBase {
15
15
  /**
16
- * Creates a contract instance.
17
- * @param address - The deployed contract's address.
16
+ * Gets a contract instance.
17
+ * @param address - The address of the contract instance.
18
18
  * @param artifact - Build artifact of the contract.
19
19
  * @param wallet - The wallet to use when interacting with the contract.
20
20
  * @returns A promise that resolves to a new Contract instance.
21
21
  */
22
- static at(address: AztecAddress, artifact: ContractArtifact, wallet: Wallet): Promise<Contract>;
22
+ static at(address: AztecAddress, artifact: ContractArtifact, wallet: Wallet): Contract;
23
23
  /**
24
- * Creates a tx to deploy a new instance of a contract.
24
+ * Creates a tx to deploy (initialize and/or publish) a new instance of a contract.
25
25
  * @param wallet - The wallet for executing the deployment.
26
26
  * @param artifact - Build artifact of the contract to deploy
27
27
  * @param args - Arguments for the constructor.
@@ -29,7 +29,8 @@ export declare class Contract extends ContractBase {
29
29
  */
30
30
  static deploy(wallet: Wallet, artifact: ContractArtifact, args: any[], constructorName?: string): DeployMethod<Contract>;
31
31
  /**
32
- * Creates a tx to deploy a new instance of a contract using the specified public keys hash to derive the address.
32
+ * Creates a tx to deploy (initialize and/or publish) a new instance of a contract
33
+ * using the specified public keys hash to derive the address.
33
34
  * @param publicKeys - Hash of public keys to use for deriving the address.
34
35
  * @param wallet - The wallet for executing the deployment.
35
36
  * @param artifact - Build artifact of the contract.
@@ -38,4 +39,4 @@ export declare class Contract extends ContractBase {
38
39
  */
39
40
  static deployWithPublicKeys(publicKeys: PublicKeys, wallet: Wallet, artifact: ContractArtifact, args: any[], constructorName?: string): DeployMethod<Contract>;
40
41
  }
41
- //# sourceMappingURL=contract.d.ts.map
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3QuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdC9jb250cmFjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzFELE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRWhFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVoRCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRWxEOzs7Ozs7R0FNRztBQUNILHFCQUFhLFFBQVMsU0FBUSxZQUFZO0lBQ3hDOzs7Ozs7T0FNRztJQUNILE9BQWMsRUFBRSxDQUFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxNQUFNLEdBQUcsUUFBUSxDQUU1RjtJQUVEOzs7Ozs7T0FNRztJQUNILE9BQWMsTUFBTSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsRUFBRSxlQUFlLENBQUMsRUFBRSxNQUFNLDBCQUlyRztJQUVEOzs7Ozs7OztPQVFHO0lBQ0gsT0FBYyxvQkFBb0IsQ0FDaEMsVUFBVSxFQUFFLFVBQVUsRUFDdEIsTUFBTSxFQUFFLE1BQU0sRUFDZCxRQUFRLEVBQUUsZ0JBQWdCLEVBQzFCLElBQUksRUFBRSxHQUFHLEVBQUUsRUFDWCxlQUFlLENBQUMsRUFBRSxNQUFNLDBCQUt6QjtDQUNGIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../src/contract/contract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAEhE,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD;;;;;;GAMG;AACH,qBAAa,QAAS,SAAQ,YAAY;IACxC;;;;;;OAMG;WACiB,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAc5G;;;;;;OAMG;WACW,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,eAAe,CAAC,EAAE,MAAM;IAKtG;;;;;;;OAOG;WACW,oBAAoB,CAChC,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,gBAAgB,EAC1B,IAAI,EAAE,GAAG,EAAE,EACX,eAAe,CAAC,EAAE,MAAM;CAK3B"}
1
+ {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../src/contract/contract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAEhE,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD;;;;;;GAMG;AACH,qBAAa,QAAS,SAAQ,YAAY;IACxC;;;;;;OAMG;IACH,OAAc,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,GAAG,QAAQ,CAE5F;IAED;;;;;;OAMG;IACH,OAAc,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,eAAe,CAAC,EAAE,MAAM,0BAIrG;IAED;;;;;;;;OAQG;IACH,OAAc,oBAAoB,CAChC,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,gBAAgB,EAC1B,IAAI,EAAE,GAAG,EAAE,EACX,eAAe,CAAC,EAAE,MAAM,0BAKzB;CACF"}