@aztec/aztec.js 0.73.0 → 0.75.0-commit.c03ba01a2a4122e43e90d5133ba017e54b90e9d2

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 (250) hide show
  1. package/README.md +1 -1
  2. package/dest/account/contract.js +5 -3
  3. package/dest/account/index.js +8 -2
  4. package/dest/account/interface.js +4 -3
  5. package/dest/account/wallet.js +3 -2
  6. package/dest/account_manager/deploy_account_method.js +22 -25
  7. package/dest/account_manager/deploy_account_sent_tx.js +16 -17
  8. package/dest/account_manager/index.js +67 -78
  9. package/dest/api/abi.js +0 -1
  10. package/dest/api/account.js +0 -1
  11. package/dest/api/addresses.js +0 -1
  12. package/dest/api/cheat_codes.js +25 -0
  13. package/dest/api/deployment.js +0 -1
  14. package/dest/api/entrypoint.js +0 -1
  15. package/dest/api/eth_address.js +0 -1
  16. package/dest/api/ethereum/anvil_test_watcher.js +113 -0
  17. package/dest/api/ethereum/chain_monitor.js +69 -0
  18. package/dest/api/ethereum/cheat_codes.js +142 -0
  19. package/dest/api/ethereum/index.js +6 -0
  20. package/dest/api/ethereum/l1_contracts.js +13 -0
  21. package/dest/api/ethereum/portal_manager.js +284 -0
  22. package/dest/api/fee.js +0 -1
  23. package/dest/api/fields.js +0 -1
  24. package/dest/api/interfaces/pxe.js +1 -2
  25. package/dest/api/log.js +1 -0
  26. package/dest/api/log_id.js +0 -1
  27. package/dest/api/tx_hash.js +0 -1
  28. package/dest/api/wallet.js +1 -2
  29. package/dest/contract/base_contract_interaction.js +75 -52
  30. package/dest/contract/batch_call.js +57 -39
  31. package/dest/contract/checker.js +29 -20
  32. package/dest/contract/contract.js +22 -27
  33. package/dest/contract/contract_base.js +21 -30
  34. package/dest/contract/contract_function_interaction.js +48 -48
  35. package/dest/contract/deploy_method.js +99 -84
  36. package/dest/contract/deploy_proven_tx.js +8 -11
  37. package/dest/contract/deploy_sent_tx.js +19 -22
  38. package/dest/contract/get_gas_limits.js +2 -4
  39. package/dest/contract/index.js +4 -6
  40. package/dest/contract/proven_tx.js +7 -10
  41. package/dest/contract/sent_tx.js +32 -34
  42. package/dest/contract/unsafe_contract.js +2 -10
  43. package/dest/deployment/broadcast_function.js +28 -26
  44. package/dest/deployment/contract_deployer.js +15 -14
  45. package/dest/deployment/deploy_instance.js +1 -3
  46. package/dest/deployment/index.js +0 -1
  47. package/dest/deployment/protocol_contracts.js +2 -5
  48. package/dest/deployment/register_class.js +8 -8
  49. package/dest/entrypoint/default_entrypoint.js +8 -5
  50. package/dest/entrypoint/default_multi_call_entrypoint.js +66 -23
  51. package/dest/entrypoint/entrypoint.js +0 -1
  52. package/dest/entrypoint/payload.js +73 -82
  53. package/dest/fee/fee_juice_payment_method.js +3 -4
  54. package/dest/fee/fee_juice_payment_method_with_claim.js +11 -14
  55. package/dest/fee/fee_payment_method.js +3 -2
  56. package/dest/fee/no_fee_payment_method.js +2 -4
  57. package/dest/fee/private_fee_payment_method.js +36 -34
  58. package/dest/fee/public_fee_payment_method.js +34 -31
  59. package/dest/index.js +8 -9
  60. package/dest/rpc_clients/index.js +0 -1
  61. package/dest/rpc_clients/node/index.js +30 -16
  62. package/dest/rpc_clients/pxe_client.js +5 -3
  63. package/dest/utils/abi_types.js +1 -2
  64. package/dest/utils/authwit.js +15 -15
  65. package/dest/utils/aztec_cheatcodes.js +62 -0
  66. package/dest/utils/field_compressed_string.js +2 -4
  67. package/dest/utils/index.js +5 -12
  68. package/dest/utils/node.js +4 -5
  69. package/dest/utils/pub_key.js +1 -3
  70. package/dest/utils/pxe.js +3 -5
  71. package/dest/wallet/account_wallet.js +118 -81
  72. package/dest/wallet/account_wallet_with_private_key.js +9 -15
  73. package/dest/wallet/base_wallet.js +7 -5
  74. package/dest/wallet/index.js +2 -4
  75. package/dest/wallet/signerless_wallet.js +4 -6
  76. package/package.json +14 -17
  77. package/src/api/account.ts +7 -1
  78. package/src/api/cheat_codes.ts +35 -0
  79. package/src/{utils → api/ethereum}/anvil_test_watcher.ts +2 -1
  80. package/src/{utils → api/ethereum}/cheat_codes.ts +6 -109
  81. package/src/api/ethereum/index.ts +15 -0
  82. package/src/{utils → api/ethereum}/l1_contracts.ts +1 -1
  83. package/src/{utils → api/ethereum}/portal_manager.ts +4 -9
  84. package/src/api/interfaces/pxe.ts +1 -1
  85. package/src/api/log.ts +1 -0
  86. package/src/api/wallet.ts +1 -1
  87. package/src/contract/contract_function_interaction.ts +1 -1
  88. package/src/contract/index.ts +2 -2
  89. package/src/entrypoint/default_multi_call_entrypoint.ts +2 -1
  90. package/src/entrypoint/entrypoint.ts +1 -1
  91. package/src/fee/fee_juice_payment_method_with_claim.ts +1 -1
  92. package/src/index.ts +7 -35
  93. package/src/utils/aztec_cheatcodes.ts +75 -0
  94. package/src/utils/index.ts +19 -11
  95. package/src/utils/node.ts +2 -0
  96. package/src/wallet/index.ts +1 -1
  97. package/dest/account/contract.d.ts +0 -33
  98. package/dest/account/contract.d.ts.map +0 -1
  99. package/dest/account/index.d.ts +0 -15
  100. package/dest/account/index.d.ts.map +0 -1
  101. package/dest/account/interface.d.ts +0 -30
  102. package/dest/account/interface.d.ts.map +0 -1
  103. package/dest/account/wallet.d.ts +0 -10
  104. package/dest/account/wallet.d.ts.map +0 -1
  105. package/dest/account_manager/deploy_account_method.d.ts +0 -15
  106. package/dest/account_manager/deploy_account_method.d.ts.map +0 -1
  107. package/dest/account_manager/deploy_account_sent_tx.d.ts +0 -29
  108. package/dest/account_manager/deploy_account_sent_tx.d.ts.map +0 -1
  109. package/dest/account_manager/index.d.ts +0 -99
  110. package/dest/account_manager/index.d.ts.map +0 -1
  111. package/dest/api/abi.d.ts +0 -4
  112. package/dest/api/abi.d.ts.map +0 -1
  113. package/dest/api/account.d.ts +0 -4
  114. package/dest/api/account.d.ts.map +0 -1
  115. package/dest/api/addresses.d.ts +0 -3
  116. package/dest/api/addresses.d.ts.map +0 -1
  117. package/dest/api/deployment.d.ts +0 -4
  118. package/dest/api/deployment.d.ts.map +0 -1
  119. package/dest/api/entrypoint.d.ts +0 -2
  120. package/dest/api/entrypoint.d.ts.map +0 -1
  121. package/dest/api/eth_address.d.ts +0 -2
  122. package/dest/api/eth_address.d.ts.map +0 -1
  123. package/dest/api/ethereum.d.ts +0 -3
  124. package/dest/api/ethereum.d.ts.map +0 -1
  125. package/dest/api/ethereum.js +0 -3
  126. package/dest/api/fee.d.ts +0 -7
  127. package/dest/api/fee.d.ts.map +0 -1
  128. package/dest/api/fields.d.ts +0 -2
  129. package/dest/api/fields.d.ts.map +0 -1
  130. package/dest/api/interfaces/pxe.d.ts +0 -2
  131. package/dest/api/interfaces/pxe.d.ts.map +0 -1
  132. package/dest/api/log_id.d.ts +0 -2
  133. package/dest/api/log_id.d.ts.map +0 -1
  134. package/dest/api/tx_hash.d.ts +0 -2
  135. package/dest/api/tx_hash.d.ts.map +0 -1
  136. package/dest/api/wallet.d.ts +0 -2
  137. package/dest/api/wallet.d.ts.map +0 -1
  138. package/dest/barretenberg-threads.wasm.gz +0 -0
  139. package/dest/barretenberg.wasm.gz +0 -0
  140. package/dest/contract/base_contract_interaction.d.ts +0 -82
  141. package/dest/contract/base_contract_interaction.d.ts.map +0 -1
  142. package/dest/contract/batch_call.d.ts +0 -27
  143. package/dest/contract/batch_call.d.ts.map +0 -1
  144. package/dest/contract/checker.d.ts +0 -11
  145. package/dest/contract/checker.d.ts.map +0 -1
  146. package/dest/contract/contract.d.ts +0 -41
  147. package/dest/contract/contract.d.ts.map +0 -1
  148. package/dest/contract/contract_base.d.ts +0 -61
  149. package/dest/contract/contract_base.d.ts.map +0 -1
  150. package/dest/contract/contract_function_interaction.d.ts +0 -67
  151. package/dest/contract/contract_function_interaction.d.ts.map +0 -1
  152. package/dest/contract/deploy_method.d.ts +0 -110
  153. package/dest/contract/deploy_method.d.ts.map +0 -1
  154. package/dest/contract/deploy_proven_tx.d.ts +0 -19
  155. package/dest/contract/deploy_proven_tx.d.ts.map +0 -1
  156. package/dest/contract/deploy_sent_tx.d.ts +0 -43
  157. package/dest/contract/deploy_sent_tx.d.ts.map +0 -1
  158. package/dest/contract/get_gas_limits.d.ts +0 -18
  159. package/dest/contract/get_gas_limits.d.ts.map +0 -1
  160. package/dest/contract/index.d.ts +0 -45
  161. package/dest/contract/index.d.ts.map +0 -1
  162. package/dest/contract/proven_tx.d.ts +0 -16
  163. package/dest/contract/proven_tx.d.ts.map +0 -1
  164. package/dest/contract/sent_tx.d.ts +0 -60
  165. package/dest/contract/sent_tx.d.ts.map +0 -1
  166. package/dest/contract/unsafe_contract.d.ts +0 -15
  167. package/dest/contract/unsafe_contract.d.ts.map +0 -1
  168. package/dest/deployment/broadcast_function.d.ts +0 -24
  169. package/dest/deployment/broadcast_function.d.ts.map +0 -1
  170. package/dest/deployment/contract_deployer.d.ts +0 -27
  171. package/dest/deployment/contract_deployer.d.ts.map +0 -1
  172. package/dest/deployment/deploy_instance.d.ts +0 -10
  173. package/dest/deployment/deploy_instance.d.ts.map +0 -1
  174. package/dest/deployment/index.d.ts +0 -2
  175. package/dest/deployment/index.d.ts.map +0 -1
  176. package/dest/deployment/protocol_contracts.d.ts +0 -7
  177. package/dest/deployment/protocol_contracts.d.ts.map +0 -1
  178. package/dest/deployment/register_class.d.ts +0 -6
  179. package/dest/deployment/register_class.d.ts.map +0 -1
  180. package/dest/entrypoint/default_entrypoint.d.ts +0 -12
  181. package/dest/entrypoint/default_entrypoint.d.ts.map +0 -1
  182. package/dest/entrypoint/default_multi_call_entrypoint.d.ts +0 -15
  183. package/dest/entrypoint/default_multi_call_entrypoint.d.ts.map +0 -1
  184. package/dest/entrypoint/entrypoint.d.ts +0 -31
  185. package/dest/entrypoint/entrypoint.d.ts.map +0 -1
  186. package/dest/entrypoint/payload.d.ts +0 -125
  187. package/dest/entrypoint/payload.d.ts.map +0 -1
  188. package/dest/fee/fee_juice_payment_method.d.ts +0 -14
  189. package/dest/fee/fee_juice_payment_method.d.ts.map +0 -1
  190. package/dest/fee/fee_juice_payment_method_with_claim.d.ts +0 -17
  191. package/dest/fee/fee_juice_payment_method_with_claim.d.ts.map +0 -1
  192. package/dest/fee/fee_payment_method.d.ts +0 -22
  193. package/dest/fee/fee_payment_method.d.ts.map +0 -1
  194. package/dest/fee/no_fee_payment_method.d.ts +0 -13
  195. package/dest/fee/no_fee_payment_method.d.ts.map +0 -1
  196. package/dest/fee/private_fee_payment_method.d.ts +0 -51
  197. package/dest/fee/private_fee_payment_method.d.ts.map +0 -1
  198. package/dest/fee/public_fee_payment_method.d.ts +0 -41
  199. package/dest/fee/public_fee_payment_method.d.ts.map +0 -1
  200. package/dest/index.d.ts +0 -51
  201. package/dest/index.d.ts.map +0 -1
  202. package/dest/main.js +0 -2
  203. package/dest/main.js.LICENSE.txt +0 -25
  204. package/dest/rpc_clients/index.d.ts +0 -3
  205. package/dest/rpc_clients/index.d.ts.map +0 -1
  206. package/dest/rpc_clients/node/index.d.ts +0 -11
  207. package/dest/rpc_clients/node/index.d.ts.map +0 -1
  208. package/dest/rpc_clients/pxe_client.d.ts +0 -9
  209. package/dest/rpc_clients/pxe_client.d.ts.map +0 -1
  210. package/dest/utils/abi_types.d.ts +0 -26
  211. package/dest/utils/abi_types.d.ts.map +0 -1
  212. package/dest/utils/anvil_test_watcher.d.ts +0 -28
  213. package/dest/utils/anvil_test_watcher.d.ts.map +0 -1
  214. package/dest/utils/anvil_test_watcher.js +0 -108
  215. package/dest/utils/authwit.d.ts +0 -59
  216. package/dest/utils/authwit.d.ts.map +0 -1
  217. package/dest/utils/chain_monitor.d.ts +0 -21
  218. package/dest/utils/chain_monitor.d.ts.map +0 -1
  219. package/dest/utils/chain_monitor.js +0 -58
  220. package/dest/utils/cheat_codes.d.ts +0 -137
  221. package/dest/utils/cheat_codes.d.ts.map +0 -1
  222. package/dest/utils/cheat_codes.js +0 -225
  223. package/dest/utils/field_compressed_string.d.ts +0 -17
  224. package/dest/utils/field_compressed_string.d.ts.map +0 -1
  225. package/dest/utils/index.d.ts +0 -12
  226. package/dest/utils/index.d.ts.map +0 -1
  227. package/dest/utils/l1_contracts.d.ts +0 -3
  228. package/dest/utils/l1_contracts.d.ts.map +0 -1
  229. package/dest/utils/l1_contracts.js +0 -15
  230. package/dest/utils/node.d.ts +0 -4
  231. package/dest/utils/node.d.ts.map +0 -1
  232. package/dest/utils/portal_manager.d.ts +0 -130
  233. package/dest/utils/portal_manager.d.ts.map +0 -1
  234. package/dest/utils/portal_manager.js +0 -265
  235. package/dest/utils/pub_key.d.ts +0 -8
  236. package/dest/utils/pub_key.d.ts.map +0 -1
  237. package/dest/utils/pxe.d.ts +0 -4
  238. package/dest/utils/pxe.d.ts.map +0 -1
  239. package/dest/wallet/account_wallet.d.ts +0 -73
  240. package/dest/wallet/account_wallet.d.ts.map +0 -1
  241. package/dest/wallet/account_wallet_with_private_key.d.ts +0 -26
  242. package/dest/wallet/account_wallet_with_private_key.d.ts.map +0 -1
  243. package/dest/wallet/base_wallet.d.ts +0 -64
  244. package/dest/wallet/base_wallet.d.ts.map +0 -1
  245. package/dest/wallet/index.d.ts +0 -17
  246. package/dest/wallet/index.d.ts.map +0 -1
  247. package/dest/wallet/signerless_wallet.d.ts +0 -22
  248. package/dest/wallet/signerless_wallet.d.ts.map +0 -1
  249. package/src/api/ethereum.ts +0 -2
  250. /package/src/{utils → api/ethereum}/chain_monitor.ts +0 -0
