@aztec/aztec.js 0.0.1-commit.b655e406 → 0.0.1-commit.c0b82b2

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 (261) hide show
  1. package/dest/account/account.d.ts +26 -42
  2. package/dest/account/account.d.ts.map +1 -1
  3. package/dest/account/account.js +19 -47
  4. package/dest/account/account_contract.d.ts +9 -10
  5. package/dest/account/account_contract.d.ts.map +1 -1
  6. package/dest/account/account_with_secret_key.d.ts +20 -9
  7. package/dest/account/account_with_secret_key.d.ts.map +1 -1
  8. package/dest/account/account_with_secret_key.js +21 -4
  9. package/dest/account/index.d.ts +4 -3
  10. package/dest/account/index.d.ts.map +1 -1
  11. package/dest/account/index.js +2 -0
  12. package/dest/account/signerless_account.d.ts +7 -9
  13. package/dest/account/signerless_account.d.ts.map +1 -1
  14. package/dest/account/signerless_account.js +8 -11
  15. package/dest/api/abi.d.ts +1 -1
  16. package/dest/api/account.d.ts +3 -4
  17. package/dest/api/account.d.ts.map +1 -1
  18. package/dest/api/account.js +2 -3
  19. package/dest/api/addresses.d.ts +1 -1
  20. package/dest/api/authorization.d.ts +2 -2
  21. package/dest/api/authorization.d.ts.map +1 -1
  22. package/dest/api/authorization.js +1 -1
  23. package/dest/api/block.d.ts +1 -1
  24. package/dest/api/contract.d.ts +19 -13
  25. package/dest/api/contract.d.ts.map +1 -1
  26. package/dest/api/contract.js +17 -11
  27. package/dest/api/crypto.d.ts +1 -1
  28. package/dest/api/deployment.d.ts +1 -2
  29. package/dest/api/deployment.d.ts.map +1 -1
  30. package/dest/api/deployment.js +0 -1
  31. package/dest/api/eth_address.d.ts +1 -1
  32. package/dest/api/ethereum.d.ts +1 -1
  33. package/dest/api/events.d.ts +10 -6
  34. package/dest/api/events.d.ts.map +1 -1
  35. package/dest/api/events.js +30 -20
  36. package/dest/api/fee.d.ts +1 -1
  37. package/dest/api/fee_testing.d.ts +1 -1
  38. package/dest/api/fields.d.ts +4 -2
  39. package/dest/api/fields.d.ts.map +1 -1
  40. package/dest/api/fields.js +3 -1
  41. package/dest/api/keys.d.ts +2 -2
  42. package/dest/api/keys.js +1 -1
  43. package/dest/api/log.d.ts +1 -1
  44. package/dest/api/messaging.d.ts +1 -1
  45. package/dest/api/node.d.ts +8 -4
  46. package/dest/api/node.d.ts.map +1 -1
  47. package/dest/api/node.js +7 -3
  48. package/dest/api/note.d.ts +2 -2
  49. package/dest/api/note.d.ts.map +1 -1
  50. package/dest/api/note.js +1 -1
  51. package/dest/api/protocol.d.ts +7 -1
  52. package/dest/api/protocol.d.ts.map +1 -1
  53. package/dest/api/protocol.js +6 -0
  54. package/dest/api/trees.d.ts +1 -1
  55. package/dest/api/tx.d.ts +2 -2
  56. package/dest/api/tx.d.ts.map +1 -1
  57. package/dest/api/tx.js +1 -1
  58. package/dest/api/utils.d.ts +1 -1
  59. package/dest/api/wallet.d.ts +3 -3
  60. package/dest/api/wallet.d.ts.map +1 -1
  61. package/dest/api/wallet.js +2 -2
  62. package/dest/authorization/call_authorization_request.d.ts +2 -2
  63. package/dest/authorization/call_authorization_request.d.ts.map +1 -1
  64. package/dest/contract/base_contract_interaction.d.ts +8 -11
  65. package/dest/contract/base_contract_interaction.d.ts.map +1 -1
  66. package/dest/contract/base_contract_interaction.js +5 -17
  67. package/dest/contract/batch_call.d.ts +8 -9
  68. package/dest/contract/batch_call.d.ts.map +1 -1
  69. package/dest/contract/batch_call.js +59 -36
  70. package/dest/contract/checker.d.ts +1 -1
  71. package/dest/contract/contract.d.ts +2 -2
  72. package/dest/contract/contract.d.ts.map +1 -1
  73. package/dest/contract/contract.js +4 -5
  74. package/dest/contract/contract_base.d.ts +6 -10
  75. package/dest/contract/contract_base.d.ts.map +1 -1
  76. package/dest/contract/contract_base.js +5 -12
  77. package/dest/contract/contract_function_interaction.d.ts +5 -14
  78. package/dest/contract/contract_function_interaction.d.ts.map +1 -1
  79. package/dest/contract/contract_function_interaction.js +18 -12
  80. package/dest/contract/deploy_method.d.ts +85 -24
  81. package/dest/contract/deploy_method.d.ts.map +1 -1
  82. package/dest/contract/deploy_method.js +71 -36
  83. package/dest/contract/get_gas_limits.d.ts +1 -1
  84. package/dest/contract/get_gas_limits.js +3 -3
  85. package/dest/contract/interaction_options.d.ts +51 -7
  86. package/dest/contract/interaction_options.d.ts.map +1 -1
  87. package/dest/contract/interaction_options.js +12 -11
  88. package/dest/contract/protocol_contracts/auth-registry.d.ts +36 -0
  89. package/dest/contract/protocol_contracts/auth-registry.d.ts.map +1 -0
  90. package/dest/contract/protocol_contracts/auth-registry.js +1005 -0
  91. package/dest/contract/protocol_contracts/contract-class-registry.d.ts +15 -0
  92. package/dest/contract/protocol_contracts/contract-class-registry.d.ts.map +1 -0
  93. package/dest/contract/protocol_contracts/contract-class-registry.js +139 -0
  94. package/dest/contract/protocol_contracts/contract-instance-registry.d.ts +22 -0
  95. package/dest/contract/protocol_contracts/contract-instance-registry.d.ts.map +1 -0
  96. package/dest/contract/protocol_contracts/contract-instance-registry.js +465 -0
  97. package/dest/contract/protocol_contracts/fee-juice.d.ts +21 -0
  98. package/dest/contract/protocol_contracts/fee-juice.d.ts.map +1 -0
  99. package/dest/contract/protocol_contracts/fee-juice.js +434 -0
  100. package/dest/contract/protocol_contracts/multi-call-entrypoint.d.ts +34 -0
  101. package/dest/contract/protocol_contracts/multi-call-entrypoint.d.ts.map +1 -0
  102. package/dest/contract/protocol_contracts/multi-call-entrypoint.js +601 -0
  103. package/dest/contract/protocol_contracts/public-checks.d.ts +26 -0
  104. package/dest/contract/protocol_contracts/public-checks.d.ts.map +1 -0
  105. package/dest/contract/protocol_contracts/public-checks.js +609 -0
  106. package/dest/contract/wait_for_proven.d.ts +2 -2
  107. package/dest/contract/wait_for_proven.d.ts.map +1 -1
  108. package/dest/contract/wait_for_proven.js +1 -1
  109. package/dest/contract/wait_opts.d.ts +16 -0
  110. package/dest/contract/wait_opts.d.ts.map +1 -0
  111. package/dest/contract/wait_opts.js +5 -0
  112. package/dest/deployment/contract_deployer.d.ts +1 -1
  113. package/dest/deployment/contract_deployer.d.ts.map +1 -1
  114. package/dest/deployment/contract_deployer.js +1 -1
  115. package/dest/deployment/publish_class.d.ts +1 -1
  116. package/dest/deployment/publish_class.js +3 -3
  117. package/dest/deployment/publish_instance.d.ts +2 -2
  118. package/dest/deployment/publish_instance.d.ts.map +1 -1
  119. package/dest/deployment/publish_instance.js +3 -3
  120. package/dest/ethereum/portal_manager.d.ts +7 -6
  121. package/dest/ethereum/portal_manager.d.ts.map +1 -1
  122. package/dest/ethereum/portal_manager.js +48 -22
  123. package/dest/fee/fee_juice_payment_method_with_claim.d.ts +2 -2
  124. package/dest/fee/fee_juice_payment_method_with_claim.d.ts.map +1 -1
  125. package/dest/fee/fee_juice_payment_method_with_claim.js +9 -9
  126. package/dest/fee/fee_payment_method.d.ts +2 -2
  127. package/dest/fee/fee_payment_method.d.ts.map +1 -1
  128. package/dest/fee/private_fee_payment_method.d.ts +2 -2
  129. package/dest/fee/private_fee_payment_method.d.ts.map +1 -1
  130. package/dest/fee/private_fee_payment_method.js +14 -14
  131. package/dest/fee/public_fee_payment_method.d.ts +2 -2
  132. package/dest/fee/public_fee_payment_method.d.ts.map +1 -1
  133. package/dest/fee/public_fee_payment_method.js +14 -14
  134. package/dest/fee/sponsored_fee_payment.d.ts +2 -2
  135. package/dest/fee/sponsored_fee_payment.d.ts.map +1 -1
  136. package/dest/fee/sponsored_fee_payment.js +5 -5
  137. package/dest/scripts/generate_protocol_contract_types.d.ts +2 -0
  138. package/dest/scripts/generate_protocol_contract_types.d.ts.map +1 -0
  139. package/dest/scripts/generate_protocol_contract_types.js +120 -0
  140. package/dest/utils/abi_types.d.ts +2 -2
  141. package/dest/utils/abi_types.d.ts.map +1 -1
  142. package/dest/utils/authwit.d.ts +14 -12
  143. package/dest/utils/authwit.d.ts.map +1 -1
  144. package/dest/utils/authwit.js +27 -20
  145. package/dest/utils/cross_chain.d.ts +2 -2
  146. package/dest/utils/cross_chain.d.ts.map +1 -1
  147. package/dest/utils/fee_juice.d.ts +2 -2
  148. package/dest/utils/fee_juice.js +2 -2
  149. package/dest/utils/field_compressed_string.d.ts +1 -1
  150. package/dest/utils/field_compressed_string.d.ts.map +1 -1
  151. package/dest/utils/field_compressed_string.js +1 -1
  152. package/dest/utils/node.d.ts +13 -2
  153. package/dest/utils/node.d.ts.map +1 -1
  154. package/dest/utils/node.js +46 -0
  155. package/dest/utils/pub_key.d.ts +2 -2
  156. package/dest/utils/pub_key.d.ts.map +1 -1
  157. package/dest/utils/pub_key.js +1 -1
  158. package/dest/wallet/account_entrypoint_meta_payment_method.d.ts +6 -9
  159. package/dest/wallet/account_entrypoint_meta_payment_method.d.ts.map +1 -1
  160. package/dest/wallet/account_entrypoint_meta_payment_method.js +29 -44
  161. package/dest/wallet/account_manager.d.ts +3 -9
  162. package/dest/wallet/account_manager.d.ts.map +1 -1
  163. package/dest/wallet/account_manager.js +6 -12
  164. package/dest/wallet/capabilities.d.ts +452 -0
  165. package/dest/wallet/capabilities.d.ts.map +1 -0
  166. package/dest/wallet/capabilities.js +3 -0
  167. package/dest/wallet/deploy_account_method.d.ts +49 -10
  168. package/dest/wallet/deploy_account_method.d.ts.map +1 -1
  169. package/dest/wallet/deploy_account_method.js +35 -7
  170. package/dest/wallet/index.d.ts +2 -2
  171. package/dest/wallet/index.d.ts.map +1 -1
  172. package/dest/wallet/index.js +1 -1
  173. package/dest/wallet/wallet.d.ts +1853 -1533
  174. package/dest/wallet/wallet.d.ts.map +1 -1
  175. package/dest/wallet/wallet.js +223 -124
  176. package/package.json +27 -15
  177. package/src/account/account.ts +35 -60
  178. package/src/account/account_contract.ts +7 -8
  179. package/src/account/account_with_secret_key.ts +34 -9
  180. package/src/account/index.ts +3 -2
  181. package/src/account/signerless_account.ts +15 -15
  182. package/src/api/account.ts +10 -3
  183. package/src/api/authorization.ts +1 -0
  184. package/src/api/contract.ts +26 -10
  185. package/src/api/deployment.ts +0 -1
  186. package/src/api/events.ts +35 -27
  187. package/src/api/fields.ts +3 -1
  188. package/src/api/keys.ts +2 -2
  189. package/src/api/node.ts +7 -3
  190. package/src/api/note.ts +1 -1
  191. package/src/api/protocol.ts +7 -0
  192. package/src/api/tx.ts +4 -0
  193. package/src/api/wallet.ts +52 -9
  194. package/src/authorization/call_authorization_request.ts +1 -1
  195. package/src/contract/base_contract_interaction.ts +27 -16
  196. package/src/contract/batch_call.ts +62 -48
  197. package/src/contract/contract.ts +7 -5
  198. package/src/contract/contract_base.ts +5 -15
  199. package/src/contract/contract_function_interaction.ts +26 -17
  200. package/src/contract/deploy_method.ts +175 -47
  201. package/src/contract/get_gas_limits.ts +3 -3
  202. package/src/contract/interaction_options.ts +59 -13
  203. package/src/contract/protocol_contracts/auth-registry.ts +553 -0
  204. package/src/contract/protocol_contracts/contract-class-registry.ts +99 -0
  205. package/src/contract/protocol_contracts/contract-instance-registry.ts +302 -0
  206. package/src/contract/protocol_contracts/fee-juice.ts +266 -0
  207. package/src/contract/protocol_contracts/multi-call-entrypoint.ts +336 -0
  208. package/src/contract/protocol_contracts/public-checks.ts +320 -0
  209. package/src/contract/wait_for_proven.ts +1 -1
  210. package/src/contract/wait_opts.ts +21 -0
  211. package/src/deployment/contract_deployer.ts +3 -2
  212. package/src/deployment/publish_class.ts +3 -3
  213. package/src/deployment/publish_instance.ts +3 -6
  214. package/src/ethereum/portal_manager.ts +65 -34
  215. package/src/fee/fee_juice_payment_method_with_claim.ts +9 -7
  216. package/src/fee/fee_payment_method.ts +1 -1
  217. package/src/fee/private_fee_payment_method.ts +12 -10
  218. package/src/fee/public_fee_payment_method.ts +13 -11
  219. package/src/fee/sponsored_fee_payment.ts +6 -4
  220. package/src/scripts/generate_protocol_contract_types.ts +150 -0
  221. package/src/utils/abi_types.ts +1 -1
  222. package/src/utils/authwit.ts +40 -22
  223. package/src/utils/cross_chain.ts +1 -1
  224. package/src/utils/fee_juice.ts +2 -2
  225. package/src/utils/field_compressed_string.ts +1 -1
  226. package/src/utils/node.ts +62 -0
  227. package/src/utils/pub_key.ts +2 -2
  228. package/src/wallet/account_entrypoint_meta_payment_method.ts +29 -60
  229. package/src/wallet/account_manager.ts +7 -15
  230. package/src/wallet/capabilities.ts +500 -0
  231. package/src/wallet/deploy_account_method.ts +78 -16
  232. package/src/wallet/index.ts +1 -1
  233. package/src/wallet/wallet.ts +387 -166
  234. package/dest/account/interface.d.ts +0 -19
  235. package/dest/account/interface.d.ts.map +0 -1
  236. package/dest/account/interface.js +0 -5
  237. package/dest/contract/deploy_sent_tx.d.ts +0 -43
  238. package/dest/contract/deploy_sent_tx.d.ts.map +0 -1
  239. package/dest/contract/deploy_sent_tx.js +0 -40
  240. package/dest/contract/protocol_contracts.d.ts +0 -9
  241. package/dest/contract/protocol_contracts.d.ts.map +0 -1
  242. package/dest/contract/protocol_contracts.js +0 -26
  243. package/dest/contract/sent_tx.d.ts +0 -51
  244. package/dest/contract/sent_tx.d.ts.map +0 -1
  245. package/dest/contract/sent_tx.js +0 -90
  246. package/dest/contract/unsafe_contract.d.ts +0 -15
  247. package/dest/contract/unsafe_contract.d.ts.map +0 -1
  248. package/dest/contract/unsafe_contract.js +0 -6
  249. package/dest/deployment/broadcast_function.d.ts +0 -24
  250. package/dest/deployment/broadcast_function.d.ts.map +0 -1
  251. package/dest/deployment/broadcast_function.js +0 -74
  252. package/dest/wallet/base_wallet.d.ts +0 -91
  253. package/dest/wallet/base_wallet.d.ts.map +0 -1
  254. package/dest/wallet/base_wallet.js +0 -238
  255. package/src/account/interface.ts +0 -25
  256. package/src/contract/deploy_sent_tx.ts +0 -68
  257. package/src/contract/protocol_contracts.ts +0 -35
  258. package/src/contract/sent_tx.ts +0 -130
  259. package/src/contract/unsafe_contract.ts +0 -19
  260. package/src/deployment/broadcast_function.ts +0 -148
  261. package/src/wallet/base_wallet.ts +0 -350
