@aztec/end-to-end 0.0.1-commit.fcb71a6 → 0.0.1-commit.fffb133c

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 (166) 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 +12 -13
  5. package/dest/bench/client_flows/client_flows_benchmark.d.ts.map +1 -1
  6. package/dest/bench/client_flows/client_flows_benchmark.js +118 -133
  7. package/dest/bench/client_flows/data_extractor.js +3 -1
  8. package/dest/bench/utils.d.ts +9 -8
  9. package/dest/bench/utils.d.ts.map +1 -1
  10. package/dest/bench/utils.js +17 -12
  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 +96 -112
  14. package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.d.ts +15 -10
  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 +89 -70
  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 +1 -1
  21. package/dest/e2e_epochs/epochs_test.d.ts.map +1 -1
  22. package/dest/e2e_epochs/epochs_test.js +5 -2
  23. package/dest/e2e_fees/bridging_race.notest.js +3 -5
  24. package/dest/e2e_fees/fees_test.d.ts +13 -13
  25. package/dest/e2e_fees/fees_test.d.ts.map +1 -1
  26. package/dest/e2e_fees/fees_test.js +123 -141
  27. package/dest/e2e_l1_publisher/write_json.d.ts +2 -2
  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_nested_contract/nested_contract_test.d.ts +6 -9
  31. package/dest/e2e_nested_contract/nested_contract_test.d.ts.map +1 -1
  32. package/dest/e2e_nested_contract/nested_contract_test.js +31 -39
  33. package/dest/e2e_p2p/inactivity_slash_test.d.ts +3 -3
  34. package/dest/e2e_p2p/inactivity_slash_test.d.ts.map +1 -1
  35. package/dest/e2e_p2p/inactivity_slash_test.js +3 -3
  36. package/dest/e2e_p2p/p2p_network.d.ts +7 -6
  37. package/dest/e2e_p2p/p2p_network.d.ts.map +1 -1
  38. package/dest/e2e_p2p/p2p_network.js +111 -104
  39. package/dest/e2e_p2p/shared.d.ts +6 -6
  40. package/dest/e2e_p2p/shared.d.ts.map +1 -1
  41. package/dest/e2e_p2p/shared.js +11 -18
  42. package/dest/e2e_token_contract/token_contract_test.d.ts +16 -9
  43. package/dest/e2e_token_contract/token_contract_test.d.ts.map +1 -1
  44. package/dest/e2e_token_contract/token_contract_test.js +89 -91
  45. package/dest/fixtures/e2e_prover_test.d.ts +8 -14
  46. package/dest/fixtures/e2e_prover_test.d.ts.map +1 -1
  47. package/dest/fixtures/e2e_prover_test.js +85 -94
  48. package/dest/fixtures/setup.d.ts +218 -0
  49. package/dest/fixtures/setup.d.ts.map +1 -0
  50. package/dest/fixtures/setup.js +690 -0
  51. package/dest/fixtures/token_utils.d.ts +1 -1
  52. package/dest/fixtures/token_utils.d.ts.map +1 -1
  53. package/dest/fixtures/token_utils.js +7 -4
  54. package/dest/fixtures/utils.d.ts +5 -194
  55. package/dest/fixtures/utils.d.ts.map +1 -1
  56. package/dest/fixtures/utils.js +4 -619
  57. package/dest/quality_of_service/grafana_client.d.ts +41 -0
  58. package/dest/quality_of_service/grafana_client.d.ts.map +1 -0
  59. package/dest/quality_of_service/{alert_checker.js → grafana_client.js} +1 -1
  60. package/dest/quality_of_service/prometheus_client.d.ts +38 -0
  61. package/dest/quality_of_service/prometheus_client.d.ts.map +1 -0
  62. package/dest/quality_of_service/prometheus_client.js +67 -0
  63. package/dest/shared/cross_chain_test_harness.d.ts +16 -6
  64. package/dest/shared/cross_chain_test_harness.d.ts.map +1 -1
  65. package/dest/shared/cross_chain_test_harness.js +13 -13
  66. package/dest/shared/gas_portal_test_harness.d.ts +11 -1
  67. package/dest/shared/gas_portal_test_harness.d.ts.map +1 -1
  68. package/dest/shared/gas_portal_test_harness.js +1 -1
  69. package/dest/shared/index.d.ts +2 -2
  70. package/dest/shared/index.d.ts.map +1 -1
  71. package/dest/shared/submit-transactions.d.ts +3 -3
  72. package/dest/shared/submit-transactions.d.ts.map +1 -1
  73. package/dest/shared/submit-transactions.js +9 -11
  74. package/dest/shared/uniswap_l1_l2.d.ts +3 -28
  75. package/dest/shared/uniswap_l1_l2.d.ts.map +1 -1
  76. package/dest/shared/uniswap_l1_l2.js +51 -33
  77. package/dest/simulators/lending_simulator.d.ts +5 -1
  78. package/dest/simulators/lending_simulator.d.ts.map +1 -1
  79. package/dest/simulators/lending_simulator.js +2 -2
  80. package/dest/spartan/setup_test_wallets.d.ts +4 -3
  81. package/dest/spartan/setup_test_wallets.d.ts.map +1 -1
  82. package/dest/spartan/setup_test_wallets.js +61 -34
  83. package/dest/spartan/tx_metrics.d.ts +17 -2
  84. package/dest/spartan/tx_metrics.d.ts.map +1 -1
  85. package/dest/spartan/tx_metrics.js +183 -6
  86. package/dest/spartan/utils/bot.d.ts +27 -0
  87. package/dest/spartan/utils/bot.d.ts.map +1 -0
  88. package/dest/spartan/utils/bot.js +141 -0
  89. package/dest/spartan/utils/chaos.d.ts +79 -0
  90. package/dest/spartan/utils/chaos.d.ts.map +1 -0
  91. package/dest/spartan/utils/chaos.js +142 -0
  92. package/dest/spartan/utils/clients.d.ts +39 -0
  93. package/dest/spartan/utils/clients.d.ts.map +1 -0
  94. package/dest/spartan/utils/clients.js +90 -0
  95. package/dest/spartan/utils/config.d.ts +36 -0
  96. package/dest/spartan/utils/config.d.ts.map +1 -0
  97. package/dest/spartan/utils/config.js +20 -0
  98. package/dest/spartan/utils/health.d.ts +63 -0
  99. package/dest/spartan/utils/health.d.ts.map +1 -0
  100. package/dest/spartan/utils/health.js +202 -0
  101. package/dest/spartan/utils/helm.d.ts +15 -0
  102. package/dest/spartan/utils/helm.d.ts.map +1 -0
  103. package/dest/spartan/utils/helm.js +47 -0
  104. package/dest/spartan/utils/index.d.ts +9 -0
  105. package/dest/spartan/utils/index.d.ts.map +1 -0
  106. package/dest/spartan/utils/index.js +18 -0
  107. package/dest/spartan/utils/k8s.d.ts +98 -0
  108. package/dest/spartan/utils/k8s.d.ts.map +1 -0
  109. package/dest/spartan/utils/k8s.js +257 -0
  110. package/dest/spartan/utils/nodes.d.ts +31 -0
  111. package/dest/spartan/utils/nodes.d.ts.map +1 -0
  112. package/dest/spartan/utils/nodes.js +290 -0
  113. package/dest/spartan/utils/scripts.d.ts +16 -0
  114. package/dest/spartan/utils/scripts.d.ts.map +1 -0
  115. package/dest/spartan/utils/scripts.js +66 -0
  116. package/dest/spartan/utils.d.ts +2 -253
  117. package/dest/spartan/utils.d.ts.map +1 -1
  118. package/dest/spartan/utils.js +1 -892
  119. package/package.json +40 -39
  120. package/src/bench/client_flows/benchmark.ts +24 -2
  121. package/src/bench/client_flows/client_flows_benchmark.ts +138 -204
  122. package/src/bench/client_flows/data_extractor.ts +1 -1
  123. package/src/bench/utils.ts +20 -14
  124. package/src/e2e_blacklist_token_contract/blacklist_token_contract_test.ts +104 -142
  125. package/src/e2e_cross_chain_messaging/cross_chain_messaging_test.ts +127 -116
  126. package/src/e2e_deploy_contract/deploy_test.ts +21 -14
  127. package/src/e2e_epochs/epochs_test.ts +31 -26
  128. package/src/e2e_fees/bridging_race.notest.ts +3 -9
  129. package/src/e2e_fees/fees_test.ts +172 -220
  130. package/src/e2e_l1_publisher/write_json.ts +21 -16
  131. package/src/e2e_nested_contract/nested_contract_test.ts +33 -56
  132. package/src/e2e_p2p/inactivity_slash_test.ts +5 -5
  133. package/src/e2e_p2p/p2p_network.ts +172 -168
  134. package/src/e2e_p2p/shared.ts +16 -25
  135. package/src/e2e_token_contract/token_contract_test.ts +103 -118
  136. package/src/fixtures/e2e_prover_test.ts +98 -133
  137. package/src/fixtures/setup.ts +1017 -0
  138. package/src/fixtures/token_utils.ts +6 -5
  139. package/src/fixtures/utils.ts +27 -907
  140. package/src/quality_of_service/{alert_checker.ts → grafana_client.ts} +1 -1
  141. package/src/quality_of_service/prometheus_client.ts +113 -0
  142. package/src/shared/cross_chain_test_harness.ts +16 -36
  143. package/src/shared/gas_portal_test_harness.ts +1 -1
  144. package/src/shared/index.ts +1 -1
  145. package/src/shared/submit-transactions.ts +9 -15
  146. package/src/shared/uniswap_l1_l2.ts +58 -77
  147. package/src/simulators/lending_simulator.ts +2 -2
  148. package/src/spartan/setup_test_wallets.ts +79 -25
  149. package/src/spartan/tx_metrics.ts +129 -9
  150. package/src/spartan/utils/bot.ts +185 -0
  151. package/src/spartan/utils/chaos.ts +253 -0
  152. package/src/spartan/utils/clients.ts +100 -0
  153. package/src/spartan/utils/config.ts +26 -0
  154. package/src/spartan/utils/health.ts +255 -0
  155. package/src/spartan/utils/helm.ts +84 -0
  156. package/src/spartan/utils/index.ts +62 -0
  157. package/src/spartan/utils/k8s.ts +375 -0
  158. package/src/spartan/utils/nodes.ts +323 -0
  159. package/src/spartan/utils/scripts.ts +63 -0
  160. package/src/spartan/utils.ts +1 -1158
  161. package/dest/fixtures/snapshot_manager.d.ts +0 -93
  162. package/dest/fixtures/snapshot_manager.d.ts.map +0 -1
  163. package/dest/fixtures/snapshot_manager.js +0 -493
  164. package/dest/quality_of_service/alert_checker.d.ts +0 -41
  165. package/dest/quality_of_service/alert_checker.d.ts.map +0 -1
  166. package/src/fixtures/snapshot_manager.ts +0 -651
