@aztec/aztec.js 3.0.0-canary.a9708bd → 3.0.0-devnet.2

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 (278) hide show
  1. package/dest/account/account.d.ts +60 -0
  2. package/dest/account/account.d.ts.map +1 -0
  3. package/dest/account/account.js +59 -0
  4. package/dest/account/account_contract.d.ts +5 -5
  5. package/dest/account/account_contract.d.ts.map +1 -1
  6. package/dest/account/account_contract.js +0 -1
  7. package/dest/{wallet/account_wallet_with_private_key.d.ts → account/account_with_secret_key.d.ts} +7 -8
  8. package/dest/account/account_with_secret_key.d.ts.map +1 -0
  9. package/dest/{wallet/account_wallet_with_private_key.js → account/account_with_secret_key.js} +5 -5
  10. package/dest/account/index.d.ts +1 -4
  11. package/dest/account/index.d.ts.map +1 -1
  12. package/dest/account/index.js +1 -4
  13. package/dest/account/signerless_account.d.ts +24 -0
  14. package/dest/account/signerless_account.d.ts.map +1 -0
  15. package/dest/account/signerless_account.js +27 -0
  16. package/dest/api/abi.d.ts +1 -0
  17. package/dest/api/abi.d.ts.map +1 -1
  18. package/dest/api/account.d.ts +4 -2
  19. package/dest/api/account.d.ts.map +1 -1
  20. package/dest/api/account.js +3 -1
  21. package/dest/api/addresses.d.ts +1 -0
  22. package/dest/api/addresses.d.ts.map +1 -1
  23. package/dest/api/addresses.js +1 -0
  24. package/dest/api/authorization.d.ts +2 -0
  25. package/dest/api/authorization.d.ts.map +1 -1
  26. package/dest/api/authorization.js +2 -0
  27. package/dest/api/block.d.ts +3 -0
  28. package/dest/api/block.d.ts.map +1 -0
  29. package/dest/api/block.js +2 -0
  30. package/dest/api/contract.d.ts +4 -5
  31. package/dest/api/contract.d.ts.map +1 -1
  32. package/dest/api/contract.js +3 -3
  33. package/dest/api/crypto.d.ts +2 -0
  34. package/dest/api/crypto.d.ts.map +1 -0
  35. package/dest/api/crypto.js +1 -0
  36. package/dest/api/ethereum.d.ts +0 -1
  37. package/dest/api/ethereum.d.ts.map +1 -1
  38. package/dest/api/ethereum.js +0 -1
  39. package/dest/api/events.d.ts +12 -0
  40. package/dest/api/events.d.ts.map +1 -0
  41. package/dest/api/events.js +30 -0
  42. package/dest/api/fee.d.ts +1 -2
  43. package/dest/api/fee.d.ts.map +1 -1
  44. package/dest/api/fee.js +0 -1
  45. package/dest/api/keys.d.ts +4 -0
  46. package/dest/api/keys.d.ts.map +1 -0
  47. package/dest/api/keys.js +3 -0
  48. package/dest/api/log.d.ts +1 -0
  49. package/dest/api/log.d.ts.map +1 -1
  50. package/dest/api/log.js +1 -0
  51. package/dest/api/messaging.d.ts +3 -0
  52. package/dest/api/messaging.d.ts.map +1 -0
  53. package/dest/api/messaging.js +2 -0
  54. package/dest/api/node.d.ts +21 -0
  55. package/dest/api/node.d.ts.map +1 -0
  56. package/dest/api/node.js +18 -0
  57. package/dest/api/note.d.ts +2 -0
  58. package/dest/api/note.d.ts.map +1 -0
  59. package/dest/api/note.js +1 -0
  60. package/dest/api/protocol.d.ts +3 -0
  61. package/dest/api/protocol.d.ts.map +1 -0
  62. package/dest/api/protocol.js +2 -0
  63. package/dest/api/trees.d.ts +3 -0
  64. package/dest/api/trees.d.ts.map +1 -0
  65. package/dest/api/trees.js +2 -0
  66. package/dest/api/tx.d.ts +2 -0
  67. package/dest/api/tx.d.ts.map +1 -0
  68. package/dest/api/tx.js +1 -0
  69. package/dest/api/utils.d.ts +10 -6
  70. package/dest/api/utils.d.ts.map +1 -1
  71. package/dest/api/utils.js +10 -5
  72. package/dest/api/wallet.d.ts +4 -1
  73. package/dest/api/wallet.d.ts.map +1 -1
  74. package/dest/api/wallet.js +4 -1
  75. package/dest/contract/base_contract_interaction.d.ts +6 -48
  76. package/dest/contract/base_contract_interaction.d.ts.map +1 -1
  77. package/dest/contract/base_contract_interaction.js +6 -106
  78. package/dest/contract/batch_call.d.ts +6 -14
  79. package/dest/contract/batch_call.d.ts.map +1 -1
  80. package/dest/contract/batch_call.js +42 -52
  81. package/dest/contract/contract.d.ts +1 -1
  82. package/dest/contract/contract.d.ts.map +1 -1
  83. package/dest/contract/contract.js +2 -12
  84. package/dest/contract/contract_base.d.ts +1 -1
  85. package/dest/contract/contract_base.d.ts.map +1 -1
  86. package/dest/contract/contract_function_interaction.d.ts +29 -40
  87. package/dest/contract/contract_function_interaction.d.ts.map +1 -1
  88. package/dest/contract/contract_function_interaction.js +41 -53
  89. package/dest/contract/deploy_method.d.ts +63 -56
  90. package/dest/contract/deploy_method.d.ts.map +1 -1
  91. package/dest/contract/deploy_method.js +68 -86
  92. package/dest/contract/deploy_sent_tx.d.ts +0 -1
  93. package/dest/contract/deploy_sent_tx.d.ts.map +1 -1
  94. package/dest/contract/deploy_sent_tx.js +7 -10
  95. package/dest/contract/interaction_options.d.ts +74 -19
  96. package/dest/contract/interaction_options.d.ts.map +1 -1
  97. package/dest/contract/interaction_options.js +51 -3
  98. package/dest/contract/sent_tx.d.ts +3 -3
  99. package/dest/contract/sent_tx.d.ts.map +1 -1
  100. package/dest/contract/sent_tx.js +5 -5
  101. package/dest/contract/wait_for_proven.d.ts +3 -3
  102. package/dest/contract/wait_for_proven.d.ts.map +1 -1
  103. package/dest/contract/wait_for_proven.js +2 -2
  104. package/dest/deployment/publish_instance.d.ts +1 -1
  105. package/dest/deployment/publish_instance.d.ts.map +1 -1
  106. package/dest/deployment/publish_instance.js +2 -5
  107. package/dest/ethereum/portal_manager.d.ts +3 -4
  108. package/dest/ethereum/portal_manager.d.ts.map +1 -1
  109. package/dest/ethereum/portal_manager.js +3 -5
  110. package/dest/fee/fee_juice_payment_method_with_claim.d.ts +12 -7
  111. package/dest/fee/fee_juice_payment_method_with_claim.d.ts.map +1 -1
  112. package/dest/fee/fee_juice_payment_method_with_claim.js +21 -12
  113. package/dest/fee/fee_payment_method.d.ts +26 -0
  114. package/dest/fee/fee_payment_method.d.ts.map +1 -0
  115. package/dest/fee/fee_payment_method.js +3 -0
  116. package/dest/fee/private_fee_payment_method.d.ts +22 -5
  117. package/dest/fee/private_fee_payment_method.d.ts.map +1 -1
  118. package/dest/fee/private_fee_payment_method.js +34 -13
  119. package/dest/fee/public_fee_payment_method.d.ts +22 -5
  120. package/dest/fee/public_fee_payment_method.d.ts.map +1 -1
  121. package/dest/fee/public_fee_payment_method.js +37 -14
  122. package/dest/fee/sponsored_fee_payment.d.ts +2 -0
  123. package/dest/fee/sponsored_fee_payment.d.ts.map +1 -1
  124. package/dest/fee/sponsored_fee_payment.js +4 -0
  125. package/dest/utils/authwit.d.ts +77 -25
  126. package/dest/utils/authwit.d.ts.map +1 -1
  127. package/dest/utils/authwit.js +219 -24
  128. package/dest/utils/cross_chain.d.ts +24 -0
  129. package/dest/utils/cross_chain.d.ts.map +1 -0
  130. package/dest/utils/cross_chain.js +30 -0
  131. package/dest/utils/fee_juice.d.ts +3 -2
  132. package/dest/utils/fee_juice.d.ts.map +1 -1
  133. package/dest/utils/fee_juice.js +3 -2
  134. package/dest/{fee → wallet}/account_entrypoint_meta_payment_method.d.ts +13 -10
  135. package/dest/wallet/account_entrypoint_meta_payment_method.d.ts.map +1 -0
  136. package/dest/wallet/account_entrypoint_meta_payment_method.js +76 -0
  137. package/dest/wallet/account_manager.d.ts +69 -0
  138. package/dest/wallet/account_manager.d.ts.map +1 -0
  139. package/dest/wallet/account_manager.js +113 -0
  140. package/dest/wallet/base_wallet.d.ts +78 -35
  141. package/dest/wallet/base_wallet.d.ts.map +1 -1
  142. package/dest/wallet/base_wallet.js +216 -48
  143. package/dest/wallet/deploy_account_method.d.ts +52 -0
  144. package/dest/wallet/deploy_account_method.d.ts.map +1 -0
  145. package/dest/wallet/deploy_account_method.js +77 -0
  146. package/dest/wallet/index.d.ts +2 -15
  147. package/dest/wallet/index.d.ts.map +1 -1
  148. package/dest/wallet/index.js +2 -19
  149. package/dest/wallet/wallet.d.ts +2473 -6
  150. package/dest/wallet/wallet.d.ts.map +1 -1
  151. package/dest/wallet/wallet.js +202 -3
  152. package/package.json +25 -21
  153. package/src/account/account.ts +97 -0
  154. package/src/account/account_contract.ts +4 -6
  155. package/src/{wallet/account_wallet_with_private_key.ts → account/account_with_secret_key.ts} +6 -8
  156. package/src/account/index.ts +1 -4
  157. package/src/account/signerless_account.ts +46 -0
  158. package/src/api/abi.ts +11 -0
  159. package/src/api/account.ts +4 -2
  160. package/src/api/addresses.ts +1 -0
  161. package/src/api/authorization.ts +11 -0
  162. package/src/api/block.ts +2 -0
  163. package/src/api/contract.ts +16 -8
  164. package/src/api/crypto.ts +1 -0
  165. package/src/api/ethereum.ts +0 -1
  166. package/src/api/events.ts +44 -0
  167. package/src/api/fee.ts +1 -2
  168. package/src/api/keys.ts +8 -0
  169. package/src/api/log.ts +1 -0
  170. package/src/api/messaging.ts +2 -0
  171. package/src/api/node.ts +20 -0
  172. package/src/api/note.ts +1 -0
  173. package/src/api/protocol.ts +2 -0
  174. package/src/api/trees.ts +2 -0
  175. package/src/api/tx.ts +11 -0
  176. package/src/api/utils.ts +12 -19
  177. package/src/api/wallet.ts +33 -5
  178. package/src/contract/base_contract_interaction.ts +9 -138
  179. package/src/contract/batch_call.ts +52 -61
  180. package/src/contract/contract.ts +2 -12
  181. package/src/contract/contract_function_interaction.ts +65 -97
  182. package/src/contract/deploy_method.ts +117 -99
  183. package/src/contract/deploy_sent_tx.ts +4 -10
  184. package/src/contract/interaction_options.ts +126 -24
  185. package/src/contract/sent_tx.ts +4 -4
  186. package/src/contract/wait_for_proven.ts +4 -4
  187. package/src/deployment/publish_instance.ts +3 -8
  188. package/src/ethereum/portal_manager.ts +4 -12
  189. package/src/fee/fee_juice_payment_method_with_claim.ts +26 -17
  190. package/src/fee/fee_payment_method.ts +26 -0
  191. package/src/fee/private_fee_payment_method.ts +60 -41
  192. package/src/fee/public_fee_payment_method.ts +73 -49
  193. package/src/fee/sponsored_fee_payment.ts +6 -0
  194. package/src/utils/authwit.ts +250 -38
  195. package/src/utils/cross_chain.ts +53 -0
  196. package/src/utils/fee_juice.ts +4 -3
  197. package/src/wallet/account_entrypoint_meta_payment_method.ts +105 -0
  198. package/src/wallet/account_manager.ts +154 -0
  199. package/src/wallet/base_wallet.ts +287 -78
  200. package/src/wallet/deploy_account_method.ts +125 -0
  201. package/src/wallet/index.ts +2 -32
  202. package/src/wallet/wallet.ts +357 -29
  203. package/dest/account_manager/account_manager.d.ts +0 -119
  204. package/dest/account_manager/account_manager.d.ts.map +0 -1
  205. package/dest/account_manager/account_manager.js +0 -202
  206. package/dest/account_manager/deploy_account_sent_tx.d.ts +0 -30
  207. package/dest/account_manager/deploy_account_sent_tx.d.ts.map +0 -1
  208. package/dest/account_manager/deploy_account_sent_tx.js +0 -29
  209. package/dest/account_manager/index.d.ts +0 -3
  210. package/dest/account_manager/index.d.ts.map +0 -1
  211. package/dest/account_manager/index.js +0 -2
  212. package/dest/api/interfaces.d.ts +0 -2
  213. package/dest/api/interfaces.d.ts.map +0 -1
  214. package/dest/api/interfaces.js +0 -1
  215. package/dest/api/log_id.d.ts +0 -2
  216. package/dest/api/log_id.d.ts.map +0 -1
  217. package/dest/api/log_id.js +0 -1
  218. package/dest/api/rpc.d.ts +0 -3
  219. package/dest/api/rpc.d.ts.map +0 -1
  220. package/dest/api/rpc.js +0 -2
  221. package/dest/api/tx_hash.d.ts +0 -2
  222. package/dest/api/tx_hash.d.ts.map +0 -1
  223. package/dest/api/tx_hash.js +0 -1
  224. package/dest/contract/deploy_proven_tx.d.ts +0 -21
  225. package/dest/contract/deploy_proven_tx.d.ts.map +0 -1
  226. package/dest/contract/deploy_proven_tx.js +0 -21
  227. package/dest/contract/proven_tx.d.ts +0 -21
  228. package/dest/contract/proven_tx.d.ts.map +0 -1
  229. package/dest/contract/proven_tx.js +0 -23
  230. package/dest/ethereum/l1_contracts.d.ts +0 -3
  231. package/dest/ethereum/l1_contracts.d.ts.map +0 -1
  232. package/dest/ethereum/l1_contracts.js +0 -13
  233. package/dest/fee/account_entrypoint_meta_payment_method.d.ts.map +0 -1
  234. package/dest/fee/account_entrypoint_meta_payment_method.js +0 -64
  235. package/dest/fee/fee_juice_payment_method.d.ts +0 -14
  236. package/dest/fee/fee_juice_payment_method.d.ts.map +0 -1
  237. package/dest/fee/fee_juice_payment_method.js +0 -21
  238. package/dest/fee/utils.d.ts +0 -13
  239. package/dest/fee/utils.d.ts.map +0 -1
  240. package/dest/fee/utils.js +0 -32
  241. package/dest/index.d.ts +0 -59
  242. package/dest/index.d.ts.map +0 -1
  243. package/dest/index.js +0 -62
  244. package/dest/rpc_clients/node/index.d.ts +0 -12
  245. package/dest/rpc_clients/node/index.d.ts.map +0 -1
  246. package/dest/rpc_clients/node/index.js +0 -72
  247. package/dest/rpc_clients/pxe_client.d.ts +0 -10
  248. package/dest/rpc_clients/pxe_client.d.ts.map +0 -1
  249. package/dest/rpc_clients/pxe_client.js +0 -23
  250. package/dest/utils/pxe.d.ts +0 -4
  251. package/dest/utils/pxe.d.ts.map +0 -1
  252. package/dest/utils/pxe.js +0 -14
  253. package/dest/wallet/account_wallet.d.ts +0 -74
  254. package/dest/wallet/account_wallet.d.ts.map +0 -1
  255. package/dest/wallet/account_wallet.js +0 -232
  256. package/dest/wallet/account_wallet_with_private_key.d.ts.map +0 -1
  257. package/dest/wallet/signerless_wallet.d.ts +0 -23
  258. package/dest/wallet/signerless_wallet.d.ts.map +0 -1
  259. package/dest/wallet/signerless_wallet.js +0 -33
  260. package/src/account_manager/account_manager.ts +0 -276
  261. package/src/account_manager/deploy_account_sent_tx.ts +0 -46
  262. package/src/account_manager/index.ts +0 -2
  263. package/src/api/interfaces.ts +0 -1
  264. package/src/api/log_id.ts +0 -1
  265. package/src/api/rpc.ts +0 -2
  266. package/src/api/tx_hash.ts +0 -1
  267. package/src/contract/deploy_proven_tx.ts +0 -45
  268. package/src/contract/proven_tx.ts +0 -36
  269. package/src/ethereum/l1_contracts.ts +0 -21
  270. package/src/fee/account_entrypoint_meta_payment_method.ts +0 -89
  271. package/src/fee/fee_juice_payment_method.ts +0 -25
  272. package/src/fee/utils.ts +0 -39
  273. package/src/index.ts +0 -85
  274. package/src/rpc_clients/node/index.ts +0 -77
  275. package/src/rpc_clients/pxe_client.ts +0 -25
  276. package/src/utils/pxe.ts +0 -17
  277. package/src/wallet/account_wallet.ts +0 -246
  278. package/src/wallet/signerless_wallet.ts +0 -56
