@aztec/end-to-end 0.0.1-commit.1142ef1 → 0.0.1-commit.179ed20
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 +117 -132
- package/dest/bench/utils.d.ts +6 -5
- package/dest/bench/utils.d.ts.map +1 -1
- package/dest/bench/utils.js +9 -7
- 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 +6 -7
- 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 +65 -62
- 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 +7 -1
- package/dest/e2e_epochs/epochs_test.d.ts.map +1 -1
- package/dest/e2e_epochs/epochs_test.js +30 -8
- 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 +122 -140
- package/dest/e2e_l1_publisher/write_json.d.ts +4 -3
- package/dest/e2e_l1_publisher/write_json.d.ts.map +1 -1
- package/dest/e2e_l1_publisher/write_json.js +14 -13
- 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 +110 -103
- package/dest/e2e_p2p/reqresp/utils.d.ts +22 -0
- package/dest/e2e_p2p/reqresp/utils.d.ts.map +1 -0
- package/dest/e2e_p2p/reqresp/utils.js +153 -0
- 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 +9 -16
- 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 -93
- package/dest/fixtures/setup.d.ts +218 -0
- package/dest/fixtures/setup.d.ts.map +1 -0
- package/dest/fixtures/setup.js +695 -0
- package/dest/fixtures/setup_p2p_test.d.ts +4 -5
- package/dest/fixtures/setup_p2p_test.d.ts.map +1 -1
- package/dest/fixtures/setup_p2p_test.js +24 -19
- 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 -191
- package/dest/fixtures/utils.d.ts.map +1 -1
- package/dest/fixtures/utils.js +4 -615
- 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 +14 -4
- package/dest/shared/cross_chain_test_harness.d.ts.map +1 -1
- package/dest/shared/cross_chain_test_harness.js +11 -11
- 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/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 +1 -1
- package/dest/shared/uniswap_l1_l2.d.ts.map +1 -1
- package/dest/shared/uniswap_l1_l2.js +12 -12
- 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 +1 -1
- 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 +51 -2
- package/dest/spartan/tx_metrics.d.ts.map +1 -1
- package/dest/spartan/tx_metrics.js +333 -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 +126 -0
- package/dest/spartan/utils/k8s.d.ts.map +1 -0
- package/dest/spartan/utils/k8s.js +375 -0
- package/dest/spartan/utils/nodes.d.ts +41 -0
- package/dest/spartan/utils/nodes.d.ts.map +1 -0
- package/dest/spartan/utils/nodes.js +461 -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 +137 -203
- package/src/bench/utils.ts +9 -7
- package/src/e2e_blacklist_token_contract/blacklist_token_contract_test.ts +104 -142
- package/src/e2e_cross_chain_messaging/cross_chain_messaging_test.ts +99 -106
- package/src/e2e_deploy_contract/deploy_test.ts +21 -14
- package/src/e2e_epochs/epochs_test.ts +59 -33
- package/src/e2e_fees/bridging_race.notest.ts +3 -9
- package/src/e2e_fees/fees_test.ts +171 -217
- package/src/e2e_l1_publisher/write_json.ts +16 -13
- 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 +171 -167
- package/src/e2e_p2p/reqresp/utils.ts +207 -0
- package/src/e2e_p2p/shared.ts +20 -22
- package/src/e2e_token_contract/token_contract_test.ts +103 -118
- package/src/fixtures/e2e_prover_test.ts +99 -133
- package/src/fixtures/setup.ts +1017 -0
- package/src/fixtures/setup_p2p_test.ts +15 -20
- package/src/fixtures/token_utils.ts +6 -5
- package/src/fixtures/utils.ts +27 -901
- package/src/quality_of_service/prometheus_client.ts +113 -0
- package/src/shared/cross_chain_test_harness.ts +13 -27
- package/src/shared/gas_portal_test_harness.ts +1 -1
- package/src/shared/submit-transactions.ts +9 -15
- package/src/shared/uniswap_l1_l2.ts +12 -19
- package/src/simulators/lending_simulator.ts +2 -2
- package/src/spartan/setup_test_wallets.ts +72 -24
- package/src/spartan/tx_metrics.ts +255 -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 +64 -0
- package/src/spartan/utils/k8s.ts +527 -0
- package/src/spartan/utils/nodes.ts +538 -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 -488
- package/src/fixtures/snapshot_manager.ts +0 -646
|
@@ -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);
|
|
@@ -214,7 +198,7 @@ export class FullProverTest {
|
|
|
214
198
|
this.aztecNode,
|
|
215
199
|
{ proverEnabled: this.realProofs },
|
|
216
200
|
undefined,
|
|
217
|
-
|
|
201
|
+
'pxe-proven',
|
|
218
202
|
);
|
|
219
203
|
this.logger.debug(`Contract address ${this.fakeProofsAsset.address}`);
|
|
220
204
|
await provenWallet.registerContract(this.fakeProofsAssetInstance, TokenContract.artifact);
|
|
@@ -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
|
|
|
@@ -286,7 +270,7 @@ export class FullProverTest {
|
|
|
286
270
|
);
|
|
287
271
|
await this.proverNode.start();
|
|
288
272
|
|
|
289
|
-
this.logger.warn(`Proofs are now enabled
|
|
273
|
+
this.logger.warn(`Proofs are now enabled`, { realProofs: this.realProofs });
|
|
290
274
|
return this;
|
|
291
275
|
}
|
|
292
276
|
|
|
@@ -299,15 +283,7 @@ export class FullProverTest {
|
|
|
299
283
|
await this.context.deployL1ContractsValues.l1Client.waitForTransactionReceipt({ hash });
|
|
300
284
|
}
|
|
301
285
|
|
|
302
|
-
snapshot = <T>(
|
|
303
|
-
name: string,
|
|
304
|
-
apply: (context: SubsystemsContext) => Promise<T>,
|
|
305
|
-
restore: (snapshotData: T, context: SubsystemsContext) => Promise<void> = () => Promise.resolve(),
|
|
306
|
-
): Promise<void> => this.snapshotManager.snapshot(name, apply, restore);
|
|
307
|
-
|
|
308
286
|
async teardown() {
|
|
309
|
-
await this.snapshotManager.teardown();
|
|
310
|
-
|
|
311
287
|
// Cleanup related to the full prover PXEs
|
|
312
288
|
for (let i = 0; i < this.provenComponents.length; i++) {
|
|
313
289
|
await this.provenComponents[i].teardown();
|
|
@@ -319,52 +295,42 @@ export class FullProverTest {
|
|
|
319
295
|
await Barretenberg.destroySingleton();
|
|
320
296
|
await this.bbConfigCleanup?.();
|
|
321
297
|
await this.acvmConfigCleanup?.();
|
|
298
|
+
|
|
299
|
+
await teardown(this.context);
|
|
322
300
|
}
|
|
323
301
|
|
|
324
|
-
async
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
const privateAmount = 10000n;
|
|
330
|
-
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;
|
|
331
307
|
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
.mint_to_public(accounts[0], privateAmount + publicAmount)
|
|
335
|
-
.send({ from: accounts[0] })
|
|
336
|
-
.wait();
|
|
308
|
+
this.logger.verbose(`Minting ${privateAmount + publicAmount} publicly...`);
|
|
309
|
+
await asset.methods.mint_to_public(accounts[0], privateAmount + publicAmount).send({ from: accounts[0] });
|
|
337
310
|
|
|
338
|
-
|
|
339
|
-
|
|
311
|
+
this.logger.verbose(`Transferring ${privateAmount} to private...`);
|
|
312
|
+
await asset.methods.transfer_to_private(accounts[0], privateAmount).send({ from: accounts[0] });
|
|
340
313
|
|
|
341
|
-
|
|
314
|
+
this.logger.info(`Minting complete`);
|
|
342
315
|
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
const totalSupply = await asset.methods.total_supply().simulate({ from: address });
|
|
363
|
-
this.logger.verbose(`Total supply: ${totalSupply}`);
|
|
364
|
-
expect(totalSupply).toEqual(tokenSim.totalSupply);
|
|
365
|
-
|
|
366
|
-
return Promise.resolve();
|
|
367
|
-
},
|
|
368
|
-
);
|
|
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);
|
|
369
335
|
}
|
|
370
336
|
}
|