@aztec/end-to-end 0.0.1-commit.d3ec352c → 0.0.1-commit.f295ac2

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 (141) hide show
  1. package/dest/bench/client_flows/benchmark.d.ts +3 -2
  2. package/dest/bench/client_flows/benchmark.d.ts.map +1 -1
  3. package/dest/bench/client_flows/benchmark.js +21 -1
  4. package/dest/bench/client_flows/client_flows_benchmark.d.ts +14 -15
  5. package/dest/bench/client_flows/client_flows_benchmark.d.ts.map +1 -1
  6. package/dest/bench/client_flows/client_flows_benchmark.js +110 -138
  7. package/dest/bench/client_flows/data_extractor.js +3 -1
  8. package/dest/bench/utils.d.ts +6 -6
  9. package/dest/bench/utils.d.ts.map +1 -1
  10. package/dest/bench/utils.js +18 -11
  11. package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.d.ts +6 -7
  12. package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.d.ts.map +1 -1
  13. package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.js +98 -113
  14. package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.d.ts +19 -13
  15. package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.d.ts.map +1 -1
  16. package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.js +91 -71
  17. package/dest/e2e_deploy_contract/deploy_test.d.ts +4 -3
  18. package/dest/e2e_deploy_contract/deploy_test.d.ts.map +1 -1
  19. package/dest/e2e_deploy_contract/deploy_test.js +18 -13
  20. package/dest/e2e_epochs/epochs_test.d.ts +3 -2
  21. package/dest/e2e_epochs/epochs_test.d.ts.map +1 -1
  22. package/dest/e2e_epochs/epochs_test.js +13 -11
  23. package/dest/e2e_fees/bridging_race.notest.js +3 -5
  24. package/dest/e2e_fees/fees_test.d.ts +18 -15
  25. package/dest/e2e_fees/fees_test.d.ts.map +1 -1
  26. package/dest/e2e_fees/fees_test.js +126 -141
  27. package/dest/e2e_l1_publisher/write_json.d.ts +3 -3
  28. package/dest/e2e_l1_publisher/write_json.d.ts.map +1 -1
  29. package/dest/e2e_l1_publisher/write_json.js +19 -15
  30. package/dest/e2e_multi_validator/utils.js +1 -1
  31. package/dest/e2e_nested_contract/nested_contract_test.d.ts +6 -9
  32. package/dest/e2e_nested_contract/nested_contract_test.d.ts.map +1 -1
  33. package/dest/e2e_nested_contract/nested_contract_test.js +32 -40
  34. package/dest/e2e_p2p/inactivity_slash_test.d.ts +4 -4
  35. package/dest/e2e_p2p/inactivity_slash_test.d.ts.map +1 -1
  36. package/dest/e2e_p2p/inactivity_slash_test.js +6 -9
  37. package/dest/e2e_p2p/p2p_network.d.ts +13 -11
  38. package/dest/e2e_p2p/p2p_network.d.ts.map +1 -1
  39. package/dest/e2e_p2p/p2p_network.js +116 -111
  40. package/dest/e2e_p2p/shared.d.ts +2 -2
  41. package/dest/e2e_p2p/shared.d.ts.map +1 -1
  42. package/dest/e2e_p2p/shared.js +4 -4
  43. package/dest/e2e_token_contract/token_contract_test.d.ts +16 -9
  44. package/dest/e2e_token_contract/token_contract_test.d.ts.map +1 -1
  45. package/dest/e2e_token_contract/token_contract_test.js +90 -92
  46. package/dest/fixtures/e2e_prover_test.d.ts +10 -18
  47. package/dest/fixtures/e2e_prover_test.d.ts.map +1 -1
  48. package/dest/fixtures/e2e_prover_test.js +88 -103
  49. package/dest/fixtures/fixtures.d.ts +2 -3
  50. package/dest/fixtures/fixtures.d.ts.map +1 -1
  51. package/dest/fixtures/fixtures.js +1 -2
  52. package/dest/fixtures/get_acvm_config.js +1 -1
  53. package/dest/fixtures/l1_to_l2_messaging.d.ts +4 -3
  54. package/dest/fixtures/l1_to_l2_messaging.d.ts.map +1 -1
  55. package/dest/fixtures/l1_to_l2_messaging.js +2 -2
  56. package/dest/fixtures/setup.d.ts +216 -0
  57. package/dest/fixtures/setup.d.ts.map +1 -0
  58. package/dest/fixtures/setup.js +684 -0
  59. package/dest/fixtures/setup_p2p_test.js +3 -3
  60. package/dest/fixtures/utils.d.ts +5 -638
  61. package/dest/fixtures/utils.d.ts.map +1 -1
  62. package/dest/fixtures/utils.js +4 -647
  63. package/dest/fixtures/web3signer.js +1 -1
  64. package/dest/fixtures/with_telemetry_utils.d.ts +2 -2
  65. package/dest/fixtures/with_telemetry_utils.d.ts.map +1 -1
  66. package/dest/fixtures/with_telemetry_utils.js +2 -2
  67. package/dest/quality_of_service/grafana_client.d.ts +41 -0
  68. package/dest/quality_of_service/grafana_client.d.ts.map +1 -0
  69. package/dest/quality_of_service/{alert_checker.js → grafana_client.js} +1 -1
  70. package/dest/quality_of_service/prometheus_client.d.ts +38 -0
  71. package/dest/quality_of_service/prometheus_client.d.ts.map +1 -0
  72. package/dest/quality_of_service/prometheus_client.js +67 -0
  73. package/dest/shared/cross_chain_test_harness.d.ts +16 -4
  74. package/dest/shared/cross_chain_test_harness.d.ts.map +1 -1
  75. package/dest/shared/cross_chain_test_harness.js +3 -3
  76. package/dest/shared/gas_portal_test_harness.d.ts +12 -2
  77. package/dest/shared/gas_portal_test_harness.d.ts.map +1 -1
  78. package/dest/shared/index.d.ts +2 -2
  79. package/dest/shared/index.d.ts.map +1 -1
  80. package/dest/shared/uniswap_l1_l2.d.ts +3 -27
  81. package/dest/shared/uniswap_l1_l2.d.ts.map +1 -1
  82. package/dest/shared/uniswap_l1_l2.js +43 -23
  83. package/dest/simulators/lending_simulator.d.ts +6 -2
  84. package/dest/simulators/lending_simulator.d.ts.map +1 -1
  85. package/dest/simulators/lending_simulator.js +1 -1
  86. package/dest/spartan/setup_test_wallets.d.ts +4 -3
  87. package/dest/spartan/setup_test_wallets.d.ts.map +1 -1
  88. package/dest/spartan/setup_test_wallets.js +2 -1
  89. package/dest/spartan/tx_metrics.d.ts +42 -0
  90. package/dest/spartan/tx_metrics.d.ts.map +1 -0
  91. package/dest/spartan/tx_metrics.js +118 -0
  92. package/dest/spartan/utils.d.ts +51 -12
  93. package/dest/spartan/utils.d.ts.map +1 -1
  94. package/dest/spartan/utils.js +262 -102
  95. package/package.json +40 -39
  96. package/src/bench/client_flows/benchmark.ts +24 -2
  97. package/src/bench/client_flows/client_flows_benchmark.ts +150 -200
  98. package/src/bench/client_flows/data_extractor.ts +1 -1
  99. package/src/bench/utils.ts +22 -14
  100. package/src/e2e_blacklist_token_contract/blacklist_token_contract_test.ts +107 -142
  101. package/src/e2e_cross_chain_messaging/cross_chain_messaging_test.ts +140 -125
  102. package/src/e2e_deploy_contract/deploy_test.ts +21 -14
  103. package/src/e2e_epochs/epochs_test.ts +26 -13
  104. package/src/e2e_fees/bridging_race.notest.ts +3 -6
  105. package/src/e2e_fees/fees_test.ts +177 -216
  106. package/src/e2e_l1_publisher/write_json.ts +22 -17
  107. package/src/e2e_multi_validator/utils.ts +1 -1
  108. package/src/e2e_nested_contract/nested_contract_test.ts +35 -56
  109. package/src/e2e_p2p/inactivity_slash_test.ts +9 -12
  110. package/src/e2e_p2p/p2p_network.ts +174 -183
  111. package/src/e2e_p2p/shared.ts +11 -6
  112. package/src/e2e_token_contract/token_contract_test.ts +105 -118
  113. package/src/fixtures/e2e_prover_test.ts +112 -144
  114. package/src/fixtures/fixtures.ts +1 -3
  115. package/src/fixtures/get_acvm_config.ts +1 -1
  116. package/src/fixtures/l1_to_l2_messaging.ts +4 -2
  117. package/src/fixtures/setup.ts +1010 -0
  118. package/src/fixtures/setup_p2p_test.ts +3 -3
  119. package/src/fixtures/utils.ts +27 -966
  120. package/src/fixtures/web3signer.ts +1 -1
  121. package/src/fixtures/with_telemetry_utils.ts +2 -2
  122. package/src/quality_of_service/{alert_checker.ts → grafana_client.ts} +1 -1
  123. package/src/quality_of_service/prometheus_client.ts +113 -0
  124. package/src/shared/cross_chain_test_harness.ts +6 -10
  125. package/src/shared/gas_portal_test_harness.ts +1 -1
  126. package/src/shared/index.ts +1 -1
  127. package/src/shared/uniswap_l1_l2.ts +53 -67
  128. package/src/simulators/lending_simulator.ts +2 -2
  129. package/src/spartan/setup_test_wallets.ts +9 -2
  130. package/src/spartan/tx_metrics.ts +153 -0
  131. package/src/spartan/utils.ts +308 -45
  132. package/dest/fixtures/setup_l1_contracts.d.ts +0 -477
  133. package/dest/fixtures/setup_l1_contracts.d.ts.map +0 -1
  134. package/dest/fixtures/setup_l1_contracts.js +0 -17
  135. package/dest/fixtures/snapshot_manager.d.ts +0 -95
  136. package/dest/fixtures/snapshot_manager.d.ts.map +0 -1
  137. package/dest/fixtures/snapshot_manager.js +0 -505
  138. package/dest/quality_of_service/alert_checker.d.ts +0 -41
  139. package/dest/quality_of_service/alert_checker.d.ts.map +0 -1
  140. package/src/fixtures/setup_l1_contracts.ts +0 -26
  141. package/src/fixtures/snapshot_manager.ts +0 -665
