@aztec/end-to-end 0.0.1-commit.5daedc8 → 0.0.1-commit.6201a7b05

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 (283) hide show
  1. package/README.md +27 -0
  2. package/dest/bench/client_flows/benchmark.d.ts +3 -2
  3. package/dest/bench/client_flows/benchmark.d.ts.map +1 -1
  4. package/dest/bench/client_flows/benchmark.js +21 -1
  5. package/dest/bench/client_flows/client_flows_benchmark.d.ts +15 -16
  6. package/dest/bench/client_flows/client_flows_benchmark.d.ts.map +1 -1
  7. package/dest/bench/client_flows/client_flows_benchmark.js +125 -145
  8. package/dest/bench/client_flows/config.d.ts +2 -2
  9. package/dest/bench/client_flows/config.d.ts.map +1 -1
  10. package/dest/bench/client_flows/config.js +18 -0
  11. package/dest/bench/client_flows/data_extractor.js +3 -1
  12. package/dest/bench/utils.d.ts +9 -8
  13. package/dest/bench/utils.d.ts.map +1 -1
  14. package/dest/bench/utils.js +31 -19
  15. package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.d.ts +11 -9
  16. package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.d.ts.map +1 -1
  17. package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.js +108 -114
  18. package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.d.ts +20 -14
  19. package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.d.ts.map +1 -1
  20. package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.js +92 -71
  21. package/dest/e2e_deploy_contract/deploy_test.d.ts +5 -4
  22. package/dest/e2e_deploy_contract/deploy_test.d.ts.map +1 -1
  23. package/dest/e2e_deploy_contract/deploy_test.js +18 -13
  24. package/dest/e2e_epochs/epochs_test.d.ts +42 -15
  25. package/dest/e2e_epochs/epochs_test.d.ts.map +1 -1
  26. package/dest/e2e_epochs/epochs_test.js +159 -59
  27. package/dest/e2e_fees/bridging_race.notest.js +4 -6
  28. package/dest/e2e_fees/fees_test.d.ts +21 -17
  29. package/dest/e2e_fees/fees_test.d.ts.map +1 -1
  30. package/dest/e2e_fees/fees_test.js +139 -147
  31. package/dest/e2e_l1_publisher/write_json.d.ts +4 -3
  32. package/dest/e2e_l1_publisher/write_json.d.ts.map +1 -1
  33. package/dest/e2e_l1_publisher/write_json.js +14 -16
  34. package/dest/e2e_multi_validator/utils.js +1 -1
  35. package/dest/e2e_nested_contract/nested_contract_test.d.ts +6 -9
  36. package/dest/e2e_nested_contract/nested_contract_test.d.ts.map +1 -1
  37. package/dest/e2e_nested_contract/nested_contract_test.js +30 -40
  38. package/dest/e2e_p2p/inactivity_slash_test.d.ts +4 -4
  39. package/dest/e2e_p2p/inactivity_slash_test.d.ts.map +1 -1
  40. package/dest/e2e_p2p/inactivity_slash_test.js +9 -12
  41. package/dest/e2e_p2p/p2p_network.d.ts +25 -21
  42. package/dest/e2e_p2p/p2p_network.d.ts.map +1 -1
  43. package/dest/e2e_p2p/p2p_network.js +175 -130
  44. package/dest/e2e_p2p/reqresp/utils.d.ts +22 -0
  45. package/dest/e2e_p2p/reqresp/utils.d.ts.map +1 -0
  46. package/dest/e2e_p2p/reqresp/utils.js +193 -0
  47. package/dest/e2e_p2p/shared.d.ts +30 -12
  48. package/dest/e2e_p2p/shared.d.ts.map +1 -1
  49. package/dest/e2e_p2p/shared.js +84 -67
  50. package/dest/e2e_storage_proof/fixtures/storage_proof_fetcher.d.ts +2 -0
  51. package/dest/e2e_storage_proof/fixtures/storage_proof_fetcher.d.ts.map +1 -0
  52. package/dest/e2e_storage_proof/fixtures/storage_proof_fetcher.js +184 -0
  53. package/dest/e2e_storage_proof/fixtures/storage_proof_fixture.d.ts +18 -0
  54. package/dest/e2e_storage_proof/fixtures/storage_proof_fixture.d.ts.map +1 -0
  55. package/dest/e2e_storage_proof/fixtures/storage_proof_fixture.js +120 -0
  56. package/dest/e2e_token_contract/token_contract_test.d.ts +19 -10
  57. package/dest/e2e_token_contract/token_contract_test.d.ts.map +1 -1
  58. package/dest/e2e_token_contract/token_contract_test.js +100 -92
  59. package/dest/fixtures/authwit_proxy.d.ts +15 -0
  60. package/dest/fixtures/authwit_proxy.d.ts.map +1 -0
  61. package/dest/fixtures/authwit_proxy.js +34 -0
  62. package/dest/fixtures/e2e_prover_test.d.ts +16 -23
  63. package/dest/fixtures/e2e_prover_test.d.ts.map +1 -1
  64. package/dest/fixtures/e2e_prover_test.js +115 -139
  65. package/dest/fixtures/elu_monitor.d.ts +21 -0
  66. package/dest/fixtures/elu_monitor.d.ts.map +1 -0
  67. package/dest/fixtures/elu_monitor.js +102 -0
  68. package/dest/fixtures/fixtures.d.ts +17 -3
  69. package/dest/fixtures/fixtures.d.ts.map +1 -1
  70. package/dest/fixtures/fixtures.js +18 -3
  71. package/dest/fixtures/get_acvm_config.js +1 -1
  72. package/dest/fixtures/get_bb_config.d.ts +1 -1
  73. package/dest/fixtures/get_bb_config.d.ts.map +1 -1
  74. package/dest/fixtures/get_bb_config.js +5 -5
  75. package/dest/fixtures/ha_setup.d.ts +71 -0
  76. package/dest/fixtures/ha_setup.d.ts.map +1 -0
  77. package/dest/fixtures/ha_setup.js +116 -0
  78. package/dest/fixtures/index.d.ts +2 -1
  79. package/dest/fixtures/index.d.ts.map +1 -1
  80. package/dest/fixtures/index.js +1 -0
  81. package/dest/fixtures/l1_to_l2_messaging.d.ts +4 -3
  82. package/dest/fixtures/l1_to_l2_messaging.d.ts.map +1 -1
  83. package/dest/fixtures/l1_to_l2_messaging.js +2 -2
  84. package/dest/fixtures/schnorr_hardcoded_account_contract.d.ts +25 -0
  85. package/dest/fixtures/schnorr_hardcoded_account_contract.d.ts.map +1 -0
  86. package/dest/fixtures/schnorr_hardcoded_account_contract.js +39 -0
  87. package/dest/fixtures/setup.d.ts +246 -0
  88. package/dest/fixtures/setup.d.ts.map +1 -0
  89. package/dest/fixtures/setup.js +625 -0
  90. package/dest/fixtures/setup_p2p_test.d.ts +18 -11
  91. package/dest/fixtures/setup_p2p_test.d.ts.map +1 -1
  92. package/dest/fixtures/setup_p2p_test.js +46 -35
  93. package/dest/fixtures/token_utils.d.ts +2 -2
  94. package/dest/fixtures/token_utils.d.ts.map +1 -1
  95. package/dest/fixtures/token_utils.js +7 -6
  96. package/dest/fixtures/utils.d.ts +5 -637
  97. package/dest/fixtures/utils.d.ts.map +1 -1
  98. package/dest/fixtures/utils.js +4 -647
  99. package/dest/fixtures/web3signer.js +1 -1
  100. package/dest/fixtures/with_telemetry_utils.d.ts +2 -2
  101. package/dest/fixtures/with_telemetry_utils.d.ts.map +1 -1
  102. package/dest/fixtures/with_telemetry_utils.js +2 -2
  103. package/dest/forward-compatibility/wallet_rpc_client.d.ts +7 -0
  104. package/dest/forward-compatibility/wallet_rpc_client.d.ts.map +1 -0
  105. package/dest/forward-compatibility/wallet_rpc_client.js +15 -0
  106. package/dest/forward-compatibility/wallet_service.d.ts +3 -0
  107. package/dest/forward-compatibility/wallet_service.d.ts.map +1 -0
  108. package/dest/forward-compatibility/wallet_service.js +109 -0
  109. package/dest/legacy-jest-resolver.d.cts +3 -0
  110. package/dest/legacy-jest-resolver.d.cts.map +1 -0
  111. package/dest/quality_of_service/grafana_client.d.ts +41 -0
  112. package/dest/quality_of_service/grafana_client.d.ts.map +1 -0
  113. package/dest/quality_of_service/{alert_checker.js → grafana_client.js} +1 -1
  114. package/dest/quality_of_service/prometheus_client.d.ts +38 -0
  115. package/dest/quality_of_service/prometheus_client.d.ts.map +1 -0
  116. package/dest/quality_of_service/prometheus_client.js +67 -0
  117. package/dest/shared/cross_chain_test_harness.d.ts +18 -6
  118. package/dest/shared/cross_chain_test_harness.d.ts.map +1 -1
  119. package/dest/shared/cross_chain_test_harness.js +27 -27
  120. package/dest/shared/gas_portal_test_harness.d.ts +12 -2
  121. package/dest/shared/gas_portal_test_harness.d.ts.map +1 -1
  122. package/dest/shared/gas_portal_test_harness.js +4 -4
  123. package/dest/shared/index.d.ts +3 -2
  124. package/dest/shared/index.d.ts.map +1 -1
  125. package/dest/shared/index.js +1 -0
  126. package/dest/shared/jest_setup.js +41 -1
  127. package/dest/shared/mock_state_view.d.ts +86 -0
  128. package/dest/shared/mock_state_view.d.ts.map +1 -0
  129. package/dest/shared/mock_state_view.js +186 -0
  130. package/dest/shared/submit-transactions.d.ts +4 -4
  131. package/dest/shared/submit-transactions.d.ts.map +1 -1
  132. package/dest/shared/submit-transactions.js +9 -11
  133. package/dest/shared/uniswap_l1_l2.d.ts +3 -27
  134. package/dest/shared/uniswap_l1_l2.d.ts.map +1 -1
  135. package/dest/shared/uniswap_l1_l2.js +58 -43
  136. package/dest/simulators/lending_simulator.d.ts +6 -2
  137. package/dest/simulators/lending_simulator.d.ts.map +1 -1
  138. package/dest/simulators/lending_simulator.js +6 -6
  139. package/dest/simulators/token_simulator.d.ts +1 -1
  140. package/dest/simulators/token_simulator.d.ts.map +1 -1
  141. package/dest/simulators/token_simulator.js +3 -24
  142. package/dest/spartan/setup_test_wallets.d.ts +15 -5
  143. package/dest/spartan/setup_test_wallets.d.ts.map +1 -1
  144. package/dest/spartan/setup_test_wallets.js +132 -43
  145. package/dest/spartan/tx_metrics.d.ts +88 -0
  146. package/dest/spartan/tx_metrics.d.ts.map +1 -0
  147. package/dest/spartan/tx_metrics.js +438 -0
  148. package/dest/spartan/utils/bot.d.ts +28 -0
  149. package/dest/spartan/utils/bot.d.ts.map +1 -0
  150. package/dest/spartan/utils/bot.js +142 -0
  151. package/dest/spartan/utils/chaos.d.ts +79 -0
  152. package/dest/spartan/utils/chaos.d.ts.map +1 -0
  153. package/dest/spartan/utils/chaos.js +142 -0
  154. package/dest/spartan/utils/clients.d.ts +39 -0
  155. package/dest/spartan/utils/clients.d.ts.map +1 -0
  156. package/dest/spartan/utils/clients.js +90 -0
  157. package/dest/spartan/utils/config.d.ts +45 -0
  158. package/dest/spartan/utils/config.d.ts.map +1 -0
  159. package/dest/spartan/utils/config.js +23 -0
  160. package/dest/spartan/utils/health.d.ts +63 -0
  161. package/dest/spartan/utils/health.d.ts.map +1 -0
  162. package/dest/spartan/utils/health.js +202 -0
  163. package/dest/spartan/utils/helm.d.ts +15 -0
  164. package/dest/spartan/utils/helm.d.ts.map +1 -0
  165. package/dest/spartan/utils/helm.js +47 -0
  166. package/dest/spartan/utils/index.d.ts +11 -0
  167. package/dest/spartan/utils/index.d.ts.map +1 -0
  168. package/dest/spartan/utils/index.js +22 -0
  169. package/dest/spartan/utils/k8s.d.ts +128 -0
  170. package/dest/spartan/utils/k8s.d.ts.map +1 -0
  171. package/dest/spartan/utils/k8s.js +381 -0
  172. package/dest/spartan/utils/nodes.d.ts +40 -0
  173. package/dest/spartan/utils/nodes.d.ts.map +1 -0
  174. package/dest/spartan/utils/nodes.js +461 -0
  175. package/dest/spartan/utils/pod_logs.d.ts +25 -0
  176. package/dest/spartan/utils/pod_logs.d.ts.map +1 -0
  177. package/dest/spartan/utils/pod_logs.js +74 -0
  178. package/dest/spartan/utils/scripts.d.ts +30 -0
  179. package/dest/spartan/utils/scripts.d.ts.map +1 -0
  180. package/dest/spartan/utils/scripts.js +81 -0
  181. package/dest/spartan/utils.d.ts +2 -220
  182. package/dest/spartan/utils.d.ts.map +1 -1
  183. package/dest/spartan/utils.js +1 -782
  184. package/dest/test-wallet/test_wallet.d.ts +84 -0
  185. package/dest/test-wallet/test_wallet.d.ts.map +1 -0
  186. package/dest/test-wallet/test_wallet.js +255 -0
  187. package/dest/test-wallet/utils.d.ts +41 -0
  188. package/dest/test-wallet/utils.d.ts.map +1 -0
  189. package/dest/test-wallet/utils.js +71 -0
  190. package/dest/test-wallet/wallet_worker_script.d.ts +2 -0
  191. package/dest/test-wallet/wallet_worker_script.d.ts.map +1 -0
  192. package/dest/test-wallet/wallet_worker_script.js +48 -0
  193. package/dest/test-wallet/worker_wallet.d.ts +52 -0
  194. package/dest/test-wallet/worker_wallet.d.ts.map +1 -0
  195. package/dest/test-wallet/worker_wallet.js +151 -0
  196. package/dest/test-wallet/worker_wallet_schema.d.ts +279 -0
  197. package/dest/test-wallet/worker_wallet_schema.d.ts.map +1 -0
  198. package/dest/test-wallet/worker_wallet_schema.js +10 -0
  199. package/package.json +49 -45
  200. package/src/bench/client_flows/benchmark.ts +24 -2
  201. package/src/bench/client_flows/client_flows_benchmark.ts +166 -216
  202. package/src/bench/client_flows/config.ts +9 -1
  203. package/src/bench/client_flows/data_extractor.ts +1 -1
  204. package/src/bench/utils.ts +36 -21
  205. package/src/e2e_blacklist_token_contract/blacklist_token_contract_test.ts +123 -151
  206. package/src/e2e_cross_chain_messaging/cross_chain_messaging_test.ts +140 -126
  207. package/src/e2e_deploy_contract/deploy_test.ts +22 -15
  208. package/src/e2e_epochs/epochs_test.ts +222 -112
  209. package/src/e2e_fees/bridging_race.notest.ts +5 -11
  210. package/src/e2e_fees/fees_test.ts +182 -230
  211. package/src/e2e_l1_publisher/write_json.ts +16 -16
  212. package/src/e2e_multi_validator/utils.ts +1 -1
  213. package/src/e2e_nested_contract/nested_contract_test.ts +35 -56
  214. package/src/e2e_p2p/inactivity_slash_test.ts +10 -13
  215. package/src/e2e_p2p/p2p_network.ts +245 -204
  216. package/src/e2e_p2p/reqresp/utils.ts +257 -0
  217. package/src/e2e_p2p/shared.ts +111 -81
  218. package/src/e2e_storage_proof/fixtures/storage_proof.json +915 -0
  219. package/src/e2e_storage_proof/fixtures/storage_proof_fetcher.ts +190 -0
  220. package/src/e2e_storage_proof/fixtures/storage_proof_fixture.ts +173 -0
  221. package/src/e2e_token_contract/token_contract_test.ts +121 -119
  222. package/src/fixtures/authwit_proxy.ts +54 -0
  223. package/src/fixtures/dumps/epoch_proof_result.json +1 -1
  224. package/src/fixtures/e2e_prover_test.ts +143 -189
  225. package/src/fixtures/elu_monitor.ts +126 -0
  226. package/src/fixtures/fixtures.ts +34 -5
  227. package/src/fixtures/get_acvm_config.ts +1 -1
  228. package/src/fixtures/get_bb_config.ts +7 -6
  229. package/src/fixtures/ha_setup.ts +188 -0
  230. package/src/fixtures/index.ts +1 -0
  231. package/src/fixtures/l1_to_l2_messaging.ts +4 -2
  232. package/src/fixtures/schnorr_hardcoded_account_contract.ts +49 -0
  233. package/src/fixtures/setup.ts +932 -0
  234. package/src/fixtures/setup_p2p_test.ts +51 -55
  235. package/src/fixtures/token_utils.ts +7 -6
  236. package/src/fixtures/utils.ts +27 -966
  237. package/src/fixtures/web3signer.ts +1 -1
  238. package/src/fixtures/with_telemetry_utils.ts +2 -2
  239. package/src/forward-compatibility/wallet_rpc_client.ts +14 -0
  240. package/src/forward-compatibility/wallet_service.ts +104 -0
  241. package/src/guides/up_quick_start.sh +3 -5
  242. package/src/legacy-jest-resolver.cjs +135 -0
  243. package/src/quality_of_service/{alert_checker.ts → grafana_client.ts} +1 -1
  244. package/src/quality_of_service/prometheus_client.ts +113 -0
  245. package/src/shared/cross_chain_test_harness.ts +30 -43
  246. package/src/shared/gas_portal_test_harness.ts +3 -4
  247. package/src/shared/index.ts +2 -1
  248. package/src/shared/jest_setup.ts +51 -1
  249. package/src/shared/mock_state_view.ts +188 -0
  250. package/src/shared/submit-transactions.ts +11 -16
  251. package/src/shared/uniswap_l1_l2.ts +86 -106
  252. package/src/simulators/lending_simulator.ts +11 -7
  253. package/src/simulators/token_simulator.ts +6 -30
  254. package/src/spartan/DEVELOP.md +7 -0
  255. package/src/spartan/setup_test_wallets.ts +192 -28
  256. package/src/spartan/tx_metrics.ts +388 -0
  257. package/src/spartan/utils/bot.ts +188 -0
  258. package/src/spartan/utils/chaos.ts +253 -0
  259. package/src/spartan/utils/clients.ts +100 -0
  260. package/src/spartan/utils/config.ts +29 -0
  261. package/src/spartan/utils/health.ts +255 -0
  262. package/src/spartan/utils/helm.ts +84 -0
  263. package/src/spartan/utils/index.ts +71 -0
  264. package/src/spartan/utils/k8s.ts +535 -0
  265. package/src/spartan/utils/nodes.ts +543 -0
  266. package/src/spartan/utils/pod_logs.ts +99 -0
  267. package/src/spartan/utils/scripts.ts +99 -0
  268. package/src/spartan/utils.ts +1 -982
  269. package/src/test-wallet/test_wallet.ts +357 -0
  270. package/src/test-wallet/utils.ts +112 -0
  271. package/src/test-wallet/wallet_worker_script.ts +60 -0
  272. package/src/test-wallet/worker_wallet.ts +214 -0
  273. package/src/test-wallet/worker_wallet_schema.ts +13 -0
  274. package/dest/fixtures/setup_l1_contracts.d.ts +0 -477
  275. package/dest/fixtures/setup_l1_contracts.d.ts.map +0 -1
  276. package/dest/fixtures/setup_l1_contracts.js +0 -17
  277. package/dest/fixtures/snapshot_manager.d.ts +0 -95
  278. package/dest/fixtures/snapshot_manager.d.ts.map +0 -1
  279. package/dest/fixtures/snapshot_manager.js +0 -505
  280. package/dest/quality_of_service/alert_checker.d.ts +0 -41
  281. package/dest/quality_of_service/alert_checker.d.ts.map +0 -1
  282. package/src/fixtures/setup_l1_contracts.ts +0 -26
  283. package/src/fixtures/snapshot_manager.ts +0 -665