@@ -42,7 +42,7 @@ export declare class ContractBase {
42
42
  /** The wallet used for interacting with this contract. */
43
43
  wallet: Wallet);
44
44
  /** Address of the contract. */
45
- get address(): import("../index.js").AztecAddress;
45
+ get address(): import("../api/addresses.js").AztecAddress;
46
46
  /** Partial address of the contract. */
47
47
  get partialAddress(): Promise<import("@aztec/foundation/schemas").Fr>;
48
48
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"contract_base.d.ts","sourceRoot":"","sources":["../../src/contract/contract_base.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAEhB,gBAAgB,EAEjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,KAAK,2BAA2B,EAAyB,MAAM,wBAAwB,CAAC;AAEjG,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AAEjF;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,2BAA2B,CAAC,GAAG;IAC/E;;OAEG;IACH,QAAQ,EAAE,MAAM,OAAO,CAAC,gBAAgB,CAAC,CAAC;CAC3C,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,qBAAqB,CAAC,CAAC,SAAS,MAAM,IAAI;KACnD,CAAC,IAAI,CAAC,GAAG,WAAW;CACtB,CAAC;AAEF;;GAEG;AACH,qBAAa,YAAY;IAOrB,iDAAiD;aACjC,QAAQ,EAAE,2BAA2B;IACrD,yDAAyD;aACzC,QAAQ,EAAE,gBAAgB;IAC1C,0DAA0D;IACnD,MAAM,EAAE,MAAM;IAXvB;;OAEG;IACI,OAAO,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CAAA;KAAE,CAAM;IAExD,SAAS;IACP,iDAAiD;IACjC,QAAQ,EAAE,2BAA2B;IACrD,yDAAyD;IACzC,QAAQ,EAAE,gBAAgB;IAC1C,0DAA0D;IACnD,MAAM,EAAE,MAAM;IAmBvB,+BAA+B;IAC/B,IAAW,OAAO,uCAEjB;IAED,uCAAuC;IACvC,IAAW,cAAc,oDAExB;IAED;;;;OAIG;IACI,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;CAGxC"}
1
+ {"version":3,"file":"contract_base.d.ts","sourceRoot":"","sources":["../../src/contract/contract_base.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAEhB,gBAAgB,EAEjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,KAAK,2BAA2B,EAAyB,MAAM,wBAAwB,CAAC;AAEjG,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AAEjF;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,2BAA2B,CAAC,GAAG;IAC/E;;OAEG;IACH,QAAQ,EAAE,MAAM,OAAO,CAAC,gBAAgB,CAAC,CAAC;CAC3C,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,qBAAqB,CAAC,CAAC,SAAS,MAAM,IAAI;KACnD,CAAC,IAAI,CAAC,GAAG,WAAW;CACtB,CAAC;AAEF;;GAEG;AACH,qBAAa,YAAY;IAOrB,iDAAiD;aACjC,QAAQ,EAAE,2BAA2B;IACrD,yDAAyD;aACzC,QAAQ,EAAE,gBAAgB;IAC1C,0DAA0D;IACnD,MAAM,EAAE,MAAM;IAXvB;;OAEG;IACI,OAAO,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CAAA;KAAE,CAAM;IAExD,SAAS;IACP,iDAAiD;IACjC,QAAQ,EAAE,2BAA2B;IACrD,yDAAyD;IACzC,QAAQ,EAAE,gBAAgB;IAC1C,0DAA0D;IACnD,MAAM,EAAE,MAAM;IAmBvB,+BAA+B;IAC/B,IAAW,OAAO,+CAEjB;IAED,uCAAuC;IACvC,IAAW,cAAc,oDAExB;IAED;;;;OAIG;IACI,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;CAGxC"}
@@ -1,31 +1,11 @@
1
1
  import { ExecutionPayload } from '@aztec/entrypoints/payload';
2
- import { type FunctionAbi } from '@aztec/stdlib/abi';
2
+ import { type FunctionAbi, FunctionSelector, FunctionType } from '@aztec/stdlib/abi';
3
3
  import type { AuthWitness } from '@aztec/stdlib/auth-witness';
4
4
  import { AztecAddress } from '@aztec/stdlib/aztec-address';
5
- import { type Capsule, type HashedValues, type OffchainEffect, type SimulationStats, type TxExecutionRequest, type TxProfileResult } from '@aztec/stdlib/tx';
5
+ import { type Capsule, type HashedValues, type TxProfileResult } from '@aztec/stdlib/tx';
6
6
  import type { Wallet } from '../wallet/wallet.js';
7
7
  import { BaseContractInteraction } from './base_contract_interaction.js';
8
- import type { ProfileMethodOptions, RequestMethodOptions, SendMethodOptions, SimulateMethodOptions } from './interaction_options.js';
9
- /**
10
- * Represents the result type of a simulation.
11
- * By default, it will just be the return value of the simulated function
12
- * so contract interfaces behave as plain functions. If `includeMetadata` is set to true in `SimulateMethodOptions` on the input of `simulate(...)`,
13
- * it will provide extra information.
14
- */
15
- type SimulationReturn<T extends boolean | undefined> = T extends true ? {
16
- /**
17
- * Additional stats about the simulation
18
- */
19
- stats: SimulationStats;
20
- /**
21
- * Offchain effects generated during the simulation
22
- */
23
- offchainEffects: OffchainEffect[];
24
- /**
25
- * Return value of the function
26
- */
27
- result: any;
28
- } : any;
8
+ import { type ProfileInteractionOptions, type RequestInteractionOptions, type SimulateInteractionOptions, type SimulationReturn } from './interaction_options.js';
29
9
  /**
30
10
  * This is the class that is returned when calling e.g. `contract.methods.myMethod(arg0, arg1)`.
31
11
  * It contains available interactions one can call on a method, including view.
@@ -37,36 +17,46 @@ export declare class ContractFunctionInteraction extends BaseContractInteraction
37
17
  private extraHashedArgs;
38
18
  constructor(wallet: Wallet, contractAddress: AztecAddress, functionDao: FunctionAbi, args: any[], authWitnesses?: AuthWitness[], capsules?: Capsule[], extraHashedArgs?: HashedValues[]);
39
19
  /**
40
- * Create a transaction execution request that represents this call, encoded and authenticated by the
41
- * user's wallet, ready to be simulated.
42
- * @param options - An optional object containing additional configuration for the transaction.
43
- * @returns A Promise that resolves to a transaction instance.
20
+ * Returns the encoded function call wrapped by this interaction
21
+ * Useful when generating authwits
22
+ * @returns An encoded function call
44
23
  */
45
- create(options?: Omit<SendMethodOptions, 'from'>): Promise<TxExecutionRequest>;
24
+ getFunctionCall(): Promise<{
25
+ name: string;
26
+ args: import("@aztec/foundation/schemas").Fr[];
27
+ selector: FunctionSelector;
28
+ type: FunctionType;
29
+ to: AztecAddress;
30
+ isStatic: boolean;
31
+ hideMsgSender: boolean; /** Only set to `true` for enqueued public function calls */
32
+ returnTypes: import("@aztec/stdlib/abi").AbiType[];
33
+ }>;
46
34
  /**
47
- * Returns an execution request that represents this operation.
48
- * Can be used as a building block for constructing batch requests.
49
- * @param options - An optional object containing additional configuration for the request generation.
50
- * @returns An execution payload wrapped in promise.
35
+ * Returns the execution payload that allows this operation to happen on chain.
36
+ * @param options - Configuration options.
37
+ * @returns The execution payload for this operation
51
38
  */
52
- request(options?: RequestMethodOptions): Promise<ExecutionPayload>;
39
+ request(options?: RequestInteractionOptions): Promise<ExecutionPayload>;
53
40
  /**
54
- * Simulate a transaction and get its return values
41
+ * Simulate a transaction and get information from its execution.
55
42
  * Differs from prove in a few important ways:
56
- * 1. It returns the values of the function execution
43
+ * 1. It returns the values of the function execution, plus additional metadata if requested
57
44
  * 2. It supports `utility`, `private` and `public` functions
58
45
  *
59
- * @param options - An optional object containing additional configuration for the transaction.
60
- * @returns The result of the transaction as returned by the contract function.
46
+ * @param options - An optional object containing additional configuration for the simulation.
47
+ * @returns Depending on the simulation options, this method directly returns the result value of the executed
48
+ * function or a rich object containing extra metadata, such as estimated gas costs (if requested via options),
49
+ * execution statistics and emitted offchain effects
61
50
  */
62
- simulate<T extends SimulateMethodOptions>(options: T): Promise<SimulationReturn<T['includeMetadata']>>;
51
+ simulate<T extends SimulateInteractionOptions>(options: T): Promise<SimulationReturn<Exclude<T['fee'], undefined>['estimateGas']>>;
52
+ simulate<T extends SimulateInteractionOptions>(options: T): Promise<SimulationReturn<T['includeMetadata']>>;
63
53
  /**
64
54
  * Simulate a transaction and profile the gate count for each function in the transaction.
65
55
  * @param options - Same options as `simulate`, plus profiling method
66
56
  *
67
57
  * @returns An object containing the function return value and profile result.
68
58
  */
69
- profile(options: ProfileMethodOptions): Promise<TxProfileResult>;
59
+ profile(options: ProfileInteractionOptions): Promise<TxProfileResult>;
70
60
  /**
71
61
  * Augments this ContractFunctionInteraction with additional metadata, such as authWitnesses, capsules, and extraHashedArgs.
72
62
  * This is useful when creating a "batteries included" interaction, such as registering a contract class with its associated
@@ -83,5 +73,4 @@ export declare class ContractFunctionInteraction extends BaseContractInteraction
83
73
  extraHashedArgs?: HashedValues[];
84
74
  }): ContractFunctionInteraction;
85
75
  }
86
- export {};
87
76
  //# sourceMappingURL=contract_function_interaction.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"contract_function_interaction.d.ts","sourceRoot":"","sources":["../../src/contract/contract_function_interaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,KAAK,WAAW,EAAkE,MAAM,mBAAmB,CAAC;AACrH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,eAAe,EAErB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,KAAK,EACV,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EACjB,qBAAqB,EACtB,MAAM,0BAA0B,CAAC;AAElC;;;;;GAKG;AACH,KAAK,gBAAgB,CAAC,CAAC,SAAS,OAAO,GAAG,SAAS,IAAI,CAAC,SAAS,IAAI,GACjE;IACE;;OAEG;IACH,KAAK,EAAE,eAAe,CAAC;IACvB;;OAEG;IACH,eAAe,EAAE,cAAc,EAAE,CAAC;IAClC;;OAEG;IACH,MAAM,EAAE,GAAG,CAAC;CACb,GACD,GAAG,CAAC;AAER;;;GAGG;AACH,qBAAa,2BAA4B,SAAQ,uBAAuB;IAGpE,SAAS,CAAC,eAAe,EAAE,YAAY;IACvC,SAAS,CAAC,WAAW,EAAE,WAAW;IAClC,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE;IAGrB,OAAO,CAAC,eAAe;gBANvB,MAAM,EAAE,MAAM,EACJ,eAAe,EAAE,YAAY,EAC7B,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,GAAG,EAAE,EACrB,aAAa,GAAE,WAAW,EAAO,EACjC,QAAQ,GAAE,OAAO,EAAO,EAChB,eAAe,GAAE,YAAY,EAAO;IAS9C;;;;;OAKG;IACmB,MAAM,CAAC,OAAO,GAAE,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAcxG;;;;;OAKG;IACmB,OAAO,CAAC,OAAO,GAAE,oBAAyB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAwB5F;;;;;;;;OAQG;IACU,QAAQ,CAAC,CAAC,SAAS,qBAAqB,EAAE,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC;IA0DnH;;;;;OAKG;IACU,OAAO,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,eAAe,CAAC;IAe7E;;;;;;OAMG;IACI,IAAI,CAAC,EACV,aAAkB,EAClB,QAAa,EACb,eAAoB,GACrB,EAAE;QACD,kDAAkD;QAClD,aAAa,CAAC,EAAE,WAAW,EAAE,CAAC;QAC9B,6CAA6C;QAC7C,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;QACrB,sDAAsD;QACtD,eAAe,CAAC,EAAE,YAAY,EAAE,CAAC;KAClC,GAAG,2BAA2B;CAWhC"}
1
+ {"version":3,"file":"contract_function_interaction.d.ts","sourceRoot":"","sources":["../../src/contract/contract_function_interaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAA0B,MAAM,4BAA4B,CAAC;AACtF,OAAO,EAAE,KAAK,WAAW,EAAE,gBAAgB,EAAE,YAAY,EAAkC,MAAM,mBAAmB,CAAC;AACrH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,eAAe,EAA0B,MAAM,kBAAkB,CAAC;AAEjH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAEzE,OAAO,EACL,KAAK,yBAAyB,EAC9B,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAC/B,KAAK,gBAAgB,EAGtB,MAAM,0BAA0B,CAAC;AAElC;;;GAGG;AACH,qBAAa,2BAA4B,SAAQ,uBAAuB;IAGpE,SAAS,CAAC,eAAe,EAAE,YAAY;IACvC,SAAS,CAAC,WAAW,EAAE,WAAW;IAClC,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE;IAGrB,OAAO,CAAC,eAAe;gBANvB,MAAM,EAAE,MAAM,EACJ,eAAe,EAAE,YAAY,EAC7B,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,GAAG,EAAE,EACrB,aAAa,GAAE,WAAW,EAAO,EACjC,QAAQ,GAAE,OAAO,EAAO,EAChB,eAAe,GAAE,YAAY,EAAO;IAQ9C;;;;OAIG;IACU,eAAe;;;;;;;gCASH,4DAA4D;;;IAKrF;;;;OAIG;IACmB,OAAO,CAAC,OAAO,GAAE,yBAA8B,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAmBjG;;;;;;;;;;OAUG;IACU,QAAQ,CAAC,CAAC,SAAS,0BAA0B,EACxD,OAAO,EAAE,CAAC,GACT,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;IAE5D,QAAQ,CAAC,CAAC,SAAS,0BAA0B,EACxD,OAAO,EAAE,CAAC,GACT,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC;IA4DlD;;;;;OAKG;IACU,OAAO,CAAC,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,eAAe,CAAC;IASlF;;;;;;OAMG;IACI,IAAI,CAAC,EACV,aAAkB,EAClB,QAAa,EACb,eAAoB,GACrB,EAAE;QACD,kDAAkD;QAClD,aAAa,CAAC,EAAE,WAAW,EAAE,CAAC;QAC9B,6CAA6C;QAC7C,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;QACrB,sDAAsD;QACtD,eAAe,CAAC,EAAE,YAAY,EAAE,CAAC;KAClC,GAAG,2BAA2B;CAWhC"}
@@ -1,8 +1,9 @@
1
- import { ExecutionPayload } from '@aztec/entrypoints/payload';
1
+ import { ExecutionPayload, mergeExecutionPayloads } from '@aztec/entrypoints/payload';
2
2
  import { FunctionSelector, FunctionType, decodeFromAbi, encodeArguments } from '@aztec/stdlib/abi';
3
- import { AztecAddress } from '@aztec/stdlib/aztec-address';
4
3
  import { collectOffchainEffects } from '@aztec/stdlib/tx';
5
4
  import { BaseContractInteraction } from './base_contract_interaction.js';
5
+ import { getGasLimits } from './get_gas_limits.js';
6
+ import { toProfileOptions, toSimulateOptions } from './interaction_options.js';
6
7
  /**
7
8
  * This is the class that is returned when calling e.g. `contract.methods.myMethod(arg0, arg1)`.
8
9
  * It contains available interactions one can call on a method, including view.
@@ -17,50 +18,39 @@ import { BaseContractInteraction } from './base_contract_interaction.js';
17
18
  throw new Error(`All function interaction arguments must be defined and not null. Received: ${args}`);
18
19
  }
19
20
  }
20
- // docs:start:create
21
21
  /**
22
- * Create a transaction execution request that represents this call, encoded and authenticated by the
23
- * user's wallet, ready to be simulated.
24
- * @param options - An optional object containing additional configuration for the transaction.
25
- * @returns A Promise that resolves to a transaction instance.
26
- */ async create(options = {}) {
27
- // docs:end:create
28
- if (this.functionDao.functionType === FunctionType.UTILITY) {
29
- throw new Error("Can't call `create` on a utility function.");
30
- }
31
- const requestWithoutFee = await this.request(options);
32
- const { fee: userFee, txNonce, cancellable } = options;
33
- const fee = await this.getFeeOptions(requestWithoutFee, userFee, {
34
- txNonce,
35
- cancellable
36
- });
37
- return await this.wallet.createTxExecutionRequest(requestWithoutFee, fee, {
38
- txNonce,
39
- cancellable
40
- });
22
+ * Returns the encoded function call wrapped by this interaction
23
+ * Useful when generating authwits
24
+ * @returns An encoded function call
25
+ */ async getFunctionCall() {
26
+ const args = encodeArguments(this.functionDao, this.args);
27
+ return {
28
+ name: this.functionDao.name,
29
+ args,
30
+ selector: await FunctionSelector.fromNameAndParameters(this.functionDao.name, this.functionDao.parameters),
31
+ type: this.functionDao.functionType,
32
+ to: this.contractAddress,
33
+ isStatic: this.functionDao.isStatic,
34
+ hideMsgSender: false,
35
+ returnTypes: this.functionDao.returnTypes
36
+ };
41
37
  }
42
- // docs:start:request
43
38
  /**
44
- * Returns an execution request that represents this operation.
45
- * Can be used as a building block for constructing batch requests.
46
- * @param options - An optional object containing additional configuration for the request generation.
47
- * @returns An execution payload wrapped in promise.
39
+ * Returns the execution payload that allows this operation to happen on chain.
40
+ * @param options - Configuration options.
41
+ * @returns The execution payload for this operation
48
42
  */ async request(options = {}) {
49
- // docs:end:request
50
- const args = encodeArguments(this.functionDao, this.args);
51
43
  const calls = [
52
- {
53
- name: this.functionDao.name,
54
- args,
55
- selector: await FunctionSelector.fromNameAndParameters(this.functionDao.name, this.functionDao.parameters),
56
- type: this.functionDao.functionType,
57
- to: this.contractAddress,
58
- isStatic: this.functionDao.isStatic,
59
- returnTypes: this.functionDao.returnTypes
60
- }
44
+ await this.getFunctionCall()
61
45
  ];
62
46
  const { authWitnesses, capsules } = options;
63
- return new ExecutionPayload(calls, this.authWitnesses.concat(authWitnesses ?? []), this.capsules.concat(capsules ?? []), this.extraHashedArgs);
47
+ const feeExecutionPayload = options.fee?.paymentMethod ? await options.fee.paymentMethod.getExecutionPayload() : undefined;
48
+ const functionExecutionPayload = new ExecutionPayload(calls, this.authWitnesses.concat(authWitnesses ?? []), this.capsules.concat(capsules ?? []), this.extraHashedArgs);
49
+ const finalExecutionPayload = feeExecutionPayload ? mergeExecutionPayloads([
50
+ feeExecutionPayload,
51
+ functionExecutionPayload
52
+ ]) : functionExecutionPayload;
53
+ return finalExecutionPayload;
64
54
  }
65
55
  // eslint-disable-next-line jsdoc/require-jsdoc
66
56
  async simulate(options) {
@@ -76,8 +66,8 @@ import { BaseContractInteraction } from './base_contract_interaction.js';
76
66
  return utilityResult.result;
77
67
  }
78
68
  }
79
- const txRequest = await this.create(options);
80
- const simulatedTx = await this.wallet.simulateTx(txRequest, true, options.skipTxValidation, options.skipFeeEnforcement ?? true);
69
+ const executionPayload = await this.request(options);
70
+ const simulatedTx = await this.wallet.simulateTx(executionPayload, await toSimulateOptions(options));
81
71
  let rawReturnValues;
82
72
  if (this.functionDao.functionType == FunctionType.PRIVATE) {
83
73
  if (simulatedTx.getPrivateReturnValues().nested.length > 0) {
@@ -93,11 +83,17 @@ import { BaseContractInteraction } from './base_contract_interaction.js';
93
83
  rawReturnValues = simulatedTx.getPublicReturnValues()?.[0]?.values;
94
84
  }
95
85
  const returnValue = rawReturnValues ? decodeFromAbi(this.functionDao.returnTypes, rawReturnValues) : [];
96
- if (options.includeMetadata) {
86
+ if (options.includeMetadata || options.fee?.estimateGas) {
87
+ const { gasLimits, teardownGasLimits } = getGasLimits(simulatedTx, options.fee?.estimatedGasPadding);
88
+ this.log.verbose(`Estimated gas limits for tx: DA=${gasLimits.daGas} L2=${gasLimits.l2Gas} teardownDA=${teardownGasLimits.daGas} teardownL2=${teardownGasLimits.l2Gas}`);
97
89
  return {
98
90
  stats: simulatedTx.stats,
99
91
  offchainEffects: collectOffchainEffects(simulatedTx.privateExecutionResult),
100
- result: returnValue
92
+ result: returnValue,
93
+ estimatedGas: {
94
+ gasLimits,
95
+ teardownGasLimits
96
+ }
101
97
  };
102
98
  } else {
103
99
  return returnValue;
@@ -109,19 +105,11 @@ import { BaseContractInteraction } from './base_contract_interaction.js';
109
105
  *
110
106
  * @returns An object containing the function return value and profile result.
111
107
  */ async profile(options) {
112
- if (options.from !== AztecAddress.ZERO && !options.from.equals(this.wallet.getAddress())) {
113
- throw new Error(`The address provided as from does not match the wallet address. Expected ${this.wallet.getAddress().toString()}, got ${options.from.toString()}.`);
114
- }
115
108
  if (this.functionDao.functionType == FunctionType.UTILITY) {
116
109
  throw new Error("Can't profile a utility function.");
117
110
  }
118
- const { authWitnesses, capsules, fee } = options;
119
- const txRequest = await this.create({
120
- fee,
121
- authWitnesses,
122
- capsules
123
- });
124
- return await this.wallet.profileTx(txRequest, options.profileMode, options.skipProofGeneration, options?.from);
111
+ const executionPayload = await this.request(options);
112
+ return await this.wallet.profileTx(executionPayload, await toProfileOptions(options));
125
113
  }
126
114
  /**
127
115
  * Augments this ContractFunctionInteraction with additional metadata, such as authWitnesses, capsules, and extraHashedArgs.
@@ -1,35 +1,64 @@
1
- import type { ExecutionPayload } from '@aztec/entrypoints/payload';
2
- import type { Fr } from '@aztec/foundation/fields';
1
+ import { ExecutionPayload } from '@aztec/entrypoints/payload';
2
+ import { Fr } from '@aztec/foundation/fields';
3
3
  import { type ContractArtifact, type FunctionArtifact } from '@aztec/stdlib/abi';
4
4
  import type { AuthWitness } from '@aztec/stdlib/auth-witness';
5
5
  import { AztecAddress } from '@aztec/stdlib/aztec-address';
6
6
  import { type ContractInstanceWithAddress } from '@aztec/stdlib/contract';
7
- import type { GasSettings } from '@aztec/stdlib/gas';
8
7
  import type { PublicKeys } from '@aztec/stdlib/keys';
9
- import type { Capsule, TxExecutionRequest, TxProfileResult } from '@aztec/stdlib/tx';
8
+ import { type Capsule, type TxProfileResult } from '@aztec/stdlib/tx';
10
9
  import type { Wallet } from '../wallet/wallet.js';
11
10
  import { BaseContractInteraction } from './base_contract_interaction.js';
12
11
  import type { Contract } from './contract.js';
13
12
  import type { ContractBase } from './contract_base.js';
14
- import { DeployProvenTx } from './deploy_proven_tx.js';
15
13
  import { DeploySentTx } from './deploy_sent_tx.js';
16
- import type { ProfileMethodOptions, SendMethodOptions } from './interaction_options.js';
14
+ import { type ProfileInteractionOptions, type RequestInteractionOptions, type SendInteractionOptions, type SimulationInteractionFeeOptions, type SimulationReturn } from './interaction_options.js';
17
15
  /**
18
16
  * Options for deploying a contract on the Aztec network.
19
- * Allows specifying a contract address salt, and additional send method options.
17
+ * Allows specifying a contract address salt and different options to tweak contract publication
18
+ * and initialization
20
19
  */
21
- export type DeployOptions = {
20
+ export type RequestDeployOptions = RequestInteractionOptions & {
22
21
  /** An optional salt value used to deterministically calculate the contract address. */
23
22
  contractAddressSalt?: Fr;
24
- /** Set to true to *not* include the sender in the address computation. */
25
- universalDeploy?: boolean;
23
+ /**
24
+ * Deployer address that will be used for the deployed contract's address computation.
25
+ * If set to 0, the sender's address won't be mixed in
26
+ */
27
+ deployer?: AztecAddress;
26
28
  /** Skip contract class publication. */
27
29
  skipClassPublication?: boolean;
28
30
  /** Skip publication, instead just privately initialize the contract. */
29
31
  skipInstancePublication?: boolean;
30
32
  /** Skip contract initialization. */
31
33
  skipInitialization?: boolean;
32
- } & SendMethodOptions;
34
+ };
35
+ /**
36
+ * Extends the deployment options with the required parameters to send the transaction
37
+ */
38
+ export type DeployOptions = Omit<RequestDeployOptions, 'deployer'> & {
39
+ /**
40
+ * Set to true to *not* include the sender in the address computation. This option
41
+ * is mutually exclusive with "deployer"
42
+ */
43
+ universalDeploy?: boolean;
44
+ } & Pick<SendInteractionOptions, 'from' | 'fee'>;
45
+ /**
46
+ * Options for simulating the deployment of a contract
47
+ * Allows skipping certain validations and computing gas estimations
48
+ */
49
+ export type SimulateDeployOptions = Omit<DeployOptions, 'fee'> & {
50
+ /** The fee options for the transaction. */
51
+ fee?: SimulationInteractionFeeOptions;
52
+ /** Simulate without checking for the validity of the resulting transaction,
53
+ * e.g. whether it emits any existing nullifiers. */
54
+ skipTxValidation?: boolean;
55
+ /** Whether to ensure the fee payer is not empty and has enough balance to pay for the fee. */
56
+ skipFeeEnforcement?: boolean;
57
+ /** Whether to include metadata such as offchain effects and performance statistics
58
+ * (e.g. timing information of the different circuits and oracles) in
59
+ * the simulation result, instead of just the return value of the function */
60
+ includeMetadata?: boolean;
61
+ };
33
62
  /**
34
63
  * Contract interaction for deployment.
35
64
  * Handles class publication, instance publication, and initialization of the contract.
@@ -44,8 +73,8 @@ export type DeployOptions = {
44
73
  */
45
74
  export declare class DeployMethod<TContract extends ContractBase = Contract> extends BaseContractInteraction {
46
75
  private publicKeys;
47
- private artifact;
48
- private postDeployCtor;
76
+ protected artifact: ContractArtifact;
77
+ protected postDeployCtor: (address: AztecAddress, wallet: Wallet) => Promise<TContract>;
49
78
  private args;
50
79
  /** The contract instance to be deployed. */
51
80
  private instance?;
@@ -53,43 +82,17 @@ export declare class DeployMethod<TContract extends ContractBase = Contract> ext
53
82
  private constructorArtifact;
54
83
  constructor(publicKeys: PublicKeys, wallet: Wallet, artifact: ContractArtifact, postDeployCtor: (address: AztecAddress, wallet: Wallet) => Promise<TContract>, args?: any[], constructorNameOrArtifact?: string | FunctionArtifact, authWitnesses?: AuthWitness[], capsules?: Capsule[]);
55
84
  /**
56
- * Prepare a transaction execution request which can optionally (depending on the `options`):
57
- * - Publish the contract's class_id
58
- * - Publish the contract instance data, to enable execution of its public functions.
59
- * - Initialize the contract
60
- *
61
- * A tx is not necessary if the function has no public functions nor any
62
- * initializer function.
63
- *
64
- * This function internally calls `request()` and `sign()` methods to prepare
65
- * the transaction for deployment. The resulting signed transaction can be
66
- * later sent using the `send()` method.
67
- *
68
- * @param options - An object containing optional deployment settings, contractAddressSalt, and from.
69
- * @returns A Promise resolving to an object containing the signed transaction data and other relevant information.
85
+ * Returns the execution payload that allows this operation to happen on chain.
86
+ * @param options - Configuration options.
87
+ * @returns The execution payload for this operation
70
88
  */
71
- create(options: DeployOptions): Promise<TxExecutionRequest>;
89
+ request(options?: RequestDeployOptions): Promise<ExecutionPayload>;
90
+ convertDeployOptionsToRequestOptions(options: DeployOptions): RequestDeployOptions;
72
91
  /**
73
- * Returns an array of function calls that represent this operation. Useful as a building
74
- * block for constructing batch requests.
92
+ * Adds this contract to the wallet and returns the Contract object.
75
93
  * @param options - Deployment options.
76
- * @returns An array of function calls.
77
- * @remarks This method does not have the same return type as the `request` in the ContractInteraction object,
78
- * it returns a promise for an array instead of a function call directly.
79
94
  */
80
- request(options: DeployOptions): Promise<ExecutionPayload>;
81
- /**
82
- * Simulate a deployment and profile the gate count for each function in the transaction.
83
- * @param options - Same options as `send`, plus extra profiling options.
84
- *
85
- * @returns An object containing the function return value and profile result.
86
- */
87
- profile(options: DeployOptions & ProfileMethodOptions): Promise<TxProfileResult>;
88
- /**
89
- * Adds this contract to the PXE and returns the Contract object.
90
- * @param options - Deployment options.
91
- */
92
- register(options?: Omit<DeployOptions, 'from'>): Promise<TContract>;
95
+ register(options?: RequestDeployOptions): Promise<TContract>;
93
96
  /**
94
97
  * Returns an execution payload for:
95
98
  * - publication of the contract class and
@@ -98,13 +101,13 @@ export declare class DeployMethod<TContract extends ContractBase = Contract> ext
98
101
  * @param options - Contract creation options.
99
102
  * @returns An execution payload with potentially calls (and bytecode capsule) to the class registry and instance registry.
100
103
  */
101
- protected getPublicationExecutionPayload(options?: Omit<DeployOptions, 'from'>): Promise<ExecutionPayload>;
104
+ protected getPublicationExecutionPayload(options?: RequestDeployOptions): Promise<ExecutionPayload>;
102
105
  /**
103
106
  * Returns the calls necessary to initialize the contract.
104
107
  * @param options - Deployment options.
105
108
  * @returns - An array of function calls.
106
109
  */
107
- protected getInitializationExecutionPayload(options?: Omit<DeployOptions, 'from'>): Promise<ExecutionPayload>;
110
+ protected getInitializationExecutionPayload(options?: RequestDeployOptions): Promise<ExecutionPayload>;
108
111
  /**
109
112
  * Send a contract deployment transaction (initialize and/or publish) using the provided options.
110
113
  * This function extends the 'send' method from the ContractFunctionInteraction class,
@@ -120,18 +123,22 @@ export declare class DeployMethod<TContract extends ContractBase = Contract> ext
120
123
  * @param options - An object containing various initialization and publication options.
121
124
  * @returns An instance object.
122
125
  */
123
- getInstance(options?: Omit<DeployOptions, 'from'>): Promise<ContractInstanceWithAddress>;
126
+ getInstance(options?: RequestDeployOptions): Promise<ContractInstanceWithAddress>;
124
127
  /**
125
- * Prove the request.
126
- * @param options - initialization and publication options.
127
- * @returns The proven tx.
128
+ * Simulate the deployment
129
+ *
130
+ * @param options - An optional object containing additional configuration for the simulation.
131
+ * @returns A simulation result object containing metadata of the execution, including gas
132
+ * estimations (if requested via options), execution statistics and emitted offchain effects
128
133
  */
129
- prove(options: DeployOptions): Promise<DeployProvenTx<TContract>>;
134
+ simulate(options: SimulateDeployOptions): Promise<SimulationReturn<true>>;
130
135
  /**
131
- * Estimates gas cost for this deployment operation.
132
- * @param options - Options.
136
+ * Simulate a deployment and profile the gate count for each function in the transaction.
137
+ * @param options - Same options as `send`, plus extra profiling options.
138
+ *
139
+ * @returns An object containing the function return value and profile result.
133
140
  */
134
- estimateGas(options: Omit<DeployOptions, 'estimateGas'>): Promise<Pick<GasSettings, 'gasLimits' | 'teardownGasLimits'>>;
141
+ profile(options: DeployOptions & ProfileInteractionOptions): Promise<TxProfileResult>;
135
142
  /** Return this deployment address. */
136
143
  get address(): AztecAddress | undefined;
137
144
  /** Returns the partial address for this deployment. */
@@ -1 +1 @@
1
- {"version":3,"file":"deploy_method.d.ts","sourceRoot":"","sources":["../../src/contract/deploy_method.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deploy_method.d.ts","sourceRoot":"","sources":["../../src/contract/deploy_method.ts"],"names":[],"mappings":"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"}