@@ -30,15 +30,15 @@ import { TokenSimulator } from '../simulators/token_simulator.js';
30
30
  import { getACVMConfig } from './get_acvm_config.js';
31
31
  import { getBBConfig } from './get_bb_config.js';
32
32
  import {
33
- type ISnapshotManager,
34
- type SubsystemsContext,
35
- createSnapshotManager,
33
+ type EndToEndContext,
36
34
  deployAccounts,
35
+ getPrivateKeyFromIndex,
36
+ getSponsoredFPCAddress,
37
37
  publicDeployAccounts,
38
- } from './snapshot_manager.js';
39
- import { getPrivateKeyFromIndex, getSponsoredFPCAddress, setupPXEAndGetWallet } from './utils.js';
40
-
41
- const { E2E_DATA_PATH: dataPath } = process.env;
38
+ setup,
39
+ setupPXEAndGetWallet,
40
+ teardown,
41
+ } from './setup.js';
42
42
 
43
43
  type ProvenSetup = {
44
44
  wallet: TestWallet;
@@ -56,7 +56,6 @@ export class FullProverTest {
56
56
  static TOKEN_NAME = 'USDC';
57
57
  static TOKEN_SYMBOL = 'USD';
58
58
  static TOKEN_DECIMALS = 18n;
59
- private snapshotManager: ISnapshotManager;
60
59
  logger: Logger;
61
60
  wallet!: TestWallet;
62
61
  provenWallet!: TestWallet;
@@ -73,94 +72,79 @@ export class FullProverTest {
73
72
  private acvmConfigCleanup?: () => Promise<void>;
74
73
  circuitProofVerifier?: ClientProtocolCircuitVerifier;
75
74
  provenAsset!: TokenContract;
76
- private context!: SubsystemsContext;
75
+ context!: EndToEndContext;
77
76
  private proverNode!: ProverNode;
78
77
  private simulatedProverNode!: ProverNode;
79
78
  public l1Contracts!: DeployAztecL1ContractsReturnType;
80
79
  public proverAddress!: EthAddress;
80
+ private minNumberOfTxsPerBlock: number;
81
+ private coinbase: EthAddress;
82
+ private realProofs: boolean;
81
83
 
82
- constructor(
83
- testName: string,
84
- private minNumberOfTxsPerBlock: number,
85
- coinbase: EthAddress,
86
- private realProofs = true,
87
- ) {
84
+ constructor(testName: string, minNumberOfTxsPerBlock: number, coinbase: EthAddress, realProofs = true) {
88
85
  this.logger = createLogger(`e2e:full_prover_test:${testName}`);
89
- this.snapshotManager = createSnapshotManager(
90
- `full_prover_integration/${testName}`,
91
- dataPath,
92
- { startProverNode: true, coinbase },
93
- {
94
- realVerifier: realProofs,
95
- },
96
- );
86
+ this.minNumberOfTxsPerBlock = minNumberOfTxsPerBlock;
87
+ this.coinbase = coinbase;
88
+ this.realProofs = realProofs;
97
89
  }
98
90
 
99
91
  /**
100
- * Adds two state shifts to snapshot manager.
101
- * 1. Add 2 accounts.
102
- * 2. Publicly deploy accounts, deploy token contract
92
+ * Applies base setup: deploys 2 accounts and token contract.
103
93
  */
104
- async applyBaseSnapshots() {
105
- await this.snapshotManager.snapshot(
106
- '2_accounts',
107
- deployAccounts(2, this.logger),
108
- ({ deployedAccounts }, { wallet }) => {
109
- this.deployedAccounts = deployedAccounts;
110
- this.accounts = deployedAccounts.map(a => a.address);
111
- this.wallet = wallet;
112
- return Promise.resolve();
113
- },
114
- );
115
-
116
- await this.snapshotManager.snapshot(
117
- 'client_prover_integration',
118
- async () => {
119
- // Create the token contract state.
120
- // Move this account thing to addAccounts above?
121
- this.logger.verbose(`Public deploy accounts...`);
122
- await publicDeployAccounts(this.wallet, this.accounts.slice(0, 2));
123
-
124
- this.logger.verbose(`Deploying TokenContract...`);
125
- const { contract: asset, instance } = await TokenContract.deploy(
126
- this.wallet,
127
- this.accounts[0],
128
- FullProverTest.TOKEN_NAME,
129
- FullProverTest.TOKEN_SYMBOL,
130
- FullProverTest.TOKEN_DECIMALS,
131
- )
132
- .send({ from: this.accounts[0] })
133
- .wait();
134
- this.logger.verbose(`Token deployed to ${asset.address}`);
135
-
136
- return { tokenContractAddress: asset.address, tokenContractInstance: instance };
137
- },
138
- async ({ tokenContractAddress, tokenContractInstance }) => {
139
- // Restore the token contract state.
140
- this.fakeProofsAsset = TokenContract.at(tokenContractAddress, this.wallet);
141
- this.fakeProofsAssetInstance = tokenContractInstance;
142
- this.logger.verbose(`Token contract address: ${this.fakeProofsAsset.address}`);
143
-
144
- this.tokenSim = new TokenSimulator(
145
- this.fakeProofsAsset,
146
- this.wallet,
147
- this.accounts[0],
148
- this.logger,
149
- this.accounts,
150
- );
151
-
152
- expect(await this.fakeProofsAsset.methods.get_admin().simulate({ from: this.accounts[0] })).toBe(
153
- this.accounts[0].toBigInt(),
154
- );
155
- },
94
+ private async applyBaseSetup() {
95
+ this.logger.info('Applying base setup: deploying accounts');
96
+ const { deployedAccounts } = await deployAccounts(
97
+ 2,
98
+ this.logger,
99
+ )({
100
+ wallet: this.context.wallet,
101
+ initialFundedAccounts: this.context.initialFundedAccounts,
102
+ });
103
+ this.deployedAccounts = deployedAccounts;
104
+ this.accounts = deployedAccounts.map(a => a.address);
105
+ this.wallet = this.context.wallet;
106
+
107
+ this.logger.info('Applying base setup: publicly deploying accounts');
108
+ await publicDeployAccounts(this.wallet, this.accounts.slice(0, 2));
109
+
110
+ this.logger.info('Applying base setup: deploying token contract');
111
+ const { contract: asset, instance } = await TokenContract.deploy(
112
+ this.wallet,
113
+ this.accounts[0],
114
+ FullProverTest.TOKEN_NAME,
115
+ FullProverTest.TOKEN_SYMBOL,
116
+ FullProverTest.TOKEN_DECIMALS,
117
+ ).send({ from: this.accounts[0], wait: { returnReceipt: true } });
118
+ this.logger.verbose(`Token deployed to ${asset.address}`);
119
+
120
+ this.fakeProofsAsset = asset;
121
+ this.fakeProofsAssetInstance = instance;
122
+ this.logger.verbose(`Token contract address: ${this.fakeProofsAsset.address}`);
123
+
124
+ this.tokenSim = new TokenSimulator(this.fakeProofsAsset, this.wallet, this.accounts[0], this.logger, this.accounts);
125
+
126
+ expect(await this.fakeProofsAsset.methods.get_admin().simulate({ from: this.accounts[0] })).toBe(
127
+ this.accounts[0].toBigInt(),
156
128
  );
157
129
  }
158
130
 
159
131
  async setup() {
160
- this.context = await this.snapshotManager.setup();
132
+ this.logger.info('Setting up subsystems from fresh');
133
+ this.context = await setup(0, {
134
+ startProverNode: true,
135
+ coinbase: this.coinbase,
136
+ fundSponsoredFPC: true,
137
+ skipAccountDeployment: true,
138
+ l1ContractsArgs: { realVerifier: this.realProofs },
139
+ });
140
+
141
+ await this.applyBaseSetup();
142
+ await this.applyMint();
143
+
144
+ this.logger.info(`Enabling proving`, { realProofs: this.realProofs });
161
145
 
162
146
  // We don't wish to mark as proven automatically, so we set the flag to false
163
- this.context.watcher.setIsMarkingAsProven(false);
147
+ this.context.watcher!.setIsMarkingAsProven(false);
164
148
 
165
149
  this.simulatedProverNode = this.context.proverNode!;
166
150
  ({
@@ -168,7 +152,7 @@ export class FullProverTest {
168
152
  deployL1ContractsValues: this.l1Contracts,
169
153
  cheatCodes: this.cheatCodes,
170
154
  } = this.context);
171
- this.aztecNodeAdmin = this.context.aztecNode;
155
+ this.aztecNodeAdmin = this.context.aztecNodeService!;
172
156
 
173
157
  const config = this.context.aztecNodeConfig;
174
158
  const blobClient = await createBlobClientWithFileStores(config, this.logger);
@@ -241,7 +225,7 @@ export class FullProverTest {
241
225
  this.logger.verbose('Starting archiver for new prover node');
242
226
  const archiver = await createArchiver(
243
227
  { ...this.context.aztecNodeConfig, dataDirectory: undefined },
244
- { blobClient, dateProvider: this.context.dateProvider },
228
+ { blobClient, dateProvider: this.context.dateProvider! },
245
229
  { blockUntilSync: true },
246
230
  );
247
231
 
@@ -281,13 +265,12 @@ export class FullProverTest {
281
265
  {
282
266
  aztecNodeTxProvider: this.aztecNode,
283
267
  archiver: archiver as Archiver,
284
- blobClient,
285
268
  },
286
269
  { prefilledPublicData },
287
270
  );
288
271
  await this.proverNode.start();
289
272
 
290
- this.logger.warn(`Proofs are now enabled`);
273
+ this.logger.warn(`Proofs are now enabled`, { realProofs: this.realProofs });
291
274
  return this;
292
275
  }
293
276
 
@@ -300,15 +283,7 @@ export class FullProverTest {
300
283
  await this.context.deployL1ContractsValues.l1Client.waitForTransactionReceipt({ hash });
301
284
  }
302
285
 
303
- snapshot = <T>(
304
- name: string,
305
- apply: (context: SubsystemsContext) => Promise<T>,
306
- restore: (snapshotData: T, context: SubsystemsContext) => Promise<void> = () => Promise.resolve(),
307
- ): Promise<void> => this.snapshotManager.snapshot(name, apply, restore);
308
-
309
286
  async teardown() {
310
- await this.snapshotManager.teardown();
311
-
312
287
  // Cleanup related to the full prover PXEs
313
288
  for (let i = 0; i < this.provenComponents.length; i++) {
314
289
  await this.provenComponents[i].teardown();
@@ -320,52 +295,42 @@ export class FullProverTest {
320
295
  await Barretenberg.destroySingleton();
321
296
  await this.bbConfigCleanup?.();
322
297
  await this.acvmConfigCleanup?.();
298
+
299
+ await teardown(this.context);
323
300
  }
324
301
 
325
- async applyMintSnapshot() {
326
- await this.snapshotManager.snapshot(
327
- 'mint',
328
- async () => {
329
- const { fakeProofsAsset: asset, accounts } = this;
330
- const privateAmount = 10000n;
331
- const publicAmount = 10000n;
302
+ private async applyMint() {
303
+ this.logger.info('Applying mint setup');
304
+ const { fakeProofsAsset: asset, accounts } = this;
305
+ const privateAmount = 10000n;
306
+ const publicAmount = 10000n;
332
307
 
333
- this.logger.verbose(`Minting ${privateAmount + publicAmount} publicly...`);
334
- await asset.methods
335
- .mint_to_public(accounts[0], privateAmount + publicAmount)
336
- .send({ from: accounts[0] })
337
- .wait();
308
+ this.logger.verbose(`Minting ${privateAmount + publicAmount} publicly...`);
309
+ await asset.methods.mint_to_public(accounts[0], privateAmount + publicAmount).send({ from: accounts[0] });
338
310
 
339
- this.logger.verbose(`Transferring ${privateAmount} to private...`);
340
- await asset.methods.transfer_to_private(accounts[0], privateAmount).send({ from: accounts[0] }).wait();
311
+ this.logger.verbose(`Transferring ${privateAmount} to private...`);
312
+ await asset.methods.transfer_to_private(accounts[0], privateAmount).send({ from: accounts[0] });
341
313
 
342
- this.logger.verbose(`Minting complete.`);
314
+ this.logger.info(`Minting complete`);
343
315
 
344
- return { amount: publicAmount };
345
- },
346
- async ({ amount }) => {
347
- const {
348
- fakeProofsAsset: asset,
349
- accounts: [address],
350
- tokenSim,
351
- } = this;
352
- tokenSim.mintPublic(address, amount);
353
-
354
- const publicBalance = await asset.methods.balance_of_public(address).simulate({ from: address });
355
- this.logger.verbose(`Public balance of wallet 0: ${publicBalance}`);
356
- expect(publicBalance).toEqual(this.tokenSim.balanceOfPublic(address));
357
-
358
- tokenSim.mintPrivate(address, amount);
359
- const privateBalance = await asset.methods.balance_of_private(address).simulate({ from: address });
360
- this.logger.verbose(`Private balance of wallet 0: ${privateBalance}`);
361
- expect(privateBalance).toEqual(tokenSim.balanceOfPrivate(address));
362
-
363
- const totalSupply = await asset.methods.total_supply().simulate({ from: address });
364
- this.logger.verbose(`Total supply: ${totalSupply}`);
365
- expect(totalSupply).toEqual(tokenSim.totalSupply);
366
-
367
- return Promise.resolve();
368
- },
369
- );
316
+ const {
317
+ fakeProofsAsset,
318
+ accounts: [address],
319
+ tokenSim,
320
+ } = this;
321
+ tokenSim.mintPublic(address, publicAmount);
322
+
323
+ const publicBalance = await fakeProofsAsset.methods.balance_of_public(address).simulate({ from: address });
324
+ this.logger.verbose(`Public balance of wallet 0: ${publicBalance}`);
325
+ expect(publicBalance).toEqual(this.tokenSim.balanceOfPublic(address));
326
+
327
+ tokenSim.mintPrivate(address, publicAmount);
328
+ const privateBalance = await fakeProofsAsset.methods.balance_of_private(address).simulate({ from: address });
329
+ this.logger.verbose(`Private balance of wallet 0: ${privateBalance}`);
330
+ expect(privateBalance).toEqual(tokenSim.balanceOfPrivate(address));
331
+
332
+ const totalSupply = await fakeProofsAsset.methods.total_supply().simulate({ from: address });
333
+ this.logger.verbose(`Total supply: ${totalSupply}`);
334
+ expect(totalSupply).toEqual(tokenSim.totalSupply);
370
335
  }
371
336
  }