@@ -5,44 +5,42 @@ export const DefaultWaitOpts = {
5
5
  timeout: 60,
6
6
  provenTimeout: 600,
7
7
  interval: 1,
8
- debug: false,
8
+ debug: false
9
9
  };
10
10
  /**
11
11
  * The SentTx class represents a sent transaction through the PXE, providing methods to fetch
12
12
  * its hash, receipt, and mining status.
13
- */
14
- export class SentTx {
15
- constructor(pxe, txHashPromise) {
13
+ */ export class SentTx {
14
+ pxe;
15
+ txHashPromise;
16
+ constructor(pxe, txHashPromise){
16
17
  this.pxe = pxe;
17
18
  this.txHashPromise = txHashPromise;
18
19
  }
19
20
  /**
20
- * Retrieves the transaction hash of the SentTx instance.
21
- * The function internally awaits for the 'txHashPromise' to resolve, and then returns the resolved transaction hash.
22
- *
23
- * @returns A promise that resolves to the transaction hash of the SentTx instance.
24
- * TODO(#7717): Don't throw here.
25
- */
26
- getTxHash() {
21
+ * Retrieves the transaction hash of the SentTx instance.
22
+ * The function internally awaits for the 'txHashPromise' to resolve, and then returns the resolved transaction hash.
23
+ *
24
+ * @returns A promise that resolves to the transaction hash of the SentTx instance.
25
+ * TODO(#7717): Don't throw here.
26
+ */ getTxHash() {
27
27
  return this.txHashPromise;
28
28
  }
29
29
  /**
30
- * Retrieve the transaction receipt associated with the current SentTx instance.
31
- * The function fetches the transaction hash using 'getTxHash' and then queries
32
- * the PXE to get the corresponding transaction receipt.
33
- *
34
- * @returns A promise that resolves to a TxReceipt object representing the fetched transaction receipt.
35
- */
36
- async getReceipt() {
30
+ * Retrieve the transaction receipt associated with the current SentTx instance.
31
+ * The function fetches the transaction hash using 'getTxHash' and then queries
32
+ * the PXE to get the corresponding transaction receipt.
33
+ *
34
+ * @returns A promise that resolves to a TxReceipt object representing the fetched transaction receipt.
35
+ */ async getReceipt() {
37
36
  const txHash = await this.getTxHash();
38
37
  return await this.pxe.getTxReceipt(txHash);
39
38
  }
40
39
  /**
41
- * Awaits for a tx to be mined and returns the receipt. Throws if tx is not mined.
42
- * @param opts - Options for configuring the waiting for the tx to be mined.
43
- * @returns The transaction receipt.
44
- */
45
- async wait(opts) {
40
+ * Awaits for a tx to be mined and returns the receipt. Throws if tx is not mined.
41
+ * @param opts - Options for configuring the waiting for the tx to be mined.
42
+ * @returns The transaction receipt.
43
+ */ async wait(opts) {
46
44
  const receipt = await this.waitForReceipt(opts);
47
45
  if (receipt.status !== TxStatus.SUCCESS && !opts?.dontThrowOnRevert) {
48
46
  throw new Error(`Transaction ${await this.getTxHash()} was ${receipt.status}. Reason: ${receipt.error ?? 'unknown'}`);
@@ -52,30 +50,31 @@ export class SentTx {
52
50
  }
53
51
  if (opts?.debug) {
54
52
  const txHash = await this.getTxHash();
55
- const { data: tx } = (await this.pxe.getTxEffect(txHash));
53
+ const { data: tx } = await this.pxe.getTxEffect(txHash);
56
54
  receipt.debugInfo = {
57
55
  noteHashes: tx.noteHashes,
58
56
  nullifiers: tx.nullifiers,
59
57
  publicDataWrites: tx.publicDataWrites,
60
- l2ToL1Msgs: tx.l2ToL1Msgs,
58
+ l2ToL1Msgs: tx.l2ToL1Msgs
61
59
  };
62
60
  }
63
61
  return receipt;
64
62
  }
65
63
  /**
66
- * Gets public logs emitted by this tx.
67
- * @remarks This function will wait for the tx to be mined if it hasn't been already.
68
- * @returns The requested logs.
69
- */
70
- async getPublicLogs() {
64
+ * Gets public logs emitted by this tx.
65
+ * @remarks This function will wait for the tx to be mined if it hasn't been already.
66
+ * @returns The requested logs.
67
+ */ async getPublicLogs() {
71
68
  await this.wait();
72
- return this.pxe.getPublicLogs({ txHash: await this.getTxHash() });
69
+ return this.pxe.getPublicLogs({
70
+ txHash: await this.getTxHash()
71
+ });
73
72
  }
74
73
  async waitForReceipt(opts) {
75
74
  const txHash = await this.getTxHash();
76
75
  const startTime = Date.now();
77
76
  const ignoreDroppedReceiptsFor = opts?.ignoreDroppedReceiptsFor ?? DefaultWaitOpts.ignoreDroppedReceiptsFor;
78
- return await retryUntil(async () => {
77
+ return await retryUntil(async ()=>{
79
78
  const txReceipt = await this.pxe.getTxReceipt(txHash);
80
79
  // If receipt is not yet available, try again
81
80
  if (txReceipt.status === TxStatus.PENDING) {
@@ -95,10 +94,9 @@ export class SentTx {
95
94
  }, 'isMined', opts?.timeout ?? DefaultWaitOpts.timeout, opts?.interval ?? DefaultWaitOpts.interval);
96
95
  }
97
96
  async waitForProven(minedBlock, opts) {
98
- return await retryUntil(async () => {
97
+ return await retryUntil(async ()=>{
99
98
  const provenBlock = await this.pxe.getProvenBlockNumber();
100
99
  return provenBlock >= minedBlock ? provenBlock : undefined;
101
100
  }, 'isProven', opts?.provenTimeout ?? DefaultWaitOpts.provenTimeout, opts?.interval ?? DefaultWaitOpts.interval);
102
101
  }
103
102
  }
104
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VudF90eC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdC9zZW50X3R4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUUsUUFBUSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbkgsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBcUJyRCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQWE7SUFDdkMsd0JBQXdCLEVBQUUsQ0FBQztJQUMzQixPQUFPLEVBQUUsRUFBRTtJQUNYLGFBQWEsRUFBRSxHQUFHO0lBQ2xCLFFBQVEsRUFBRSxDQUFDO0lBQ1gsS0FBSyxFQUFFLEtBQUs7Q0FDYixDQUFDO0FBRUY7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLE1BQU07SUFDakIsWUFBc0IsR0FBUSxFQUFZLGFBQThCO1FBQWxELFFBQUcsR0FBSCxHQUFHLENBQUs7UUFBWSxrQkFBYSxHQUFiLGFBQWEsQ0FBaUI7SUFBRyxDQUFDO0lBRTVFOzs7Ozs7T0FNRztJQUNJLFNBQVM7UUFDZCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLEtBQUssQ0FBQyxVQUFVO1FBQ3JCLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ3RDLE9BQU8sTUFBTSxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBZTtRQUMvQixNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEQsSUFBSSxPQUFPLENBQUMsTUFBTSxLQUFLLFFBQVEsQ0FBQyxPQUFPLElBQUksQ0FBQyxJQUFJLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQztZQUNwRSxNQUFNLElBQUks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
@@ -1,14 +1,6 @@
1
1
  import { ContractBase } from './contract_base.js';
2
- /** Unsafe constructor for ContractBase that bypasses the check that the instance is registered in the wallet. */
3
- export class UnsafeContract extends ContractBase {
4
- constructor(
5
- /** The deployed contract instance definition. */
6
- instance,
7
- /** The Application Binary Interface for the contract. */
8
- artifact,
9
- /** The wallet used for interacting with this contract. */
10
- wallet) {
2
+ /** Unsafe constructor for ContractBase that bypasses the check that the instance is registered in the wallet. */ export class UnsafeContract extends ContractBase {
3
+ constructor(/** The deployed contract instance definition. */ instance, /** The Application Binary Interface for the contract. */ artifact, /** The wallet used for interacting with this contract. */ wallet){
11
4
  super(instance, artifact, wallet);
12
5
  }
13
6
  }
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5zYWZlX2NvbnRyYWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnRyYWN0L3Vuc2FmZV9jb250cmFjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFbEQsaUhBQWlIO0FBQ2pILE1BQU0sT0FBTyxjQUFlLFNBQVEsWUFBWTtJQUM5QztJQUNFLGlEQUFpRDtJQUNqRCxRQUFxQztJQUNyQyx5REFBeUQ7SUFDekQsUUFBMEI7SUFDMUIsMERBQTBEO0lBQzFELE1BQWM7UUFFZCxLQUFLLENBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNwQyxDQUFDO0NBQ0YifQ==
@@ -1,4 +1,4 @@
1
- import { ARTIFACT_FUNCTION_TREE_MAX_HEIGHT, MAX_PACKED_BYTECODE_SIZE_PER_PRIVATE_FUNCTION_IN_FIELDS, computeVerificationKeyHash, createPrivateFunctionMembershipProof, createUnconstrainedFunctionMembershipProof, getContractClassFromArtifact, } from '@aztec/circuits.js';
1
+ import { ARTIFACT_FUNCTION_TREE_MAX_HEIGHT, MAX_PACKED_BYTECODE_SIZE_PER_PRIVATE_FUNCTION_IN_FIELDS, computeVerificationKeyHash, createPrivateFunctionMembershipProof, createUnconstrainedFunctionMembershipProof, getContractClassFromArtifact } from '@aztec/circuits.js';
2
2
  import { FunctionSelector, FunctionType, bufferAsFields } from '@aztec/foundation/abi';
3
3
  import { padArrayEnd } from '@aztec/foundation/collection';
4
4
  import { Fr } from '@aztec/foundation/fields';
@@ -11,26 +11,28 @@ import { getRegistererContract } from './protocol_contracts.js';
11
11
  * @param artifact - Contract artifact that contains the function to be broadcast.
12
12
  * @param selector - Selector of the function to be broadcast.
13
13
  * @returns A ContractFunctionInteraction object that can be used to send the transaction.
14
- */
15
- export async function broadcastPrivateFunction(wallet, artifact, selector) {
14
+ */ export async function broadcastPrivateFunction(wallet, artifact, selector) {
16
15
  const contractClass = await getContractClassFromArtifact(artifact);
17
- const privateFunctions = artifact.functions.filter(fn => fn.functionType === FunctionType.PRIVATE);
18
- const functionsAndSelectors = await Promise.all(privateFunctions.map(async (fn) => ({
19
- f: fn,
20
- selector: await FunctionSelector.fromNameAndParameters(fn.name, fn.parameters),
21
- })));
22
- const privateFunctionArtifact = functionsAndSelectors.find(fn => selector.equals(fn.selector))?.f;
16
+ const privateFunctions = artifact.functions.filter((fn)=>fn.functionType === FunctionType.PRIVATE);
17
+ const functionsAndSelectors = await Promise.all(privateFunctions.map(async (fn)=>({
18
+ f: fn,
19
+ selector: await FunctionSelector.fromNameAndParameters(fn.name, fn.parameters)
20
+ })));
21
+ const privateFunctionArtifact = functionsAndSelectors.find((fn)=>selector.equals(fn.selector))?.f;
23
22
  if (!privateFunctionArtifact) {
24
23
  throw new Error(`Private function with selector ${selector.toString()} not found`);
25
24
  }
26
- const { artifactTreeSiblingPath, artifactTreeLeafIndex, artifactMetadataHash, functionMetadataHash, unconstrainedFunctionsArtifactTreeRoot, privateFunctionTreeSiblingPath, privateFunctionTreeLeafIndex, } = await createPrivateFunctionMembershipProof(selector, artifact);
25
+ const { artifactTreeSiblingPath, artifactTreeLeafIndex, artifactMetadataHash, functionMetadataHash, unconstrainedFunctionsArtifactTreeRoot, privateFunctionTreeSiblingPath, privateFunctionTreeLeafIndex } = await createPrivateFunctionMembershipProof(selector, artifact);
27
26
  const vkHash = await computeVerificationKeyHash(privateFunctionArtifact);
28
27
  const bytecode = bufferAsFields(privateFunctionArtifact.bytecode, MAX_PACKED_BYTECODE_SIZE_PER_PRIVATE_FUNCTION_IN_FIELDS);
29
28
  await wallet.addCapsule(bytecode);
30
29
  const registerer = await getRegistererContract(wallet);
31
- return Promise.resolve(registerer.methods.broadcast_private_function(contractClass.id, artifactMetadataHash, unconstrainedFunctionsArtifactTreeRoot, privateFunctionTreeSiblingPath, privateFunctionTreeLeafIndex, padArrayEnd(artifactTreeSiblingPath, Fr.ZERO, ARTIFACT_FUNCTION_TREE_MAX_HEIGHT), artifactTreeLeafIndex,
32
- // eslint-disable-next-line camelcase
33
- { selector, metadata_hash: functionMetadataHash, vk_hash: vkHash }));
30
+ return Promise.resolve(registerer.methods.broadcast_private_function(contractClass.id, artifactMetadataHash, unconstrainedFunctionsArtifactTreeRoot, privateFunctionTreeSiblingPath, privateFunctionTreeLeafIndex, padArrayEnd(artifactTreeSiblingPath, Fr.ZERO, ARTIFACT_FUNCTION_TREE_MAX_HEIGHT), artifactTreeLeafIndex, // eslint-disable-next-line camelcase
31
+ {
32
+ selector,
33
+ metadata_hash: functionMetadataHash,
34
+ vk_hash: vkHash
35
+ }));
34
36
  }
35
37
  /**
36
38
  * Sets up a call to broadcast an unconstrained function's bytecode via the ClassRegisterer contract.
@@ -40,24 +42,24 @@ export async function broadcastPrivateFunction(wallet, artifact, selector) {
40
42
  * @param artifact - Contract artifact that contains the function to be broadcast.
41
43
  * @param selector - Selector of the function to be broadcast.
42
44
  * @returns A ContractFunctionInteraction object that can be used to send the transaction.
43
- */
44
- export async function broadcastUnconstrainedFunction(wallet, artifact, selector) {
45
+ */ export async function broadcastUnconstrainedFunction(wallet, artifact, selector) {
45
46
  const contractClass = await getContractClassFromArtifact(artifact);
46
- const unconstrainedFunctions = artifact.functions.filter(fn => fn.functionType === FunctionType.UNCONSTRAINED);
47
- const unconstrainedFunctionsAndSelectors = await Promise.all(unconstrainedFunctions.map(async (fn) => ({
48
- f: fn,
49
- selector: await FunctionSelector.fromNameAndParameters(fn.name, fn.parameters),
50
- })));
51
- const unconstrainedFunctionArtifact = unconstrainedFunctionsAndSelectors.find(fn => selector.equals(fn.selector))?.f;
47
+ const unconstrainedFunctions = artifact.functions.filter((fn)=>fn.functionType === FunctionType.UNCONSTRAINED);
48
+ const unconstrainedFunctionsAndSelectors = await Promise.all(unconstrainedFunctions.map(async (fn)=>({
49
+ f: fn,
50
+ selector: await FunctionSelector.fromNameAndParameters(fn.name, fn.parameters)
51
+ })));
52
+ const unconstrainedFunctionArtifact = unconstrainedFunctionsAndSelectors.find((fn)=>selector.equals(fn.selector))?.f;
52
53
  if (!unconstrainedFunctionArtifact) {
53
54
  throw new Error(`Unconstrained function with selector ${selector.toString()} not found`);
54
55
  }
55
- const { artifactMetadataHash, artifactTreeLeafIndex, artifactTreeSiblingPath, functionMetadataHash, privateFunctionsArtifactTreeRoot, } = await createUnconstrainedFunctionMembershipProof(selector, artifact);
56
+ const { artifactMetadataHash, artifactTreeLeafIndex, artifactTreeSiblingPath, functionMetadataHash, privateFunctionsArtifactTreeRoot } = await createUnconstrainedFunctionMembershipProof(selector, artifact);
56
57
  const bytecode = bufferAsFields(unconstrainedFunctionArtifact.bytecode, MAX_PACKED_BYTECODE_SIZE_PER_PRIVATE_FUNCTION_IN_FIELDS);
57
58
  await wallet.addCapsule(bytecode);
58
59
  const registerer = await getRegistererContract(wallet);
59
- return registerer.methods.broadcast_unconstrained_function(contractClass.id, artifactMetadataHash, privateFunctionsArtifactTreeRoot, padArrayEnd(artifactTreeSiblingPath, Fr.ZERO, ARTIFACT_FUNCTION_TREE_MAX_HEIGHT), artifactTreeLeafIndex,
60
- // eslint-disable-next-line camelcase
61
- { selector, metadata_hash: functionMetadataHash });
60
+ return registerer.methods.broadcast_unconstrained_function(contractClass.id, artifactMetadataHash, privateFunctionsArtifactTreeRoot, padArrayEnd(artifactTreeSiblingPath, Fr.ZERO, ARTIFACT_FUNCTION_TREE_MAX_HEIGHT), artifactTreeLeafIndex, // eslint-disable-next-line camelcase
61
+ {
62
+ selector,
63
+ metadata_hash: functionMetadataHash
64
+ });
62
65
  }
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJvYWRjYXN0X2Z1bmN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RlcGxveW1lbnQvYnJvYWRjYXN0X2Z1bmN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxpQ0FBaUMsRUFDakMsdURBQXVELEVBQ3ZELDBCQUEwQixFQUMxQixvQ0FBb0MsRUFDcEMsMENBQTBDLEVBQzFDLDRCQUE0QixHQUM3QixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBeUIsZ0JBQWdCLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzlHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFJOUMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFaEU7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLHdCQUF3QixDQUM1QyxNQUFjLEVBQ2QsUUFBMEIsRUFDMUIsUUFBMEI7SUFFMUIsTUFBTSxhQUFhLEdBQUcsTUFBTSw0QkFBNEIsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNuRSxNQUFNLGdCQUFnQixHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFlBQVksS0FBSyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbkcsTUFBTSxxQkFBcUIsR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQzdDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUMsRUFBRSxFQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2hDLENBQUMsRUFBRSxFQUFFO1FBQ0wsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUMscUJBQXFCLENBQUMsRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFLENB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
@@ -4,26 +4,27 @@ import { DeployMethod } from '../contract/deploy_method.js';
4
4
  /**
5
5
  * A class for deploying contract.
6
6
  * @remarks Keeping this around even though we have Aztec.nr contract types because it can be useful for non-TS users.
7
- */
8
- export class ContractDeployer {
9
- constructor(artifact, wallet, publicKeys, constructorName) {
7
+ */ export class ContractDeployer {
8
+ artifact;
9
+ wallet;
10
+ publicKeys;
11
+ constructorName;
12
+ constructor(artifact, wallet, publicKeys, constructorName){
10
13
  this.artifact = artifact;
11
14
  this.wallet = wallet;
12
15
  this.publicKeys = publicKeys;
13
16
  this.constructorName = constructorName;
14
17
  }
15
18
  /**
16
- * Deploy a contract using the provided ABI and constructor arguments.
17
- * This function creates a new DeployMethod instance that can be used to send deployment transactions
18
- * and query deployment status. The method accepts any number of constructor arguments, which will
19
- * be passed to the contract's constructor during deployment.
20
- *
21
- * @param args - The constructor arguments for the contract being deployed.
22
- * @returns A DeployMethod instance configured with the ABI, PXE, and constructor arguments.
23
- */
24
- deploy(...args) {
25
- const postDeployCtor = (address, wallet) => Contract.at(address, this.artifact, wallet);
19
+ * Deploy a contract using the provided ABI and constructor arguments.
20
+ * This function creates a new DeployMethod instance that can be used to send deployment transactions
21
+ * and query deployment status. The method accepts any number of constructor arguments, which will
22
+ * be passed to the contract's constructor during deployment.
23
+ *
24
+ * @param args - The constructor arguments for the contract being deployed.
25
+ * @returns A DeployMethod instance configured with the ABI, PXE, and constructor arguments.
26
+ */ deploy(...args) {
27
+ const postDeployCtor = (address, wallet)=>Contract.at(address, this.artifact, wallet);
26
28
  return new DeployMethod(this.publicKeys ?? PublicKeys.default(), this.wallet, this.artifact, postDeployCtor, args, this.constructorName);
27
29
  }
28
30
  }
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RfZGVwbG95ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGVwbG95bWVudC9jb250cmFjdF9kZXBsb3llci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBSW5FLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFNUQ7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLGdCQUFnQjtJQUMzQixZQUNVLFFBQTBCLEVBQzFCLE1BQWMsRUFDZCxVQUF1QixFQUN2QixlQUF3QjtRQUh4QixhQUFRLEdBQVIsUUFBUSxDQUFrQjtRQUMxQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsZUFBVSxHQUFWLFVBQVUsQ0FBYTtRQUN2QixvQkFBZSxHQUFmLGVBQWUsQ0FBUztJQUMvQixDQUFDO0lBRUo7Ozs7Ozs7O09BUUc7SUFDSSxNQUFNLENBQUMsR0FBRyxJQUFXO1FBQzFCLE1BQU0sY0FBYyxHQUFHLENBQUMsT0FBcUIsRUFBRSxNQUFjLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDOUcsT0FBTyxJQUFJLFlBQVksQ0FDckIsSUFBSSxDQUFDLFVBQVUsSUFBSSxVQUFVLENBQUMsT0FBTyxFQUFFLEVBQ3ZDLElBQUksQ0FBQyxNQUFNLEVBQ1gsSUFBSSxDQUFDLFFBQVEsRUFDYixjQUFjLEVBQ2QsSUFBSSxFQUNKLElBQUksQ0FBQyxlQUFlLENBQ3JCLENBQUM7SUFDSixDQUFDO0NBQ0YifQ==
@@ -3,8 +3,7 @@ import { getDeployerContract } from './protocol_contracts.js';
3
3
  * Sets up a call to the canonical deployer contract to publicly deploy a contract instance.
4
4
  * @param wallet - The wallet to use for the deployment.
5
5
  * @param instance - The instance to deploy.
6
- */
7
- export async function deployInstance(wallet, instance) {
6
+ */ export async function deployInstance(wallet, instance) {
8
7
  const deployerContract = await getDeployerContract(wallet);
9
8
  const { salt, contractClassId, publicKeys, deployer } = instance;
10
9
  const isUniversalDeploy = deployer.isZero();
@@ -13,4 +12,3 @@ export async function deployInstance(wallet, instance) {
13
12
  }
14
13
  return deployerContract.methods.deploy(salt, contractClassId, instance.initializationHash, publicKeys, isUniversalDeploy);
15
14
  }
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwbG95X2luc3RhbmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RlcGxveW1lbnQvZGVwbG95X2luc3RhbmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRTlEOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLGNBQWMsQ0FDbEMsTUFBYyxFQUNkLFFBQXFDO0lBRXJDLE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMzRCxNQUFNLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLEdBQUcsUUFBUSxDQUFDO0lBQ2pFLE1BQU0saUJBQWlCLEdBQUcsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzVDLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztRQUNoRSxNQUFNLElBQUksS0FBSyxDQUNiLHFCQUFxQixRQUFRLENBQUMsUUFBUSxFQUFFLGlDQUFpQyxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FDMUcsQ0FBQztJQUNKLENBQUM7SUFDRCxPQUFPLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQ3BDLElBQUksRUFDSixlQUFlLEVBQ2YsUUFBUSxDQUFDLGtCQUFrQixFQUMzQixVQUFVLEVBQ1YsaUJBQWlCLENBQ2xCLENBQUM7QUFDSixDQUFDIn0=
@@ -1,2 +1 @@
1
1
  export * from './contract_deployer.js';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGVwbG95bWVudC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHdCQUF3QixDQUFDIn0=
@@ -1,14 +1,11 @@
1
1
  import { getCanonicalClassRegisterer } from '@aztec/protocol-contracts/class-registerer';
2
2
  import { getCanonicalInstanceDeployer } from '@aztec/protocol-contracts/instance-deployer';
3
3
  import { UnsafeContract } from '../contract/unsafe_contract.js';
4
- /** Returns a Contract wrapper for the class registerer. */
5
- export async function getRegistererContract(wallet) {
4
+ /** Returns a Contract wrapper for the class registerer. */ export async function getRegistererContract(wallet) {
6
5
  const { artifact, instance } = await getCanonicalClassRegisterer();
7
6
  return new UnsafeContract(instance, artifact, wallet);
8
7
  }
9
- /** Returns a Contract wrapper for the instance deployer. */
10
- export async function getDeployerContract(wallet) {
8
+ /** Returns a Contract wrapper for the instance deployer. */ export async function getDeployerContract(wallet) {
11
9
  const { artifact, instance } = await getCanonicalInstanceDeployer();
12
10
  return new UnsafeContract(instance, artifact, wallet);
13
11
  }
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdG9jb2xfY29udHJhY3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RlcGxveW1lbnQvcHJvdG9jb2xfY29udHJhY3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ3pGLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBRTNGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUdoRSwyREFBMkQ7QUFDM0QsTUFBTSxDQUFDLEtBQUssVUFBVSxxQkFBcUIsQ0FBQyxNQUFjO0lBQ3hELE1BQU0sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLEdBQUcsTUFBTSwyQkFBMkIsRUFBRSxDQUFDO0lBQ25FLE9BQU8sSUFBSSxjQUFjLENBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztBQUN4RCxDQUFDO0FBRUQsNERBQTREO0FBQzVELE1BQU0sQ0FBQyxLQUFLLFVBQVUsbUJBQW1CLENBQUMsTUFBYztJQUN0RCxNQUFNLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxHQUFHLE1BQU0sNEJBQTRCLEVBQUUsQ0FBQztJQUNwRSxPQUFPLElBQUksY0FBYyxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDeEQsQ0FBQyJ9
@@ -1,17 +1,17 @@
1
1
  import { MAX_PACKED_PUBLIC_BYTECODE_SIZE_IN_FIELDS, getContractClassFromArtifact } from '@aztec/circuits.js';
2
2
  import { bufferAsFields } from '@aztec/foundation/abi';
3
3
  import { getRegistererContract } from './protocol_contracts.js';
4
- const defaultEmitPublicBytecode =
5
- // guard against `process` not being defined (e.g. in the browser)
6
- typeof process === 'object' && typeof process.env === 'object'
7
- ? ['1', 'true', 'yes', ''].includes(process.env.AZTEC_EMIT_PUBLIC_BYTECODE ?? '')
8
- : true;
9
- /** Sets up a call to register a contract class given its artifact. */
10
- export async function registerContractClass(wallet, artifact, emitPublicBytecode = defaultEmitPublicBytecode) {
4
+ const defaultEmitPublicBytecode = // guard against `process` not being defined (e.g. in the browser)
5
+ typeof process === 'object' && typeof process.env === 'object' ? [
6
+ '1',
7
+ 'true',
8
+ 'yes',
9
+ ''
10
+ ].includes(process.env.AZTEC_EMIT_PUBLIC_BYTECODE ?? '') : true;
11
+ /** Sets up a call to register a contract class given its artifact. */ export async function registerContractClass(wallet, artifact, emitPublicBytecode = defaultEmitPublicBytecode) {
11
12
  const { artifactHash, privateFunctionsRoot, publicBytecodeCommitment, packedBytecode } = await getContractClassFromArtifact(artifact);
12
13
  const encodedBytecode = bufferAsFields(packedBytecode, MAX_PACKED_PUBLIC_BYTECODE_SIZE_IN_FIELDS);
13
14
  const registerer = await getRegistererContract(wallet);
14
15
  await wallet.addCapsule(encodedBytecode);
15
16
  return registerer.methods.register(artifactHash, privateFunctionsRoot, publicBytecodeCommitment, emitPublicBytecode);
16
17
  }
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXJfY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGVwbG95bWVudC9yZWdpc3Rlcl9jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUseUNBQXlDLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM3RyxPQUFPLEVBQXlCLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBSTlFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRWhFLE1BQU0seUJBQXlCO0FBQzdCLGtFQUFrRTtBQUNsRSxPQUFPLE9BQU8sS0FBSyxRQUFRLElBQUksT0FBTyxPQUFPLENBQUMsR0FBRyxLQUFLLFFBQVE7SUFDNUQsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsMEJBQTBCLElBQUksRUFBRSxDQUFDO0lBQ2pGLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFFWCxzRUFBc0U7QUFDdEUsTUFBTSxDQUFDLEtBQUssVUFBVSxxQkFBcUIsQ0FDekMsTUFBYyxFQUNkLFFBQTBCLEVBQzFCLGtCQUFrQixHQUFHLHlCQUF5QjtJQUU5QyxNQUFNLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLHdCQUF3QixFQUFFLGNBQWMsRUFBRSxHQUNwRixNQUFNLDRCQUE0QixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQy9DLE1BQU0sZUFBZSxHQUFHLGNBQWMsQ0FBQyxjQUFjLEVBQUUseUNBQXlDLENBQUMsQ0FBQztJQUNsRyxNQUFNLFVBQVUsR0FBRyxNQUFNLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3ZELE1BQU0sTUFBTSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUN6QyxPQUFPLFVBQVUsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRSxvQkFBb0IsRUFBRSx3QkFBd0IsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO0FBQ3ZILENBQUMifQ==
@@ -3,9 +3,10 @@ import { TxContext } from '@aztec/circuits.js';
3
3
  import { FunctionType } from '@aztec/foundation/abi';
4
4
  /**
5
5
  * Default implementation of the entrypoint interface. It calls a function on a contract directly
6
- */
7
- export class DefaultEntrypoint {
8
- constructor(chainId, protocolVersion) {
6
+ */ export class DefaultEntrypoint {
7
+ chainId;
8
+ protocolVersion;
9
+ constructor(chainId, protocolVersion){
9
10
  this.chainId = chainId;
10
11
  this.protocolVersion = protocolVersion;
11
12
  }
@@ -20,7 +21,9 @@ export class DefaultEntrypoint {
20
21
  }
21
22
  const entrypointHashedValues = await HashedValues.fromValues(call.args);
22
23
  const txContext = new TxContext(this.chainId, this.protocolVersion, fee.gasSettings);
23
- return Promise.resolve(new TxExecutionRequest(call.to, call.selector, entrypointHashedValues.hash, txContext, [...hashedArguments, entrypointHashedValues], authWitnesses));
24
+ return Promise.resolve(new TxExecutionRequest(call.to, call.selector, entrypointHashedValues.hash, txContext, [
25
+ ...hashedArguments,
26
+ entrypointHashedValues
27
+ ], authWitnesses));
24
28
  }
25
29
  }
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdF9lbnRyeXBvaW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2VudHJ5cG9pbnQvZGVmYXVsdF9lbnRyeXBvaW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDL0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBSXJEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGlCQUFpQjtJQUM1QixZQUFvQixPQUFlLEVBQVUsZUFBdUI7UUFBaEQsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUFVLG9CQUFlLEdBQWYsZUFBZSxDQUFRO0lBQUcsQ0FBQztJQUV4RSxLQUFLLENBQUMsd0JBQXdCLENBQUMsSUFBMEI7UUFDdkQsTUFBTSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsYUFBYSxHQUFHLEVBQUUsRUFBRSxlQUFlLEdBQUcsRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUFDO1FBRXRFLElBQUksS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNyQixNQUFNLElBQUksS0FBSyxDQUFDLCtCQUErQixLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUNqRSxDQUFDO1FBRUQsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXRCLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxZQUFZLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDdkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO1FBQ3hELENBQUM7UUFFRCxNQUFNLHNCQUFzQixHQUFHLE1BQU0sWUFBWSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDeEUsTUFBTSxTQUFTLEdBQUcsSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsZUFBZSxFQUFFLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNyRixPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQ3BCLElBQUksa0JBQWtCLENBQ3BCLElBQUksQ0FBQyxFQUFFLEVBQ1AsSUFBSSxDQUFDLFFBQVEsRUFDYixzQkFBc0IsQ0FBQyxJQUFJLEVBQzNCLFNBQVMsRUFDVCxDQUFDLEdBQUcsZUFBZSxFQUFFLHNCQUFzQixDQUFDLEVBQzVDLGFBQWEsQ0FDZCxDQUNGLENBQUM7SUFDSixDQUFDO0NBQ0YifQ==
@@ -1,13 +1,15 @@
1
- import { EntrypointPayload } from '@aztec/aztec.js/entrypoint';
2
1
  import { HashedValues, TxExecutionRequest } from '@aztec/circuit-types';
3
2
  import { TxContext } from '@aztec/circuits.js';
4
3
  import { FunctionSelector, encodeArguments } from '@aztec/foundation/abi';
5
4
  import { ProtocolContractAddress } from '@aztec/protocol-contracts';
5
+ import { EntrypointPayload } from './entrypoint.js';
6
6
  /**
7
7
  * Implementation for an entrypoint interface that can execute multiple function calls in a single transaction
8
- */
9
- export class DefaultMultiCallEntrypoint {
10
- constructor(chainId, version, address = ProtocolContractAddress.MultiCallEntrypoint) {
8
+ */ export class DefaultMultiCallEntrypoint {
9
+ chainId;
10
+ version;
11
+ address;
12
+ constructor(chainId, version, address = ProtocolContractAddress.MultiCallEntrypoint){
11
13
  this.chainId = chainId;
12
14
  this.version = version;
13
15
  this.address = address;
@@ -16,14 +18,20 @@ export class DefaultMultiCallEntrypoint {
16
18
  const { fee, calls, authWitnesses = [], hashedArguments = [] } = executions;
17
19
  const payload = await EntrypointPayload.fromAppExecution(calls);
18
20
  const abi = this.getEntrypointAbi();
19
- const entrypointHashedArgs = await HashedValues.fromValues(encodeArguments(abi, [payload]));
21
+ const entrypointHashedArgs = await HashedValues.fromValues(encodeArguments(abi, [
22
+ payload
23
+ ]));
20
24
  const txRequest = TxExecutionRequest.from({
21
25
  firstCallArgsHash: entrypointHashedArgs.hash,
22
26
  origin: this.address,
23
27
  functionSelector: await FunctionSelector.fromNameAndParameters(abi.name, abi.parameters),
24
28
  txContext: new TxContext(this.chainId, this.version, fee.gasSettings),
25
- argsOfCalls: [...payload.hashedArguments, ...hashedArguments, entrypointHashedArgs],
26
- authWitnesses,
29
+ argsOfCalls: [
30
+ ...payload.hashedArguments,
31
+ ...hashedArguments,
32
+ entrypointHashedArgs
33
+ ],
34
+ authWitnesses
27
35
  });
28
36
  return Promise.resolve(txRequest);
29
37
  }
@@ -50,38 +58,73 @@ export class DefaultMultiCallEntrypoint {
50
58
  kind: 'struct',
51
59
  path: 'authwit::entrypoint::function_call::FunctionCall',
52
60
  fields: [
53
- { name: 'args_hash', type: { kind: 'field' } },
61
+ {
62
+ name: 'args_hash',
63
+ type: {
64
+ kind: 'field'
65
+ }
66
+ },
54
67
  {
55
68
  name: 'function_selector',
56
69
  type: {
57
70
  kind: 'struct',
58
71
  path: 'authwit::aztec::protocol_types::abis::function_selector::FunctionSelector',
59
- fields: [{ name: 'inner', type: { kind: 'integer', sign: 'unsigned', width: 32 } }],
60
- },
72
+ fields: [
73
+ {
74
+ name: 'inner',
75
+ type: {
76
+ kind: 'integer',
77
+ sign: 'unsigned',
78
+ width: 32
79
+ }
80
+ }
81
+ ]
82
+ }
61
83
  },
62
84
  {
63
85
  name: 'target_address',
64
86
  type: {
65
87
  kind: 'struct',
66
88
  path: 'authwit::aztec::protocol_types::address::AztecAddress',
67
- fields: [{ name: 'inner', type: { kind: 'field' } }],
68
- },
89
+ fields: [
90
+ {
91
+ name: 'inner',
92
+ type: {
93
+ kind: 'field'
94
+ }
95
+ }
96
+ ]
97
+ }
69
98
  },
70
- { name: 'is_public', type: { kind: 'boolean' } },
71
- { name: 'is_static', type: { kind: 'boolean' } },
72
- ],
73
- },
74
- },
99
+ {
100
+ name: 'is_public',
101
+ type: {
102
+ kind: 'boolean'
103
+ }
104
+ },
105
+ {
106
+ name: 'is_static',
107
+ type: {
108
+ kind: 'boolean'
109
+ }
110
+ }
111
+ ]
112
+ }
113
+ }
75
114
  },
76
- { name: 'nonce', type: { kind: 'field' } },
77
- ],
115
+ {
116
+ name: 'nonce',
117
+ type: {
118
+ kind: 'field'
119
+ }
120
+ }
121
+ ]
78
122
  },
79
- visibility: 'public',
80
- },
123
+ visibility: 'public'
124
+ }
81
125
  ],
82
126
  returnTypes: [],
83
- errorTypes: {},
127
+ errorTypes: {}
84
128
  };
85
129
  }
86
130
  }
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdF9tdWx0aV9jYWxsX2VudHJ5cG9pbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZW50cnlwb2ludC9kZWZhdWx0X211bHRpX2NhbGxfZW50cnlwb2ludC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQTRCLGlCQUFpQixFQUE2QixNQUFNLDRCQUE0QixDQUFDO0FBQ3BILE9BQU8sRUFBRSxZQUFZLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RSxPQUFPLEVBQXFCLFNBQVMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2xFLE9BQU8sRUFBb0IsZ0JBQWdCLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDNUYsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFcEU7O0dBRUc7QUFDSCxNQUFNLE9BQU8sMEJBQTBCO0lBQ3JDLFlBQ1UsT0FBZSxFQUNmLE9BQWUsRUFDZixVQUF3Qix1QkFBdUIsQ0FBQyxtQkFBbUI7UUFGbkUsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUNmLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFDZixZQUFPLEdBQVAsT0FBTyxDQUE0RDtJQUMxRSxDQUFDO0lBRUosS0FBSyxDQUFDLHdCQUF3QixDQUFDLFVBQWdDO1FBQzdELE1BQU0sRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLGFBQWEsR0FBRyxFQUFFLEVBQUUsZUFBZSxHQUFHLEVBQUUsRUFBRSxHQUFHLFVBQVUsQ0FBQztRQUM1RSxNQUFNLE9BQU8sR0FBRyxNQUFNLGlCQUFpQixDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2hFLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3BDLE1BQU0sb0JBQW9CLEdBQUcsTUFBTSxZQUFZLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFP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
@@ -2,4 +2,3 @@ import { EntrypointPayload, computeCombinedPayloadHash } from './payload.js';
2
2
  export { EntrypointPayload, computeCombinedPayloadHash };
3
3
  export { DefaultEntrypoint } from './default_entrypoint.js';
4
4
  export { DefaultMultiCallEntrypoint } from './default_multi_call_entrypoint.js';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50cnlwb2ludC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbnRyeXBvaW50L2VudHJ5cG9pbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLGlCQUFpQixFQUFtQiwwQkFBMEIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUU5RixPQUFPLEVBQUUsaUJBQWlCLEVBQWMsMEJBQTBCLEVBQUUsQ0FBQztBQUVyRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQyJ9