@aztec/end-to-end 0.0.1-commit.5476d83 → 0.0.1-commit.5914bae

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 (265) 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 +138 -144
  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 +27 -15
  25. package/dest/e2e_epochs/epochs_test.d.ts.map +1 -1
  26. package/dest/e2e_epochs/epochs_test.js +104 -52
  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 +137 -145
  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 +7 -9
  41. package/dest/e2e_p2p/p2p_network.d.ts +16 -13
  42. package/dest/e2e_p2p/p2p_network.d.ts.map +1 -1
  43. package/dest/e2e_p2p/p2p_network.js +140 -114
  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 +177 -0
  47. package/dest/e2e_p2p/shared.d.ts +39 -7
  48. package/dest/e2e_p2p/shared.d.ts.map +1 -1
  49. package/dest/e2e_p2p/shared.js +73 -22
  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 +13 -21
  63. package/dest/fixtures/e2e_prover_test.d.ts.map +1 -1
  64. package/dest/fixtures/e2e_prover_test.js +114 -133
  65. package/dest/fixtures/fixtures.d.ts +6 -3
  66. package/dest/fixtures/fixtures.d.ts.map +1 -1
  67. package/dest/fixtures/fixtures.js +8 -3
  68. package/dest/fixtures/get_acvm_config.js +1 -1
  69. package/dest/fixtures/ha_setup.d.ts +71 -0
  70. package/dest/fixtures/ha_setup.d.ts.map +1 -0
  71. package/dest/fixtures/ha_setup.js +116 -0
  72. package/dest/fixtures/index.d.ts +2 -1
  73. package/dest/fixtures/index.d.ts.map +1 -1
  74. package/dest/fixtures/index.js +1 -0
  75. package/dest/fixtures/l1_to_l2_messaging.d.ts +4 -3
  76. package/dest/fixtures/l1_to_l2_messaging.d.ts.map +1 -1
  77. package/dest/fixtures/l1_to_l2_messaging.js +2 -2
  78. package/dest/fixtures/setup.d.ts +238 -0
  79. package/dest/fixtures/setup.d.ts.map +1 -0
  80. package/dest/fixtures/setup.js +609 -0
  81. package/dest/fixtures/setup_p2p_test.d.ts +16 -9
  82. package/dest/fixtures/setup_p2p_test.d.ts.map +1 -1
  83. package/dest/fixtures/setup_p2p_test.js +43 -32
  84. package/dest/fixtures/token_utils.d.ts +2 -2
  85. package/dest/fixtures/token_utils.d.ts.map +1 -1
  86. package/dest/fixtures/token_utils.js +12 -8
  87. package/dest/fixtures/utils.d.ts +5 -637
  88. package/dest/fixtures/utils.d.ts.map +1 -1
  89. package/dest/fixtures/utils.js +4 -647
  90. package/dest/fixtures/web3signer.js +1 -1
  91. package/dest/fixtures/with_telemetry_utils.d.ts +2 -2
  92. package/dest/fixtures/with_telemetry_utils.d.ts.map +1 -1
  93. package/dest/fixtures/with_telemetry_utils.js +2 -2
  94. package/dest/forward-compatibility/wallet_rpc_client.d.ts +7 -0
  95. package/dest/forward-compatibility/wallet_rpc_client.d.ts.map +1 -0
  96. package/dest/forward-compatibility/wallet_rpc_client.js +15 -0
  97. package/dest/forward-compatibility/wallet_service.d.ts +3 -0
  98. package/dest/forward-compatibility/wallet_service.d.ts.map +1 -0
  99. package/dest/forward-compatibility/wallet_service.js +109 -0
  100. package/dest/legacy-jest-resolver.d.cts +3 -0
  101. package/dest/legacy-jest-resolver.d.cts.map +1 -0
  102. package/dest/quality_of_service/grafana_client.d.ts +41 -0
  103. package/dest/quality_of_service/grafana_client.d.ts.map +1 -0
  104. package/dest/quality_of_service/{alert_checker.js → grafana_client.js} +1 -1
  105. package/dest/quality_of_service/prometheus_client.d.ts +38 -0
  106. package/dest/quality_of_service/prometheus_client.d.ts.map +1 -0
  107. package/dest/quality_of_service/prometheus_client.js +67 -0
  108. package/dest/shared/cross_chain_test_harness.d.ts +18 -6
  109. package/dest/shared/cross_chain_test_harness.d.ts.map +1 -1
  110. package/dest/shared/cross_chain_test_harness.js +27 -27
  111. package/dest/shared/gas_portal_test_harness.d.ts +12 -2
  112. package/dest/shared/gas_portal_test_harness.d.ts.map +1 -1
  113. package/dest/shared/gas_portal_test_harness.js +3 -3
  114. package/dest/shared/index.d.ts +3 -2
  115. package/dest/shared/index.d.ts.map +1 -1
  116. package/dest/shared/index.js +1 -0
  117. package/dest/shared/mock_state_view.d.ts +86 -0
  118. package/dest/shared/mock_state_view.d.ts.map +1 -0
  119. package/dest/shared/mock_state_view.js +186 -0
  120. package/dest/shared/submit-transactions.d.ts +4 -4
  121. package/dest/shared/submit-transactions.d.ts.map +1 -1
  122. package/dest/shared/submit-transactions.js +9 -11
  123. package/dest/shared/uniswap_l1_l2.d.ts +3 -27
  124. package/dest/shared/uniswap_l1_l2.d.ts.map +1 -1
  125. package/dest/shared/uniswap_l1_l2.js +58 -39
  126. package/dest/simulators/lending_simulator.d.ts +6 -2
  127. package/dest/simulators/lending_simulator.d.ts.map +1 -1
  128. package/dest/simulators/lending_simulator.js +6 -6
  129. package/dest/simulators/token_simulator.d.ts +1 -1
  130. package/dest/simulators/token_simulator.d.ts.map +1 -1
  131. package/dest/simulators/token_simulator.js +3 -24
  132. package/dest/spartan/setup_test_wallets.d.ts +15 -5
  133. package/dest/spartan/setup_test_wallets.d.ts.map +1 -1
  134. package/dest/spartan/setup_test_wallets.js +113 -42
  135. package/dest/spartan/tx_metrics.d.ts +88 -0
  136. package/dest/spartan/tx_metrics.d.ts.map +1 -0
  137. package/dest/spartan/tx_metrics.js +422 -0
  138. package/dest/spartan/utils/bot.d.ts +28 -0
  139. package/dest/spartan/utils/bot.d.ts.map +1 -0
  140. package/dest/spartan/utils/bot.js +142 -0
  141. package/dest/spartan/utils/chaos.d.ts +79 -0
  142. package/dest/spartan/utils/chaos.d.ts.map +1 -0
  143. package/dest/spartan/utils/chaos.js +142 -0
  144. package/dest/spartan/utils/clients.d.ts +39 -0
  145. package/dest/spartan/utils/clients.d.ts.map +1 -0
  146. package/dest/spartan/utils/clients.js +90 -0
  147. package/dest/spartan/utils/config.d.ts +39 -0
  148. package/dest/spartan/utils/config.d.ts.map +1 -0
  149. package/dest/spartan/utils/config.js +21 -0
  150. package/dest/spartan/utils/health.d.ts +63 -0
  151. package/dest/spartan/utils/health.d.ts.map +1 -0
  152. package/dest/spartan/utils/health.js +202 -0
  153. package/dest/spartan/utils/helm.d.ts +15 -0
  154. package/dest/spartan/utils/helm.d.ts.map +1 -0
  155. package/dest/spartan/utils/helm.js +47 -0
  156. package/dest/spartan/utils/index.d.ts +10 -0
  157. package/dest/spartan/utils/index.d.ts.map +1 -0
  158. package/dest/spartan/utils/index.js +20 -0
  159. package/dest/spartan/utils/k8s.d.ts +128 -0
  160. package/dest/spartan/utils/k8s.d.ts.map +1 -0
  161. package/dest/spartan/utils/k8s.js +381 -0
  162. package/dest/spartan/utils/nodes.d.ts +41 -0
  163. package/dest/spartan/utils/nodes.d.ts.map +1 -0
  164. package/dest/spartan/utils/nodes.js +461 -0
  165. package/dest/spartan/utils/scripts.d.ts +30 -0
  166. package/dest/spartan/utils/scripts.d.ts.map +1 -0
  167. package/dest/spartan/utils/scripts.js +81 -0
  168. package/dest/spartan/utils.d.ts +2 -220
  169. package/dest/spartan/utils.d.ts.map +1 -1
  170. package/dest/spartan/utils.js +1 -782
  171. package/dest/test-wallet/test_wallet.d.ts +84 -0
  172. package/dest/test-wallet/test_wallet.d.ts.map +1 -0
  173. package/dest/test-wallet/test_wallet.js +249 -0
  174. package/dest/test-wallet/utils.d.ts +41 -0
  175. package/dest/test-wallet/utils.d.ts.map +1 -0
  176. package/dest/test-wallet/utils.js +71 -0
  177. package/dest/test-wallet/wallet_worker_script.d.ts +2 -0
  178. package/dest/test-wallet/wallet_worker_script.d.ts.map +1 -0
  179. package/dest/test-wallet/wallet_worker_script.js +48 -0
  180. package/dest/test-wallet/worker_wallet.d.ts +52 -0
  181. package/dest/test-wallet/worker_wallet.d.ts.map +1 -0
  182. package/dest/test-wallet/worker_wallet.js +151 -0
  183. package/dest/test-wallet/worker_wallet_schema.d.ts +274 -0
  184. package/dest/test-wallet/worker_wallet_schema.d.ts.map +1 -0
  185. package/dest/test-wallet/worker_wallet_schema.js +10 -0
  186. package/package.json +47 -41
  187. package/src/bench/client_flows/benchmark.ts +24 -2
  188. package/src/bench/client_flows/client_flows_benchmark.ts +157 -216
  189. package/src/bench/client_flows/config.ts +9 -1
  190. package/src/bench/client_flows/data_extractor.ts +1 -1
  191. package/src/bench/utils.ts +36 -21
  192. package/src/e2e_blacklist_token_contract/blacklist_token_contract_test.ts +123 -151
  193. package/src/e2e_cross_chain_messaging/cross_chain_messaging_test.ts +140 -126
  194. package/src/e2e_deploy_contract/deploy_test.ts +22 -15
  195. package/src/e2e_epochs/epochs_test.ts +172 -111
  196. package/src/e2e_fees/bridging_race.notest.ts +5 -11
  197. package/src/e2e_fees/fees_test.ts +178 -228
  198. package/src/e2e_l1_publisher/write_json.ts +16 -16
  199. package/src/e2e_multi_validator/utils.ts +1 -1
  200. package/src/e2e_nested_contract/nested_contract_test.ts +35 -56
  201. package/src/e2e_p2p/inactivity_slash_test.ts +8 -10
  202. package/src/e2e_p2p/p2p_network.ts +203 -180
  203. package/src/e2e_p2p/reqresp/utils.ts +235 -0
  204. package/src/e2e_p2p/shared.ts +129 -29
  205. package/src/e2e_storage_proof/fixtures/storage_proof.json +915 -0
  206. package/src/e2e_storage_proof/fixtures/storage_proof_fetcher.ts +190 -0
  207. package/src/e2e_storage_proof/fixtures/storage_proof_fixture.ts +173 -0
  208. package/src/e2e_token_contract/token_contract_test.ts +121 -119
  209. package/src/fixtures/authwit_proxy.ts +54 -0
  210. package/src/fixtures/dumps/epoch_proof_result.json +1 -1
  211. package/src/fixtures/e2e_prover_test.ts +136 -177
  212. package/src/fixtures/fixtures.ts +12 -5
  213. package/src/fixtures/get_acvm_config.ts +1 -1
  214. package/src/fixtures/ha_setup.ts +186 -0
  215. package/src/fixtures/index.ts +1 -0
  216. package/src/fixtures/l1_to_l2_messaging.ts +4 -2
  217. package/src/fixtures/setup.ts +905 -0
  218. package/src/fixtures/setup_p2p_test.ts +43 -47
  219. package/src/fixtures/token_utils.ts +10 -6
  220. package/src/fixtures/utils.ts +27 -966
  221. package/src/fixtures/web3signer.ts +1 -1
  222. package/src/fixtures/with_telemetry_utils.ts +2 -2
  223. package/src/forward-compatibility/wallet_rpc_client.ts +14 -0
  224. package/src/forward-compatibility/wallet_service.ts +104 -0
  225. package/src/guides/up_quick_start.sh +3 -3
  226. package/src/legacy-jest-resolver.cjs +135 -0
  227. package/src/quality_of_service/{alert_checker.ts → grafana_client.ts} +1 -1
  228. package/src/quality_of_service/prometheus_client.ts +113 -0
  229. package/src/shared/cross_chain_test_harness.ts +30 -43
  230. package/src/shared/gas_portal_test_harness.ts +3 -3
  231. package/src/shared/index.ts +2 -1
  232. package/src/shared/mock_state_view.ts +188 -0
  233. package/src/shared/submit-transactions.ts +14 -16
  234. package/src/shared/uniswap_l1_l2.ts +86 -102
  235. package/src/simulators/lending_simulator.ts +11 -7
  236. package/src/simulators/token_simulator.ts +6 -30
  237. package/src/spartan/DEVELOP.md +7 -0
  238. package/src/spartan/setup_test_wallets.ts +168 -27
  239. package/src/spartan/tx_metrics.ts +376 -0
  240. package/src/spartan/utils/bot.ts +188 -0
  241. package/src/spartan/utils/chaos.ts +253 -0
  242. package/src/spartan/utils/clients.ts +100 -0
  243. package/src/spartan/utils/config.ts +27 -0
  244. package/src/spartan/utils/health.ts +255 -0
  245. package/src/spartan/utils/helm.ts +84 -0
  246. package/src/spartan/utils/index.ts +68 -0
  247. package/src/spartan/utils/k8s.ts +535 -0
  248. package/src/spartan/utils/nodes.ts +538 -0
  249. package/src/spartan/utils/scripts.ts +99 -0
  250. package/src/spartan/utils.ts +1 -982
  251. package/src/test-wallet/test_wallet.ts +351 -0
  252. package/src/test-wallet/utils.ts +112 -0
  253. package/src/test-wallet/wallet_worker_script.ts +60 -0
  254. package/src/test-wallet/worker_wallet.ts +214 -0
  255. package/src/test-wallet/worker_wallet_schema.ts +13 -0
  256. package/dest/fixtures/setup_l1_contracts.d.ts +0 -477
  257. package/dest/fixtures/setup_l1_contracts.d.ts.map +0 -1
  258. package/dest/fixtures/setup_l1_contracts.js +0 -17
  259. package/dest/fixtures/snapshot_manager.d.ts +0 -95
  260. package/dest/fixtures/snapshot_manager.d.ts.map +0 -1
  261. package/dest/fixtures/snapshot_manager.js +0 -505
  262. package/dest/quality_of_service/alert_checker.d.ts +0 -41
  263. package/dest/quality_of_service/alert_checker.d.ts.map +0 -1
  264. package/src/fixtures/setup_l1_contracts.ts +0 -26
  265. package/src/fixtures/snapshot_manager.ts +0 -665
