@aztec/end-to-end 0.0.1-commit.d431d1c → 0.0.1-commit.e2b2873ed

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 (174) hide show
  1. package/dest/bench/client_flows/client_flows_benchmark.d.ts +2 -2
  2. package/dest/bench/client_flows/client_flows_benchmark.d.ts.map +1 -1
  3. package/dest/bench/client_flows/client_flows_benchmark.js +31 -16
  4. package/dest/bench/client_flows/config.d.ts +2 -2
  5. package/dest/bench/client_flows/config.d.ts.map +1 -1
  6. package/dest/bench/client_flows/config.js +18 -0
  7. package/dest/bench/utils.d.ts +5 -4
  8. package/dest/bench/utils.d.ts.map +1 -1
  9. package/dest/bench/utils.js +9 -7
  10. package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.d.ts +4 -2
  11. package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.d.ts.map +1 -1
  12. package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.js +17 -8
  13. package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.d.ts +2 -2
  14. package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.d.ts.map +1 -1
  15. package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.js +3 -2
  16. package/dest/e2e_deploy_contract/deploy_test.d.ts +2 -2
  17. package/dest/e2e_deploy_contract/deploy_test.d.ts.map +1 -1
  18. package/dest/e2e_epochs/epochs_test.d.ts +7 -1
  19. package/dest/e2e_epochs/epochs_test.d.ts.map +1 -1
  20. package/dest/e2e_epochs/epochs_test.js +38 -10
  21. package/dest/e2e_fees/bridging_race.notest.js +1 -1
  22. package/dest/e2e_fees/fees_test.d.ts +2 -2
  23. package/dest/e2e_fees/fees_test.d.ts.map +1 -1
  24. package/dest/e2e_fees/fees_test.js +11 -11
  25. package/dest/e2e_l1_publisher/write_json.d.ts +4 -3
  26. package/dest/e2e_l1_publisher/write_json.d.ts.map +1 -1
  27. package/dest/e2e_l1_publisher/write_json.js +1 -7
  28. package/dest/e2e_nested_contract/nested_contract_test.d.ts +1 -1
  29. package/dest/e2e_nested_contract/nested_contract_test.d.ts.map +1 -1
  30. package/dest/e2e_nested_contract/nested_contract_test.js +2 -2
  31. package/dest/e2e_p2p/p2p_network.d.ts +2 -2
  32. package/dest/e2e_p2p/p2p_network.d.ts.map +1 -1
  33. package/dest/e2e_p2p/p2p_network.js +6 -2
  34. package/dest/e2e_p2p/reqresp/utils.d.ts +22 -0
  35. package/dest/e2e_p2p/reqresp/utils.d.ts.map +1 -0
  36. package/dest/e2e_p2p/reqresp/utils.js +153 -0
  37. package/dest/e2e_p2p/shared.d.ts +6 -6
  38. package/dest/e2e_p2p/shared.d.ts.map +1 -1
  39. package/dest/e2e_p2p/shared.js +14 -17
  40. package/dest/e2e_storage_proof/fixtures/storage_proof_fetcher.d.ts +2 -0
  41. package/dest/e2e_storage_proof/fixtures/storage_proof_fetcher.d.ts.map +1 -0
  42. package/dest/e2e_storage_proof/fixtures/storage_proof_fetcher.js +184 -0
  43. package/dest/e2e_storage_proof/fixtures/storage_proof_fixture.d.ts +18 -0
  44. package/dest/e2e_storage_proof/fixtures/storage_proof_fixture.d.ts.map +1 -0
  45. package/dest/e2e_storage_proof/fixtures/storage_proof_fixture.js +120 -0
  46. package/dest/e2e_token_contract/token_contract_test.d.ts +4 -2
  47. package/dest/e2e_token_contract/token_contract_test.d.ts.map +1 -1
  48. package/dest/e2e_token_contract/token_contract_test.js +13 -3
  49. package/dest/fixtures/e2e_prover_test.d.ts +2 -2
  50. package/dest/fixtures/e2e_prover_test.d.ts.map +1 -1
  51. package/dest/fixtures/e2e_prover_test.js +8 -5
  52. package/dest/fixtures/ha_setup.d.ts +71 -0
  53. package/dest/fixtures/ha_setup.d.ts.map +1 -0
  54. package/dest/fixtures/ha_setup.js +114 -0
  55. package/dest/fixtures/index.d.ts +2 -1
  56. package/dest/fixtures/index.d.ts.map +1 -1
  57. package/dest/fixtures/index.js +1 -0
  58. package/dest/fixtures/setup.d.ts +19 -17
  59. package/dest/fixtures/setup.d.ts.map +1 -1
  60. package/dest/fixtures/setup.js +42 -95
  61. package/dest/fixtures/setup_p2p_test.d.ts +12 -8
  62. package/dest/fixtures/setup_p2p_test.d.ts.map +1 -1
  63. package/dest/fixtures/setup_p2p_test.js +29 -21
  64. package/dest/fixtures/token_utils.d.ts +1 -1
  65. package/dest/fixtures/token_utils.d.ts.map +1 -1
  66. package/dest/fixtures/token_utils.js +7 -4
  67. package/dest/shared/cross_chain_test_harness.d.ts +3 -4
  68. package/dest/shared/cross_chain_test_harness.d.ts.map +1 -1
  69. package/dest/shared/cross_chain_test_harness.js +11 -11
  70. package/dest/shared/gas_portal_test_harness.js +1 -1
  71. package/dest/shared/submit-transactions.d.ts +4 -4
  72. package/dest/shared/submit-transactions.d.ts.map +1 -1
  73. package/dest/shared/submit-transactions.js +9 -11
  74. package/dest/shared/uniswap_l1_l2.d.ts +1 -1
  75. package/dest/shared/uniswap_l1_l2.d.ts.map +1 -1
  76. package/dest/shared/uniswap_l1_l2.js +20 -18
  77. package/dest/simulators/lending_simulator.js +2 -2
  78. package/dest/simulators/token_simulator.d.ts +1 -1
  79. package/dest/simulators/token_simulator.d.ts.map +1 -1
  80. package/dest/simulators/token_simulator.js +2 -23
  81. package/dest/spartan/setup_test_wallets.d.ts +2 -2
  82. package/dest/spartan/setup_test_wallets.d.ts.map +1 -1
  83. package/dest/spartan/setup_test_wallets.js +64 -35
  84. package/dest/spartan/tx_metrics.d.ts +38 -2
  85. package/dest/spartan/tx_metrics.d.ts.map +1 -1
  86. package/dest/spartan/tx_metrics.js +178 -4
  87. package/dest/spartan/utils/bot.d.ts +27 -0
  88. package/dest/spartan/utils/bot.d.ts.map +1 -0
  89. package/dest/spartan/utils/bot.js +141 -0
  90. package/dest/spartan/utils/chaos.d.ts +79 -0
  91. package/dest/spartan/utils/chaos.d.ts.map +1 -0
  92. package/dest/spartan/utils/chaos.js +142 -0
  93. package/dest/spartan/utils/clients.d.ts +39 -0
  94. package/dest/spartan/utils/clients.d.ts.map +1 -0
  95. package/dest/spartan/utils/clients.js +90 -0
  96. package/dest/spartan/utils/config.d.ts +39 -0
  97. package/dest/spartan/utils/config.d.ts.map +1 -0
  98. package/dest/spartan/utils/config.js +21 -0
  99. package/dest/spartan/utils/health.d.ts +63 -0
  100. package/dest/spartan/utils/health.d.ts.map +1 -0
  101. package/dest/spartan/utils/health.js +202 -0
  102. package/dest/spartan/utils/helm.d.ts +15 -0
  103. package/dest/spartan/utils/helm.d.ts.map +1 -0
  104. package/dest/spartan/utils/helm.js +47 -0
  105. package/dest/spartan/utils/index.d.ts +9 -0
  106. package/dest/spartan/utils/index.d.ts.map +1 -0
  107. package/dest/spartan/utils/index.js +18 -0
  108. package/dest/spartan/utils/k8s.d.ts +126 -0
  109. package/dest/spartan/utils/k8s.d.ts.map +1 -0
  110. package/dest/spartan/utils/k8s.js +375 -0
  111. package/dest/spartan/utils/nodes.d.ts +41 -0
  112. package/dest/spartan/utils/nodes.d.ts.map +1 -0
  113. package/dest/spartan/utils/nodes.js +461 -0
  114. package/dest/spartan/utils/scripts.d.ts +30 -0
  115. package/dest/spartan/utils/scripts.d.ts.map +1 -0
  116. package/dest/spartan/utils/scripts.js +81 -0
  117. package/dest/spartan/utils.d.ts +2 -260
  118. package/dest/spartan/utils.d.ts.map +1 -1
  119. package/dest/spartan/utils.js +1 -942
  120. package/dest/test-wallet/test_wallet.d.ts +82 -0
  121. package/dest/test-wallet/test_wallet.d.ts.map +1 -0
  122. package/dest/test-wallet/test_wallet.js +214 -0
  123. package/dest/test-wallet/utils.d.ts +41 -0
  124. package/dest/test-wallet/utils.d.ts.map +1 -0
  125. package/dest/test-wallet/utils.js +71 -0
  126. package/package.json +43 -39
  127. package/src/bench/client_flows/client_flows_benchmark.ts +19 -36
  128. package/src/bench/client_flows/config.ts +9 -1
  129. package/src/bench/utils.ts +10 -8
  130. package/src/e2e_blacklist_token_contract/blacklist_token_contract_test.ts +20 -14
  131. package/src/e2e_cross_chain_messaging/cross_chain_messaging_test.ts +7 -8
  132. package/src/e2e_deploy_contract/deploy_test.ts +3 -3
  133. package/src/e2e_epochs/epochs_test.ts +71 -35
  134. package/src/e2e_fees/bridging_race.notest.ts +2 -5
  135. package/src/e2e_fees/fees_test.ts +21 -40
  136. package/src/e2e_l1_publisher/write_json.ts +3 -8
  137. package/src/e2e_nested_contract/nested_contract_test.ts +3 -5
  138. package/src/e2e_p2p/inactivity_slash_test.ts +4 -4
  139. package/src/e2e_p2p/p2p_network.ts +20 -14
  140. package/src/e2e_p2p/reqresp/utils.ts +207 -0
  141. package/src/e2e_p2p/shared.ts +22 -22
  142. package/src/e2e_storage_proof/fixtures/storage_proof.json +915 -0
  143. package/src/e2e_storage_proof/fixtures/storage_proof_fetcher.ts +190 -0
  144. package/src/e2e_storage_proof/fixtures/storage_proof_fixture.ts +173 -0
  145. package/src/e2e_token_contract/token_contract_test.ts +14 -7
  146. package/src/fixtures/dumps/epoch_proof_result.json +1 -1
  147. package/src/fixtures/e2e_prover_test.ts +8 -13
  148. package/src/fixtures/ha_setup.ts +184 -0
  149. package/src/fixtures/index.ts +1 -0
  150. package/src/fixtures/setup.ts +50 -128
  151. package/src/fixtures/setup_p2p_test.ts +31 -27
  152. package/src/fixtures/token_utils.ts +6 -5
  153. package/src/guides/up_quick_start.sh +3 -3
  154. package/src/shared/cross_chain_test_harness.ts +13 -27
  155. package/src/shared/gas_portal_test_harness.ts +1 -1
  156. package/src/shared/submit-transactions.ts +11 -16
  157. package/src/shared/uniswap_l1_l2.ts +21 -30
  158. package/src/simulators/lending_simulator.ts +2 -2
  159. package/src/simulators/token_simulator.ts +1 -29
  160. package/src/spartan/setup_test_wallets.ts +75 -25
  161. package/src/spartan/tx_metrics.ts +152 -7
  162. package/src/spartan/utils/bot.ts +185 -0
  163. package/src/spartan/utils/chaos.ts +253 -0
  164. package/src/spartan/utils/clients.ts +100 -0
  165. package/src/spartan/utils/config.ts +27 -0
  166. package/src/spartan/utils/health.ts +255 -0
  167. package/src/spartan/utils/helm.ts +84 -0
  168. package/src/spartan/utils/index.ts +64 -0
  169. package/src/spartan/utils/k8s.ts +527 -0
  170. package/src/spartan/utils/nodes.ts +538 -0
  171. package/src/spartan/utils/scripts.ts +99 -0
  172. package/src/spartan/utils.ts +1 -1246
  173. package/src/test-wallet/test_wallet.ts +305 -0
  174. package/src/test-wallet/utils.ts +112 -0