@@ -1,28 +1,28 @@
1
1
  import { AztecAddress, EthAddress } from '@aztec/aztec.js/addresses';
2
2
  import { computeAuthWitMessageHash } from '@aztec/aztec.js/authorization';
3
+ import { waitForProven } from '@aztec/aztec.js/contracts';
3
4
  import { generateClaimSecret } from '@aztec/aztec.js/ethereum';
4
5
  import { Fr } from '@aztec/aztec.js/fields';
5
6
  import type { Logger } from '@aztec/aztec.js/log';
6
7
  import type { AztecNode } from '@aztec/aztec.js/node';
7
8
  import { CheatCodes } from '@aztec/aztec/testing';
8
- import {
9
- type DeployL1ContractsReturnType,
10
- type ExtendedViemWalletClient,
11
- RollupContract,
12
- deployL1Contract,
13
- extractEvent,
14
- } from '@aztec/ethereum';
15
- import { sha256ToField } from '@aztec/foundation/crypto';
9
+ import { RollupContract } from '@aztec/ethereum/contracts';
10
+ import type { DeployAztecL1ContractsReturnType } from '@aztec/ethereum/deploy-aztec-l1-contracts';
11
+ import { deployL1Contract } from '@aztec/ethereum/deploy-l1-contract';
12
+ import type { ExtendedViemWalletClient } from '@aztec/ethereum/types';
13
+ import { extractEvent } from '@aztec/ethereum/utils';
14
+ import { EpochNumber } from '@aztec/foundation/branded-types';
15
+ import { sha256ToField } from '@aztec/foundation/crypto/sha256';
16
16
  import { InboxAbi, UniswapPortalAbi, UniswapPortalBytecode } from '@aztec/l1-artifacts';