@@ -6,17 +6,15 @@ import { ChildContract } from '@aztec/noir-test-contracts.js/Child';
6
6
  import { ParentContract } from '@aztec/noir-test-contracts.js/Parent';
7
7
 
8
8
  import {
9
- type ISnapshotManager,
10
- type SubsystemsContext,
11
- createSnapshotManager,
9
+ type EndToEndContext,
12
10
  deployAccounts,
13
11
  publicDeployAccounts,
14
- } from '../fixtures/snapshot_manager.js';
15
-
16
- const { E2E_DATA_PATH: dataPath } = process.env;
12
+ setup,
13
+ teardown as teardownSubsystems,
14
+ } from '../fixtures/setup.js';
17
15
 
18
16
  export class NestedContractTest {
19
- private snapshotManager: ISnapshotManager;
17
+ context!: EndToEndContext;
20
18
  logger: Logger;
21
19
  wallet!: Wallet;
22
20
  defaultAccountAddress!: AztecAddress;
@@ -30,67 +28,48 @@ export class NestedContractTest {
30
28
  private numberOfAccounts = 1,
31
29
  ) {
32
30
  this.logger = createLogger(`e2e:e2e_nested_contract:${testName}`);
33
- this.snapshotManager = createSnapshotManager(`e2e_nested_contract/${testName}-${numberOfAccounts}`, dataPath);
34
31
  }
35
32
 
36
33
  /**
37
- * Adds two state shifts to snapshot manager.
38
- * 1. Add 3 accounts.
39
- * 2. Publicly deploy accounts
34
+ * Applies base setup by deploying accounts and publicly deploying them.
40
35
  */
41
- async applyBaseSnapshots() {
42
- await this.snapshotManager.snapshot(
43
- 'accounts',
44
- deployAccounts(this.numberOfAccounts, this.logger),
45
- ({ deployedAccounts }, { wallet, aztecNode }) => {
46
- this.wallet = wallet;
47
- [{ address: this.defaultAccountAddress }] = deployedAccounts;
48
- this.aztecNode = aztecNode;
49
- return Promise.resolve();
50
- },
51
- );
36
+ async applyBaseSetup() {
37
+ this.logger.info('Deploying accounts');
38
+ const { deployedAccounts } = await deployAccounts(
39
+ this.numberOfAccounts,
40
+ this.logger,
41
+ )({
42
+ wallet: this.context.wallet,
43
+ initialFundedAccounts: this.context.initialFundedAccounts,
44
+ });
45
+ this.wallet = this.context.wallet;
46
+ [{ address: this.defaultAccountAddress }] = deployedAccounts;
47
+ this.aztecNode = this.context.aztecNodeService;
52
48
 
53
- await this.snapshotManager.snapshot(
54
- 'public_deploy',
55
- async () => {},
56
- async () => {
57
- this.logger.verbose(`Public deploy accounts...`);
58
- await publicDeployAccounts(this.wallet, [this.defaultAccountAddress]);
59
- },
60
- );
49
+ this.logger.info('Public deploy accounts');
50
+ await publicDeployAccounts(this.wallet, [this.defaultAccountAddress]);
61
51
  }
62
52
 
63
53
  async setup() {
64
- await this.snapshotManager.setup();
54
+ this.logger.info('Setting up fresh subsystems');
55
+ this.context = await setup(0, {
56
+ fundSponsoredFPC: true,
57
+ skipAccountDeployment: true,
58
+ });
59
+ await this.applyBaseSetup();
65
60
  }
66
61
 
67
62
  async teardown() {
68
- await this.snapshotManager.teardown();
63
+ await teardownSubsystems(this.context);
69
64
  }
70
65
 
71
- snapshot = <T>(
72
- name: string,
73
- apply: (context: SubsystemsContext) => Promise<T>,
74
- restore: (snapshotData: T, context: SubsystemsContext) => Promise<void> = () => Promise.resolve(),
75
- ): Promise<void> => this.snapshotManager.snapshot(name, apply, restore);
76
-
77
- async applyManualSnapshots() {
78
- await this.snapshotManager.snapshot(
79
- 'manual',
80
- async () => {
81
- const parentContract = await ParentContract.deploy(this.wallet)
82
- .send({ from: this.defaultAccountAddress })
83
- .deployed();
84
- const childContract = await ChildContract.deploy(this.wallet)
85
- .send({ from: this.defaultAccountAddress })
86
- .deployed();
87
- return { parentContractAddress: parentContract.address, childContractAddress: childContract.address };
88
- },
89
- ({ parentContractAddress, childContractAddress }) => {
90
- this.parentContract = ParentContract.at(parentContractAddress, this.wallet);
91
- this.childContract = ChildContract.at(childContractAddress, this.wallet);
92
- return Promise.resolve();
93
- },
94
- );
66
+ async applyManual() {
67
+ this.logger.info('Deploying parent and child contracts');
68
+ ({ contract: this.parentContract } = await ParentContract.deploy(this.wallet).send({
69
+ from: this.defaultAccountAddress,
70
+ }));
71
+ ({ contract: this.childContract } = await ChildContract.deploy(this.wallet).send({
72
+ from: this.defaultAccountAddress,
73
+ }));
95
74
  }
96
75
  }
@@ -1,6 +1,6 @@
1
1
  import type { AztecNodeService } from '@aztec/aztec-node';
2
2
  import { EthAddress } from '@aztec/aztec.js/addresses';
3
- import { RollupContract } from '@aztec/ethereum';
3
+ import { RollupContract } from '@aztec/ethereum/contracts';
4
4
  import { EpochNumber } from '@aztec/foundation/branded-types';
5
5
 
6
6
  import fs from 'fs';
@@ -24,7 +24,7 @@ const SLASHING_UNIT = BigInt(1e18);
24
24
  const SLASHING_AMOUNT = SLASHING_UNIT * 3n;
25
25
 
26
26
  // How many epochs it may take to set everything up, so we dont slash during this period
27
- const SETUP_EPOCH_DURATION = 5;
27
+ const SETUP_EPOCH_DURATION = 8;
28
28
 
29
29
  export class P2PInactivityTest {
30
30
  public nodes!: AztecNodeService[];
@@ -58,6 +58,7 @@ export class P2PInactivityTest {
58
58
  basePort: BOOT_NODE_UDP_PORT,
59
59
  startProverNode: true,
60
60
  initialConfig: {
61
+ anvilSlotsInAnEpoch: 4,
61
62
  proverNodeConfig: { proverNodeEpochProvingDelayMs: AZTEC_SLOT_DURATION * 1000 },
62
63
  aztecTargetCommitteeSize: COMMITTEE_SIZE,
63
64
  aztecSlotDuration: AZTEC_SLOT_DURATION,
@@ -82,8 +83,8 @@ export class P2PInactivityTest {
82
83
  }
83
84
 
84
85
  public async setup() {
85
- await this.test.applyBaseSnapshots();
86
86
  await this.test.setup();
87
+ await this.test.applyBaseSetup();
87
88
 
88
89
  // Set slashing penalties for inactivity
89
90
  const { rollup } = await this.test.getContracts();
@@ -98,7 +99,7 @@ export class P2PInactivityTest {
98
99
  this.rollup = rollup;
99
100
 
100
101
  if (!this.keepInitialNode) {
101
- await this.test.ctx.aztecNode.stop();
102
+ await this.test.ctx.aztecNodeService.stop();
102
103
  }
103
104
 
104
105
  // Create all active nodes
@@ -129,7 +130,7 @@ export class P2PInactivityTest {
129
130
  );
130
131
 
131
132
  this.nodes = [
132
- ...(this.keepInitialNode ? [this.test.ctx.aztecNode] : []),
133
+ ...(this.keepInitialNode ? [this.test.ctx.aztecNodeService] : []),
133
134
  ...this.activeNodes,
134
135
  ...this.inactiveNodes,
135
136
  ];
@@ -151,11 +152,8 @@ export class P2PInactivityTest {
151
152
  // This prevents race conditions where validators propose blocks before the network is ready
152
153
  await this.test.waitForP2PMeshConnectivity(this.nodes, NUM_NODES);
153
154
 
154
- const ethereumSlotDuration = this.test.ctx.aztecNodeConfig.ethereumSlotDuration!;
155
- this.test.logger.warn(`Advancing to the L1 slot before epoch ${SETUP_EPOCH_DURATION + 1} to start slashing`);
156
- await this.test.ctx.cheatCodes.rollup.advanceToEpoch(EpochNumber(SETUP_EPOCH_DURATION + 1), {
157
- offset: -ethereumSlotDuration,
158
- });
155
+ this.test.logger.warn(`Advancing to epoch ${SETUP_EPOCH_DURATION - 1} (slashing will start after it is completed)`);
156
+ await this.test.ctx.cheatCodes.rollup.advanceToEpoch(EpochNumber(SETUP_EPOCH_DURATION - 1));
159
157
 
160
158
  return this;
161
159
  }