@@ -28,11 +28,11 @@ import { mintTokensToPrivate } from '../fixtures/token_utils.js';
28
28
  // deploy l2 token
29
29
  const token = await TokenContract.deploy(wallet, owner, 'TokenName', 'TokenSymbol', 18).send({
30
30
  from: owner
31
- }).deployed();
31
+ });
32
32
  // deploy l2 token bridge and attach to the portal
33
33
  const bridge = await TokenBridgeContract.deploy(wallet, token.address, tokenPortalAddress).send({
34
34
  from: owner
35
- }).deployed();
35
+ });
36
36
  if (await token.methods.get_admin().simulate({
37
37
  from: owner
38
38
  }) !== owner.toBigInt()) {
@@ -46,7 +46,7 @@ import { mintTokensToPrivate } from '../fixtures/token_utils.js';
46
46
  // make the bridge a minter on the token:
47
47
  await token.methods.set_minter(bridge.address, true).send({
48
48
  from: owner
49
- }).wait();
49
+ });
50
50
  if (await token.methods.is_minter(bridge.address).simulate({
51
51
  from: owner
52
52
  }) === 1n) {
@@ -141,7 +141,7 @@ import { mintTokensToPrivate } from '../fixtures/token_utils.js';
141
141
  this.logger.info('Minting tokens on L2 publicly');
142
142
  await this.l2Token.methods.mint_to_public(this.ownerAddress, amount).send({
143
143
  from: this.ownerAddress
144
- }).wait();
144
+ });
145
145
  }
146
146
  async mintTokensPrivateOnL2(amount) {
147
147
  await mintTokensToPrivate(this.l2Token, this.ownerAddress, this.ownerAddress, amount);
@@ -150,21 +150,21 @@ import { mintTokensToPrivate } from '../fixtures/token_utils.js';
150
150
  // send a transfer tx to force through rollup with the message included
151
151
  await this.l2Token.methods.transfer_in_public(this.ownerAddress, receiverAddress, transferAmount, 0).send({
152
152
  from: this.ownerAddress
153
- }).wait();
153
+ });
154
154
  }
155
155
  async consumeMessageOnAztecAndMintPrivately(claim) {
156
156
  this.logger.info('Consuming messages on L2 privately');
157
157
  const { recipient, claimAmount, claimSecret: secretForL2MessageConsumption, messageLeafIndex } = claim;
158
158
  await this.l2Bridge.methods.claim_private(recipient, claimAmount, secretForL2MessageConsumption, messageLeafIndex).send({
159
159
  from: this.ownerAddress
160
- }).wait();
160
+ });
161
161
  }
162
162
  async consumeMessageOnAztecAndMintPublicly(claim) {
163
163
  this.logger.info('Consuming messages on L2 Publicly');
164
164
  const { claimAmount, claimSecret, messageLeafIndex } = claim;
165
165
  await this.l2Bridge.methods.claim_public(this.ownerAddress, claimAmount, claimSecret, messageLeafIndex).send({
166
166
  from: this.ownerAddress
167
- }).wait();
167
+ });
168
168
  }
169
169
  async withdrawPrivateFromAztecToL1(withdrawAmount, authwitNonce = Fr.ZERO, authWitness) {
170
170
  const withdrawReceipt = await this.l2Bridge.methods.exit_to_l1_private(this.l2Token.address, this.ethAccount, withdrawAmount, EthAddress.ZERO, authwitNonce).send({
@@ -172,13 +172,13 @@ import { mintTokensToPrivate } from '../fixtures/token_utils.js';
172
172
  authWitness
173
173
  ],
174
174
  from: this.ownerAddress
175
- }).wait();
175
+ });
176
176
  return withdrawReceipt;
177
177
  }
178
178
  async withdrawPublicFromAztecToL1(withdrawAmount, authwitNonce = Fr.ZERO) {
179
179
  const withdrawReceipt = await this.l2Bridge.methods.exit_to_l1_public(this.ethAccount, withdrawAmount, EthAddress.ZERO, authwitNonce).send({
180
180
  from: this.ownerAddress
181
- }).wait();
181
+ });
182
182
  return withdrawReceipt;
183
183
  }
184
184
  async getL2PrivateBalanceOf(owner) {
@@ -210,13 +210,13 @@ import { mintTokensToPrivate } from '../fixtures/token_utils.js';
210
210
  this.logger.info('Transferring to private on L2');
211
211
  await this.l2Token.methods.transfer_to_private(this.ownerAddress, shieldAmount).send({
212
212
  from: this.ownerAddress
213
- }).wait();
213
+ });
214
214
  }
215
215
  async transferToPublicOnL2(amount, authwitNonce = Fr.ZERO) {
216
216
  this.logger.info('Transferring tokens to public');
217
217
  await this.l2Token.methods.transfer_to_public(this.ownerAddress, this.ownerAddress, amount, authwitNonce).send({
218
218
  from: this.ownerAddress
219
- }).wait();
219
+ });
220
220
  }