@@ -1,12 +1,14 @@
1
- import { ExecutionPayload, mergeExecutionPayloads } from '@aztec/entrypoints/payload';
2
1
  import { FunctionType, decodeFromAbi } from '@aztec/stdlib/abi';
2
+ import { ExecutionPayload, mergeExecutionPayloads } from '@aztec/stdlib/tx';
3
3
  import { BaseContractInteraction } from './base_contract_interaction.js';
4
4
  import { toSimulateOptions } from './interaction_options.js';
5
- /** A batch of function calls to be sent as a single transaction through a wallet. */ export class BatchCall extends BaseContractInteraction {
5
+ /** A batch of function calls to be sent as a single transaction through a wallet. */ // docs:start:batch_call_class
6
+ export class BatchCall extends BaseContractInteraction {
6
7
  interactions;
7
8
  constructor(wallet, interactions){
8
9
  super(wallet), this.interactions = interactions;
9
10
  }
11
+ // docs:end:batch_call_class
10
12
  /**
11
13
  * Returns an execution request that represents this operation.
12
14
  * @param options - An optional object containing additional configuration for the request generation.
@@ -23,13 +25,12 @@ import { toSimulateOptions } from './interaction_options.js';
23
25
  return finalExecutionPayload;
24
26
  }
25
27
  /**
26
- * Simulate a transaction and get its return values
27
- * Differs from prove in a few important ways:
28
- * 1. It returns the values of the function execution
29
- * 2. It supports `utility`, `private` and `public` functions
30
- *
31
- * @param options - An optional object containing additional configuration for the transaction.
32
- * @returns The result of the transaction as returned by the contract function.
28
+ * Simulates/executes the batch, supporting private, public and utility functions. Although this is a single
29
+ * interaction with the wallet, private and public functions will be grouped into a single ExecutionPayload
30
+ * that the wallet will simulate as a single transaction. Utility function calls will be executed
31
+ * one by one.
32
+ * @param options - An optional object containing additional configuration for the interaction.
33
+ * @returns The results of all the interactions that make up the batch
33
34
  */ async simulate(options) {
34
35
  const { indexedExecutionPayloads, utility } = (await this.getExecutionPayloads()).reduce((acc, current, index)=>{
35
36
  const call = current.calls[0];
@@ -52,37 +53,59 @@ import { toSimulateOptions } from './interaction_options.js';
52
53
  publicIndex: 0,
53
54
  privateIndex: 0
54
55
  });
55
- const payloads = indexedExecutionPayloads.map(([request])=>request);
56
- const combinedPayload = mergeExecutionPayloads(payloads);
57
- const executionPayload = new ExecutionPayload(combinedPayload.calls, combinedPayload.authWitnesses.concat(options.authWitnesses ?? []), combinedPayload.capsules.concat(options.capsules ?? []), combinedPayload.extraHashedArgs);
58
- const utilityBatchPromise = utility.length > 0 ? this.wallet.batch(utility.map(([call])=>({
59
- name: 'simulateUtility',
56
+ const batchRequests = [];
57
+ // Add utility calls to batch
58
+ for (const [call] of utility){
59
+ batchRequests.push({
60
+ name: 'executeUtility',
60
61
  args: [
61
- call.name,
62
- call.args,
63
- call.to,
64
- options?.authWitnesses
62
+ call,
63
+ {
64
+ scope: options.from,
65
+ authWitnesses: options.authWitnesses
66
+ }
65
67
  ]
66
- }))) : Promise.resolve([]);
67
- const [utilityBatchResults, simulatedTx] = await Promise.all([
68
- utilityBatchPromise,
69
- indexedExecutionPayloads.length > 0 ? this.wallet.simulateTx(executionPayload, await toSimulateOptions(options)) : Promise.resolve()
70
- ]);
71
- const results = [];
72
- utilityBatchResults.forEach((wrappedResult, utilityIndex)=>{
73
- const [, originalIndex] = utility[utilityIndex];
74
- results[originalIndex] = wrappedResult.result.result;
75
- });
76
- if (simulatedTx) {
77
- indexedExecutionPayloads.forEach(([request, callIndex, resultIndex])=>{
78
- const call = request.calls[0];
79
- // As account entrypoints are private, for private functions we retrieve the return values from the first nested call
80
- // since we're interested in the first set of values AFTER the account entrypoint
81
- // For public functions we retrieve the first values directly from the public output.
82
- const rawReturnValues = call.type == FunctionType.PRIVATE ? simulatedTx.getPrivateReturnValues()?.nested?.[resultIndex].values : simulatedTx.getPublicReturnValues()?.[resultIndex].values;
83
- results[callIndex] = rawReturnValues ? decodeFromAbi(call.returnTypes, rawReturnValues) : [];
84
68
  });
85
69
  }
70
+ // Add tx simulation to batch if there are any private/public calls
71
+ if (indexedExecutionPayloads.length > 0) {
72
+ const payloads = indexedExecutionPayloads.map(([request])=>request);
73
+ const combinedPayload = mergeExecutionPayloads(payloads);
74
+ const executionPayload = new ExecutionPayload(combinedPayload.calls, combinedPayload.authWitnesses.concat(options.authWitnesses ?? []), combinedPayload.capsules.concat(options.capsules ?? []), combinedPayload.extraHashedArgs);
75
+ batchRequests.push({
76
+ name: 'simulateTx',
77
+ args: [
78
+ executionPayload,
79
+ toSimulateOptions(options)
80
+ ]
81
+ });
82
+ }
83
+ const batchResults = batchRequests.length > 0 ? await this.wallet.batch(batchRequests) : [];
84
+ const results = [];
85
+ // Process utility results (they come first in batch results)
86
+ for(let i = 0; i < utility.length; i++){
87
+ const [call, resultIndex] = utility[i];
88
+ const wrappedResult = batchResults[i];
89
+ if (wrappedResult.name === 'executeUtility') {
90
+ const rawReturnValues = wrappedResult.result.result;
91
+ results[resultIndex] = rawReturnValues ? decodeFromAbi(call.returnTypes, rawReturnValues) : [];
92
+ }
93
+ }
94
+ // Process tx simulation result (it comes last if present)
95
+ if (indexedExecutionPayloads.length > 0) {
96
+ const txResultWrapper = batchResults[utility.length];
97
+ if (txResultWrapper.name === 'simulateTx') {
98
+ const simulatedTx = txResultWrapper.result;
99
+ indexedExecutionPayloads.forEach(([request, callIndex, resultIndex])=>{
100
+ const call = request.calls[0];
101
+ // As account entrypoints are private, for private functions we retrieve the return values from the first nested call
102
+ // since we're interested in the first set of values AFTER the account entrypoint
103
+ // For public functions we retrieve the first values directly from the public output.
104
+ const rawReturnValues = call.type == FunctionType.PRIVATE ? simulatedTx.getPrivateReturnValues()?.nested?.[resultIndex].values : simulatedTx.getPublicReturnValues()?.[resultIndex].values;
105
+ results[callIndex] = rawReturnValues ? decodeFromAbi(call.returnTypes, rawReturnValues) : [];
106
+ });
107
+ }
108
+ }
86
109
  return results;
87
110
  }
88
111
  async getExecutionPayloads() {
@@ -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==
@@ -19,7 +19,7 @@ export declare class Contract extends ContractBase {
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
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.
@@ -39,4 +39,4 @@ export declare class Contract extends ContractBase {
39
39
  */
40
40
  static deployWithPublicKeys(publicKeys: PublicKeys, wallet: Wallet, artifact: ContractArtifact, args: any[], constructorName?: string): DeployMethod<Contract>;
41
41
  }
42
- //# 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;AAChE,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;IAK5G;;;;;;OAMG;WACW,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,eAAe,CAAC,EAAE,MAAM;IAKtG;;;;;;;;OAQG;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"}
@@ -14,9 +14,8 @@ import { DeployMethod } from './deploy_method.js';
14
14
  * @param artifact - Build artifact of the contract.
15
15
  * @param wallet - The wallet to use when interacting with the contract.
16
16
  * @returns A promise that resolves to a new Contract instance.
17
- */ static async at(address, artifact, wallet) {
18
- const instance = await wallet.registerContract(address, artifact);
19
- return new Contract(instance, artifact, wallet);
17
+ */ static at(address, artifact, wallet) {
18
+ return new Contract(address, artifact, wallet);
20
19
  }
21
20
  /**
22
21
  * Creates a tx to deploy (initialize and/or publish) a new instance of a contract.
@@ -25,7 +24,7 @@ import { DeployMethod } from './deploy_method.js';
25
24
  * @param args - Arguments for the constructor.
26
25
  * @param constructorName - The name of the constructor function to call.
27
26
  */ static deploy(wallet, artifact, args, constructorName) {
28
- const postDeployCtor = (address, wallet)=>Contract.at(address, artifact, wallet);
27
+ const postDeployCtor = (instance, wallet)=>Contract.at(instance.address, artifact, wallet);
29
28
  return new DeployMethod(PublicKeys.default(), wallet, artifact, postDeployCtor, args, constructorName);
30
29
  }
31
30
  /**
@@ -37,7 +36,7 @@ import { DeployMethod } from './deploy_method.js';
37
36
  * @param args - Arguments for the constructor.
38
37
  * @param constructorName - The name of the constructor function to call.
39
38
  */ static deployWithPublicKeys(publicKeys, wallet, artifact, args, constructorName) {
40
- const postDeployCtor = (address, wallet)=>Contract.at(address, artifact, wallet);
39
+ const postDeployCtor = (instance, wallet)=>Contract.at(instance.address, artifact, wallet);
41
40
  return new DeployMethod(publicKeys, wallet, artifact, postDeployCtor, args, constructorName);
42
41
  }
43
42
  }
@@ -1,5 +1,5 @@
1
1
  import { type ContractArtifact, type FieldLayout, FunctionSelector } from '@aztec/stdlib/abi';
2
- import { type ContractInstanceWithAddress } from '@aztec/stdlib/contract';
2
+ import type { AztecAddress } from '@aztec/stdlib/aztec-address';
3
3
  import type { Wallet } from '../wallet/wallet.js';
4
4
  import { ContractFunctionInteraction } from './contract_function_interaction.js';
5
5
  /**
@@ -22,8 +22,8 @@ export type ContractStorageLayout<T extends string> = {
22
22
  * Abstract implementation of a contract extended by the Contract class and generated contract types.
23
23
  */
24
24
  export declare class ContractBase {
25
- /** The deployed contract instance definition. */
26
- readonly instance: ContractInstanceWithAddress;
25
+ /** The contract's address. */
26
+ readonly address: AztecAddress;
27
27
  /** The Application Binary Interface for the contract. */
28
28
  readonly artifact: ContractArtifact;
29
29
  /** The wallet used for interacting with this contract. */
@@ -35,16 +35,12 @@ export declare class ContractBase {
35
35
  [name: string]: ContractMethod;
36
36
  };
37
37
  protected constructor(
38
- /** The deployed contract instance definition. */
39
- instance: ContractInstanceWithAddress,
38
+ /** The contract's address. */
39
+ address: AztecAddress,
40
40
  /** The Application Binary Interface for the contract. */
41
41
  artifact: ContractArtifact,
42
42
  /** The wallet used for interacting with this contract. */
43
43
  wallet: Wallet);
44
- /** Address of the contract. */
45
- get address(): import("../api/addresses.js").AztecAddress;
46
- /** Partial address of the contract. */
47
- get partialAddress(): Promise<import("@aztec/foundation/schemas").Fr>;
48
44
  /**
49
45
  * Creates a new instance of the contract wrapper attached to a different wallet.
50
46
  * @param wallet - Wallet to use for sending txs.
@@ -52,4 +48,4 @@ export declare class ContractBase {
52
48
  */
53
49
  withWallet(wallet: Wallet): this;
54
50
  }
55
- //# sourceMappingURL=contract_base.d.ts.map
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RfYmFzZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnRyYWN0L2NvbnRyYWN0X2Jhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLEtBQUssZ0JBQWdCLEVBQ3JCLEtBQUssV0FBVyxFQUVoQixnQkFBZ0IsRUFFakIsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUVoRSxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUVqRjs7O0dBR0c7QUFDSCxNQUFNLE1BQU0sY0FBYyxHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksRUFBRSxHQUFHLEVBQUUsS0FBSywyQkFBMkIsQ0FBQyxHQUFHO0lBQy9FOztPQUVHO0lBQ0gsUUFBUSxFQUFFLE1BQU0sT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUM7Q0FDM0MsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxNQUFNLHFCQUFxQixDQUFDLENBQUMsU0FBUyxNQUFNLElBQUk7S0FDbkQsQ0FBQyxJQUFJLENBQUMsR0FBRyxXQUFXO0NBQ3RCLENBQUM7QUFFRjs7R0FFRztBQUNILHFCQUFhLFlBQVk7SUFPckIsOEJBQThCO2FBQ2QsT0FBTyxFQUFFLFlBQVk7SUFDckMseURBQXlEO2FBQ3pDLFFBQVEsRUFBRSxnQkFBZ0I7SUFDMUMsMERBQTBEO0lBQ25ELE1BQU0sRUFBRSxNQUFNO0lBWHZCOztPQUVHO0lBQ0ksT0FBTyxFQUFFO1FBQUUsQ0FBQyxJQUFJLEVBQUUsTUFBTSxHQUFHLGNBQWMsQ0FBQTtLQUFFLENBQU07SUFFeEQsU0FBUztJQUNQLDhCQUE4QjtJQUNkLE9BQU8sRUFBRSxZQUFZO0lBQ3JDLHlEQUF5RDtJQUN6QyxRQUFRLEVBQUUsZ0JBQWdCO0lBQzFDLDBEQUEwRDtJQUNuRCxNQUFNLEVBQUUsTUFBTSxFQWlCdEI7SUFFRDs7OztPQUlHO0lBQ0ksVUFBVSxDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsSUFBSSxDQUV0QztDQUNGIn0=
@@ -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,+CAEjB;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,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAEhE,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,8BAA8B;aACd,OAAO,EAAE,YAAY;IACrC,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,8BAA8B;IACd,OAAO,EAAE,YAAY;IACrC,yDAAyD;IACzC,QAAQ,EAAE,gBAAgB;IAC1C,0DAA0D;IACnD,MAAM,EAAE,MAAM,EAiBtB;IAED;;;;OAIG;IACI,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAEtC;CACF"}
@@ -1,23 +1,22 @@
1
1
  import { FunctionSelector, getAllFunctionAbis } from '@aztec/stdlib/abi';
2
- import { computePartialAddress } from '@aztec/stdlib/contract';
3
2
  import { ContractFunctionInteraction } from './contract_function_interaction.js';
4
3
  /**
5
4
  * Abstract implementation of a contract extended by the Contract class and generated contract types.
6
5
  */ export class ContractBase {
7
- instance;
6
+ address;
8
7
  artifact;
9
8
  wallet;
10
9
  /**
11
10
  * An object containing contract methods mapped to their respective names.
12
11
  */ methods;
13
- constructor(/** The deployed contract instance definition. */ instance, /** The Application Binary Interface for the contract. */ artifact, /** The wallet used for interacting with this contract. */ wallet){
14
- this.instance = instance;
12
+ constructor(/** The contract's address. */ address, /** The Application Binary Interface for the contract. */ artifact, /** The wallet used for interacting with this contract. */ wallet){
13
+ this.address = address;
15
14
  this.artifact = artifact;
16
15
  this.wallet = wallet;
17
16
  this.methods = {};
18
17
  getAllFunctionAbis(artifact).forEach((f)=>{
19
18
  const interactionFunction = (...args)=>{
20
- return new ContractFunctionInteraction(this.wallet, this.instance.address, f, args);
19
+ return new ContractFunctionInteraction(this.wallet, this.address, f, args);
21
20
  };
22
21
  this.methods[f.name] = Object.assign(interactionFunction, {
23
22
  /**
@@ -29,17 +28,11 @@ import { ContractFunctionInteraction } from './contract_function_interaction.js'
29
28
  });
30
29
  });
31
30
  }
32
- /** Address of the contract. */ get address() {
33
- return this.instance.address;
34
- }
35
- /** Partial address of the contract. */ get partialAddress() {
36
- return computePartialAddress(this.instance);
37
- }
38
31
  /**
39
32
  * Creates a new instance of the contract wrapper attached to a different wallet.
40
33
  * @param wallet - Wallet to use for sending txs.
41
34
  * @returns A new contract instance.
42
35
  */ withWallet(wallet) {
43
- return new ContractBase(this.instance, this.artifact, wallet);
36
+ return new ContractBase(this.address, this.artifact, wallet);
44
37
  }
45
38
  }
@@ -1,8 +1,8 @@
1
- import { ExecutionPayload } from '@aztec/entrypoints/payload';
2
- import { type FunctionAbi, FunctionSelector, FunctionType } from '@aztec/stdlib/abi';
1
+ import { type FunctionAbi, FunctionCall } from '@aztec/stdlib/abi';
3
2
  import type { AuthWitness } from '@aztec/stdlib/auth-witness';
4
3
  import { AztecAddress } from '@aztec/stdlib/aztec-address';
5
4
  import { type Capsule, type HashedValues, type TxProfileResult } from '@aztec/stdlib/tx';
5
+ import { ExecutionPayload } from '@aztec/stdlib/tx';
6
6
  import type { Wallet } from '../wallet/wallet.js';
7
7
  import { BaseContractInteraction } from './base_contract_interaction.js';
8
8
  import { type ProfileInteractionOptions, type RequestInteractionOptions, type SimulateInteractionOptions, type SimulationReturn } from './interaction_options.js';
@@ -21,16 +21,7 @@ export declare class ContractFunctionInteraction extends BaseContractInteraction
21
21
  * Useful when generating authwits
22
22
  * @returns An encoded function call
23
23
  */
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
- }>;
24
+ getFunctionCall(): Promise<FunctionCall>;
34
25
  /**
35
26
  * Returns the execution payload that allows this operation to happen on chain.
36
27
  * @param options - Configuration options.
@@ -64,7 +55,7 @@ export declare class ContractFunctionInteraction extends BaseContractInteraction
64
55
  * @param options - An object containing the metadata to add to the interaction
65
56
  * @returns A new ContractFunctionInteraction with the added metadata, but calling the same original function in the same manner
66
57
  */
67
- with({ authWitnesses, capsules, extraHashedArgs, }: {
58
+ with({ authWitnesses, capsules, extraHashedArgs }: {
68
59
  /** The authWitnesses to add to the interaction */
69
60
  authWitnesses?: AuthWitness[];
70
61
  /** The capsules to add to the interaction */
@@ -73,4 +64,4 @@ export declare class ContractFunctionInteraction extends BaseContractInteraction
73
64
  extraHashedArgs?: HashedValues[];
74
65
  }): ContractFunctionInteraction;
75
66
  }
76
- //# sourceMappingURL=contract_function_interaction.d.ts.map
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RfZnVuY3Rpb25faW50ZXJhY3Rpb24uZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdC9jb250cmFjdF9mdW5jdGlvbl9pbnRlcmFjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsS0FBSyxXQUFXLEVBQ2hCLFlBQVksRUFLYixNQUFNLG1CQUFtQixDQUFDO0FBQzNCLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsS0FBSyxPQUFPLEVBQUUsS0FBSyxZQUFZLEVBQUUsS0FBSyxlQUFlLEVBQTBCLE1BQU0sa0JBQWtCLENBQUM7QUFDakgsT0FBTyxFQUFFLGdCQUFnQixFQUEwQixNQUFNLGtCQUFrQixDQUFDO0FBRTVFLE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2xELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXpFLE9BQU8sRUFDTCxLQUFLLHlCQUF5QixFQUM5QixLQUFLLHlCQUF5QixFQUM5QixLQUFLLDBCQUEwQixFQUMvQixLQUFLLGdCQUFnQixFQUd0QixNQUFNLDBCQUEwQixDQUFDO0FBRWxDOzs7R0FHRztBQUNILHFCQUFhLDJCQUE0QixTQUFRLHVCQUF1QjtJQUdwRSxTQUFTLENBQUMsZUFBZSxFQUFFLFlBQVk7SUFDdkMsU0FBUyxDQUFDLFdBQVcsRUFBRSxXQUFXO0lBQ2xDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFO0lBR3JCLE9BQU8sQ0FBQyxlQUFlO0lBUHpCLFlBQ0UsTUFBTSxFQUFFLE1BQU0sRUFDSixlQUFlLEVBQUUsWUFBWSxFQUM3QixXQUFXLEVBQUUsV0FBVyxFQUN4QixJQUFJLEVBQUUsR0FBRyxFQUFFLEVBQ3JCLGFBQWEsR0FBRSxXQUFXLEVBQU8sRUFDakMsUUFBUSxHQUFFLE9BQU8sRUFBTyxFQUNoQixlQUFlLEdBQUUsWUFBWSxFQUFPLEVBTTdDO0lBRUQ7Ozs7T0FJRztJQUNVLGVBQWUsMEJBWTNCO0lBRUQ7Ozs7T0FJRztJQUNtQixPQUFPLENBQUMsT0FBTyxHQUFFLHlCQUE4QixHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQWdCaEc7SUFHRDs7Ozs7Ozs7OztPQVVHO0lBQ1UsUUFBUSxDQUFDLENBQUMsU0FBUywwQkFBMEIsRUFDeEQsT0FBTyxFQUFFLENBQUMsR0FDVCxPQUFPLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFN0QsUUFBUSxDQUFDLENBQUMsU0FBUywwQkFBMEIsRUFDeEQsT0FBTyxFQUFFLENBQUMsR0FDVCxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBOERuRDs7Ozs7T0FLRztJQUNVLE9BQU8sQ0FBQyxPQUFPLEVBQUUseUJBQXlCLEdBQUcsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQU9qRjtJQUVEOzs7Ozs7T0FNRztJQUNJLElBQUksQ0FBQyxFQUNWLGFBQWtCLEVBQ2xCLFFBQWEsRUFDYixlQUFvQixFQUNyQixFQUFFO1FBQ0Qsa0RBQWtEO1FBQ2xELGFBQWEsQ0FBQyxFQUFFLFdBQVcsRUFBRSxDQUFDO1FBQzlCLDZDQUE2QztRQUM3QyxRQUFRLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQztRQUNyQixzREFBc0Q7UUFDdEQsZUFBZSxDQUFDLEVBQUUsWUFBWSxFQUFFLENBQUM7S0FDbEMsR0FBRywyQkFBMkIsQ0FVOUI7Q0FDRiJ9
@@ -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,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
+ {"version":3,"file":"contract_function_interaction.d.ts","sourceRoot":"","sources":["../../src/contract/contract_function_interaction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,WAAW,EAChB,YAAY,EAKb,MAAM,mBAAmB,CAAC;AAC3B,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;AACjH,OAAO,EAAE,gBAAgB,EAA0B,MAAM,kBAAkB,CAAC;AAE5E,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;IAPzB,YACE,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,EAM7C;IAED;;;;OAIG;IACU,eAAe,0BAY3B;IAED;;;;OAIG;IACmB,OAAO,CAAC,OAAO,GAAE,yBAA8B,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAgBhG;IAGD;;;;;;;;;;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,CAAC;IAE7D,QAAQ,CAAC,CAAC,SAAS,0BAA0B,EACxD,OAAO,EAAE,CAAC,GACT,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;IA8DnD;;;;;OAKG;IACU,OAAO,CAAC,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,eAAe,CAAC,CAOjF;IAED;;;;;;OAMG;IACI,IAAI,CAAC,EACV,aAAkB,EAClB,QAAa,EACb,eAAoB,EACrB,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,CAU9B;CACF"}
@@ -1,6 +1,6 @@
1
- import { ExecutionPayload, mergeExecutionPayloads } from '@aztec/entrypoints/payload';
2
- import { FunctionSelector, FunctionType, decodeFromAbi, encodeArguments } from '@aztec/stdlib/abi';
1
+ import { FunctionCall, FunctionSelector, FunctionType, decodeFromAbi, encodeArguments } from '@aztec/stdlib/abi';
3
2
  import { collectOffchainEffects } from '@aztec/stdlib/tx';
3
+ import { ExecutionPayload, mergeExecutionPayloads } from '@aztec/stdlib/tx';
4
4
  import { BaseContractInteraction } from './base_contract_interaction.js';
5
5
  import { getGasLimits } from './get_gas_limits.js';
6
6
  import { toProfileOptions, toSimulateOptions } from './interaction_options.js';
@@ -24,16 +24,16 @@ import { toProfileOptions, toSimulateOptions } from './interaction_options.js';
24
24
  * @returns An encoded function call
25
25
  */ async getFunctionCall() {
26
26
  const args = encodeArguments(this.functionDao, this.args);
27
- return {
27
+ return FunctionCall.from({
28
28
  name: this.functionDao.name,
29
- args,
29
+ to: this.contractAddress,
30
30
  selector: await FunctionSelector.fromNameAndParameters(this.functionDao.name, this.functionDao.parameters),
31
31
  type: this.functionDao.functionType,
32
- to: this.contractAddress,
33
- isStatic: this.functionDao.isStatic,
34
32
  hideMsgSender: false,
33
+ isStatic: this.functionDao.isStatic,
34
+ args,
35
35
  returnTypes: this.functionDao.returnTypes
36
- };
36
+ });
37
37
  }
38
38
  /**
39
39
  * Returns the execution payload that allows this operation to happen on chain.
@@ -56,18 +56,24 @@ import { toProfileOptions, toSimulateOptions } from './interaction_options.js';
56
56
  async simulate(options) {
57
57
  // docs:end:simulate
58
58
  if (this.functionDao.functionType == FunctionType.UTILITY) {
59
- const utilityResult = await this.wallet.simulateUtility(this.functionDao.name, this.args, this.contractAddress, options.authWitnesses ?? []);
59
+ const call = await this.getFunctionCall();
60
+ const utilityResult = await this.wallet.executeUtility(call, {
61
+ scope: options.from,
62
+ authWitnesses: options.authWitnesses
63
+ });
64
+ // Decode the raw field elements to the actual return type
65
+ const returnValue = utilityResult.result ? decodeFromAbi(this.functionDao.returnTypes, utilityResult.result) : [];
60
66
  if (options.includeMetadata) {
61
67
  return {
62
68
  stats: utilityResult.stats,
63
- result: utilityResult.result
69
+ result: returnValue
64
70
  };
65
71
  } else {
66
- return utilityResult.result;
72
+ return returnValue;
67
73
  }
68
74
  }
69
75
  const executionPayload = await this.request(options);
70
- const simulatedTx = await this.wallet.simulateTx(executionPayload, await toSimulateOptions(options));
76
+ const simulatedTx = await this.wallet.simulateTx(executionPayload, toSimulateOptions(options));
71
77
  let rawReturnValues;
72
78
  if (this.functionDao.functionType == FunctionType.PRIVATE) {
73
79
  if (simulatedTx.getPrivateReturnValues().nested.length > 0) {
@@ -109,7 +115,7 @@ import { toProfileOptions, toSimulateOptions } from './interaction_options.js';
109
115
  throw new Error("Can't profile a utility function.");
110
116
  }
111
117
  const executionPayload = await this.request(options);
112
- return await this.wallet.profileTx(executionPayload, await toProfileOptions(options));
118
+ return await this.wallet.profileTx(executionPayload, toProfileOptions(options));
113
119
  }
114
120
  /**
115
121
  * Augments this ContractFunctionInteraction with additional metadata, such as authWitnesses, capsules, and extraHashedArgs.
@@ -1,17 +1,31 @@
1
- import { ExecutionPayload } from '@aztec/entrypoints/payload';
2
- import { Fr } from '@aztec/foundation/fields';
1
+ import { Fr } from '@aztec/foundation/curves/bn254';
3
2
  import { type ContractArtifact, type FunctionArtifact } from '@aztec/stdlib/abi';
4
3
  import type { AuthWitness } from '@aztec/stdlib/auth-witness';
5
4
  import { AztecAddress } from '@aztec/stdlib/aztec-address';
6
5
  import { type ContractInstanceWithAddress } from '@aztec/stdlib/contract';
7
6
  import type { PublicKeys } from '@aztec/stdlib/keys';
8
- import { type Capsule, type TxProfileResult } from '@aztec/stdlib/tx';
9
- import type { Wallet } from '../wallet/wallet.js';
7
+ import { type Capsule, HashedValues, TxHash, type TxProfileResult, type TxReceipt } from '@aztec/stdlib/tx';
8
+ import { ExecutionPayload } from '@aztec/stdlib/tx';
9
+ import type { ProfileOptions, SendOptions, SimulateOptions, Wallet } from '../wallet/wallet.js';
10
10
  import { BaseContractInteraction } from './base_contract_interaction.js';
11
- import type { Contract } from './contract.js';
12
11
  import type { ContractBase } from './contract_base.js';
13
- import { DeploySentTx } from './deploy_sent_tx.js';
14
- import { type ProfileInteractionOptions, type RequestInteractionOptions, type SendInteractionOptions, type SimulationInteractionFeeOptions, type SimulationReturn } from './interaction_options.js';
12
+ import { type NoWait, type ProfileInteractionOptions, type RequestInteractionOptions, type SendInteractionOptionsWithoutWait, type SimulationInteractionFeeOptions, type SimulationReturn } from './interaction_options.js';
13
+ import type { WaitOpts } from './wait_opts.js';
14
+ /**
15
+ * Wait options specific to deployment transactions.
16
+ * Extends WaitOpts with a flag to return the full receipt instead of just the contract.
17
+ */
18
+ export type DeployWaitOptions = WaitOpts & {
19
+ /** If true, return the full DeployTxReceipt instead of just the contract. Defaults to false. */
20
+ returnReceipt?: boolean;
21
+ };
22
+ /**
23
+ * Type for wait options in deployment interactions.
24
+ * - NO_WAIT symbol: Don't wait, return TxHash immediately
25
+ * - DeployWaitOptions: Wait with custom options
26
+ * - undefined: Wait with default options
27
+ */
28
+ export type DeployInteractionWaitOptions = NoWait | DeployWaitOptions | undefined;
15
29
  /**
16
30
  * Options for deploying a contract on the Aztec network.
17
31
  * Allows specifying a contract address salt and different options to tweak contract publication
@@ -31,22 +45,36 @@ export type RequestDeployOptions = RequestInteractionOptions & {
31
45
  skipInstancePublication?: boolean;
32
46
  /** Skip contract initialization. */
33
47
  skipInitialization?: boolean;
48
+ /** Skip contract registration in the wallet */
49
+ skipRegistration?: boolean;
34
50
  };
35
51
  /**
36
- * Extends the deployment options with the required parameters to send the transaction
52
+ * Base deployment options without wait parameter.
37
53
  */
38
- export type DeployOptions = Omit<RequestDeployOptions, 'deployer'> & {
54
+ export type DeployOptionsWithoutWait = Omit<RequestDeployOptions, 'deployer'> & {
39
55
  /**
40
56
  * Set to true to *not* include the sender in the address computation. This option
41
57
  * is mutually exclusive with "deployer"
42
58
  */
43
59
  universalDeploy?: boolean;
44
- } & Pick<SendInteractionOptions, 'from' | 'fee'>;
60
+ } & Pick<SendInteractionOptionsWithoutWait, 'from' | 'fee' | 'additionalScopes'>;
61
+ /**
62
+ * Extends the deployment options with the required parameters to send the transaction.
63
+ */
64
+ export type DeployOptions<W extends DeployInteractionWaitOptions = undefined> = DeployOptionsWithoutWait & {
65
+ /**
66
+ * Options for waiting for the transaction to be mined.
67
+ * - undefined (default): wait with default options and return the contract instance
68
+ * - DeployWaitOptions: wait with custom options and return contract or receipt based on returnReceipt flag
69
+ * - NO_WAIT: return TxHash immediately without waiting
70
+ */
71
+ wait?: W;
72
+ };
45
73
  /**
46
74
  * Options for simulating the deployment of a contract
47
75
  * Allows skipping certain validations and computing gas estimations
48
76
  */
49
- export type SimulateDeployOptions = Omit<DeployOptions, 'fee'> & {
77
+ export type SimulateDeployOptions = Omit<DeployOptionsWithoutWait, 'fee'> & {
50
78
  /** The fee options for the transaction. */
51
79
  fee?: SimulationInteractionFeeOptions;
52
80
  /** Simulate without checking for the validity of the resulting transaction,
@@ -59,6 +87,22 @@ export type SimulateDeployOptions = Omit<DeployOptions, 'fee'> & {
59
87
  * the simulation result, instead of just the return value of the function */
60
88
  includeMetadata?: boolean;
61
89
  };
90
+ /** Receipt for a deployment transaction with the deployed contract instance. */
91
+ export type DeployTxReceipt<TContract extends ContractBase = ContractBase> = TxReceipt & {
92
+ /** Type-safe wrapper around the deployed contract instance, linked to the deployment wallet */
93
+ contract: TContract;
94
+ /** The deployed contract instance with address and metadata. */
95
+ instance: ContractInstanceWithAddress;
96
+ };
97
+ /**
98
+ * Represents the result type of deploying a contract.
99
+ * - If wait is NO_WAIT, returns TxHash immediately.
100
+ * - If wait has returnReceipt: true, returns DeployTxReceipt after waiting.
101
+ * - Otherwise (undefined or DeployWaitOptions without returnReceipt), returns TContract after waiting.
102
+ */
103
+ export type DeployReturn<TContract extends ContractBase, W extends DeployInteractionWaitOptions> = W extends NoWait ? TxHash : W extends {
104
+ returnReceipt: true;
105
+ } ? DeployTxReceipt<TContract> : TContract;
62
106
  /**
63
107
  * Contract interaction for deployment.
64
108
  * Handles class publication, instance publication, and initialization of the contract.
@@ -68,26 +112,43 @@ export type SimulateDeployOptions = Omit<DeployOptions, 'fee'> & {
68
112
  * then technically the contract has already been "created", and all of the contract's
69
113
  * functions (private and utility) can be interacted-with immediately, without any
70
114
  * "deployment tx".
71
- *
72
- * Extends the BaseContractInteraction class.
73
115
  */
74
- export declare class DeployMethod<TContract extends ContractBase = Contract> extends BaseContractInteraction {
116
+ export declare class DeployMethod<TContract extends ContractBase = ContractBase> extends BaseContractInteraction {
75
117
  private publicKeys;
76
118
  protected artifact: ContractArtifact;
77
- protected postDeployCtor: (address: AztecAddress, wallet: Wallet) => Promise<TContract>;
119
+ protected postDeployCtor: (instance: ContractInstanceWithAddress, wallet: Wallet) => TContract;
78
120
  private args;
121
+ private extraHashedArgs;
79
122
  /** The contract instance to be deployed. */
80
123
  private instance?;
81
124
  /** Constructor function to call. */
82
125
  private constructorArtifact;
83
- constructor(publicKeys: PublicKeys, wallet: Wallet, artifact: ContractArtifact, postDeployCtor: (address: AztecAddress, wallet: Wallet) => Promise<TContract>, args?: any[], constructorNameOrArtifact?: string | FunctionArtifact, authWitnesses?: AuthWitness[], capsules?: Capsule[]);
126
+ constructor(publicKeys: PublicKeys, wallet: Wallet, artifact: ContractArtifact, postDeployCtor: (instance: ContractInstanceWithAddress, wallet: Wallet) => TContract, args?: any[], constructorNameOrArtifact?: string | FunctionArtifact, authWitnesses?: AuthWitness[], capsules?: Capsule[], extraHashedArgs?: HashedValues[]);
84
127
  /**
85
128
  * Returns the execution payload that allows this operation to happen on chain.
86
129
  * @param options - Configuration options.
87
130
  * @returns The execution payload for this operation
88
131
  */
89
132
  request(options?: RequestDeployOptions): Promise<ExecutionPayload>;
90
- convertDeployOptionsToRequestOptions(options: DeployOptions): RequestDeployOptions;
133
+ convertDeployOptionsToRequestOptions(options: DeployOptionsWithoutWait): RequestDeployOptions;
134
+ /**
135
+ * Converts DeployOptions to SendOptions, stripping out the returnReceipt flag if present.
136
+ * @param options - Deploy options with wait parameter
137
+ * @returns Send options with wait parameter
138
+ */
139
+ protected convertDeployOptionsToSendOptions<W extends DeployInteractionWaitOptions>(options: DeployOptions<W>): SendOptions<W extends {
140
+ returnReceipt: true;
141
+ } ? WaitOpts : W>;
142
+ /**
143
+ * Converts deploy simulation options into wallet-level simulate options.
144
+ * @param options - The deploy simulation options to convert.
145
+ */
146
+ protected convertDeployOptionsToSimulateOptions(options: SimulateDeployOptions): SimulateOptions;
147
+ /**
148
+ * Converts deploy profile options into wallet-level profile options.
149
+ * @param options - The deploy profile options to convert.
150
+ */
151
+ protected convertDeployOptionsToProfileOptions(options: DeployOptionsWithoutWait & ProfileInteractionOptions): ProfileOptions;
91
152
  /**
92
153
  * Adds this contract to the wallet and returns the Contract object.
93
154
  * @param options - Deployment options.
@@ -110,13 +171,13 @@ export declare class DeployMethod<TContract extends ContractBase = Contract> ext
110
171
  protected getInitializationExecutionPayload(options?: RequestDeployOptions): Promise<ExecutionPayload>;
111
172
  /**
112
173
  * Send a contract deployment transaction (initialize and/or publish) using the provided options.
113
- * This function extends the 'send' method from the ContractFunctionInteraction class,
114
- * allowing us to send a transaction specifically for contract deployment.
174
+ * By default, waits for the transaction to be mined and returns the deployed contract instance.
115
175
  *
116
176
  * @param options - An object containing various deployment options such as contractAddressSalt and from.
117
- * @returns A SentTx object that returns the receipt and the deployed contract instance.
177
+ * @returns TxHash (if wait is NO_WAIT), TContract (if wait is undefined or doesn't have returnReceipt), or DeployTxReceipt (if wait.returnReceipt is true)
118
178
  */
119
- send(options: DeployOptions): DeploySentTx<TContract>;
179
+ send(options: DeployOptionsWithoutWait): Promise<TContract>;
180
+ send<W extends DeployInteractionWaitOptions>(options: DeployOptions<W>): Promise<DeployReturn<TContract, W>>;
120
181
  /**
121
182
  * Builds the contract instance and returns it.
122
183
  *
@@ -138,7 +199,7 @@ export declare class DeployMethod<TContract extends ContractBase = Contract> ext
138
199
  *
139
200
  * @returns An object containing the function return value and profile result.
140
201
  */
141
- profile(options: DeployOptions & ProfileInteractionOptions): Promise<TxProfileResult>;
202
+ profile(options: DeployOptionsWithoutWait & ProfileInteractionOptions): Promise<TxProfileResult>;
142
203
  /** Return this deployment address. */
143
204
  get address(): AztecAddress | undefined;
144
205
  /** Returns the partial address for this deployment. */
@@ -148,11 +209,11 @@ export declare class DeployMethod<TContract extends ContractBase = Contract> ext
148
209
  * @param options - An object containing the metadata to add to the interaction
149
210
  * @returns A new DeployMethod with the added metadata, but calling the same original function in the same manner
150
211
  */
151
- with({ authWitnesses, capsules, }: {
212
+ with({ authWitnesses, capsules }: {
152
213
  /** The authWitnesses to add to the deployment */
153
214
  authWitnesses?: AuthWitness[];
154
215
  /** The capsules to add to the deployment */
155
216
  capsules?: Capsule[];
156
217
  }): DeployMethod;
157
218
  }
158
- //# sourceMappingURL=deploy_method.d.ts.map
219
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwbG95X21ldGhvZC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnRyYWN0L2RlcGxveV9tZXRob2QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxLQUFLLGdCQUFnQixFQUFvQixLQUFLLGdCQUFnQixFQUFrQixNQUFNLG1CQUFtQixDQUFDO0FBQ25ILE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEVBQ0wsS0FBSywyQkFBMkIsRUFJakMsTUFBTSx3QkFBd0IsQ0FBQztBQUNoQyxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLEVBQ0wsS0FBSyxPQUFPLEVBQ1osWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLGVBQWUsRUFDcEIsS0FBSyxTQUFTLEVBRWYsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEVBQUUsZ0JBQWdCLEVBQTBCLE1BQU0sa0JBQWtCLENBQUM7QUFJNUUsT0FBTyxLQUFLLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDaEcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDekUsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFHdkQsT0FBTyxFQUVMLEtBQUssTUFBTSxFQUNYLEtBQUsseUJBQXlCLEVBQzlCLEtBQUsseUJBQXlCLEVBQzlCLEtBQUssaUNBQWlDLEVBQ3RDLEtBQUssK0JBQStCLEVBQ3BDLEtBQUssZ0JBQWdCLEVBSXRCLE1BQU0sMEJBQTBCLENBQUM7QUFDbEMsT0FBTyxLQUFL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