@@ -17,7 +17,7 @@ const AZTEC_SLOT_DURATION = ETHEREUM_SLOT_DURATION * 2;
17
17
  const SLASHING_UNIT = BigInt(1e18);
18
18
  const SLASHING_AMOUNT = SLASHING_UNIT * 3n;
19
19
  // How many epochs it may take to set everything up, so we dont slash during this period
20
- const SETUP_EPOCH_DURATION = 5;
20
+ const SETUP_EPOCH_DURATION = 8;
21
21
  export class P2PInactivityTest {
22
22
  test;
23
23
  nodes;
@@ -67,8 +67,8 @@ export class P2PInactivityTest {
67
67
  return new P2PInactivityTest(test, opts);
68
68
  }
69
69
  async setup() {
70
- await this.test.applyBaseSnapshots();
71
70
  await this.test.setup();
71
+ await this.test.applyBaseSetup();
72
72
  // Set slashing penalties for inactivity
73
73
  const { rollup } = await this.test.getContracts();
74
74
  const [activationThreshold, ejectionThreshold, localEjectionThreshold] = await Promise.all([
@@ -81,7 +81,7 @@ export class P2PInactivityTest {
81
81
  this.test.ctx.aztecNodeConfig.slashInactivityPenalty = SLASHING_AMOUNT;
82
82
  this.rollup = rollup;
83
83
  if (!this.keepInitialNode) {
84
- await this.test.ctx.aztecNode.stop();
84
+ await this.test.ctx.aztecNodeService.stop();
85
85
  }
86
86
  // Create all active nodes
87
87
  this.activeNodes = await createNodes(this.test.ctx.aztecNodeConfig, this.test.ctx.dateProvider, this.test.bootstrapNodeEnr, NUM_NODES - this.inactiveNodeCount - Number(this.keepInitialNode), BOOT_NODE_UDP_PORT, this.test.prefilledPublicData, this.dataDir, undefined, Number(this.keepInitialNode));
@@ -93,7 +93,7 @@ export class P2PInactivityTest {
93
93
  this.inactiveNodes = await createNodes(inactiveConfig, this.test.ctx.dateProvider, this.test.bootstrapNodeEnr, this.inactiveNodeCount, BOOT_NODE_UDP_PORT, this.test.prefilledPublicData, this.dataDir, undefined, NUM_NODES - this.inactiveNodeCount);
94
94
  this.nodes = [
95
95
  ...this.keepInitialNode ? [
96
- this.test.ctx.aztecNode
96
+ this.test.ctx.aztecNodeService
97
97
  ] : [],
98
98
  ...this.activeNodes,
99
99
  ...this.inactiveNodes
@@ -109,11 +109,8 @@ export class P2PInactivityTest {
109
109
  // Wait for P2P mesh to be fully formed before starting slashing period
110
110
  // This prevents race conditions where validators propose blocks before the network is ready
111
111
  await this.test.waitForP2PMeshConnectivity(this.nodes, NUM_NODES);
112
- const ethereumSlotDuration = this.test.ctx.aztecNodeConfig.ethereumSlotDuration;
113
- this.test.logger.warn(`Advancing to the L1 slot before epoch ${SETUP_EPOCH_DURATION + 1} to start slashing`);
114
- await this.test.ctx.cheatCodes.rollup.advanceToEpoch(EpochNumber(SETUP_EPOCH_DURATION + 1), {
115
- offset: -ethereumSlotDuration
116
- });
112
+ this.test.logger.warn(`Advancing to epoch ${SETUP_EPOCH_DURATION - 1} (slashing will start after it is completed)`);
113
+ await this.test.ctx.cheatCodes.rollup.advanceToEpoch(EpochNumber(SETUP_EPOCH_DURATION - 1));
117
114
  return this;
118
115
  }
119
116
  async teardown() {
@@ -1,8 +1,10 @@
1
1
  import type { InitialAccountData } from '@aztec/accounts/testing';
2
2
  import type { AztecNodeService } from '@aztec/aztec-node';
3
3
  import { AztecAddress } from '@aztec/aztec.js/addresses';
4
- import { type EmpireSlashingProposerContract, type Operator, RollupContract, type TallySlashingProposerContract, type ViemClient } from '@aztec/ethereum';
4
+ import { type EmpireSlashingProposerContract, RollupContract, type TallySlashingProposerContract } from '@aztec/ethereum/contracts';
5
+ import type { Operator } from '@aztec/ethereum/deploy-aztec-l1-contracts';
5
6
  import { ChainMonitor } from '@aztec/ethereum/test';
7
+ import type { ViemClient } from '@aztec/ethereum/types';
6
8
  import { type Logger } from '@aztec/foundation/log';
7
9
  import { SlasherAbi } from '@aztec/l1-artifacts';
8
10
  import { SpamContract } from '@aztec/noir-test-contracts.js/Spam';
@@ -11,8 +13,7 @@ import { SlashFactoryContract } from '@aztec/stdlib/l1-contracts';
11
13
  import type { PublicDataTreeLeaf } from '@aztec/stdlib/trees';
12
14
  import type { TestWallet } from '@aztec/test-wallet/server';
13
15
  import { type GetContractReturnType } from 'viem';
14
- import { type SubsystemsContext } from '../fixtures/snapshot_manager.js';
15
- import { type SetupOptions } from '../fixtures/utils.js';
16
+ import { type EndToEndContext, type SetupOptions } from '../fixtures/setup.js';
16
17
  export declare const WAIT_FOR_TX_TIMEOUT: number;
17
18
  export declare const SHORTENED_BLOCK_TIME_CONFIG_NO_PRUNES: {
18
19
  aztecSlotDuration: number;
@@ -26,7 +27,7 @@ export declare class P2PNetworkTest {
26
27
  numberOfValidators: number;
27
28
  numberOfNodes: number;
28
29
  private metricsPort?;
29
- private snapshotManager;
30
+ context: EndToEndContext;
30
31
  baseAccountPrivateKey: `0x${string}`;
31
32
  baseAccount: {
32
33
  address: `0x${string}`;
@@ -253,7 +254,7 @@ export declare class P2PNetworkTest {
253
254
  };
254
255
  logger: Logger;
255
256
  monitor: ChainMonitor;
256
- ctx: SubsystemsContext;
257
+ ctx: EndToEndContext;
257
258
  attesterPrivateKeys: `0x${string}`[];
258
259
  attesterPublicKeys: string[];
259
260
  peerIdPrivateKeys: string[];
@@ -264,8 +265,10 @@ export declare class P2PNetworkTest {
264
265
  defaultAccountAddress?: AztecAddress;
265
266
  spamContract?: SpamContract;
266
267
  bootstrapNode?: BootstrapNode;
267
- constructor(testName: string, bootstrapNodeEnr: string, bootNodePort: number, numberOfValidators: number, initialValidatorConfig: SetupOptions, numberOfNodes?: number, metricsPort?: number | undefined, startProverNode?: boolean, mockZkPassportVerifier?: boolean);
268
- static create({ testName, numberOfNodes, numberOfValidators, basePort, metricsPort, initialConfig, startProverNode, mockZkPassportVerifier }: {
268
+ private setupOptions;
269
+ private deployL1ContractsArgs;
270
+ constructor(testName: string, bootstrapNodeEnr: string, bootNodePort: number, numberOfValidators: number, initialValidatorConfig: SetupOptions, numberOfNodes?: number, metricsPort?: number | undefined, startProverNode?: boolean);
271
+ static create({ testName, numberOfNodes, numberOfValidators, basePort, metricsPort, initialConfig, startProverNode }: {
269
272
  testName: string;
270
273
  numberOfNodes: number;
271
274
  numberOfValidators: number;
@@ -273,20 +276,19 @@ export declare class P2PNetworkTest {
273
276
  metricsPort?: number;
274
277
  initialConfig?: SetupOptions;
275
278
  startProverNode?: boolean;
276
- mockZkPassportVerifier?: boolean;
277
279
  }): Promise<P2PNetworkTest>;
278
280
  get fundedAccount(): InitialAccountData;
279
281
  addBootstrapNode(): Promise<void>;
280
282
  getValidators(): {
281
283
  validators: Operator[];
282
284
  };
283
- applyBaseSnapshots(): Promise<void>;
285
+ applyBaseSetup(): Promise<void>;
284
286
  setupAccount(): Promise<void>;
285
287
  deploySpamContract(): Promise<void>;
286
288
  removeInitialNode(): Promise<void>;
287
289
  sendDummyTx(): Promise<{
288
290
  receipt: import("viem").TransactionReceipt;
289
- state: import("@aztec/ethereum").L1TxState;
291
+ state: import("@aztec/ethereum/l1-tx-utils").L1TxState;
290
292
  }>;
291
293
  private _sendDummyTx;
292
294
  setup(): Promise<void>;
@@ -310,4 +312,4 @@ export declare class P2PNetworkTest {
310
312
  slashFactory: SlashFactoryContract;
311
313
  }>;
312
314
  }
313
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicDJwX25ldHdvcmsuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lMmVfcDJwL3AycF9uZXR3b3JrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbEUsT0FBTyxLQUFLLEVBQW1CLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDM0UsT0FBTyxFQUFFLFlBQVksRUFBYyxNQUFNLDJCQUEyQixDQUFDO0FBRXJFLE9BQU8sRUFDTCxLQUFLLDhCQUE4QixFQUluQyxLQUFLLFFBQVEsRUFDYixjQUFjLEVBQ2QsS0FBSyw2QkFBNkIsRUFDbEMsS0FBSyxVQUFVLEVBSWhCLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBR3BELE9BQU8sRUFBRSxLQUFLLE1BQU0sRUFBZ0IsTUFBTSx1QkFBdUIsQ0FBQztBQUVsRSxPQUFPLEVBQWEsVUFBVSxFQUFnQixNQUFNLHFCQUFxQixDQUFDO0FBQzFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNsRSxPQUFPLEtBQUssRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUcxRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNsRSxPQUFPLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRTlELE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBSTVELE9BQU8sRUFBRSxLQUFLLHFCQUFxQixFQUEyQixNQUFNLE1BQU0sQ0FBQztBQVEzRSxPQUFPLEVBRUwsS0FBSyxpQkFBaUIsRUFHdkIsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6QyxPQUFPLEVBQUUsS0FBSyxZQUFZLEVBQWtELE1BQU0sc0JBQXNCLENBQUM7QUFN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
315
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicDJwX25ldHdvcmsuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lMmVfcDJwL3AycF9uZXR3b3JrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbEUsT0FBTyxLQUFLLEVBQW1CLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDM0UsT0FBTyxFQUFFLFlBQVksRUFBYyxNQUFNLDJCQUEyQixDQUFDO0FBR3JFLE9BQU8sRUFDTCxLQUFLLDhCQUE4QixFQUVuQyxjQUFjLEVBQ2QsS0FBSyw2QkFBNkIsRUFDbkMsTUFBTSwyQkFBMkIsQ0FBQztBQUNuQyxPQUFPLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUkxRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDcEQsT0FBTyxLQUFLLEVBQTRCLFVBQVUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBR2xGLE9BQU8sRUFBRSxLQUFLLE1BQU0sRUFBZ0IsTUFBTSx1QkFBdUIsQ0FBQztBQUVsRSxPQUFPLEVBQWEsVUFBVSxFQUFnQixNQUFNLHFCQUFxQixDQUFDO0FBQzFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNsRSxPQUFPLEtBQUssRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUcxRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNsRSxPQUFPLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRTlELE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBSTVELE9BQU8sRUFBRSxLQUFLLHFCQUFxQixFQUEyQixNQUFNLE1BQU0sQ0FBQztBQUczRSxPQUFPLEVBQ0wsS0FBSyxlQUFlLEVBQ3BCLEtBQUss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
@@ -1 +1 @@
1
- {"version":3,"file":"p2p_network.d.ts","sourceRoot":"","sources":["../../src/e2e_p2p/p2p_network.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"p2p_network.d.ts","sourceRoot":"","sources":["../../src/e2e_p2p/p2p_network.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,10 @@
1
1
  import { EthAddress } from '@aztec/aztec.js/addresses';
2
2
  import { Fr } from '@aztec/aztec.js/fields';
3
- import { GSEContract, MultiAdderArtifact, RollupContract, createL1TxUtilsFromViemWallet, deployL1Contract, getL1ContractsConfigEnvVars } from '@aztec/ethereum';
3
+ import { getL1ContractsConfigEnvVars } from '@aztec/ethereum/config';
4
+ import { GSEContract, RollupContract } from '@aztec/ethereum/contracts';
5
+ import { deployL1Contract } from '@aztec/ethereum/deploy-l1-contract';
6
+ import { MultiAdderArtifact } from '@aztec/ethereum/l1-artifacts';
7
+ import { createL1TxUtilsFromViemWallet } from '@aztec/ethereum/l1-tx-utils';
4
8
  import { ChainMonitor } from '@aztec/ethereum/test';
5
9
  import { EpochNumber } from '@aztec/foundation/branded-types';
6
10
  import { SecretValue } from '@aztec/foundation/config';
@@ -16,9 +20,8 @@ import { getGenesisValues } from '@aztec/world-state/testing';
16
20
  import getPort from 'get-port';
17
21
  import { getAddress, getContract } from 'viem';
18
22
  import { privateKeyToAccount } from 'viem/accounts';
23
+ import { deployAccounts, getPrivateKeyFromIndex, getSponsoredFPCAddress, setup, teardown } from '../fixtures/setup.js';
19
24
  import { ATTESTER_PRIVATE_KEYS_START_INDEX, createValidatorConfig, generatePrivateKeys } from '../fixtures/setup_p2p_test.js';
20
- import { createSnapshotManager, deployAccounts } from '../fixtures/snapshot_manager.js';
21
- import { getPrivateKeyFromIndex, getSponsoredFPCAddress } from '../fixtures/utils.js';
22
25
  import { getEndToEndTestTelemetryClient } from '../fixtures/with_telemetry_utils.js';
23
26
  // Use a fixed bootstrap node private key so that we can re-use the same snapshot and the nodes can find each other
24
27
  const BOOTSTRAP_NODE_PRIVATE_KEY = '080212208f988fc0899e4a73a5aee4d271a5f20670603a756ad8d84f2c94263a6427c591';
@@ -36,7 +39,7 @@ export class P2PNetworkTest {
36
39
  numberOfValidators;
37
40
  numberOfNodes;
38
41
  metricsPort;
39
- snapshotManager;
42
+ context;
40
43
  baseAccountPrivateKey;
41
44
  baseAccount;
42
45
  logger;
@@ -53,8 +56,11 @@ export class P2PNetworkTest {
53
56
  defaultAccountAddress;
54
57
  spamContract;
55
58
  bootstrapNode;
59
+ // Store setup options for use in setup()
60
+ setupOptions;
61
+ deployL1ContractsArgs;
56
62
  constructor(testName, bootstrapNodeEnr, bootNodePort, numberOfValidators, initialValidatorConfig, numberOfNodes = 0, // If set enable metrics collection
57
- metricsPort, startProverNode, mockZkPassportVerifier){
63
+ metricsPort, startProverNode){
58
64
  this.testName = testName;
59
65
  this.bootstrapNodeEnr = bootstrapNodeEnr;
60
66
  this.bootNodePort = bootNodePort;
@@ -74,7 +80,8 @@ export class P2PNetworkTest {
74
80
  this.attesterPrivateKeys = generatePrivateKeys(ATTESTER_PRIVATE_KEYS_START_INDEX + numberOfNodes, numberOfValidators);
75
81
  this.attesterPublicKeys = this.attesterPrivateKeys.map((privateKey)=>privateKeyToAccount(privateKey).address);
76
82
  const zkPassportParams = ZkPassportProofParams.random();
77
- this.snapshotManager = createSnapshotManager(`e2e_p2p_network/${testName}`, process.env.E2E_DATA_PATH, {
83
+ // Store setup options for later use
84
+ this.setupOptions = {
78
85
  ...initialValidatorConfig,
79
86
  ethereumSlotDuration: initialValidatorConfig.ethereumSlotDuration ?? l1ContractsConfig.ethereumSlotDuration,
80
87
  aztecEpochDuration: initialValidatorConfig.aztecEpochDuration ?? l1ContractsConfig.aztecEpochDuration,
@@ -83,11 +90,11 @@ export class P2PNetworkTest {
83
90
  slashingRoundSizeInEpochs: initialValidatorConfig.slashingRoundSizeInEpochs ?? l1ContractsConfig.slashingRoundSizeInEpochs,
84
91
  slasherFlavor: initialValidatorConfig.slasherFlavor ?? 'tally',
85
92
  aztecTargetCommitteeSize: numberOfValidators,
86
- salt: 420,
87
93
  metricsPort: metricsPort,
88
94
  numberOfInitialFundedAccounts: 2,
89
95
  startProverNode
90
- }, {
96
+ };
97
+ this.deployL1ContractsArgs = {
91
98
  ...initialValidatorConfig,
92
99
  aztecEpochDuration: initialValidatorConfig.aztecEpochDuration ?? l1ContractsConfig.aztecEpochDuration,
93
100
  slashingRoundSizeInEpochs: initialValidatorConfig.slashingRoundSizeInEpochs ?? l1ContractsConfig.slashingRoundSizeInEpochs,
@@ -98,32 +105,30 @@ export class P2PNetworkTest {
98
105
  aztecTargetCommitteeSize: numberOfValidators,
99
106
  initialValidators: [],
100
107
  zkPassportArgs: {
101
- mockZkPassportVerifier,
102
108
  zkPassportDomain: zkPassportParams.domain,
103
109
  zkPassportScope: zkPassportParams.scope
104
110
  }
105
- });
111
+ };
106
112
  }
107
- static async create({ testName, numberOfNodes, numberOfValidators, basePort, metricsPort, initialConfig, startProverNode, mockZkPassportVerifier }) {
113
+ static async create({ testName, numberOfNodes, numberOfValidators, basePort, metricsPort, initialConfig, startProverNode }) {
108
114
  const port = basePort || await getPort();
109
115
  const bootstrapNodeENR = await getBootstrapNodeEnr(BOOTSTRAP_NODE_PRIVATE_KEY, port);
110
116
  const bootstrapNodeEnr = bootstrapNodeENR.encodeTxt();
111
117
  const initialValidatorConfig = await createValidatorConfig(initialConfig ?? {}, bootstrapNodeEnr);
112
- return new P2PNetworkTest(testName, bootstrapNodeEnr, port, numberOfValidators, initialValidatorConfig, numberOfNodes, metricsPort, startProverNode, mockZkPassportVerifier);
118
+ return new P2PNetworkTest(testName, bootstrapNodeEnr, port, numberOfValidators, initialValidatorConfig, numberOfNodes, metricsPort, startProverNode);
113
119
  }
114
120
  get fundedAccount() {
115
121
  if (!this.deployedAccounts[0]) {
116
- throw new Error('Call snapshot t.setupAccount to create a funded account.');
122
+ throw new Error('Call setupAccount to create a funded account.');
117
123
  }
118
124
  return this.deployedAccounts[0];
119
125
  }
120
126
  async addBootstrapNode() {
121
- await this.snapshotManager.snapshot('add-bootstrap-node', async ({ aztecNodeConfig })=>{
122
- const telemetry = getEndToEndTestTelemetryClient(this.metricsPort);
123
- this.bootstrapNode = await createBootstrapNodeFromPrivateKey(BOOTSTRAP_NODE_PRIVATE_KEY, this.bootNodePort, telemetry, aztecNodeConfig);
124
- // Overwrite enr with updated info
125
- this.bootstrapNodeEnr = this.bootstrapNode.getENR().encodeTxt();
126
- });
127
+ this.logger.info('Adding bootstrap node');
128
+ const telemetry = await getEndToEndTestTelemetryClient(this.metricsPort);
129
+ this.bootstrapNode = await createBootstrapNodeFromPrivateKey(BOOTSTRAP_NODE_PRIVATE_KEY, this.bootNodePort, telemetry, this.context.config);
130
+ // Overwrite enr with updated info
131
+ this.bootstrapNodeEnr = this.bootstrapNode.getENR().encodeTxt();
127
132
  }
128
133
  getValidators() {
129
134
  const validators = [];
@@ -141,101 +146,92 @@ export class P2PNetworkTest {
141
146
  validators
142
147
  };
143
148
  }
144
- async applyBaseSnapshots() {
149
+ async applyBaseSetup() {
145
150
  await this.addBootstrapNode();
146
- await this.snapshotManager.snapshot('add-validators', async ({ deployL1ContractsValues, cheatCodes })=>{
147
- const rollup = getContract({
148
- address: deployL1ContractsValues.l1ContractAddresses.rollupAddress.toString(),
149
- abi: RollupAbi,
150
- client: deployL1ContractsValues.l1Client
151
- });
152
- this.logger.info(`Adding ${this.numberOfValidators} validators`);
153
- const stakingAsset = getContract({
154
- address: deployL1ContractsValues.l1ContractAddresses.stakingAssetAddress.toString(),
155
- abi: TestERC20Abi,
156
- client: deployL1ContractsValues.l1Client
157
- });
158
- const { address: multiAdderAddress } = await deployL1Contract(deployL1ContractsValues.l1Client, MultiAdderArtifact.contractAbi, MultiAdderArtifact.contractBytecode, [
159
- rollup.address,
160
- deployL1ContractsValues.l1Client.account.address
161
- ]);
162
- const multiAdder = getContract({
163
- address: multiAdderAddress.toString(),
164
- abi: MultiAdderArtifact.contractAbi,
165
- client: deployL1ContractsValues.l1Client
166
- });
167
- const stakeNeeded = await rollup.read.getActivationThreshold() * BigInt(this.numberOfValidators);
168
- await Promise.all([
169
- await stakingAsset.write.mint([
170
- multiAdder.address,
171
- stakeNeeded
172
- ], {})
173
- ].map((txHash)=>deployL1ContractsValues.l1Client.waitForTransactionReceipt({
174
- hash: txHash
175
- })));
176
- const { validators } = this.getValidators();
177
- this.validators = validators;
178
- const gseAddress = deployL1ContractsValues.l1ContractAddresses.gseAddress;
179
- if (!gseAddress) {
180
- throw new Error('GSE contract not deployed');
181
- }
182
- const gseContract = new GSEContract(deployL1ContractsValues.l1Client, gseAddress.toString());
183
- const makeValidatorTuples = async (validator)=>{
184
- const registrationTuple = await gseContract.makeRegistrationTuple(validator.bn254SecretKey.getValue());
185
- return {
186
- attester: validator.attester.toString(),
187
- withdrawer: validator.withdrawer.toString(),
188
- ...registrationTuple
189
- };
151
+ this.logger.info('Adding validators');
152
+ const rollup = getContract({
153
+ address: this.context.deployL1ContractsValues.l1ContractAddresses.rollupAddress.toString(),
154
+ abi: RollupAbi,
155
+ client: this.context.deployL1ContractsValues.l1Client
156
+ });
157
+ this.logger.info(`Adding ${this.numberOfValidators} validators`);
158
+ const stakingAsset = getContract({
159
+ address: this.context.deployL1ContractsValues.l1ContractAddresses.stakingAssetAddress.toString(),
160
+ abi: TestERC20Abi,
161
+ client: this.context.deployL1ContractsValues.l1Client
162
+ });
163
+ const { address: multiAdderAddress } = await deployL1Contract(this.context.deployL1ContractsValues.l1Client, MultiAdderArtifact.contractAbi, MultiAdderArtifact.contractBytecode, [
164
+ rollup.address,
165
+ this.context.deployL1ContractsValues.l1Client.account.address
166
+ ]);
167
+ const multiAdder = getContract({
168
+ address: multiAdderAddress.toString(),
169
+ abi: MultiAdderArtifact.contractAbi,
170
+ client: this.context.deployL1ContractsValues.l1Client
171
+ });
172
+ const stakeNeeded = await rollup.read.getActivationThreshold() * BigInt(this.numberOfValidators);
173
+ await Promise.all([
174
+ await stakingAsset.write.mint([
175
+ multiAdder.address,
176
+ stakeNeeded
177
+ ], {})
178
+ ].map((txHash)=>this.context.deployL1ContractsValues.l1Client.waitForTransactionReceipt({
179
+ hash: txHash
180
+ })));
181
+ const { validators } = this.getValidators();
182
+ this.validators = validators;
183
+ const gseAddress = this.context.deployL1ContractsValues.l1ContractAddresses.gseAddress;
184
+ if (!gseAddress) {
185
+ throw new Error('GSE contract not deployed');
186
+ }
187
+ const gseContract = new GSEContract(this.context.deployL1ContractsValues.l1Client, gseAddress.toString());
188
+ const makeValidatorTuples = async (validator)=>{
189
+ const registrationTuple = await gseContract.makeRegistrationTuple(validator.bn254SecretKey.getValue());
190
+ return {
191
+ attester: validator.attester.toString(),
192
+ withdrawer: validator.withdrawer.toString(),
193
+ ...registrationTuple
190
194
  };
191
- const validatorTuples = await Promise.all(validators.map(makeValidatorTuples));
192
- await deployL1ContractsValues.l1Client.waitForTransactionReceipt({
193
- hash: await multiAdder.write.addValidators([
194
- validatorTuples
195
- ])
196
- });
197
- await cheatCodes.rollup.advanceToEpoch(EpochNumber.fromBigInt(BigInt(await cheatCodes.rollup.getEpoch()) + await rollup.read.getLagInEpochsForValidatorSet() + 1n));
198
- // Send and await a tx to make sure we mine a block for the warp to correctly progress.
199
- await this._sendDummyTx(deployL1ContractsValues.l1Client);
195
+ };
196
+ const validatorTuples = await Promise.all(validators.map(makeValidatorTuples));
197
+ await this.context.deployL1ContractsValues.l1Client.waitForTransactionReceipt({
198
+ hash: await multiAdder.write.addValidators([
199
+ validatorTuples
200
+ ])
200
201
  });
202
+ await this.context.cheatCodes.rollup.advanceToEpoch(EpochNumber.fromBigInt(BigInt(await this.context.cheatCodes.rollup.getEpoch()) + await rollup.read.getLagInEpochsForValidatorSet() + 1n));
203
+ // Send and await a tx to make sure we mine a block for the warp to correctly progress.
204
+ await this._sendDummyTx(this.context.deployL1ContractsValues.l1Client);
201
205
  }
202
206
  async setupAccount() {
203
- await this.snapshotManager.snapshot('setup-account', deployAccounts(1, this.logger), ({ deployedAccounts }, { wallet })=>{
204
- this.deployedAccounts = deployedAccounts;
205
- [{ address: this.defaultAccountAddress }] = deployedAccounts;
206
- this.wallet = wallet;
207
- return Promise.resolve();
207
+ this.logger.info('Setting up account');
208
+ const { deployedAccounts } = await deployAccounts(1, this.logger)({
209
+ wallet: this.context.wallet,
210
+ initialFundedAccounts: this.context.initialFundedAccounts
208
211
  });
212
+ this.deployedAccounts = deployedAccounts;
213
+ [{ address: this.defaultAccountAddress }] = deployedAccounts;
214
+ this.wallet = this.context.wallet;
209
215
  }
210
216
  async deploySpamContract() {
211
- await this.snapshotManager.snapshot('add-spam-contract', async ()=>{
212
- if (!this.wallet) {
213
- throw new Error('Call snapshot t.setupAccount before deploying account contract');
214
- }
215
- const spamContract = await SpamContract.deploy(this.wallet).send({
216
- from: this.defaultAccountAddress
217
- }).deployed();
218
- return {
219
- contractAddress: spamContract.address
220
- };
221
- }, ({ contractAddress })=>{
222
- if (!this.wallet) {
223
- throw new Error('Call snapshot t.setupAccount before deploying account contract');
224
- }
225
- this.spamContract = SpamContract.at(contractAddress, this.wallet);
226
- return Promise.resolve();
227
- });
217
+ this.logger.info('Deploying spam contract');
218
+ if (!this.wallet) {
219
+ throw new Error('Call setupAccount before deploying spam contract');
220
+ }
221
+ const spamContract = await SpamContract.deploy(this.wallet).send({
222
+ from: this.defaultAccountAddress
223
+ }).deployed();
224
+ this.spamContract = spamContract;
228
225
  }
229
226
  async removeInitialNode() {
230
- await this.snapshotManager.snapshot('remove-initial-validator', async ({ deployL1ContractsValues, aztecNode, dateProvider })=>{
231
- // Send and await a tx to make sure we mine a block for the warp to correctly progress.
232
- const { receipt } = await this._sendDummyTx(deployL1ContractsValues.l1Client);
233
- const block = await deployL1ContractsValues.l1Client.getBlock({
234
- blockNumber: receipt.blockNumber
235
- });
236
- dateProvider.setTime(Number(block.timestamp) * 1000);
237
- await aztecNode.stop();
227
+ this.logger.info('Removing initial node');
228
+ // Send and await a tx to make sure we mine a block for the warp to correctly progress.
229
+ const { receipt } = await this._sendDummyTx(this.context.deployL1ContractsValues.l1Client);
230
+ const block = await this.context.deployL1ContractsValues.l1Client.getBlock({
231
+ blockNumber: receipt.blockNumber
238
232
  });
233
+ this.context.dateProvider.setTime(Number(block.timestamp) * 1000);
234
+ await this.context.aztecNodeService.stop();
239
235
  }
240
236
  async sendDummyTx() {
241
237
  return await this._sendDummyTx(this.ctx.deployL1ContractsValues.l1Client);
@@ -248,17 +244,26 @@ export class P2PNetworkTest {
248
244
  });
249
245
  }
250
246
  async setup() {
251
- this.ctx = await this.snapshotManager.setup();
247
+ this.logger.info('Setting up subsystems from fresh');
248
+ this.context = await setup(0, {
249
+ ...this.setupOptions,
250
+ fundSponsoredFPC: true,
251
+ skipAccountDeployment: true,
252
+ slasherFlavor: this.setupOptions.slasherFlavor ?? this.deployL1ContractsArgs.slasherFlavor ?? 'none',
253
+ aztecTargetCommitteeSize: 0,
254
+ l1ContractsArgs: this.deployL1ContractsArgs
255
+ });
256
+ this.ctx = this.context;
252
257
  const sponsoredFPCAddress = await getSponsoredFPCAddress();
253
258
  const initialFundedAccounts = [
254
- ...this.ctx.initialFundedAccounts.map((a)=>a.address),
259
+ ...this.context.initialFundedAccounts.map((a)=>a.address),
255
260
  sponsoredFPCAddress
256
261
  ];
257
262
  const { prefilledPublicData } = await getGenesisValues(initialFundedAccounts);
258
263
  this.prefilledPublicData = prefilledPublicData;
259
- const rollupContract = RollupContract.getFromL1ContractsValues(this.ctx.deployL1ContractsValues);
260
- this.monitor = new ChainMonitor(rollupContract, this.ctx.dateProvider).start();
261
- this.monitor.on('l1-block', ({ timestamp })=>this.ctx.dateProvider.setTime(Number(timestamp) * 1000));
264
+ const rollupContract = RollupContract.getFromL1ContractsValues(this.context.deployL1ContractsValues);
265
+ this.monitor = new ChainMonitor(rollupContract, this.context.dateProvider).start();
266
+ this.monitor.on('l1-block', ({ timestamp })=>this.context.dateProvider.setTime(Number(timestamp) * 1000));
262
267
  }
263
268
  async stopNodes(nodes) {
264
269
  this.logger.info('Stopping nodes');
@@ -295,15 +300,15 @@ export class P2PNetworkTest {
295
300
  async teardown() {
296
301
  await this.monitor.stop();
297
302
  await tryStop(this.bootstrapNode, this.logger);
298
- await this.snapshotManager.teardown();
303
+ await teardown(this.context);
299
304
  }
300
305
  async getContracts() {
301
306
  if (!this.ctx.deployL1ContractsValues) {
302
- throw new Error('DeployL1ContractsValues not set');
307
+ throw new Error('DeployAztecL1ContractsValues not set');
303
308
  }
304
309
  const rollup = new RollupContract(this.ctx.deployL1ContractsValues.l1Client, this.ctx.deployL1ContractsValues.l1ContractAddresses.rollupAddress);
305
310
  const slasherContract = getContract({
306
- address: getAddress(await rollup.getSlasherAddress()),
311
+ address: getAddress((await rollup.getSlasherAddress()).toString()),
307
312
  abi: SlasherAbi,
308
313
  client: this.ctx.deployL1ContractsValues.l1Client
309
314
  });
@@ -5,7 +5,7 @@ import { type SentTx } from '@aztec/aztec.js/contracts';
5
5
  import type { Logger } from '@aztec/aztec.js/log';
6
6
  import { Tx } from '@aztec/aztec.js/tx';
7
7
  import type { RollupCheatCodes } from '@aztec/aztec/testing';
8
- import type { EmpireSlashingProposerContract, RollupContract, TallySlashingProposerContract } from '@aztec/ethereum';
8
+ import type { EmpireSlashingProposerContract, RollupContract, TallySlashingProposerContract } from '@aztec/ethereum/contracts';
9
9
  import type { SpamContract } from '@aztec/noir-test-contracts.js/Spam';
10
10
  import type { AztecNodeAdmin } from '@aztec/stdlib/interfaces/client';
11
11
  import type { SlashFactoryContract } from '@aztec/stdlib/l1-contracts';
@@ -43,4 +43,4 @@ export declare function awaitCommitteeKicked({ rollup, cheatCodes, committee, sl
43
43
  logger: Logger;
44
44
  offenseEpoch: number;
45
45
  }): Promise<void>;
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZTJlX3AycC9zaGFyZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNsRSxPQUFPLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzFELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsS0FBSyxNQUFNLEVBQThDLE1BQU0sMkJBQTJCLENBQUM7QUFFcEcsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbEQsT0FBTyxFQUFFLEVBQUUsRUFBWSxNQUFNLG9CQUFvQixDQUFDO0FBQ2xELE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDN0QsT0FBTyxLQUFLLEVBQUUsOEJBQThCLEVBQUUsY0FBYyxFQUFFLDZCQUE2QixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFLckgsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFJdkUsT0FBTyxLQUFLLEVBQUUsY0FBYyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdEUsT0FBTyxLQUFLLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQU12RSxlQUFPLE1BQU0sa0JBQWtCOzt1QkEyQjlCLENBQUM7QUFHRixlQUFPLE1BQU0sa0JBQWtCLGtIQVc5QixDQUFDO0FBRUYsd0JBQXNCLG1CQUFtQixDQUN2QyxNQUFNLEVBQUUsTUFBTSxFQUNkLElBQUksRUFBRSxnQkFBZ0IsRUFDdEIsTUFBTSxFQUFFLE1BQU0sRUFDZCxhQUFhLEVBQUUsa0JBQWtCLEdBQ2hDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQXFCZjtBQUVELHdCQUFnQixzQkFBc0IsQ0FDcEMsZ0JBQWdCLEVBQUUsOEJBQThCLEdBQUcsNkJBQTZCLEVBQ2hGLGNBQWMsRUFBRSxNQUFNLEVBQ3RCLE1BQU0sRUFBRSxNQUFNLEdBQ2IsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQTBCakI7QUFFRCx3QkFBc0Isb0JBQW9CLENBQUMsRUFDekMsTUFBTSxFQUNOLE1BQU0sRUFDUCxFQUFFO0lBQ0QsTUFBTSxFQUFFLGNBQWMsQ0FBQztJQUN2QixNQUFNLEVBQUUsTUFBTSxDQUFDO0NBQ2hCLEdBQUcsT0FBTyxDQUFDLFNBQVMsS0FBSyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBWXBDO0FBRUQsd0JBQXNCLG9CQUFvQixDQUFDLEVBQ3pDLE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLGFBQWEsRUFDYixxQkFBcUIsRUFDckIsY0FBb0IsRUFDckIsRUFBRTtJQUNELFNBQVMsRUFBRSxjQUFjLENBQUM7SUFDMUIsTUFBTSxFQUFFLE1BQU0sQ0FBQztJQUNmLGlCQUFpQixFQUFFLE1BQU0sQ0FBQztJQUMxQixhQUFhLEVBQUUsTUFBTSxDQUFDO0lBQ3RCLHFCQUFxQixDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQy9CLGNBQWMsQ0FBQyxFQUFFLE1BQU0sQ0FBQztDQUN6QiwrQ0FrQkE7QUFFRDs7O0dBR0c7QUFDSCx3QkFBc0Isb0JBQW9CLENBQUMsRUFDekMsTUFBTSxFQUNOLFVBQVUsRUFDVixTQUFTLEVBQ1QsWUFBWSxFQUNaLGdCQUFnQixFQUNoQixpQkFBaUIsRUFDakIsaUJBQWlCLEVBQ2pCLGtCQUFrQixFQUNsQixNQUFNLEVBQ04sWUFBWSxFQUNiLEVBQUU7SUFDRCxNQUFNLEVBQUUsY0FBYyxDQUFDO0lBQ3ZCLFVBQVUsRUFBRSxnQkFBZ0IsQ0FBQztJQUM3QixTQUFTLEVBQUUsU0FBUyxLQUFLLE1BQU0sRUFBRSxFQUFFLENBQUM7SUFDcEMsWUFBWSxFQUFFLG9CQUFvQixDQUFDO0lBQ25DLGdCQUFnQixFQUFFLDhCQUE4QixHQUFHLDZCQUE2QixHQUFHLFNBQVMsQ0FBQztJQUM3RixpQkFBaUIsRUFBRSxNQUFNLENBQUM7SUFDMUIsaUJBQWlCLEVBQUUsTUFBTSxDQUFDO0lBQzFCLGtCQUFrQixFQUFFLE1BQU0sQ0FBQztJQUMzQixNQUFNLEVBQUUsTUFBTSxDQUFDO0lBQ2YsWUFBWSxFQUFFLE1BQU0sQ0FBQztDQUN0QixpQkE2RUEifQ==
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZTJlX3AycC9zaGFyZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNsRSxPQUFPLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzFELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsS0FBSyxNQUFNLEVBQThDLE1BQU0sMkJBQTJCLENBQUM7QUFFcEcsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbEQsT0FBTyxFQUFFLEVBQUUsRUFBWSxNQUFNLG9CQUFvQixDQUFDO0FBQ2xELE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDN0QsT0FBTyxLQUFLLEVBQ1YsOEJBQThCLEVBQzlCLGNBQWMsRUFDZCw2QkFBNkIsRUFDOUIsTUFBTSwyQkFBMkIsQ0FBQztBQU1uQyxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUl2RSxPQUFPLEtBQUssRUFBRSxjQUFjLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN0RSxPQUFPLEtBQUssRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBTXZFLGVBQU8sTUFBTSxrQkFBa0I7O3VCQTJCOUIsQ0FBQztBQUdGLGVBQU8sTUFBTSxrQkFBa0Isa0hBVzlCLENBQUM7QUFFRix3QkFBc0IsbUJBQW1CLENBQ3ZDLE1BQU0sRUFBRSxNQUFNLEVBQ2QsSUFBSSxFQUFFLGdCQUFnQixFQUN0QixNQUFNLEVBQUUsTUFBTSxFQUNkLGFBQWEsRUFBRSxrQkFBa0IsR0FDaEMsT0FBTyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBcUJmO0FBRUQsd0JBQWdCLHNCQUFzQixDQUNwQyxnQkFBZ0IsRUFBRSw4QkFBOEIsR0FBRyw2QkFBNkIsRUFDaEYsY0FBYyxFQUFFLE1BQU0sRUFDdEIsTUFBTSxFQUFFLE1BQU0sR0FDYixPQUFPLENBQUMsTUFBTSxDQUFDLENBMEJqQjtBQUVELHdCQUFzQixvQkFBb0IsQ0FBQyxFQUN6QyxNQUFNLEVBQ04sTUFBTSxFQUNQLEVBQUU7SUFDRCxNQUFNLEVBQUUsY0FBYyxDQUFDO0lBQ3ZCLE1BQU0sRUFBRSxNQUFNLENBQUM7Q0FDaEIsR0FBRyxPQUFPLENBQUMsU0FBUyxLQUFLLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FZcEM7QUFFRCx3QkFBc0Isb0JBQW9CLENBQUMsRUFDekMsTUFBTSxFQUNOLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsYUFBYSxFQUNiLHFCQUFxQixFQUNyQixjQUFvQixFQUNyQixFQUFFO0lBQ0QsU0FBUyxFQUFFLGNBQWMsQ0FBQztJQUMxQixNQUFNLEVBQUUsTUFBTSxDQUFDO0lBQ2YsaUJBQWlCLEVBQUUsTUFBTSxDQUFDO0lBQzFCLGFBQWEsRUFBRSxNQUFNLENBQUM7SUFDdEIscUJBQXFCLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDL0IsY0FBYyxDQUFDLEVBQUUsTUFBTSxDQUFDO0NBQ3pCLCtDQWtCQTtBQUVEOzs7R0FHRztBQUNILHdCQUFzQixvQkFBb0IsQ0FBQyxFQUN6QyxNQUFNLEVBQ04sVUFBVSxFQUNWLFNBQVMsRUFDVCxZQUFZLEVBQ1osZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNqQixpQkFBaUIsRUFDakIsa0JBQWtCLEVBQ2xCLE1BQU0sRUFDTixZQUFZLEVBQ2IsRUFBRTtJQUNELE1BQU0sRUFBRSxjQUFjLENBQUM7SUFDdkIsVUFBVSxFQUFFLGdCQUFnQixDQUFDO0lBQzdCLFNBQVMsRUFBRSxTQUFTLEtBQUssTUFBTSxFQUFFLEVBQUUsQ0FBQztJQUNwQyxZQUFZLEVBQUUsb0JBQW9CLENBQUM7SUFDbkMsZ0JBQWdCLEVBQUUsOEJBQThCLEdBQUcsNkJBQTZCLEdBQUcsU0FBUyxDQUFDO0lBQzdGLGlCQUFpQixFQUFFLE1BQU0sQ0FBQztJQUMxQixpQkFBaUIsRUFBRSxNQUFNLENBQUM7SUFDMUIsa0JBQWtCLEVBQUUsTUFBTSxDQUFDO0lBQzNCLE1BQU0sRUFBRSxNQUFNLENBQUM7SUFDZixZQUFZLEVBQUUsTUFBTSxDQUFDO0NBQ3RCLGlCQTZFQSJ9
@@ -1 +1 @@
1
- {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/e2e_p2p/shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,KAAK,MAAM,EAA8C,MAAM,2BAA2B,CAAC;AAEpG,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,EAAE,EAAY,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,KAAK,EAAE,8BAA8B,EAAE,cAAc,EAAE,6BAA6B,EAAE,MAAM,iBAAiB,CAAC;AAKrH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAIvE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAMvE,eAAO,MAAM,kBAAkB;;uBA2B9B,CAAC;AAGF,eAAO,MAAM,kBAAkB,kHAW9B,CAAC;AAEF,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,gBAAgB,EACtB,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,kBAAkB,GAChC,OAAO,CAAC,EAAE,EAAE,CAAC,CAqBf;AAED,wBAAgB,sBAAsB,CACpC,gBAAgB,EAAE,8BAA8B,GAAG,6BAA6B,EAChF,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,CAAC,CA0BjB;AAED,wBAAsB,oBAAoB,CAAC,EACzC,MAAM,EACN,MAAM,EACP,EAAE;IACD,MAAM,EAAE,cAAc,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;CAChB,GAAG,OAAO,CAAC,SAAS,KAAK,MAAM,EAAE,EAAE,CAAC,CAYpC;AAED,wBAAsB,oBAAoB,CAAC,EACzC,MAAM,EACN,SAAS,EACT,iBAAiB,EACjB,aAAa,EACb,qBAAqB,EACrB,cAAoB,EACrB,EAAE;IACD,SAAS,EAAE,cAAc,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,+CAkBA;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CAAC,EACzC,MAAM,EACN,UAAU,EACV,SAAS,EACT,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,MAAM,EACN,YAAY,EACb,EAAE;IACD,MAAM,EAAE,cAAc,CAAC;IACvB,UAAU,EAAE,gBAAgB,CAAC;IAC7B,SAAS,EAAE,SAAS,KAAK,MAAM,EAAE,EAAE,CAAC;IACpC,YAAY,EAAE,oBAAoB,CAAC;IACnC,gBAAgB,EAAE,8BAA8B,GAAG,6BAA6B,GAAG,SAAS,CAAC;IAC7F,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;CACtB,iBA6EA"}
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/e2e_p2p/shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,KAAK,MAAM,EAA8C,MAAM,2BAA2B,CAAC;AAEpG,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,EAAE,EAAY,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,KAAK,EACV,8BAA8B,EAC9B,cAAc,EACd,6BAA6B,EAC9B,MAAM,2BAA2B,CAAC;AAMnC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAIvE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAMvE,eAAO,MAAM,kBAAkB;;uBA2B9B,CAAC;AAGF,eAAO,MAAM,kBAAkB,kHAW9B,CAAC;AAEF,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,gBAAgB,EACtB,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,kBAAkB,GAChC,OAAO,CAAC,EAAE,EAAE,CAAC,CAqBf;AAED,wBAAgB,sBAAsB,CACpC,gBAAgB,EAAE,8BAA8B,GAAG,6BAA6B,EAChF,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,CAAC,CA0BjB;AAED,wBAAsB,oBAAoB,CAAC,EACzC,MAAM,EACN,MAAM,EACP,EAAE;IACD,MAAM,EAAE,cAAc,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;CAChB,GAAG,OAAO,CAAC,SAAS,KAAK,MAAM,EAAE,EAAE,CAAC,CAYpC;AAED,wBAAsB,oBAAoB,CAAC,EACzC,MAAM,EACN,SAAS,EACT,iBAAiB,EACjB,aAAa,EACb,qBAAqB,EACrB,cAAoB,EACrB,EAAE;IACD,SAAS,EAAE,cAAc,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,+CAkBA;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CAAC,EACzC,MAAM,EACN,UAAU,EACV,SAAS,EACT,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,MAAM,EACN,YAAY,EACb,EAAE;IACD,MAAM,EAAE,cAAc,CAAC;IACvB,UAAU,EAAE,gBAAgB,CAAC;IAC7B,SAAS,EAAE,SAAS,KAAK,MAAM,EAAE,EAAE,CAAC;IACpC,YAAY,EAAE,oBAAoB,CAAC;IACnC,gBAAgB,EAAE,8BAA8B,GAAG,6BAA6B,GAAG,SAAS,CAAC;IAC7F,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;CACtB,iBA6EA"}
@@ -101,7 +101,7 @@ export async function awaitCommitteeExists({ rollup, logger }) {
101
101
  committee = await rollup.getCurrentEpochCommittee();
102
102
  return committee && committee.length > 0;
103
103
  }, 'non-empty committee', 60);
104
- return committee;
104
+ return committee.map((c)=>c.toString());
105
105
  }
106
106
  export async function awaitOffenseDetected({ logger, nodeAdmin, slashingRoundSize, epochDuration, waitUntilOffenseCount, timeoutSeconds = 120 }) {
107
107
  const targetOffenseCount = waitUntilOffenseCount ?? 1;
@@ -130,9 +130,9 @@ export async function awaitOffenseDetected({ logger, nodeAdmin, slashingRoundSiz
130
130
  await cheatCodes.debugRollup();
131
131
  if (slashingProposer.type === 'empire') {
132
132
  // Await for the slash payload to be created if empire (no payload is created on tally until execution time)
133
- const targetEpoch = BigInt(await cheatCodes.getEpoch()) + await rollup.getLagInEpochsForValidatorSet() + 1n;
133
+ const targetEpoch = EpochNumber(await cheatCodes.getEpoch() + await rollup.getLagInEpochsForValidatorSet() + 1);
134
134
  logger.info(`Advancing to epoch ${targetEpoch} so we start slashing`);
135
- await cheatCodes.advanceToEpoch(EpochNumber.fromBigInt(targetEpoch));
135
+ await cheatCodes.advanceToEpoch(targetEpoch);
136
136
  const slashPayloadEvents = await retryUntil(async ()=>{
137
137
  const events = await slashFactory.getSlashPayloadCreatedEvents();
138
138
  return events.length > 0 ? events : undefined;
@@ -173,7 +173,7 @@ export async function awaitOffenseDetected({ logger, nodeAdmin, slashingRoundSiz
173
173
  }
174
174
  logger.info(`Advancing to check current committee`);
175
175
  await cheatCodes.debugRollup();
176
- await cheatCodes.advanceToEpoch(EpochNumber.fromBigInt(BigInt(await cheatCodes.getEpoch()) + await rollup.getLagInEpochsForValidatorSet() + 1n));
176
+ await cheatCodes.advanceToEpoch(EpochNumber(await cheatCodes.getEpoch() + await rollup.getLagInEpochsForValidatorSet() + 1));
177
177
  await cheatCodes.debugRollup();
178
178
  const committeeNextEpoch = await rollup.getCurrentEpochCommittee();
179
179
  // The committee should be undefined, since the validator set is empty
@@ -4,14 +4,15 @@ import type { AztecNode } from '@aztec/aztec.js/node';
4
4
  import { TokenContract } from '@aztec/noir-contracts.js/Token';
5
5
  import { InvalidAccountContract } from '@aztec/noir-test-contracts.js/InvalidAccount';
6
6
  import type { TestWallet } from '@aztec/test-wallet/server';
7
- import { type SubsystemsContext } from '../fixtures/snapshot_manager.js';
7
+ import { type EndToEndContext } from '../fixtures/setup.js';
8
8
  import { TokenSimulator } from '../simulators/token_simulator.js';
9
9
  export declare class TokenContractTest {
10
10
  static TOKEN_NAME: string;
11
11
  static TOKEN_SYMBOL: string;
12
12
  static TOKEN_DECIMALS: bigint;
13
- private snapshotManager;
13
+ context: EndToEndContext;
14
14
  logger: Logger;
15
+ metricsPort?: number;
15
16
  asset: TokenContract;
16
17
  tokenSim: TokenSimulator;
17
18
  node: AztecNode;
@@ -20,16 +21,22 @@ export declare class TokenContractTest {
20
21
  adminAddress: AztecAddress;
21
22
  account1Address: AztecAddress;
22
23
  account2Address: AztecAddress;
24
+ private shouldApplyBaseSetup;
25
+ private shouldApplyMint;
23
26
  constructor(testName: string);
24
27
  /**
25
- * Adds two state shifts to snapshot manager.
26
- * 1. Add 3 accounts.
27
- * 2. Publicly deploy accounts, deploy token contract and a "bad account".
28
+ * Registers that base setup should be applied during setup().
29
+ * Call this before setup() to deploy 3 accounts, publicly deploy accounts, token contract and a "bad account".
28
30
  */
29
- applyBaseSnapshots(): Promise<void>;
31
+ applyBaseSnapshots(): void;
32
+ /**
33
+ * Registers that mint should be applied during setup().
34
+ * Call this before setup() to mint tokens to the admin account.
35
+ */
36
+ applyMintSnapshot(): void;
37
+ private applyBaseSetup;
30
38
  setup(): Promise<void>;
31
- snapshot: <T>(name: string, apply: (context: SubsystemsContext) => Promise<T>, restore?: (snapshotData: T, context: SubsystemsContext) => Promise<void>) => Promise<void>;
32
39
  teardown(): Promise<void>;
33
- applyMintSnapshot(): Promise<void>;
40
+ private applyMint;
34
41
  }
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5fY29udHJhY3RfdGVzdC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2UyZV90b2tlbl9jb250cmFjdC90b2tlbl9jb250cmFjdF90ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsS0FBSyxNQUFNLEVBQWdCLE1BQU0scUJBQXFCLENBQUM7QUFDaEUsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ3RGLE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBSTVELE9BQU8sRUFFTCxLQUFLLGlCQUFpQixFQUl2QixNQUFNLGlDQUFpQyxDQUFDO0FBRXpDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUlsRSxxQkFBYSxpQkFBaUI7SUFDNUIsTUFBTSxDQUFDLFVBQVUsU0FBVTtJQUMzQixNQUFNLENBQUMsWUFBWSxTQUFTO0lBQzVCLE1BQU0sQ0FBQyxjQUFjLFNBQU87SUFDNUIsT0FBTyxDQUFDLGVBQWUsQ0FBbUI7SUFDMUMsTUFBTSxFQUFFLE1BQU0sQ0FBQztJQUNmLEtBQUssRUFBRyxhQUFhLENBQUM7SUFDdEIsUUFBUSxFQUFHLGNBQWMsQ0FBQztJQUMxQixJQUFJLEVBQUcsU0FBUyxDQUFDO0lBRWpCLFVBQVUsRUFBRyxzQkFBc0IsQ0FBQztJQUNwQyxNQUFNLEVBQUcsVUFBVSxDQUFDO0lBQ3BCLFlBQVksRUFBRyxZQUFZLENBQUM7SUFDNUIsZUFBZSxFQUFHLFlBQVksQ0FBQztJQUMvQixlQUFlLEVBQUcsWUFBWSxDQUFDO0lBRS9CLFlBQVksUUFBUSxFQUFFLE1BQU0sRUFLM0I7SUFFRDs7OztPQUlHO0lBQ0csa0JBQWtCLGtCQWdFdkI7SUFFSyxLQUFLLGtCQUVWO0lBRUQsUUFBUSxHQUFJLENBQUMsOEpBSTJEO0lBRWxFLFFBQVEsa0JBRWI7SUFFSyxpQkFBaUIsa0JBb0N0QjtDQUNGIn0=
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5fY29udHJhY3RfdGVzdC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2UyZV90b2tlbl9jb250cmFjdC90b2tlbl9jb250cmFjdF90ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsS0FBSyxNQUFNLEVBQWdCLE1BQU0scUJBQXFCLENBQUM7QUFDaEUsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ3RGLE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBSTVELE9BQU8sRUFBRSxLQUFLLGVBQWUsRUFBeUQsTUFBTSxzQkFBc0IsQ0FBQztBQUVuSCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFJbEUscUJBQWEsaUJBQWlCO0lBQzVCLE1BQU0sQ0FBQyxVQUFVLFNBQVU7SUFDM0IsTUFBTSxDQUFDLFlBQVksU0FBUztJQUM1QixNQUFNLENBQUMsY0FBYyxTQUFPO0lBQzVCLE9BQU8sRUFBRyxlQUFlLENBQUM7SUFDMUIsTUFBTSxFQUFFLE1BQU0sQ0FBQztJQUNmLFdBQVcsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUNyQixLQUFLLEVBQUcsYUFBYSxDQUFDO0lBQ3RCLFFBQVEsRUFBRyxjQUFjLENBQUM7SUFDMUIsSUFBSSxFQUFHLFNBQVMsQ0FBQztJQUVqQixVQUFVLEVBQUcsc0JBQXNCLENBQUM7SUFDcEMsTUFBTSxFQUFHLFVBQVUsQ0FBQztJQUNwQixZQUFZLEVBQUcsWUFBWSxDQUFDO0lBQzVCLGVBQWUsRUFBRyxZQUFZLENBQUM7SUFDL0IsZUFBZSxFQUFHLFlBQVksQ0FBQztJQUUvQixPQUFPLENBQUMsb0JBQW9CLENBQVM7SUFDckMsT0FBTyxDQUFDLGVBQWUsQ0FBUztJQUVoQyxZQUFZLFFBQVEsRUFBRSxNQUFNLEVBRzNCO0lBRUQ7OztPQUdHO0lBQ0gsa0JBQWtCLFNBRWpCO0lBRUQ7OztPQUdHO0lBQ0gsaUJBQWlCLFNBRWhCO1lBS2EsY0FBYztJQStDdEIsS0FBSyxrQkFjVjtJQUVLLFFBQVEsa0JBRWI7WUFFYSxTQUFTO0NBMkJ4QiJ9