17
17
  import { UniswapContract } from '@aztec/noir-contracts.js/Uniswap';
18
18
  import { computeL2ToL1MessageHash } from '@aztec/stdlib/hash';
19
19
  import { computeL2ToL1MembershipWitness } from '@aztec/stdlib/messaging';
20
- import type { TestWallet } from '@aztec/test-wallet/server';
21
20
 
22
21
  import { jest } from '@jest/globals';
23
22
  import { type GetContractReturnType, getContract, parseEther, toFunctionSelector } from 'viem';
24
23
 
25
- import { ensureAccountContractsPublished } from '../fixtures/utils.js';
24
+ import { type EndToEndContext, ensureAccountContractsPublished } from '../fixtures/utils.js';
25
+ import type { TestWallet } from '../test-wallet/test_wallet.js';
26
26
  import { CrossChainTestHarness } from './cross_chain_test_harness.js';
27
27
 
28
28
  // PSA: This tests works on forked mainnet. There is a dump of the data in `dumpedState` such that we
@@ -34,28 +34,8 @@ import { CrossChainTestHarness } from './cross_chain_test_harness.js';
34
34
 
35
35
  const TIMEOUT = 360_000;
36
36
 
37
- /** Objects to be returned by the uniswap setup function */
38
- export type UniswapSetupContext = {
39
- /** Aztec Node instance */
40
- aztecNode: AztecNode;
41
- /** Logger instance named as the current test. */
42
- logger: Logger;
43
- /** The L1 wallet client, extended with public actions. */
44
- l1Client: ExtendedViemWalletClient;
45
- /** The wallet. */
46
- wallet: TestWallet;
47
- /** The owner address. */
48
- ownerAddress: AztecAddress;
49
- /** The sponsor wallet. */
50
- sponsorAddress: AztecAddress;
51
- /** */
52
- deployL1ContractsValues: DeployL1ContractsReturnType;
53
- /** Cheat codes instance. */
54
- cheatCodes: CheatCodes;
55
- };
56
-
57
37
  export const uniswapL1L2TestSuite = (
58
- setup: () => Promise<UniswapSetupContext>,
38
+ setup: () => Promise<EndToEndContext>,
59
39
  cleanup: () => Promise<void>,
60
40
  expectedForkBlockNumber = 17514288,
61
41
  ) => {
@@ -79,7 +59,7 @@ export const uniswapL1L2TestSuite = (
79
59
  let daiCrossChainHarness: CrossChainTestHarness;
80
60
  let wethCrossChainHarness: CrossChainTestHarness;
81
61
 
82
- let deployL1ContractsValues: DeployL1ContractsReturnType;
62
+ let deployL1ContractsValues: DeployAztecL1ContractsReturnType;
83
63
  let rollup: RollupContract;
84
64
  let uniswapPortal: GetContractReturnType<typeof UniswapPortalAbi, ExtendedViemWalletClient>;
85
65
  let uniswapPortalAddress: EthAddress;
@@ -92,8 +72,19 @@ export const uniswapL1L2TestSuite = (
92
72
  let cheatCodes: CheatCodes;
93
73
  let version: number;
94
74
  beforeAll(async () => {
95
- ({ aztecNode, logger, l1Client, wallet, ownerAddress, sponsorAddress, deployL1ContractsValues, cheatCodes } =
96
- await setup());
75
+ const t = await setup();
76
+ ({
77
+ aztecNode,
78
+ logger,
79
+ deployL1ContractsValues,
80
+ cheatCodes,
81
+ wallet,
82
+ accounts: [ownerAddress, sponsorAddress],
83
+ } = t);
84
+
85
+ l1Client = deployL1ContractsValues.l1Client;
86
+
87
+ t.watcher.setIsMarkingAsProven(false);
97
88
 
98
89
  if (Number(await l1Client.getBlockNumber()) < expectedForkBlockNumber) {
99
90
  throw new Error('This test must be run on a fork of mainnet with the expected fork block');
@@ -139,9 +130,9 @@ export const uniswapL1L2TestSuite = (
139
130
  client: l1Client,
140
131
  });
141
132
  // deploy l2 uniswap contract and attach to portal
142
- uniswapL2Contract = await UniswapContract.deploy(wallet, uniswapPortalAddress)
143
- .send({ from: ownerAddress })
144
- .deployed();
133
+ ({ contract: uniswapL2Contract } = await UniswapContract.deploy(wallet, uniswapPortalAddress).send({
134
+ from: ownerAddress,
135
+ }));
145
136
 
146
137
  const registryAddress = (await aztecNode.getNodeInfo()).l1ContractAddresses.registryAddress;
147
138
 
@@ -163,7 +154,6 @@ export const uniswapL1L2TestSuite = (
163
154
  await cleanup();
164
155
  });
165
156
 
166
- // docs:start:uniswap_private
167
157
  it('should uniswap trade on L1 from L2 funds privately (swaps WETH -> DAI)', async () => {
168
158
  const wethL1BeforeBalance = await wethCrossChainHarness.getL1BalanceOf(ownerEthAddress);
169
159
 
@@ -206,7 +196,7 @@ export const uniswapL1L2TestSuite = (
206
196
  logger.info('Withdrawing weth to L1 and sending message to swap to dai');
207
197
  const [secretForDepositingSwappedDai, secretHashForDepositingSwappedDai] = await generateClaimSecret();
208
198
 
209
- const l2UniswapInteractionReceipt = await uniswapL2Contract.methods
199
+ const { receipt: l2UniswapInteractionReceipt } = await uniswapL2Contract.methods
210
200
  .swap_private(
211
201
  wethCrossChainHarness.l2Token.address,
212
202
  wethCrossChainHarness.l2Bridge.address,
@@ -218,8 +208,7 @@ export const uniswapL1L2TestSuite = (
218
208
  secretHashForDepositingSwappedDai,
219
209
  ownerEthAddress,
220
210
  )
221
- .send({ from: ownerAddress, authWitnesses: [transferToPublicAuhtwit] })
222
- .wait();
211
+ .send({ from: ownerAddress, authWitnesses: [transferToPublicAuhtwit] });
223
212
 
224
213
  const swapPrivateFunction = 'swap_private(address,uint256,uint24,address,uint256,bytes32,address)';
225
214
  const swapPrivateContent = sha256ToField([
@@ -261,33 +250,35 @@ export const uniswapL1L2TestSuite = (
261
250
  // ensure that uniswap contract didn't eat the funds.
262
251
  await wethCrossChainHarness.expectPublicBalanceOnL2(uniswapL2Contract.address, 0n);
263
252
 
264
- // Since the outbox is only consumable when the block is proven, we need to set the block to be proven
265
- await cheatCodes.rollup.markAsProven(await rollup.getCheckpointNumber());
253
+ // Since the outbox is only consumable when the epoch is proven, we need to advance to the next epoch.
254
+ const swapResult = (await computeL2ToL1MembershipWitness(
255
+ aztecNode,
256
+ swapPrivateLeaf,
257
+ l2UniswapInteractionReceipt.txHash,
258
+ ))!;
259
+ const { epochNumber: epoch } = swapResult;
260
+ await cheatCodes.rollup.advanceToEpoch(EpochNumber(epoch + 1));
261
+ await waitForProven(aztecNode, l2UniswapInteractionReceipt, { provenTimeout: 300 });
266
262
 
267
263
  // 5. Consume L2 to L1 message by calling uniswapPortal.swap_private()
268
264
  logger.info('Execute withdraw and swap on the uniswapPortal!');
269
265
  const daiL1BalanceOfPortalBeforeSwap = await daiCrossChainHarness.getL1BalanceOf(
270
266
  daiCrossChainHarness.tokenPortalAddress,
271
267
  );
272
- const swapResult = await computeL2ToL1MembershipWitness(
268
+ const withdrawResult = (await computeL2ToL1MembershipWitness(
273
269
  aztecNode,
274
- l2UniswapInteractionReceipt.blockNumber!,
275
- swapPrivateLeaf,
276
- );
277
- const withdrawResult = await computeL2ToL1MembershipWitness(
278
- aztecNode,
279
- l2UniswapInteractionReceipt.blockNumber!,
280
270
  withdrawLeaf,
281
- );
271
+ l2UniswapInteractionReceipt.txHash,
272
+ ))!;
282
273
 
283
- const swapPrivateL2MessageIndex = swapResult!.leafIndex;
284
- const swapPrivateSiblingPath = swapResult!.siblingPath;
274
+ const swapPrivateL2MessageIndex = swapResult.leafIndex;
275
+ const swapPrivateSiblingPath = swapResult.siblingPath;
285
276
 
286
- const withdrawL2MessageIndex = withdrawResult!.leafIndex;
287
- const withdrawSiblingPath = withdrawResult!.siblingPath;
277
+ const withdrawL2MessageIndex = withdrawResult.leafIndex;
278
+ const withdrawSiblingPath = withdrawResult.siblingPath;
288
279
 
289
280
  const withdrawMessageMetadata = {
290
- _checkpointNumber: BigInt(l2UniswapInteractionReceipt.blockNumber!),
281
+ _epoch: BigInt(epoch),
291
282
  _leafIndex: BigInt(withdrawL2MessageIndex),
292
283
  _path: withdrawSiblingPath
293
284
  .toBufferArray()
@@ -295,7 +286,7 @@ export const uniswapL1L2TestSuite = (
295
286
  };
296
287
 
297
288
  const swapPrivateMessageMetadata = {
298
- _checkpointNumber: BigInt(l2UniswapInteractionReceipt.blockNumber!),
289
+ _epoch: BigInt(epoch),
299
290
  _leafIndex: BigInt(swapPrivateL2MessageIndex),
300
291
  _path: swapPrivateSiblingPath
301
292
  .toBufferArray()
@@ -353,10 +344,8 @@ export const uniswapL1L2TestSuite = (
353
344
  logger.info('WETH balance after swap : ', wethL2BalanceAfterSwap.toString());
354
345
  logger.info('DAI balance after swap : ', daiL2BalanceAfterSwap.toString());
355
346
  });
356
- // docs:end:uniswap_private
357
347
 
358
348
  // TODO(#7463): reenable look into this failure https://github.com/AztecProtocol/aztec-packages/actions/runs/9912612912/job/27388320150?pr=7462
359
- // // docs:start:uniswap_public
360
349
  // it('should uniswap trade on L1 from L2 funds publicly (swaps WETH -> DAI)', async () => {
361
350
  // const wethL1BeforeBalance = await wethCrossChainHarness.getL1BalanceOf(ownerEthAddress);
362
351
 
@@ -442,10 +431,10 @@ export const uniswapL1L2TestSuite = (
442
431
  // ownerEthAddress,
443
432
  // nonceForSwap,
444
433
  // );
445
- // await ownerWallet.setPublicAuthWit({ caller: sponsorAddress, action }, true).send().wait();
434
+ // await ownerWallet.setPublicAuthWit({ caller: sponsorAddress, action }, true).send();
446
435
 
447
436
  // // 4.2 Call swap_public from user2 on behalf of owner
448
- // const uniswapL2Interaction = await action.send().wait();
437
+ // const uniswapL2Interaction = await action.send();
449
438
 
450
439
  // const swapPublicContent = sha256ToField([
451
440
  // Buffer.from(
@@ -506,7 +495,7 @@ export const uniswapL1L2TestSuite = (
506
495
  // );
507
496
 
508
497
  // const withdrawMessageMetadata = {
509
- // _checkpointNumber: BigInt(uniswapL2Interaction.blockNumber!),
498
+ // _epoch: epoch,
510
499
  // _leafIndex: BigInt(withdrawL2MessageIndex),
511
500
  // _path: withdrawSiblingPath
512
501
  // .toBufferArray()
@@ -514,7 +503,7 @@ export const uniswapL1L2TestSuite = (
514
503
  // };
515
504
 
516
505
  // const swapPrivateMessageMetadata = {
517
- // _checkpointNumber: BigInt(uniswapL2Interaction.blockNumber!),
506
+ // _epoch: epoch,
518
507
  // _leafIndex: BigInt(swapPrivateL2MessageIndex),
519
508
  // _path: swapPrivateSiblingPath
520
509
  // .toBufferArray()
@@ -589,7 +578,6 @@ export const uniswapL1L2TestSuite = (
589
578
  // logger.info('WETH balance after swap : ', wethL2BalanceAfterSwap.toString());
590
579
  // logger.info('DAI balance after swap : ', daiL2BalanceAfterSwap.toString());
591
580
  // });
592
- // // docs:end:uniswap_public
593
581
 
594
582
  // Edge cases for the private flow:
595
583
  // note - tests for uniswapPortal.sol and minting asset on L2 are covered in other tests.
@@ -663,8 +651,7 @@ export const uniswapL1L2TestSuite = (
663
651
  Fr.random(),
664
652
  ownerEthAddress,
665
653
  )
666
- .send({ from: ownerAddress, authWitnesses: [transferToPublicAuthwith] })
667
- .wait(),
654
+ .send({ from: ownerAddress, authWitnesses: [transferToPublicAuthwith] }),
668
655
  ).rejects.toThrow('Assertion failed: input_asset address is not the same as seen in the bridge contract');
669
656
  });
670
657
 
@@ -689,7 +676,7 @@ export const uniswapL1L2TestSuite = (
689
676
  },
690
677
  true,
691
678
  );
692
- await validateActionInteraction.send().wait();
679
+ await validateActionInteraction.send();
693
680
 
694
681
  // No approval to call `swap` but should work even without it:
695
682
  const [_, secretHashForDepositingSwappedDai] = await generateClaimSecret();
@@ -708,8 +695,7 @@ export const uniswapL1L2TestSuite = (
708
695
  ownerEthAddress,
709
696
  Fr.ZERO, // nonce for swap -> doesn't matter
710
697
  )
711
- .send({ from: ownerAddress })
712
- .wait();
698
+ .send({ from: ownerAddress });
713
699
  // check weth balance of owner on L2 (we first bridged `wethAmountToBridge` into L2 and now withdrew it!)
714
700
  await wethCrossChainHarness.expectPublicBalanceOnL2(ownerAddress, 0n);
715
701
  });
@@ -739,7 +725,7 @@ export const uniswapL1L2TestSuite = (
739
725
  { caller: approvedUser, action },
740
726
  true,
741
727
  );
742
- await validateActionInteraction.send().wait();
728
+ await validateActionInteraction.send();
743
729
 
744
730
  await expect(action.simulate({ from: sponsorAddress })).rejects.toThrow(/unauthorized/);
745
731
  });
@@ -761,7 +747,7 @@ export const uniswapL1L2TestSuite = (
761
747
  },
762
748
  true,
763
749
  );
764
- await validateActionInteraction.send().wait();
750
+ await validateActionInteraction.send();
765
751
 
766
752
  await expect(
767
753
  uniswapL2Contract.methods
@@ -806,7 +792,7 @@ export const uniswapL1L2TestSuite = (
806
792
  logger.info('Withdrawing weth to L1 and sending message to swap to dai');
807
793
 
808
794
  const [, secretHashForDepositingSwappedDai] = await generateClaimSecret();
809
- const withdrawReceipt = await uniswapL2Contract.methods
795
+ const { receipt: withdrawReceipt } = await uniswapL2Contract.methods
810
796
  .swap_private(
811
797
  wethCrossChainHarness.l2Token.address,
812
798
  wethCrossChainHarness.l2Bridge.address,
@@ -818,8 +804,7 @@ export const uniswapL1L2TestSuite = (
818
804
  secretHashForDepositingSwappedDai,
819
805
  ownerEthAddress,
820
806
  )
821
- .send({ from: ownerAddress, authWitnesses: [transferToPublicAuhtwit] })
822
- .wait();
807
+ .send({ from: ownerAddress, authWitnesses: [transferToPublicAuhtwit] });
823
808
 
824
809
  const swapPrivateContent = sha256ToField([
825
810
  Buffer.from(
@@ -858,21 +843,18 @@ export const uniswapL1L2TestSuite = (
858
843
  chainId: new Fr(l1Client.chain.id),
859
844
  });
860
845
 
861
- const swapResult = await computeL2ToL1MembershipWitness(aztecNode, withdrawReceipt.blockNumber!, swapPrivateLeaf);
862
- const withdrawResult = await computeL2ToL1MembershipWitness(
863
- aztecNode,
864
- withdrawReceipt.blockNumber!,
865
- withdrawLeaf,
866
- );
846
+ const swapResult = (await computeL2ToL1MembershipWitness(aztecNode, swapPrivateLeaf, withdrawReceipt.txHash))!;
847
+ const { epochNumber: epoch } = swapResult;
848
+ const withdrawResult = (await computeL2ToL1MembershipWitness(aztecNode, withdrawLeaf, withdrawReceipt.txHash))!;
867
849
 
868
- const swapPrivateL2MessageIndex = swapResult!.leafIndex;
869
- const swapPrivateSiblingPath = swapResult!.siblingPath;
850
+ const swapPrivateL2MessageIndex = swapResult.leafIndex;
851
+ const swapPrivateSiblingPath = swapResult.siblingPath;
870
852
 
871
- const withdrawL2MessageIndex = withdrawResult!.leafIndex;
872
- const withdrawSiblingPath = withdrawResult!.siblingPath;
853
+ const withdrawL2MessageIndex = withdrawResult.leafIndex;
854
+ const withdrawSiblingPath = withdrawResult.siblingPath;
873
855
 
874
856
  const withdrawMessageMetadata = {
875
- _checkpointNumber: BigInt(withdrawReceipt.blockNumber!),
857
+ _epoch: BigInt(epoch),
876
858
  _leafIndex: BigInt(withdrawL2MessageIndex),
877
859
  _path: withdrawSiblingPath
878
860
  .toBufferArray()
@@ -880,7 +862,7 @@ export const uniswapL1L2TestSuite = (
880
862
  };
881
863
 
882
864
  const swapPrivateMessageMetadata = {
883
- _checkpointNumber: BigInt(withdrawReceipt.blockNumber!),
865
+ _epoch: BigInt(epoch),
884
866
  _leafIndex: BigInt(swapPrivateL2MessageIndex),
885
867
  _path: swapPrivateSiblingPath
886
868
  .toBufferArray()
@@ -890,8 +872,9 @@ export const uniswapL1L2TestSuite = (
890
872
  // ensure that user's funds were burnt
891
873
  await wethCrossChainHarness.expectPrivateBalanceOnL2(ownerAddress, wethL2BalanceBeforeSwap - wethAmountToBridge);
892
874
 
893
- // Since the outbox is only consumable when the block is proven, we need to set the block to be proven
894
- await cheatCodes.rollup.markAsProven(await rollup.getCheckpointNumber());
875
+ // Since the outbox is only consumable when the epoch is proven, we need to advance to the next epoch.
876
+ await cheatCodes.rollup.advanceToEpoch(EpochNumber(epoch + 1));
877
+ await waitForProven(aztecNode, withdrawReceipt, { provenTimeout: 300 });
895
878
 
896
879
  // On L1 call swap_public!
897
880
  logger.info('call swap_public on L1');
@@ -932,11 +915,11 @@ export const uniswapL1L2TestSuite = (
932
915
  },
933
916
  true,
934
917
  );
935
- await validateActionInteraction.send().wait();
918
+ await validateActionInteraction.send();
936
919
 
937
920
  // Call swap_public on L2
938
921
  const secretHashForDepositingSwappedDai = Fr.random();
939
- const withdrawReceipt = await uniswapL2Contract.methods
922
+ const { receipt: withdrawReceipt } = await uniswapL2Contract.methods
940
923
  .swap_public(
941
924
  ownerAddress,
942
925
  wethCrossChainHarness.l2Bridge.address,
@@ -950,8 +933,7 @@ export const uniswapL1L2TestSuite = (
950
933
  ownerEthAddress,
951
934
  Fr.ZERO,
952
935
  )
953
- .send({ from: ownerAddress })
954
- .wait();
936
+ .send({ from: ownerAddress });
955
937
 
956
938
  const swapPublicContent = sha256ToField([
957
939
  Buffer.from(
@@ -993,21 +975,18 @@ export const uniswapL1L2TestSuite = (
993
975
  chainId: new Fr(l1Client.chain.id),
994
976
  });
995
977
 
996
- const swapResult = await computeL2ToL1MembershipWitness(aztecNode, withdrawReceipt.blockNumber!, swapPublicLeaf);
997
- const withdrawResult = await computeL2ToL1MembershipWitness(
998
- aztecNode,
999
- withdrawReceipt.blockNumber!,
1000
- withdrawLeaf,
1001
- );
978
+ const swapResult = (await computeL2ToL1MembershipWitness(aztecNode, swapPublicLeaf, withdrawReceipt.txHash))!;
979
+ const { epochNumber: epoch } = swapResult;
980
+ const withdrawResult = (await computeL2ToL1MembershipWitness(aztecNode, withdrawLeaf, withdrawReceipt.txHash))!;
1002
981
 
1003
- const swapPublicL2MessageIndex = swapResult!.leafIndex;
1004
- const swapPublicSiblingPath = swapResult!.siblingPath;
982
+ const swapPublicL2MessageIndex = swapResult.leafIndex;
983
+ const swapPublicSiblingPath = swapResult.siblingPath;
1005
984
 
1006
- const withdrawL2MessageIndex = withdrawResult!.leafIndex;
1007
- const withdrawSiblingPath = withdrawResult!.siblingPath;
985
+ const withdrawL2MessageIndex = withdrawResult.leafIndex;
986
+ const withdrawSiblingPath = withdrawResult.siblingPath;
1008
987
 
1009
988
  const withdrawMessageMetadata = {
1010
- _checkpointNumber: BigInt(withdrawReceipt.blockNumber!),
989
+ _epoch: BigInt(epoch),
1011
990
  _leafIndex: BigInt(withdrawL2MessageIndex),
1012
991
  _path: withdrawSiblingPath
1013
992
  .toBufferArray()
@@ -1015,7 +994,7 @@ export const uniswapL1L2TestSuite = (
1015
994
  };
1016
995
 
1017
996
  const swapPublicMessageMetadata = {
1018
- _checkpointNumber: BigInt(withdrawReceipt.blockNumber!),
997
+ _epoch: BigInt(epoch),
1019
998
  _leafIndex: BigInt(swapPublicL2MessageIndex),
1020
999
  _path: swapPublicSiblingPath
1021
1000
  .toBufferArray()
@@ -1025,8 +1004,9 @@ export const uniswapL1L2TestSuite = (
1025
1004
  // check weth balance of owner on L2 (we first bridged `wethAmountToBridge` into L2 and now withdrew it!)
1026
1005
  await wethCrossChainHarness.expectPublicBalanceOnL2(ownerAddress, 0n);
1027
1006
 
1028
- // Since the outbox is only consumable when the block is proven, we need to set the block to be proven
1029
- await cheatCodes.rollup.markAsProven(await rollup.getCheckpointNumber());
1007
+ // Since the outbox is only consumable when the epoch is proven, we need to advance to the next epoch.
1008
+ await cheatCodes.rollup.advanceToEpoch(EpochNumber(epoch + 1));
1009
+ await waitForProven(aztecNode, withdrawReceipt, { provenTimeout: 300 });
1030
1010
 
1031
1011
  // Call swap_private on L1
1032
1012
  logger.info('Execute withdraw and swap on the uniswapPortal!');
@@ -2,9 +2,9 @@
2
2
  import { AztecAddress } from '@aztec/aztec.js/addresses';
3
3
  import { Fr } from '@aztec/aztec.js/fields';
4
4
  import { CheatCodes } from '@aztec/aztec/testing';
5
- import type { RollupContract } from '@aztec/ethereum';
5
+ import type { RollupContract } from '@aztec/ethereum/contracts';
6
6
  import { SlotNumber } from '@aztec/foundation/branded-types';
7
- import { pedersenHash } from '@aztec/foundation/crypto';
7
+ import { poseidon2Hash } from '@aztec/foundation/crypto/poseidon';
8
8
  import type { TestDateProvider } from '@aztec/foundation/timer';
9
9
  import type { LendingContract } from '@aztec/noir-contracts.js/Lending';
10
10
 
@@ -29,7 +29,7 @@ export class LendingAccount {
29
29
  * @returns Key in public space
30
30
  */
31
31
  public key() {
32
- return pedersenHash([this.address, this.secret]);
32
+ return poseidon2Hash([this.address, this.secret]);
33
33
  }
34
34
  }
35
35
 
@@ -94,7 +94,9 @@ export class LendingSimulator {
94
94
 
95
95
  async prepare() {
96
96
  this.accumulator = BASE;
97
- const slot = await this.rollup.getSlotAt(BigInt(await this.cc.eth.timestamp()) + BigInt(this.ethereumSlotDuration));
97
+ const slot = await this.rollup.getSlotAt(
98
+ BigInt(await this.cc.eth.lastBlockTimestamp()) + BigInt(this.ethereumSlotDuration),
99
+ );
98
100
  this.time = Number(await this.rollup.getTimestampForSlot(slot));
99
101
  }
100
102
 
@@ -103,7 +105,7 @@ export class LendingSimulator {
103
105
  return;
104
106
  }
105
107
 
106
- const slot = await this.rollup.getSlotAt(BigInt(await this.cc.eth.timestamp()));
108
+ const slot = await this.rollup.getSlotAt(BigInt(await this.cc.eth.lastBlockTimestamp()));
107
109
  const targetSlot = SlotNumber(slot + diff);
108
110
  const ts = Number(await this.rollup.getTimestampForSlot(targetSlot));
109
111
  const timeDiff = ts - this.time;
@@ -186,14 +188,16 @@ export class LendingSimulator {
186
188
 
187
189
  expect(this.borrowed).toEqual(this.stableCoin.totalSupply - this.mintedOutside);
188
190
 
189
- const asset = await this.lendingContract.methods.get_asset(0).simulate({ from: this.account.address });
191
+ const { result: asset } = await this.lendingContract.methods.get_asset(0).simulate({ from: this.account.address });
190
192
 
191
193
  const interestAccumulator = asset['interest_accumulator'];
192
194
  expect(interestAccumulator).toEqual(this.accumulator);
193
195
  expect(asset['last_updated_ts']).toEqual(BigInt(this.time));
194
196
 
195
197
  for (const key of [this.account.address, AztecAddress.fromField(await this.account.key())]) {
196
- const privatePos = await this.lendingContract.methods.get_position(key).simulate({ from: this.account.address });
198
+ const { result: privatePos } = await this.lendingContract.methods
199
+ .get_position(key)
200
+ .simulate({ from: this.account.address });
197
201
  expect(new Fr(privatePos['collateral'])).toEqual(this.collateral[key.toString()] ?? Fr.ZERO);
198
202
  expect(new Fr(privatePos['static_debt'])).toEqual(this.staticDebt[key.toString()] ?? Fr.ZERO);
199
203
  expect(privatePos['debt']).toEqual(
@@ -109,7 +109,9 @@ export class TokenSimulator {
109
109
  await Promise.all(
110
110
  chunk(calls, 5).map(batch => new BatchCall(this.defaultWallet, batch).simulate({ from: this.defaultAddress })),
111
111
  )
112
- ).flat();
112
+ )
113
+ .flatMap(r => r.result)
114
+ .map(r => r.result);
113
115
  expect(results[0]).toEqual(this.totalSupply);
114
116
 
115
117
  // Check that all our balances match
@@ -119,39 +121,13 @@ export class TokenSimulator {
119
121
  }
120
122
 
121
123
  async checkPrivate() {
122
- // Private calls
123
- const defaultLookups = [];
124
- const nonDefaultLookups = [];
125
-
126
124
  for (const address of this.accounts) {
127
- if (this.lookupProvider.has(address.toString())) {
128
- nonDefaultLookups.push(address);
129
- } else {
130
- defaultLookups.push(address);
131
- }
132
- }
133
-
134
- const defaultCalls = defaultLookups.map(address => this.token.methods.balance_of_private(address));
135
- const results = (
136
- await Promise.all(
137
- chunk(defaultCalls, 4).map(batch =>
138
- new BatchCall(this.defaultWallet, batch).simulate({ from: this.defaultAddress }),
139
- ),
140
- )
141
- ).flat();
142
- for (let i = 0; i < defaultLookups.length; i++) {
143
- expect(results[i]).toEqual(this.balanceOfPrivate(defaultLookups[i]));
144
- }
145
-
146
- // We are just running individual calls for the non-default lookups
147
- // @todo We should also batch these
148
- for (const address of nonDefaultLookups) {
149
125
  const wallet = this.lookupProvider.get(address.toString());
150
126
  const asset = wallet ? this.token.withWallet(wallet) : this.token;
151
127
 
152
- const actualPrivateBalance = await asset.methods
153
- .balance_of_private({ address })
154
- .simulate({ from: this.defaultAddress });
128
+ const { result: actualPrivateBalance } = await asset.methods
129
+ .balance_of_private(address)
130
+ .simulate({ from: address });
155
131
  expect(actualPrivateBalance).toEqual(this.balanceOfPrivate(address));
156
132
  }
157
133
  }
@@ -61,10 +61,17 @@ The export is important there. The `AZTEC_DOCKER_IMAGE` env var is used as both:
61
61
  - the containers for the aztec infrastructure (validators, provers, etc)
62
62
 
63
63
  # Deploy Metrics
64
+
64
65
  ```bash
65
66
  ./spartan/bootstrap.sh metrics-kind
66
67
  ```
67
68
 
69
+ # Install Chaos Mesh
70
+
71
+ ```bash
72
+ ./spartan/bootstrap.sh chaos-mesh
73
+ ```
74
+
68
75
  # Deploy stuff
69
76
 
70
77
  ```bash