221
221
  /**
222
222
  * Makes message available for consumption.
@@ -72,7 +72,7 @@ export class FeeJuicePortalTestingHarnessFactory {
72
72
  const { claimAmount, claimSecret, messageLeafIndex } = claim;
73
73
  await this.feeJuice.methods.claim(owner, claimAmount, claimSecret, messageLeafIndex).send({
74
74
  from: claimer
75
- }).wait();
75
+ });
76
76
  }
77
77
  async getL2PublicBalanceOf(owner) {
78
78
  return await this.feeJuice.methods.balance_of_public(owner).simulate({
@@ -1,6 +1,6 @@
1
1
  import { AztecAddress } from '@aztec/aztec.js/addresses';
2
- import type { SentTx } from '@aztec/aztec.js/contracts';
3
2
  import type { Logger } from '@aztec/aztec.js/log';
4
- import type { TestWallet } from '@aztec/test-wallet/server';
5
- export declare const submitTxsTo: (wallet: TestWallet, submitter: AztecAddress, numTxs: number, logger: Logger) => Promise<SentTx[]>;
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VibWl0LXRyYW5zYWN0aW9ucy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NoYXJlZC9zdWJtaXQtdHJhbnNhY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUV4RCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUdsRCxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUc1RCxlQUFPLE1BQU0sV0FBVyxvR0EyQnZCLENBQUMifQ==
3
+ import { TxHash } from '@aztec/aztec.js/tx';
4
+ import type { TestWallet } from '../test-wallet/test_wallet.js';
5
+ export declare const submitTxsTo: (wallet: TestWallet, submitter: AztecAddress, numTxs: number, logger: Logger) => Promise<TxHash[]>;
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VibWl0LXRyYW5zYWN0aW9ucy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NoYXJlZC9zdWJtaXQtdHJhbnNhY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUd6RCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsTUFBTSxFQUE0QixNQUFNLG9CQUFvQixDQUFDO0FBR3RFLE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBR2hFLGVBQU8sTUFBTSxXQUFXLG9HQXFCdkIsQ0FBQyJ9
@@ -1 +1 @@
1
- {"version":3,"file":"submit-transactions.d.ts","sourceRoot":"","sources":["../../src/shared/submit-transactions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAExD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAGlD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAG5D,eAAO,MAAM,WAAW,oGA2BvB,CAAC"}
1
+ {"version":3,"file":"submit-transactions.d.ts","sourceRoot":"","sources":["../../src/shared/submit-transactions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAGzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,MAAM,EAA4B,MAAM,oBAAoB,CAAC;AAGtE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAGhE,eAAO,MAAM,WAAW,oGAqBvB,CAAC"}
@@ -1,24 +1,22 @@
1
+ import { NO_WAIT } from '@aztec/aztec.js/contracts';
1
2
  import { Fr, GrumpkinScalar } from '@aztec/aztec.js/fields';
2
3
  import { TxStatus } from '@aztec/aztec.js/tx';
3
4
  import { times } from '@aztec/foundation/collection';
4
5
  // submits a set of transactions to the provided Wallet
5
6
  export const submitTxsTo = async (wallet, submitter, numTxs, logger)=>{
6
- const txs = [];
7
+ const txHashes = [];
7
8
  await Promise.all(times(numTxs, async ()=>{
8
9
  const accountManager = await wallet.createSchnorrAccount(Fr.random(), Fr.random(), GrumpkinScalar.random());
9
10
  const deployMethod = await accountManager.getDeployMethod();
10
- const tx = deployMethod.send({
11
- from: submitter
11
+ const txHash = await deployMethod.send({
12
+ from: submitter,
13
+ wait: NO_WAIT
12
14
  });
13
- const txHash = await tx.getTxHash();
14
15
  logger.info(`Tx sent with hash ${txHash}`);
15
- const receipt = await tx.getReceipt();
16
- expect(receipt).toEqual(expect.objectContaining({
17
- status: TxStatus.PENDING,
18
- error: ''
19
- }));
16
+ const receipt = await wallet.getTxReceipt(txHash);
17
+ expect(receipt.status).toBe(TxStatus.PENDING);
20
18
  logger.info(`Receipt received for ${txHash}`);
21
- txs.push(tx);
19
+ txHashes.push(txHash);
22
20
  }));
23
- return txs;
21
+ return txHashes;
24
22
  };
@@ -1,3 +1,3 @@
1
1
  import { type EndToEndContext } from '../fixtures/utils.js';
2
2
  export declare const uniswapL1L2TestSuite: (setup: () => Promise<EndToEndContext>, cleanup: () => Promise<void>, expectedForkBlockNumber?: number) => void;
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pc3dhcF9sMV9sMi5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NoYXJlZC91bmlzd2FwX2wxX2wyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXdCQSxPQUFPLEVBQUUsS0FBSyxlQUFlLEVBQW1DLE1BQU0sc0JBQXNCLENBQUM7QUFZN0YsZUFBTyxNQUFNLG9CQUFvQixpSEF5K0JoQyxDQUFDIn0=
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pc3dhcF9sMV9sMi5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NoYXJlZC91bmlzd2FwX2wxX2wyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXVCQSxPQUFPLEVBQUUsS0FBSyxlQUFlLEVBQW1DLE1BQU0sc0JBQXNCLENBQUM7QUFhN0YsZUFBTyxNQUFNLG9CQUFvQixpSEFnK0JoQyxDQUFDIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"uniswap_l1_l2.d.ts","sourceRoot":"","sources":["../../src/shared/uniswap_l1_l2.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAE,KAAK,eAAe,EAAmC,MAAM,sBAAsB,CAAC;AAY7F,eAAO,MAAM,oBAAoB,iHAy+BhC,CAAC"}
1
+ {"version":3,"file":"uniswap_l1_l2.d.ts","sourceRoot":"","sources":["../../src/shared/uniswap_l1_l2.ts"],"names":[],"mappings":"AAuBA,OAAO,EAAE,KAAK,eAAe,EAAmC,MAAM,sBAAsB,CAAC;AAa7F,eAAO,MAAM,oBAAoB,iHAg+BhC,CAAC"}
@@ -6,7 +6,7 @@ import { Fr } from '@aztec/aztec.js/fields';
6
6
  import { RollupContract } from '@aztec/ethereum/contracts';
7
7
  import { deployL1Contract } from '@aztec/ethereum/deploy-l1-contract';
8
8
  import { extractEvent } from '@aztec/ethereum/utils';
9
- import { CheckpointNumber, EpochNumber } from '@aztec/foundation/branded-types';
9
+ import { EpochNumber } from '@aztec/foundation/branded-types';
10
10
  import { sha256ToField } from '@aztec/foundation/crypto/sha256';
11
11
  import { InboxAbi, UniswapPortalAbi, UniswapPortalBytecode } from '@aztec/l1-artifacts';
12
12
  import { UniswapContract } from '@aztec/noir-contracts.js/Uniswap';
@@ -52,7 +52,7 @@ export const uniswapL1L2TestSuite = (setup, cleanup, expectedForkBlockNumber = 1
52
52
  const t = await setup();
53
53
  ({ aztecNode, logger, deployL1ContractsValues, cheatCodes, wallet, accounts: [ownerAddress, sponsorAddress] } = t);
54
54
  l1Client = deployL1ContractsValues.l1Client;
55
- t.watcher?.setIsMarkingAsProven(false);
55
+ t.watcher.setIsMarkingAsProven(false);
56
56
  if (Number(await l1Client.getBlockNumber()) < expectedForkBlockNumber) {
57
57
  throw new Error('This test must be run on a fork of mainnet with the expected fork block');
58
58
  }
@@ -77,7 +77,7 @@ export const uniswapL1L2TestSuite = (setup, cleanup, expectedForkBlockNumber = 1
77
77
  // deploy l2 uniswap contract and attach to portal
78
78
  uniswapL2Contract = await UniswapContract.deploy(wallet, uniswapPortalAddress).send({
79
79
  from: ownerAddress
80
- }).deployed();
80
+ });
81
81
  const registryAddress = (await aztecNode.getNodeInfo()).l1ContractAddresses.registryAddress;
82
82
  await uniswapPortal.write.initialize([
83
83
  registryAddress.toString(),
@@ -129,7 +129,7 @@ export const uniswapL1L2TestSuite = (setup, cleanup, expectedForkBlockNumber = 1
129
129
  authWitnesses: [
130
130
  transferToPublicAuhtwit
131
131
  ]
132
- }).wait();
132
+ });
133
133
  const swapPrivateFunction = 'swap_private(address,uint256,uint24,address,uint256,bytes32,address)';
134
134
  const swapPrivateContent = sha256ToField([
135
135
  Buffer.from(toFunctionSelector(swapPrivateFunction).substring(2), 'hex'),
@@ -166,8 +166,8 @@ export const uniswapL1L2TestSuite = (setup, cleanup, expectedForkBlockNumber = 1
166
166
  // ensure that uniswap contract didn't eat the funds.
167
167
  await wethCrossChainHarness.expectPublicBalanceOnL2(uniswapL2Contract.address, 0n);
168
168
  // Since the outbox is only consumable when the epoch is proven, we need to advance to the next epoch.
169
- const checkpointNumber = CheckpointNumber.fromBlockNumber(l2UniswapInteractionReceipt.blockNumber);
170
- const epoch = await rollup.getEpochNumberForCheckpoint(checkpointNumber);
169
+ const block = await aztecNode.getBlock(l2UniswapInteractionReceipt.blockNumber);
170
+ const epoch = await rollup.getEpochNumberForCheckpoint(block.checkpointNumber);
171
171
  await cheatCodes.rollup.advanceToEpoch(EpochNumber(epoch + 1));
172
172
  await waitForProven(aztecNode, l2UniswapInteractionReceipt, {
173
173
  provenTimeout: 300
@@ -314,9 +314,9 @@ export const uniswapL1L2TestSuite = (setup, cleanup, expectedForkBlockNumber = 1
314
314
  // ownerEthAddress,
315
315
  // nonceForSwap,
316
316
  // );
317
- // await ownerWallet.setPublicAuthWit({ caller: sponsorAddress, action }, true).send().wait();
317
+ // await ownerWallet.setPublicAuthWit({ caller: sponsorAddress, action }, true).send();
318
318
  // // 4.2 Call swap_public from user2 on behalf of owner
319
- // const uniswapL2Interaction = await action.send().wait();
319
+ // const uniswapL2Interaction = await action.send();
320
320
  // const swapPublicContent = sha256ToField([
321
321
  // Buffer.from(
322
322
  // toFunctionSelector('swap_public(address,uint256,uint24,address,uint256,bytes32,bytes32,address)').substring(
@@ -473,7 +473,7 @@ export const uniswapL1L2TestSuite = (setup, cleanup, expectedForkBlockNumber = 1
473
473
  authWitnesses: [
474
474
  transferToPublicAuthwith
475
475
  ]
476
- }).wait()).rejects.toThrow('Assertion failed: input_asset address is not the same as seen in the bridge contract');
476
+ })).rejects.toThrow('Assertion failed: input_asset address is not the same as seen in the bridge contract');
477
477
  });
478
478
  // edge cases for public flow:
479
479
  it("I don't need approval to call swap_public if I'm swapping on my own behalf", async ()=>{
@@ -485,12 +485,12 @@ export const uniswapL1L2TestSuite = (setup, cleanup, expectedForkBlockNumber = 1
485
485
  caller: uniswapL2Contract.address,
486
486
  action: wethCrossChainHarness.l2Token.methods.transfer_in_public(ownerAddress, uniswapL2Contract.address, wethAmountToBridge, nonceForWETHTransferApproval)
487
487
  }, true);
488
- await validateActionInteraction.send().wait();
488
+ await validateActionInteraction.send();
489
489
  // No approval to call `swap` but should work even without it:
490
490
  const [_, secretHashForDepositingSwappedDai] = await generateClaimSecret();
491
491
  await uniswapL2Contract.methods.swap_public(ownerAddress, wethCrossChainHarness.l2Bridge.address, wethAmountToBridge, daiCrossChainHarness.l2Bridge.address, nonceForWETHTransferApproval, uniswapFeeTier, minimumOutputAmount, ownerAddress, secretHashForDepositingSwappedDai, ownerEthAddress, Fr.ZERO).send({
492
492
  from: ownerAddress
493
- }).wait();
493
+ });
494
494
  // check weth balance of owner on L2 (we first bridged `wethAmountToBridge` into L2 and now withdrew it!)
495
495
  await wethCrossChainHarness.expectPublicBalanceOnL2(ownerAddress, 0n);
496
496
  });
@@ -505,7 +505,7 @@ export const uniswapL1L2TestSuite = (setup, cleanup, expectedForkBlockNumber = 1
505
505
  caller: approvedUser,
506
506
  action
507
507
  }, true);
508
- await validateActionInteraction.send().wait();
508
+ await validateActionInteraction.send();
509
509
  await expect(action.simulate({
510
510
  from: sponsorAddress
511
511
  })).rejects.toThrow(/unauthorized/);
@@ -517,7 +517,7 @@ export const uniswapL1L2TestSuite = (setup, cleanup, expectedForkBlockNumber = 1
517
517
  caller: uniswapL2Contract.address,
518
518
  action: wethCrossChainHarness.l2Token.methods.transfer_in_public(ownerAddress, uniswapL2Contract.address, wethAmountToBridge, nonceForWETHTransferApproval)
519
519
  }, true);
520
- await validateActionInteraction.send().wait();
520
+ await validateActionInteraction.send();
521
521
  await expect(uniswapL2Contract.methods.swap_public(ownerAddress, wethCrossChainHarness.l2Bridge.address, wethAmountToBridge, daiCrossChainHarness.l2Bridge.address, new Fr(420), uniswapFeeTier, minimumOutputAmount, ownerAddress, Fr.random(), ownerEthAddress, Fr.ZERO).simulate({
522
522
  from: ownerAddress
523
523
  })).rejects.toThrow(/unauthorized/);
@@ -543,7 +543,7 @@ export const uniswapL1L2TestSuite = (setup, cleanup, expectedForkBlockNumber = 1
543
543
  authWitnesses: [
544
544
  transferToPublicAuhtwit
545
545
  ]
546
- }).wait();
546
+ });
547
547
  const swapPrivateContent = sha256ToField([
548
548
  Buffer.from(toFunctionSelector('swap_private(address,uint256,uint24,address,uint256,bytes32,address)').substring(2), 'hex'),
549
549
  wethCrossChainHarness.tokenPortalAddress.toBuffer32(),
@@ -574,7 +574,8 @@ export const uniswapL1L2TestSuite = (setup, cleanup, expectedForkBlockNumber = 1
574
574
  rollupVersion: new Fr(version),
575
575
  chainId: new Fr(l1Client.chain.id)
576
576
  });
577
- const epoch = await rollup.getEpochNumberForCheckpoint(CheckpointNumber.fromBlockNumber(withdrawReceipt.blockNumber));
577
+ const block = await aztecNode.getBlock(withdrawReceipt.blockNumber);
578
+ const epoch = await rollup.getEpochNumberForCheckpoint(block.checkpointNumber);
578
579
  const swapResult = await computeL2ToL1MembershipWitness(aztecNode, epoch, swapPrivateLeaf);
579
580
  const withdrawResult = await computeL2ToL1MembershipWitness(aztecNode, epoch, withdrawLeaf);
580
581
  const swapPrivateL2MessageIndex = swapResult.leafIndex;
@@ -627,12 +628,12 @@ export const uniswapL1L2TestSuite = (setup, cleanup, expectedForkBlockNumber = 1
627
628
  caller: uniswapL2Contract.address,
628
629
  action: wethCrossChainHarness.l2Token.methods.transfer_in_public(ownerAddress, uniswapL2Contract.address, wethAmountToBridge, nonceForWETHTransferApproval)
629
630
  }, true);
630
- await validateActionInteraction.send().wait();
631
+ await validateActionInteraction.send();
631
632
  // Call swap_public on L2
632
633
  const secretHashForDepositingSwappedDai = Fr.random();
633
634
  const withdrawReceipt = await uniswapL2Contract.methods.swap_public(ownerAddress, wethCrossChainHarness.l2Bridge.address, wethAmountToBridge, daiCrossChainHarness.l2Bridge.address, nonceForWETHTransferApproval, uniswapFeeTier, minimumOutputAmount, ownerAddress, secretHashForDepositingSwappedDai, ownerEthAddress, Fr.ZERO).send({
634
635
  from: ownerAddress
635
- }).wait();
636
+ });
636
637
  const swapPublicContent = sha256ToField([
637
638
  Buffer.from(toFunctionSelector('swap_public(address,uint256,uint24,address,uint256,bytes32,bytes32,address)').substring(2), 'hex'),
638
639
  wethCrossChainHarness.tokenPortalAddress.toBuffer32(),
@@ -664,7 +665,8 @@ export const uniswapL1L2TestSuite = (setup, cleanup, expectedForkBlockNumber = 1
664
665
  rollupVersion: new Fr(version),
665
666
  chainId: new Fr(l1Client.chain.id)
666
667
  });
667
- const epoch = await rollup.getEpochNumberForCheckpoint(CheckpointNumber.fromBlockNumber(withdrawReceipt.blockNumber));
668
+ const block = await aztecNode.getBlock(withdrawReceipt.blockNumber);
669
+ const epoch = await rollup.getEpochNumberForCheckpoint(block.checkpointNumber);
668
670
  const swapResult = await computeL2ToL1MembershipWitness(aztecNode, epoch, swapPublicLeaf);
669
671
  const withdrawResult = await computeL2ToL1MembershipWitness(aztecNode, epoch, withdrawLeaf);
670
672
  const swapPublicL2MessageIndex = swapResult.leafIndex;
@@ -2,7 +2,7 @@
2
2
  import { AztecAddress } from '@aztec/aztec.js/addresses';
3
3
  import { Fr } from '@aztec/aztec.js/fields';
4
4
  import { SlotNumber } from '@aztec/foundation/branded-types';
5
- import { pedersenHash } from '@aztec/foundation/crypto/pedersen';
5
+ import { poseidon2Hash } from '@aztec/foundation/crypto/poseidon';
6
6
  /**
7
7
  * Contains utilities to compute the "key" for private holdings in the public state.
8
8
  */ export class LendingAccount {
@@ -16,7 +16,7 @@ import { pedersenHash } from '@aztec/foundation/crypto/pedersen';
16
16
  * Computes the key for the private holdings of this account.
17
17
  * @returns Key in public space
18
18
  */ key() {
19
- return pedersenHash([
19
+ return poseidon2Hash([
20
20
  this.address,
21
21
  this.secret
22
22
  ]);
@@ -29,4 +29,4 @@ export declare class TokenSimulator {
29
29
  checkPrivate(): Promise<void>;
30
30
  check(): Promise<void>;
31
31
  }
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5fc2ltdWxhdG9yLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2ltdWxhdG9ycy90b2tlbl9zaW11bGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFOUQsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbEQsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxLQUFLLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFJcEUscUJBQWEsY0FBYztJQVF2QixTQUFTLENBQUMsS0FBSyxFQUFFLGFBQWE7SUFDOUIsU0FBUyxDQUFDLGFBQWEsRUFBRSxNQUFNO0lBQy9CLFNBQVMsQ0FBQyxjQUFjLEVBQUUsWUFBWTtJQUN0QyxTQUFTLENBQUMsTUFBTSxFQUFFLE1BQU07SUFDeEIsU0FBUyxDQUFDLFFBQVEsRUFBRSxZQUFZLEVBQUU7SUFYcEMsT0FBTyxDQUFDLGVBQWUsQ0FBa0M7SUFDekQsT0FBTyxDQUFDLGFBQWEsQ0FBa0M7SUFDaEQsV0FBVyxFQUFFLE1BQU0sQ0FBTTtJQUVoQyxPQUFPLENBQUMsY0FBYyxDQUFrQztJQUV4RCxZQUNZLEtBQUssRUFBRSxhQUFhLEVBQ3BCLGFBQWEsRUFBRSxNQUFNLEVBQ3JCLGNBQWMsRUFBRSxZQUFZLEVBQzVCLE1BQU0sRUFBRSxNQUFNLEVBQ2QsUUFBUSxFQUFFLFlBQVksRUFBRSxFQUNoQztJQUVHLFVBQVUsQ0FBQyxPQUFPLEVBQUUsWUFBWSxRQUV0QztJQUVNLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFFN0Q7SUFFTSxXQUFXLENBQUMsRUFBRSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxRQUdsRDtJQUVNLFVBQVUsQ0FBQyxFQUFFLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBSWpEO0lBRU0sY0FBYyxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUUsRUFBRSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxRQU96RTtJQUVNLGVBQWUsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLEVBQUUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFPMUU7SUFFTSxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLEVBQUUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFNNUU7SUFFTSxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLEVBQUUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFNM0U7SUFFTSxXQUFXLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxRQU1wRDtJQUVNLFVBQVUsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBTW5EO0lBRU0sZUFBZSxDQUFDLE9BQU8sRUFBRSxZQUFZLFVBRTNDO0lBRU0sZ0JBQWdCLENBQUMsT0FBTyxFQUFFLFlBQVksVUFFNUM7SUFFSyxXQUFXLGtCQWtCaEI7SUFFSyxZQUFZLGtCQW9DakI7SUFFWSxLQUFLLGtCQUdqQjtDQUNGIn0=
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5fc2ltdWxhdG9yLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2ltdWxhdG9ycy90b2tlbl9zaW11bGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFOUQsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbEQsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxLQUFLLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFJcEUscUJBQWEsY0FBYztJQVF2QixTQUFTLENBQUMsS0FBSyxFQUFFLGFBQWE7SUFDOUIsU0FBUyxDQUFDLGFBQWEsRUFBRSxNQUFNO0lBQy9CLFNBQVMsQ0FBQyxjQUFjLEVBQUUsWUFBWTtJQUN0QyxTQUFTLENBQUMsTUFBTSxFQUFFLE1BQU07SUFDeEIsU0FBUyxDQUFDLFFBQVEsRUFBRSxZQUFZLEVBQUU7SUFYcEMsT0FBTyxDQUFDLGVBQWUsQ0FBa0M7SUFDekQsT0FBTyxDQUFDLGFBQWEsQ0FBa0M7SUFDaEQsV0FBVyxFQUFFLE1BQU0sQ0FBTTtJQUVoQyxPQUFPLENBQUMsY0FBYyxDQUFrQztJQUV4RCxZQUNZLEtBQUssRUFBRSxhQUFhLEVBQ3BCLGFBQWEsRUFBRSxNQUFNLEVBQ3JCLGNBQWMsRUFBRSxZQUFZLEVBQzVCLE1BQU0sRUFBRSxNQUFNLEVBQ2QsUUFBUSxFQUFFLFlBQVksRUFBRSxFQUNoQztJQUVHLFVBQVUsQ0FBQyxPQUFPLEVBQUUsWUFBWSxRQUV0QztJQUVNLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFFN0Q7SUFFTSxXQUFXLENBQUMsRUFBRSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxRQUdsRDtJQUVNLFVBQVUsQ0FBQyxFQUFFLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBSWpEO0lBRU0sY0FBYyxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUUsRUFBRSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxRQU96RTtJQUVNLGVBQWUsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLEVBQUUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFPMUU7SUFFTSxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLEVBQUUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFNNUU7SUFFTSxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLEVBQUUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFNM0U7SUFFTSxXQUFXLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxRQU1wRDtJQUVNLFVBQVUsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBTW5EO0lBRU0sZUFBZSxDQUFDLE9BQU8sRUFBRSxZQUFZLFVBRTNDO0lBRU0sZ0JBQWdCLENBQUMsT0FBTyxFQUFFLFlBQVksVUFFNUM7SUFFSyxXQUFXLGtCQWtCaEI7SUFFSyxZQUFZLGtCQVFqQjtJQUVZLEtBQUssa0JBR2pCO0NBQ0YifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"token_simulator.d.ts","sourceRoot":"","sources":["../../src/simulators/token_simulator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAE9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAIpE,qBAAa,cAAc;IAQvB,SAAS,CAAC,KAAK,EAAE,aAAa;IAC9B,SAAS,CAAC,aAAa,EAAE,MAAM;IAC/B,SAAS,CAAC,cAAc,EAAE,YAAY;IACtC,SAAS,CAAC,MAAM,EAAE,MAAM;IACxB,SAAS,CAAC,QAAQ,EAAE,YAAY,EAAE;IAXpC,OAAO,CAAC,eAAe,CAAkC;IACzD,OAAO,CAAC,aAAa,CAAkC;IAChD,WAAW,EAAE,MAAM,CAAM;IAEhC,OAAO,CAAC,cAAc,CAAkC;IAExD,YACY,KAAK,EAAE,aAAa,EACpB,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,YAAY,EAC5B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,YAAY,EAAE,EAChC;IAEG,UAAU,CAAC,OAAO,EAAE,YAAY,QAEtC;IAEM,iBAAiB,CAAC,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,QAE7D;IAEM,WAAW,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,QAGlD;IAEM,UAAU,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,QAIjD;IAEM,cAAc,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,QAOzE;IAEM,eAAe,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,QAO1E;IAEM,iBAAiB,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,QAM5E;IAEM,gBAAgB,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,QAM3E;IAEM,WAAW,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,QAMpD;IAEM,UAAU,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,QAMnD;IAEM,eAAe,CAAC,OAAO,EAAE,YAAY,UAE3C;IAEM,gBAAgB,CAAC,OAAO,EAAE,YAAY,UAE5C;IAEK,WAAW,kBAkBhB;IAEK,YAAY,kBAoCjB;IAEY,KAAK,kBAGjB;CACF"}
1
+ {"version":3,"file":"token_simulator.d.ts","sourceRoot":"","sources":["../../src/simulators/token_simulator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAE9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAIpE,qBAAa,cAAc;IAQvB,SAAS,CAAC,KAAK,EAAE,aAAa;IAC9B,SAAS,CAAC,aAAa,EAAE,MAAM;IAC/B,SAAS,CAAC,cAAc,EAAE,YAAY;IACtC,SAAS,CAAC,MAAM,EAAE,MAAM;IACxB,SAAS,CAAC,QAAQ,EAAE,YAAY,EAAE;IAXpC,OAAO,CAAC,eAAe,CAAkC;IACzD,OAAO,CAAC,aAAa,CAAkC;IAChD,WAAW,EAAE,MAAM,CAAM;IAEhC,OAAO,CAAC,cAAc,CAAkC;IAExD,YACY,KAAK,EAAE,aAAa,EACpB,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,YAAY,EAC5B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,YAAY,EAAE,EAChC;IAEG,UAAU,CAAC,OAAO,EAAE,YAAY,QAEtC;IAEM,iBAAiB,CAAC,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,QAE7D;IAEM,WAAW,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,QAGlD;IAEM,UAAU,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,QAIjD;IAEM,cAAc,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,QAOzE;IAEM,eAAe,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,QAO1E;IAEM,iBAAiB,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,QAM5E;IAEM,gBAAgB,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,QAM3E;IAEM,WAAW,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,QAMpD;IAEM,UAAU,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,QAMnD;IAEM,eAAe,CAAC,OAAO,EAAE,YAAY,UAE3C;IAEM,gBAAgB,CAAC,OAAO,EAAE,YAAY,UAE5C;IAEK,WAAW,kBAkBhB;IAEK,YAAY,kBAQjB;IAEY,KAAK,kBAGjB;CACF"}
@@ -98,32 +98,11 @@ export class TokenSimulator {
98
98
  }
99
99
  }
100
100
  async checkPrivate() {
101
- // Private calls
102
- const defaultLookups = [];
103
- const nonDefaultLookups = [];
104
101
  for (const address of this.accounts){
105
- if (this.lookupProvider.has(address.toString())) {
106
- nonDefaultLookups.push(address);
107
- } else {
108
- defaultLookups.push(address);
109
- }
110
- }
111
- const defaultCalls = defaultLookups.map((address)=>this.token.methods.balance_of_private(address));
112
- const results = (await Promise.all(chunk(defaultCalls, 4).map((batch)=>new BatchCall(this.defaultWallet, batch).simulate({
113
- from: this.defaultAddress
114
- })))).flat();
115
- for(let i = 0; i < defaultLookups.length; i++){
116
- expect(results[i]).toEqual(this.balanceOfPrivate(defaultLookups[i]));
117
- }
118
- // We are just running individual calls for the non-default lookups
119
- // @todo We should also batch these
120
- for (const address of nonDefaultLookups){
121
102
  const wallet = this.lookupProvider.get(address.toString());
122
103
  const asset = wallet ? this.token.withWallet(wallet) : this.token;
123
- const actualPrivateBalance = await asset.methods.balance_of_private({
124
- address
125
- }).simulate({
126
- from: this.defaultAddress
104
+ const actualPrivateBalance = await asset.methods.balance_of_private(address).simulate({
105
+ from: address
127
106
  });
128
107
  expect(actualPrivateBalance).toEqual(this.balanceOfPrivate(address));
129
108
  }
@@ -3,7 +3,7 @@ import { type FeePaymentMethod } from '@aztec/aztec.js/fee';
3
3
  import { type AztecNode } from '@aztec/aztec.js/node';
4
4
  import type { Logger } from '@aztec/foundation/log';
5
5
  import { TokenContract } from '@aztec/noir-contracts.js/Token';
6
- import { TestWallet } from '@aztec/test-wallet/server';
6
+ import { TestWallet } from '../test-wallet/test_wallet.js';
7
7
  export interface TestAccounts {
8
8
  aztecNode: AztecNode;
9
9
  wallet: TestWallet;
@@ -33,4 +33,4 @@ export type WalletWrapper = {
33
33
  cleanup: () => Promise<void>;
34
34
  };
35
35
  export declare function createWalletAndAztecNodeClient(nodeUrl: string, proverEnabled: boolean, logger: Logger): Promise<WalletWrapper>;
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dXBfdGVzdF93YWxsZXRzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3BhcnRhbi9zZXR1cF90ZXN0X3dhbGxldHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBR3pELE9BQU8sRUFBRSxLQUFLLGdCQUFnQixFQUE2QixNQUFNLHFCQUFxQixDQUFDO0FBRXZGLE9BQU8sRUFBRSxLQUFLLFNBQVMsRUFBeUIsTUFBTSxzQkFBc0IsQ0FBQztBQUk3RSxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVwRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFL0QsT0FBTyxFQUFFLFVBQVUsRUFBaUUsTUFBTSwyQkFBMkIsQ0FBQztBQU10SCxNQUFNLFdBQVcsWUFBWTtJQUMzQixTQUFTLEVBQUUsU0FBUyxDQUFDO0lBQ3JCLE1BQU0sRUFBRSxVQUFVLENBQUM7SUFDbkIsUUFBUSxFQUFFLFlBQVksRUFBRSxDQUFDO0lBQ3pCLGFBQWEsRUFBRSxhQUFhLENBQUM7SUFDN0IsaUJBQWlCLEVBQUUsWUFBWSxDQUFDO0lBQ2hDLFNBQVMsRUFBRSxNQUFNLENBQUM7SUFDbEIsZ0JBQWdCLEVBQUUsWUFBWSxDQUFDO0lBQy9CLFlBQVksRUFBRSxZQUFZLENBQUM7Q0FDNUI7QUFFRCxNQUFNLE1BQU0seUJBQXlCLEdBQUcsSUFBSSxDQUMxQyxZQUFZLEVBQ1osY0FBYyxHQUFHLGVBQWUsR0FBRyxXQUFXLEdBQUcsbUJBQW1CLENBQ3JFLENBQUM7QUFNRix3QkFBc0IsMkJBQTJCLENBQy9DLE9BQU8sRUFBRSxNQUFNLEVBQ2YsVUFBVSxFQUFFLE1BQU0sRUFDbEIsTUFBTSxFQUFFLE1BQU0sR0FDYixPQUFPLENBQUMsWUFBWSxDQUFDLENBeUJ2QjtBQUVELHdCQUFzQixxQ0FBcUMsQ0FDekQsTUFBTSxFQUFFLFVBQVUsRUFDbEIsU0FBUyxFQUFFLFNBQVMsRUFDcEIsVUFBVSxFQUFFLE1BQU0sRUFDbEIsTUFBTSxFQUFFLE1BQU0sRUFDZCxxQkFBcUIsU0FBSSxHQUN4QixPQUFPLENBQUMsWUFBWSxDQUFDLENBdUN2QjtBQUVELHdCQUFzQiwyQkFBMkIsQ0FDL0MsTUFBTSxFQUFFLFVBQVUsRUFDbEIsU0FBUyxFQUFFLFNBQVMsRUFDcEIsTUFBTSxFQUFFLE1BQU0sRUFDZCxxQkFBcUIsU0FBSSxHQUN4QixPQUFPLENBQUMseUJBQXlCLENBQUMsQ0F3QnBDO0FBRUQsd0JBQXNCLDRCQUE0QixDQUNoRCxPQUFPLEVBQUUsTUFBTSxFQUNmLFNBQVMsRUFBRSxNQUFNLEVBQUUsRUFDbkIsb0JBQW9CLEVBQUUsTUFBTSxFQUM1QixVQUFVLEVBQUUsTUFBTSxFQUNsQixNQUFNLEVBQUUsTUFBTSxFQUNkLHFCQUFxQixTQUFJLEdBQ3hCLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0ErQ3ZCO0FBNkVELHdCQUFzQixnQkFBZ0IsQ0FBQyxFQUNyQyxNQUFNLEVBQ04sWUFBWSxFQUNaLE1BQU0sRUFDTixjQUFjLEVBQ2QsTUFBTSxFQUNOLGdCQUFnQixFQUNqQixFQUFFO0lBQ0QsTUFBTSxFQUFFLFVBQVUsQ0FBQztJQUNuQixZQUFZLEVBQUUsWUFBWSxDQUFDO0lBQzNCLE1BQU0sRUFBRSxNQUFNLENBQUM7SUFDZixjQUFjLEVBQUUsTUFBTSxDQUFDO0lBQ3ZCLE1BQU0sRUFBRSxNQUFNLENBQUM7SUFDZixnQkFBZ0IsQ0FBQyxFQUFFLGdCQUFnQixDQUFDO0NBQ3JDLGlCQXFCQTtBQUVELE1BQU0sTUFBTSxhQUFhLEdBQUc7SUFDMUIsTUFBTSxFQUFFLFVBQVUsQ0FBQztJQUNuQixTQUFTLEVBQUUsU0FBUyxDQUFDO0lBQ3JCLE9BQU8sRUFBRSxNQUFNLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztDQUM5QixDQUFDO0FBRUYsd0JBQXNCLDhCQUE4QixDQUNsRCxPQUFPLEVBQUUsTUFBTSxFQUNmLGFBQWEsRUFBRSxPQUFPLEVBQ3RCLE1BQU0sRUFBRSxNQUFNLEdBQ2IsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQXFCeEIifQ==
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dXBfdGVzdF93YWxsZXRzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3BhcnRhbi9zZXR1cF90ZXN0X3dhbGxldHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBSXpELE9BQU8sRUFBRSxLQUFLLGdCQUFnQixFQUE2QixNQUFNLHFCQUFxQixDQUFDO0FBRXZGLE9BQU8sRUFBRSxLQUFLLFNBQVMsRUFBb0MsTUFBTSxzQkFBc0IsQ0FBQztBQUl4RixPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVwRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFPL0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRzNELE1BQU0sV0FBVyxZQUFZO0lBQzNCLFNBQVMsRUFBRSxTQUFTLENBQUM7SUFDckIsTUFBTSxFQUFFLFVBQVUsQ0FBQztJQUNuQixRQUFRLEVBQUUsWUFBWSxFQUFFLENBQUM7SUFDekIsYUFBYSxFQUFFLGFBQWEsQ0FBQztJQUM3QixpQkFBaUIsRUFBRSxZQUFZLENBQUM7SUFDaEMsU0FBUyxFQUFFLE1BQU0sQ0FBQztJQUNsQixnQkFBZ0IsRUFBRSxZQUFZLENBQUM7SUFDL0IsWUFBWSxFQUFFLFlBQVksQ0FBQztDQUM1QjtBQUVELE1BQU0sTUFBTSx5QkFBeUIsR0FBRyxJQUFJLENBQzFDLFlBQVksRUFDWixjQUFjLEdBQUcsZUFBZSxHQUFHLFdBQVcsR0FBRyxtQkFBbUIsQ0FDckUsQ0FBQztBQU1GLHdCQUFzQiwyQkFBMkIsQ0FDL0MsT0FBTyxFQUFFLE1BQU0sRUFDZixVQUFVLEVBQUUsTUFBTSxFQUNsQixNQUFNLEVBQUUsTUFBTSxHQUNiLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0F5QnZCO0FBRUQsd0JBQXNCLHFDQUFxQyxDQUN6RCxNQUFNLEVBQUUsVUFBVSxFQUNsQixTQUFTLEVBQUUsU0FBUyxFQUNwQixVQUFVLEVBQUUsTUFBTSxFQUNsQixNQUFNLEVBQUUsTUFBTSxFQUNkLHFCQUFxQixTQUFJLEdBQ3hCLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0F1Q3ZCO0FBbURELHdCQUFzQiwyQkFBMkIsQ0FDL0MsTUFBTSxFQUFFLFVBQVUsRUFDbEIsU0FBUyxFQUFFLFNBQVMsRUFDcEIsTUFBTSxFQUFFLE1BQU0sRUFDZCxxQkFBcUIsU0FBSSxHQUN4QixPQUFPLENBQUMseUJBQXlCLENBQUMsQ0FrQnBDO0FBRUQsd0JBQXNCLDRCQUE0QixDQUNoRCxPQUFPLEVBQUUsTUFBTSxFQUNmLFNBQVMsRUFBRSxNQUFNLEVBQUUsRUFDbkIsb0JBQW9CLEVBQUUsTUFBTSxFQUM1QixVQUFVLEVBQUUsTUFBTSxFQUNsQixNQUFNLEVBQUUsTUFBTSxFQUNkLHFCQUFxQixTQUFJLEdBQ3hCLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0ErQ3ZCO0FBaUZELHdCQUFzQixnQkFBZ0IsQ0FBQyxFQUNyQyxNQUFNLEVBQ04sWUFBWSxFQUNaLE1BQU0sRUFDTixjQUFjLEVBQ2QsTUFBTSxFQUNOLGdCQUFnQixFQUNqQixFQUFFO0lBQ0QsTUFBTSxFQUFFLFVBQVUsQ0FBQztJQUNuQixZQUFZLEVBQUUsWUFBWSxDQUFDO0lBQzNCLE1BQU0sRUFBRSxNQUFNLENBQUM7SUFDZixjQUFjLEVBQUUsTUFBTSxDQUFDO0lBQ3ZCLE1BQU0sRUFBRSxNQUFNLENBQUM7SUFDZixnQkFBZ0IsQ0FBQyxFQUFFLGdCQUFnQixDQUFDO0NBQ3JDLGlCQXFCQTtBQUVELE1BQU0sTUFBTSxhQUFhLEdBQUc7SUFDMUIsTUFBTSxFQUFFLFVBQVUsQ0FBQztJQUNuQixTQUFTLEVBQUUsU0FBUyxDQUFDO0lBQ3JCLE9BQU8sRUFBRSxNQUFNLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztDQUM5QixDQUFDO0FBRUYsd0JBQXNCLDhCQUE4QixDQUNsRCxPQUFPLEVBQUUsTUFBTSxFQUNmLGFBQWEsRUFBRSxPQUFPLEVBQ3RCLE1BQU0sRUFBRSxNQUFNLEdBQ2IsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQXFCeEIifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"setup_test_wallets.d.ts","sourceRoot":"","sources":["../../src/spartan/setup_test_wallets.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAGzD,OAAO,EAAE,KAAK,gBAAgB,EAA6B,MAAM,qBAAqB,CAAC;AAEvF,OAAO,EAAE,KAAK,SAAS,EAAyB,MAAM,sBAAsB,CAAC;AAI7E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAE/D,OAAO,EAAE,UAAU,EAAiE,MAAM,2BAA2B,CAAC;AAMtH,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,UAAU,CAAC;IACnB,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,aAAa,EAAE,aAAa,CAAC;IAC7B,iBAAiB,EAAE,YAAY,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,YAAY,CAAC;IAC/B,YAAY,EAAE,YAAY,CAAC;CAC5B;AAED,MAAM,MAAM,yBAAyB,GAAG,IAAI,CAC1C,YAAY,EACZ,cAAc,GAAG,eAAe,GAAG,WAAW,GAAG,mBAAmB,CACrE,CAAC;AAMF,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,YAAY,CAAC,CAyBvB;AAED,wBAAsB,qCAAqC,CACzD,MAAM,EAAE,UAAU,EAClB,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,qBAAqB,SAAI,GACxB,OAAO,CAAC,YAAY,CAAC,CAuCvB;AAED,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,UAAU,EAClB,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,EACd,qBAAqB,SAAI,GACxB,OAAO,CAAC,yBAAyB,CAAC,CAwBpC;AAED,wBAAsB,4BAA4B,CAChD,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EAAE,EACnB,oBAAoB,EAAE,MAAM,EAC5B,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,qBAAqB,SAAI,GACxB,OAAO,CAAC,YAAY,CAAC,CA+CvB;AA6ED,wBAAsB,gBAAgB,CAAC,EACrC,MAAM,EACN,YAAY,EACZ,MAAM,EACN,cAAc,EACd,MAAM,EACN,gBAAgB,EACjB,EAAE;IACD,MAAM,EAAE,UAAU,CAAC;IACnB,YAAY,EAAE,YAAY,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC,iBAqBA;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE,UAAU,CAAC;IACnB,SAAS,EAAE,SAAS,CAAC;IACrB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B,CAAC;AAEF,wBAAsB,8BAA8B,CAClD,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,OAAO,EACtB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,aAAa,CAAC,CAqBxB"}
1
+ {"version":3,"file":"setup_test_wallets.d.ts","sourceRoot":"","sources":["../../src/spartan/setup_test_wallets.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAIzD,OAAO,EAAE,KAAK,gBAAgB,EAA6B,MAAM,qBAAqB,CAAC;AAEvF,OAAO,EAAE,KAAK,SAAS,EAAoC,MAAM,sBAAsB,CAAC;AAIxF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAO/D,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAG3D,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,UAAU,CAAC;IACnB,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,aAAa,EAAE,aAAa,CAAC;IAC7B,iBAAiB,EAAE,YAAY,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,YAAY,CAAC;IAC/B,YAAY,EAAE,YAAY,CAAC;CAC5B;AAED,MAAM,MAAM,yBAAyB,GAAG,IAAI,CAC1C,YAAY,EACZ,cAAc,GAAG,eAAe,GAAG,WAAW,GAAG,mBAAmB,CACrE,CAAC;AAMF,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,YAAY,CAAC,CAyBvB;AAED,wBAAsB,qCAAqC,CACzD,MAAM,EAAE,UAAU,EAClB,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,qBAAqB,SAAI,GACxB,OAAO,CAAC,YAAY,CAAC,CAuCvB;AAmDD,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,UAAU,EAClB,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,EACd,qBAAqB,SAAI,GACxB,OAAO,CAAC,yBAAyB,CAAC,CAkBpC;AAED,wBAAsB,4BAA4B,CAChD,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EAAE,EACnB,oBAAoB,EAAE,MAAM,EAC5B,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,qBAAqB,SAAI,GACxB,OAAO,CAAC,YAAY,CAAC,CA+CvB;AAiFD,wBAAsB,gBAAgB,CAAC,EACrC,MAAM,EACN,YAAY,EACZ,MAAM,EACN,cAAc,EACd,MAAM,EACN,gBAAgB,EACjB,EAAE;IACD,MAAM,EAAE,UAAU,CAAC;IACnB,YAAY,EAAE,YAAY,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC,iBAqBA;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE,UAAU,CAAC;IACnB,SAAS,EAAE,SAAS,CAAC;IACrB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B,CAAC;AAEF,wBAAsB,8BAA8B,CAClD,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,OAAO,EACtB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,aAAa,CAAC,CAqBxB"}
@@ -1,18 +1,21 @@
1
1
  import { generateSchnorrAccounts } from '@aztec/accounts/testing';
2
2
  import { AztecAddress } from '@aztec/aztec.js/addresses';
3
+ import { NO_WAIT } from '@aztec/aztec.js/contracts';
3
4
  import { L1FeeJuicePortalManager } from '@aztec/aztec.js/ethereum';
4
5
  import { FeeJuicePaymentMethodWithClaim } from '@aztec/aztec.js/fee';
5
6
  import { SponsoredFeePaymentMethod } from '@aztec/aztec.js/fee';
6
7
  import { Fr } from '@aztec/aztec.js/fields';
7
- import { createAztecNodeClient } from '@aztec/aztec.js/node';
8
+ import { createAztecNodeClient, waitForTx } from '@aztec/aztec.js/node';
8
9
  import { createEthereumChain } from '@aztec/ethereum/chain';
9
10
  import { createExtendedL1Client } from '@aztec/ethereum/client';
10
11
  import { retryUntil } from '@aztec/foundation/retry';
11
12
  import { TokenContract } from '@aztec/noir-contracts.js/Token';
12
- import { TestWallet, proveInteraction, registerInitialLocalNetworkAccountsInWallet } from '@aztec/test-wallet/server';
13
+ import { registerInitialLocalNetworkAccountsInWallet } from '@aztec/wallets/testing';
13
14
  import { getACVMConfig } from '../fixtures/get_acvm_config.js';
14
15
  import { getBBConfig } from '../fixtures/get_bb_config.js';
15
16
  import { getSponsoredFPCAddress, registerSponsoredFPC } from '../fixtures/utils.js';
17
+ import { TestWallet } from '../test-wallet/test_wallet.js';
18
+ import { proveInteraction } from '../test-wallet/utils.js';
16
19
  const TOKEN_NAME = 'USDC';
17
20
  const TOKEN_SYMBOL = 'USD';
18
21
  const TOKEN_DECIMALS = 18n;
@@ -46,9 +49,10 @@ export async function deploySponsoredTestAccountsWithTokens(wallet, aztecNode, m
46
49
  from: AztecAddress.ZERO,
47
50
  fee: {
48
51
  paymentMethod
52
+ },
53
+ wait: {
54
+ timeout: 2400
49
55
  }
50
- }).wait({
51
- timeout: 2400
52
56
  });
53
57
  await Promise.all(fundedAccounts.map(async (a)=>{
54
58
  const deployMethod = await a.getDeployMethod();
@@ -56,9 +60,10 @@ export async function deploySponsoredTestAccountsWithTokens(wallet, aztecNode, m
56
60
  from: AztecAddress.ZERO,
57
61
  fee: {
58
62
  paymentMethod
63
+ },
64
+ wait: {
65
+ timeout: 2400
59
66
  }
60
- }).wait({
61
- timeout: 2400
62
67
  }); // increase timeout on purpose in order to account for two empty epochs
63
68
  logger.info(`Account deployed at ${a.address}`);
64
69
  }));
@@ -76,33 +81,52 @@ export async function deploySponsoredTestAccountsWithTokens(wallet, aztecNode, m
76
81
  recipientAddress: recipientAccount.address
77
82
  };
78
83
  }
84
+ async function deployAccountWithDiagnostics(account, paymentMethod, aztecNode, logger, accountLabel) {
85
+ const deployMethod = await account.getDeployMethod();
86
+ let txHash;
87
+ try {
88
+ txHash = await deployMethod.send({
89
+ from: AztecAddress.ZERO,
90
+ fee: {
91
+ paymentMethod
92
+ },
93
+ wait: NO_WAIT
94
+ });
95
+ await waitForTx(aztecNode, txHash, {
96
+ timeout: 2400
97
+ });
98
+ logger.info(`${accountLabel} deployed at ${account.address}`);
99
+ } catch (error) {
100
+ const blockNumber = await aztecNode.getBlockNumber();
101
+ let receipt;
102
+ try {
103
+ receipt = await aztecNode.getTxReceipt(txHash);
104
+ } catch {
105
+ receipt = 'unavailable';
106
+ }
107
+ logger.error(`${accountLabel} deployment failed`, {
108
+ txHash: txHash.toString(),
109
+ receipt: JSON.stringify(receipt),
110
+ currentBlockNumber: blockNumber,
111
+ error: String(error)
112
+ });
113
+ throw error;
114
+ }
115
+ }
116
+ async function deployAccountsInBatches(accounts, paymentMethod, aztecNode, logger, labelPrefix, batchSize = 2) {
117
+ for(let i = 0; i < accounts.length; i += batchSize){
118
+ const batch = accounts.slice(i, i + batchSize);
119
+ await Promise.all(batch.map((account, idx)=>deployAccountWithDiagnostics(account, paymentMethod, aztecNode, logger, `${labelPrefix}${i + idx + 1}`)));
120
+ }
121
+ }
79
122
  export async function deploySponsoredTestAccounts(wallet, aztecNode, logger, numberOfFundedWallets = 1) {
80
123
  const [recipient, ...funded] = await generateSchnorrAccounts(numberOfFundedWallets + 1);
81
124
  const recipientAccount = await wallet.createSchnorrAccount(recipient.secret, recipient.salt);
82
125
  const fundedAccounts = await Promise.all(funded.map((a)=>wallet.createSchnorrAccount(a.secret, a.salt)));
83
126
  await registerSponsoredFPC(wallet);
84
127
  const paymentMethod = new SponsoredFeePaymentMethod(await getSponsoredFPCAddress());
85
- const recipientDeployMethod = await recipientAccount.getDeployMethod();
86
- await recipientDeployMethod.send({
87
- from: AztecAddress.ZERO,
88
- fee: {
89
- paymentMethod
90
- }
91
- }).wait({
92
- timeout: 2400
93
- });
94
- await Promise.all(fundedAccounts.map(async (a)=>{
95
- const deployMethod = await a.getDeployMethod();
96
- await deployMethod.send({
97
- from: AztecAddress.ZERO,
98
- fee: {
99
- paymentMethod
100
- }
101
- }).wait({
102
- timeout: 2400
103
- }); // increase timeout on purpose in order to account for two empty epochs
104
- logger.info(`Account deployed at ${a.address}`);
105
- }));
128
+ await deployAccountWithDiagnostics(recipientAccount, paymentMethod, aztecNode, logger, 'Recipient account');
129
+ await deployAccountsInBatches(fundedAccounts, paymentMethod, aztecNode, logger, 'Funded account ', 2);
106
130
  return {
107
131
  aztecNode,
108
132
  wallet,
@@ -129,7 +153,7 @@ export async function deployTestAccountsWithTokens(nodeUrl, l1RpcUrls, mnemonicO
129
153
  fee: {
130
154
  paymentMethod
131
155
  }
132
- }).wait();
156
+ });
133
157
  logger.info(`Account deployed at ${a.address}`);
134
158
  }));
135
159
  const tokenAdmin = fundedAccounts[0];
@@ -175,13 +199,15 @@ async function advanceL2Block(aztecNode, nodeAdmin) {
175
199
  }
176
200
  async function deployTokenAndMint(wallet, accounts, admin, mintAmount, paymentMethod, logger) {
177
201
  logger.verbose(`Deploying TokenContract...`);
178
- const tokenContract = await TokenContract.deploy(wallet, admin, TOKEN_NAME, TOKEN_SYMBOL, TOKEN_DECIMALS).send({
202
+ const { contract: tokenContract } = await TokenContract.deploy(wallet, admin, TOKEN_NAME, TOKEN_SYMBOL, TOKEN_DECIMALS).send({
179
203
  from: admin,
180
204
  fee: {
181
205
  paymentMethod
206
+ },
207
+ wait: {
208
+ timeout: 600,
209
+ returnReceipt: true
182
210
  }
183
- }).deployed({
184
- timeout: 600
185
211
  });
186
212
  const tokenAddress = tokenContract.address;
187
213
  logger.verbose(`Minting ${mintAmount} public assets to the ${accounts.length} accounts...`);
@@ -189,9 +215,10 @@ async function deployTokenAndMint(wallet, accounts, admin, mintAmount, paymentMe
189
215
  from: admin,
190
216
  fee: {
191
217
  paymentMethod
218
+ },
219
+ wait: {
220
+ timeout: 600
192
221
  }
193
- }).wait({
194
- timeout: 600
195
222
  })));
196
223
  logger.verbose(`Minting complete.`);
197
224
  return tokenAddress;
@@ -211,8 +238,10 @@ export async function performTransfers({ wallet, testAccounts, rounds, transferA
211
238
  });
212
239
  });
213
240
  const provenTxs = await Promise.all(txs);
214
- await Promise.all(provenTxs.map((t)=>t.send().wait({
215
- timeout: 600
241
+ await Promise.all(provenTxs.map((t)=>t.send({
242
+ wait: {
243
+ timeout: 600
244
+ }
216
245
  })));
217
246
  logger.info(`Completed round ${i + 1} / ${rounds}`);
218
247
  }