@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.
- package/dest/bench/client_flows/benchmark.d.ts +3 -2
- package/dest/bench/client_flows/benchmark.d.ts.map +1 -1
- package/dest/bench/client_flows/benchmark.js +21 -1
- package/dest/bench/client_flows/client_flows_benchmark.d.ts +12 -13
- package/dest/bench/client_flows/client_flows_benchmark.d.ts.map +1 -1
- package/dest/bench/client_flows/client_flows_benchmark.js +118 -133
- package/dest/bench/client_flows/data_extractor.js +3 -1
- package/dest/bench/utils.d.ts +9 -8
- package/dest/bench/utils.d.ts.map +1 -1
- package/dest/bench/utils.js +17 -12
- package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.d.ts +6 -7
- package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.d.ts.map +1 -1
- package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.js +96 -112
- package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.d.ts +15 -10
- package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.d.ts.map +1 -1
- package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.js +89 -70
- package/dest/e2e_deploy_contract/deploy_test.d.ts +4 -3
- package/dest/e2e_deploy_contract/deploy_test.d.ts.map +1 -1
- package/dest/e2e_deploy_contract/deploy_test.js +18 -13
- package/dest/e2e_epochs/epochs_test.d.ts +1 -1
- package/dest/e2e_epochs/epochs_test.d.ts.map +1 -1
- package/dest/e2e_epochs/epochs_test.js +5 -2
- package/dest/e2e_fees/bridging_race.notest.js +3 -5
- package/dest/e2e_fees/fees_test.d.ts +13 -13
- package/dest/e2e_fees/fees_test.d.ts.map +1 -1
- package/dest/e2e_fees/fees_test.js +123 -141
- package/dest/e2e_l1_publisher/write_json.d.ts +2 -2
- package/dest/e2e_l1_publisher/write_json.d.ts.map +1 -1
- package/dest/e2e_l1_publisher/write_json.js +19 -15
- package/dest/e2e_nested_contract/nested_contract_test.d.ts +6 -9
- package/dest/e2e_nested_contract/nested_contract_test.d.ts.map +1 -1
- package/dest/e2e_nested_contract/nested_contract_test.js +31 -39
- package/dest/e2e_p2p/inactivity_slash_test.d.ts +3 -3
- package/dest/e2e_p2p/inactivity_slash_test.d.ts.map +1 -1
- package/dest/e2e_p2p/inactivity_slash_test.js +3 -3
- package/dest/e2e_p2p/p2p_network.d.ts +7 -6
- package/dest/e2e_p2p/p2p_network.d.ts.map +1 -1
- package/dest/e2e_p2p/p2p_network.js +111 -104
- package/dest/e2e_p2p/shared.d.ts +6 -6
- package/dest/e2e_p2p/shared.d.ts.map +1 -1
- package/dest/e2e_p2p/shared.js +11 -18
- package/dest/e2e_token_contract/token_contract_test.d.ts +16 -9
- package/dest/e2e_token_contract/token_contract_test.d.ts.map +1 -1
- package/dest/e2e_token_contract/token_contract_test.js +89 -91
- package/dest/fixtures/e2e_prover_test.d.ts +8 -14
- package/dest/fixtures/e2e_prover_test.d.ts.map +1 -1
- package/dest/fixtures/e2e_prover_test.js +85 -94
- package/dest/fixtures/setup.d.ts +218 -0
- package/dest/fixtures/setup.d.ts.map +1 -0
- package/dest/fixtures/setup.js +690 -0
- package/dest/fixtures/token_utils.d.ts +1 -1
- package/dest/fixtures/token_utils.d.ts.map +1 -1
- package/dest/fixtures/token_utils.js +7 -4
- package/dest/fixtures/utils.d.ts +5 -194
- package/dest/fixtures/utils.d.ts.map +1 -1
- package/dest/fixtures/utils.js +4 -619
- package/dest/quality_of_service/grafana_client.d.ts +41 -0
- package/dest/quality_of_service/grafana_client.d.ts.map +1 -0
- package/dest/quality_of_service/{alert_checker.js → grafana_client.js} +1 -1
- package/dest/quality_of_service/prometheus_client.d.ts +38 -0
- package/dest/quality_of_service/prometheus_client.d.ts.map +1 -0
- package/dest/quality_of_service/prometheus_client.js +67 -0
- package/dest/shared/cross_chain_test_harness.d.ts +16 -6
- package/dest/shared/cross_chain_test_harness.d.ts.map +1 -1
- package/dest/shared/cross_chain_test_harness.js +13 -13
- package/dest/shared/gas_portal_test_harness.d.ts +11 -1
- package/dest/shared/gas_portal_test_harness.d.ts.map +1 -1
- package/dest/shared/gas_portal_test_harness.js +1 -1
- package/dest/shared/index.d.ts +2 -2
- package/dest/shared/index.d.ts.map +1 -1
- package/dest/shared/submit-transactions.d.ts +3 -3
- package/dest/shared/submit-transactions.d.ts.map +1 -1
- package/dest/shared/submit-transactions.js +9 -11
- package/dest/shared/uniswap_l1_l2.d.ts +3 -28
- package/dest/shared/uniswap_l1_l2.d.ts.map +1 -1
- package/dest/shared/uniswap_l1_l2.js +51 -33
- package/dest/simulators/lending_simulator.d.ts +5 -1
- package/dest/simulators/lending_simulator.d.ts.map +1 -1
- package/dest/simulators/lending_simulator.js +2 -2
- package/dest/spartan/setup_test_wallets.d.ts +4 -3
- package/dest/spartan/setup_test_wallets.d.ts.map +1 -1
- package/dest/spartan/setup_test_wallets.js +61 -34
- package/dest/spartan/tx_metrics.d.ts +17 -2
- package/dest/spartan/tx_metrics.d.ts.map +1 -1
- package/dest/spartan/tx_metrics.js +183 -6
- package/dest/spartan/utils/bot.d.ts +27 -0
- package/dest/spartan/utils/bot.d.ts.map +1 -0
- package/dest/spartan/utils/bot.js +141 -0
- package/dest/spartan/utils/chaos.d.ts +79 -0
- package/dest/spartan/utils/chaos.d.ts.map +1 -0
- package/dest/spartan/utils/chaos.js +142 -0
- package/dest/spartan/utils/clients.d.ts +39 -0
- package/dest/spartan/utils/clients.d.ts.map +1 -0
- package/dest/spartan/utils/clients.js +90 -0
- package/dest/spartan/utils/config.d.ts +36 -0
- package/dest/spartan/utils/config.d.ts.map +1 -0
- package/dest/spartan/utils/config.js +20 -0
- package/dest/spartan/utils/health.d.ts +63 -0
- package/dest/spartan/utils/health.d.ts.map +1 -0
- package/dest/spartan/utils/health.js +202 -0
- package/dest/spartan/utils/helm.d.ts +15 -0
- package/dest/spartan/utils/helm.d.ts.map +1 -0
- package/dest/spartan/utils/helm.js +47 -0
- package/dest/spartan/utils/index.d.ts +9 -0
- package/dest/spartan/utils/index.d.ts.map +1 -0
- package/dest/spartan/utils/index.js +18 -0
- package/dest/spartan/utils/k8s.d.ts +98 -0
- package/dest/spartan/utils/k8s.d.ts.map +1 -0
- package/dest/spartan/utils/k8s.js +257 -0
- package/dest/spartan/utils/nodes.d.ts +31 -0
- package/dest/spartan/utils/nodes.d.ts.map +1 -0
- package/dest/spartan/utils/nodes.js +290 -0
- package/dest/spartan/utils/scripts.d.ts +16 -0
- package/dest/spartan/utils/scripts.d.ts.map +1 -0
- package/dest/spartan/utils/scripts.js +66 -0
- package/dest/spartan/utils.d.ts +2 -253
- package/dest/spartan/utils.d.ts.map +1 -1
- package/dest/spartan/utils.js +1 -892
- package/package.json +40 -39
- package/src/bench/client_flows/benchmark.ts +24 -2
- package/src/bench/client_flows/client_flows_benchmark.ts +138 -204
- package/src/bench/client_flows/data_extractor.ts +1 -1
- package/src/bench/utils.ts +20 -14
- package/src/e2e_blacklist_token_contract/blacklist_token_contract_test.ts +104 -142
- package/src/e2e_cross_chain_messaging/cross_chain_messaging_test.ts +127 -116
- package/src/e2e_deploy_contract/deploy_test.ts +21 -14
- package/src/e2e_epochs/epochs_test.ts +31 -26
- package/src/e2e_fees/bridging_race.notest.ts +3 -9
- package/src/e2e_fees/fees_test.ts +172 -220
- package/src/e2e_l1_publisher/write_json.ts +21 -16
- package/src/e2e_nested_contract/nested_contract_test.ts +33 -56
- package/src/e2e_p2p/inactivity_slash_test.ts +5 -5
- package/src/e2e_p2p/p2p_network.ts +172 -168
- package/src/e2e_p2p/shared.ts +16 -25
- package/src/e2e_token_contract/token_contract_test.ts +103 -118
- package/src/fixtures/e2e_prover_test.ts +98 -133
- package/src/fixtures/setup.ts +1017 -0
- package/src/fixtures/token_utils.ts +6 -5
- package/src/fixtures/utils.ts +27 -907
- package/src/quality_of_service/{alert_checker.ts → grafana_client.ts} +1 -1
- package/src/quality_of_service/prometheus_client.ts +113 -0
- package/src/shared/cross_chain_test_harness.ts +16 -36
- package/src/shared/gas_portal_test_harness.ts +1 -1
- package/src/shared/index.ts +1 -1
- package/src/shared/submit-transactions.ts +9 -15
- package/src/shared/uniswap_l1_l2.ts +58 -77
- package/src/simulators/lending_simulator.ts +2 -2
- package/src/spartan/setup_test_wallets.ts +79 -25
- package/src/spartan/tx_metrics.ts +129 -9
- package/src/spartan/utils/bot.ts +185 -0
- package/src/spartan/utils/chaos.ts +253 -0
- package/src/spartan/utils/clients.ts +100 -0
- package/src/spartan/utils/config.ts +26 -0
- package/src/spartan/utils/health.ts +255 -0
- package/src/spartan/utils/helm.ts +84 -0
- package/src/spartan/utils/index.ts +62 -0
- package/src/spartan/utils/k8s.ts +375 -0
- package/src/spartan/utils/nodes.ts +323 -0
- package/src/spartan/utils/scripts.ts +63 -0
- package/src/spartan/utils.ts +1 -1158
- package/dest/fixtures/snapshot_manager.d.ts +0 -93
- package/dest/fixtures/snapshot_manager.d.ts.map +0 -1
- package/dest/fixtures/snapshot_manager.js +0 -493
- package/dest/quality_of_service/alert_checker.d.ts +0 -41
- package/dest/quality_of_service/alert_checker.d.ts.map +0 -1
- 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
|
|
34
|
-
type SubsystemsContext,
|
|
35
|
-
createSnapshotManager,
|
|
33
|
+
type EndToEndContext,
|
|
36
34
|
deployAccounts,
|
|
35
|
+
getPrivateKeyFromIndex,
|
|
36
|
+
getSponsoredFPCAddress,
|
|
37
37
|
publicDeployAccounts,
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
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
|
-
|
|
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.
|
|
90
|
-
|
|
91
|
-
|
|
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
|
-
*
|
|
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
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
);
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
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.
|
|
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
|
|
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.
|
|
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
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
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
|
-
|
|
334
|
-
|
|
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
|
-
|
|
340
|
-
|
|
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
|
-
|
|
314
|
+
this.logger.info(`Minting complete`);
|
|
343
315
|
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
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
|
}
|