@aztec/end-to-end 0.0.1-commit.24de95ac → 0.0.1-commit.2e2504e2
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 +21 -15
- package/dest/bench/client_flows/client_flows_benchmark.d.ts.map +1 -1
- package/dest/bench/client_flows/client_flows_benchmark.js +129 -119
- package/dest/bench/client_flows/config.d.ts +1 -1
- package/dest/bench/client_flows/data_extractor.d.ts +1 -1
- package/dest/bench/client_flows/data_extractor.js +7 -27
- package/dest/bench/utils.d.ts +8 -7
- package/dest/bench/utils.d.ts.map +1 -1
- package/dest/bench/utils.js +27 -18
- 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 +19 -13
- 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 +92 -70
- package/dest/e2e_deploy_contract/deploy_test.d.ts +5 -4
- 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 +17 -9
- package/dest/e2e_epochs/epochs_test.d.ts.map +1 -1
- package/dest/e2e_epochs/epochs_test.js +48 -23
- package/dest/e2e_fees/bridging_race.notest.d.ts +1 -1
- package/dest/e2e_fees/bridging_race.notest.js +5 -7
- package/dest/e2e_fees/fees_test.d.ts +20 -16
- package/dest/e2e_fees/fees_test.d.ts.map +1 -1
- package/dest/e2e_fees/fees_test.js +127 -139
- 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 +18 -19
- package/dest/e2e_multi_validator/utils.d.ts +1 -1
- package/dest/e2e_multi_validator/utils.js +1 -1
- 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 -38
- 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 +7 -6
- package/dest/e2e_p2p/p2p_network.d.ts +225 -18
- package/dest/e2e_p2p/p2p_network.d.ts.map +1 -1
- package/dest/e2e_p2p/p2p_network.js +121 -110
- 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 +11 -11
- package/dest/e2e_p2p/shared.d.ts.map +1 -1
- package/dest/e2e_p2p/shared.js +15 -21
- 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 +12 -18
- package/dest/fixtures/e2e_prover_test.d.ts.map +1 -1
- package/dest/fixtures/e2e_prover_test.js +101 -109
- package/dest/fixtures/fixtures.d.ts +2 -3
- package/dest/fixtures/fixtures.d.ts.map +1 -1
- package/dest/fixtures/fixtures.js +2 -3
- package/dest/fixtures/get_acvm_config.d.ts +1 -1
- package/dest/fixtures/get_acvm_config.js +1 -1
- package/dest/fixtures/get_bb_config.d.ts +1 -1
- package/dest/fixtures/get_bb_config.d.ts.map +1 -1
- package/dest/fixtures/ha_setup.d.ts +71 -0
- package/dest/fixtures/ha_setup.d.ts.map +1 -0
- package/dest/fixtures/ha_setup.js +114 -0
- package/dest/fixtures/index.d.ts +2 -1
- package/dest/fixtures/index.d.ts.map +1 -1
- package/dest/fixtures/index.js +1 -0
- package/dest/fixtures/l1_to_l2_messaging.d.ts +4 -3
- package/dest/fixtures/l1_to_l2_messaging.d.ts.map +1 -1
- package/dest/fixtures/l1_to_l2_messaging.js +2 -2
- package/dest/fixtures/logging.d.ts +1 -1
- 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 +6 -7
- package/dest/fixtures/setup_p2p_test.d.ts.map +1 -1
- package/dest/fixtures/setup_p2p_test.js +41 -28
- package/dest/fixtures/token_utils.d.ts +5 -2
- package/dest/fixtures/token_utils.d.ts.map +1 -1
- package/dest/fixtures/token_utils.js +13 -7
- package/dest/fixtures/utils.d.ts +5 -192
- package/dest/fixtures/utils.d.ts.map +1 -1
- package/dest/fixtures/utils.js +4 -648
- package/dest/fixtures/web3signer.d.ts +1 -1
- package/dest/fixtures/web3signer.js +1 -1
- package/dest/fixtures/with_telemetry_utils.d.ts +2 -2
- package/dest/fixtures/with_telemetry_utils.d.ts.map +1 -1
- package/dest/fixtures/with_telemetry_utils.js +2 -2
- package/dest/index.d.ts +1 -1
- 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 +7 -6
- package/dest/shared/cross_chain_test_harness.d.ts.map +1 -1
- package/dest/shared/cross_chain_test_harness.js +14 -14
- package/dest/shared/gas_portal_test_harness.d.ts +2 -2
- package/dest/shared/gas_portal_test_harness.d.ts.map +1 -1
- package/dest/shared/gas_portal_test_harness.js +2 -2
- package/dest/shared/index.d.ts +2 -2
- package/dest/shared/index.d.ts.map +1 -1
- package/dest/shared/jest_setup.d.ts +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 -27
- package/dest/shared/uniswap_l1_l2.d.ts.map +1 -1
- package/dest/shared/uniswap_l1_l2.js +57 -35
- package/dest/simulators/index.d.ts +1 -1
- package/dest/simulators/lending_simulator.d.ts +2 -2
- package/dest/simulators/lending_simulator.d.ts.map +1 -1
- package/dest/simulators/lending_simulator.js +6 -4
- package/dest/simulators/token_simulator.d.ts +1 -1
- package/dest/simulators/token_simulator.d.ts.map +1 -1
- package/dest/spartan/setup_test_wallets.d.ts +8 -5
- package/dest/spartan/setup_test_wallets.d.ts.map +1 -1
- package/dest/spartan/setup_test_wallets.js +85 -23
- package/dest/spartan/tx_metrics.d.ts +88 -0
- package/dest/spartan/tx_metrics.d.ts.map +1 -0
- package/dest/spartan/tx_metrics.js +422 -0
- 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 +39 -0
- package/dest/spartan/utils/config.d.ts.map +1 -0
- package/dest/spartan/utils/config.js +21 -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 +30 -0
- package/dest/spartan/utils/scripts.d.ts.map +1 -0
- package/dest/spartan/utils/scripts.js +81 -0
- package/dest/spartan/utils.d.ts +2 -218
- package/dest/spartan/utils.d.ts.map +1 -1
- package/dest/spartan/utils.js +1 -749
- package/package.json +46 -40
- package/src/bench/client_flows/benchmark.ts +24 -2
- package/src/bench/client_flows/client_flows_benchmark.ts +152 -170
- package/src/bench/client_flows/data_extractor.ts +6 -28
- package/src/bench/utils.ts +30 -20
- package/src/e2e_blacklist_token_contract/blacklist_token_contract_test.ts +104 -142
- package/src/e2e_cross_chain_messaging/cross_chain_messaging_test.ts +139 -124
- package/src/e2e_deploy_contract/deploy_test.ts +22 -15
- package/src/e2e_epochs/epochs_test.ts +96 -56
- package/src/e2e_fees/bridging_race.notest.ts +5 -11
- package/src/e2e_fees/fees_test.ts +180 -219
- package/src/e2e_l1_publisher/write_json.ts +20 -19
- package/src/e2e_multi_validator/utils.ts +1 -1
- package/src/e2e_nested_contract/nested_contract_test.ts +33 -55
- package/src/e2e_p2p/inactivity_slash_test.ts +10 -9
- package/src/e2e_p2p/p2p_network.ts +181 -180
- package/src/e2e_p2p/reqresp/utils.ts +207 -0
- package/src/e2e_p2p/shared.ts +35 -29
- package/src/e2e_token_contract/token_contract_test.ts +103 -118
- package/src/fixtures/dumps/epoch_proof_result.json +1 -1
- package/src/fixtures/e2e_prover_test.ts +112 -150
- package/src/fixtures/fixtures.ts +2 -5
- package/src/fixtures/get_acvm_config.ts +1 -1
- package/src/fixtures/ha_setup.ts +184 -0
- package/src/fixtures/index.ts +1 -0
- package/src/fixtures/l1_to_l2_messaging.ts +4 -2
- package/src/fixtures/setup.ts +1017 -0
- package/src/fixtures/setup_p2p_test.ts +38 -29
- package/src/fixtures/token_utils.ts +8 -7
- package/src/fixtures/utils.ts +27 -947
- package/src/fixtures/web3signer.ts +1 -1
- package/src/fixtures/with_telemetry_utils.ts +2 -2
- package/src/guides/up_quick_start.sh +1 -1
- 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 +19 -36
- package/src/shared/gas_portal_test_harness.ts +3 -3
- package/src/shared/index.ts +1 -1
- package/src/shared/submit-transactions.ts +9 -15
- package/src/shared/uniswap_l1_l2.ts +65 -88
- package/src/simulators/lending_simulator.ts +7 -5
- package/src/spartan/DEVELOP.md +7 -0
- package/src/spartan/setup_test_wallets.ts +119 -28
- package/src/spartan/tx_metrics.ts +376 -0
- 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 +27 -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 +99 -0
- package/src/spartan/utils.ts +1 -942
- package/dest/fixtures/setup_l1_contracts.d.ts +0 -6
- package/dest/fixtures/setup_l1_contracts.d.ts.map +0 -1
- package/dest/fixtures/setup_l1_contracts.js +0 -17
- package/dest/fixtures/snapshot_manager.d.ts +0 -95
- package/dest/fixtures/snapshot_manager.d.ts.map +0 -1
- package/dest/fixtures/snapshot_manager.js +0 -505
- 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/setup_l1_contracts.ts +0 -26
- package/src/fixtures/snapshot_manager.ts +0 -665
package/dest/e2e_p2p/shared.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { getContractInstanceFromInstantiationParams } from '@aztec/aztec.js/contracts';
|
|
1
|
+
import { NO_WAIT, getContractInstanceFromInstantiationParams } from '@aztec/aztec.js/contracts';
|
|
2
2
|
import { Fr } from '@aztec/aztec.js/fields';
|
|
3
|
-
import {
|
|
3
|
+
import { EpochNumber } from '@aztec/foundation/branded-types';
|
|
4
4
|
import { timesAsync, unique } from '@aztec/foundation/collection';
|
|
5
5
|
import { retryUntil } from '@aztec/foundation/retry';
|
|
6
6
|
import { pluralize } from '@aztec/foundation/string';
|
|
@@ -15,18 +15,13 @@ export const submitComplexTxsTo = async (logger, from, spamContract, numTxs, opt
|
|
|
15
15
|
const seed = 1234n;
|
|
16
16
|
const spamCount = 15;
|
|
17
17
|
for(let i = 0; i < numTxs; i++){
|
|
18
|
-
const
|
|
19
|
-
|
|
18
|
+
const method = spamContract.methods.spam(seed + BigInt(i * spamCount), spamCount, !!opts.callPublic);
|
|
19
|
+
const txHash = await method.send({
|
|
20
|
+
from,
|
|
21
|
+
wait: NO_WAIT
|
|
20
22
|
});
|
|
21
|
-
const txHash = await tx.getTxHash();
|
|
22
23
|
logger.info(`Tx sent with hash ${txHash.toString()}`);
|
|
23
|
-
|
|
24
|
-
expect(receipt).toEqual(expect.objectContaining({
|
|
25
|
-
status: TxStatus.PENDING,
|
|
26
|
-
error: ''
|
|
27
|
-
}));
|
|
28
|
-
logger.info(`Receipt received for ${txHash.toString()}`);
|
|
29
|
-
txs.push(tx);
|
|
24
|
+
txs.push(txHash);
|
|
30
25
|
}
|
|
31
26
|
return txs;
|
|
32
27
|
};
|
|
@@ -38,7 +33,7 @@ export const submitTransactions = async (logger, node, numTxs, fundedAccount)=>{
|
|
|
38
33
|
...getPXEConfig(),
|
|
39
34
|
proverEnabled: false
|
|
40
35
|
}, {
|
|
41
|
-
|
|
36
|
+
loggerActorLabel: 'pxe-tx'
|
|
42
37
|
});
|
|
43
38
|
const fundedAccountManager = await wallet.createSchnorrAccount(fundedAccount.secret, fundedAccount.salt);
|
|
44
39
|
return submitTxsTo(wallet, fundedAccountManager.address, numTxs, logger);
|
|
@@ -50,20 +45,19 @@ export async function prepareTransactions(logger, node, numTxs, fundedAccount) {
|
|
|
50
45
|
...getPXEConfig(),
|
|
51
46
|
proverEnabled: false
|
|
52
47
|
}, {
|
|
53
|
-
|
|
48
|
+
loggerActorLabel: 'pxe-tx'
|
|
54
49
|
});
|
|
55
50
|
const fundedAccountManager = await wallet.createSchnorrAccount(fundedAccount.secret, fundedAccount.salt);
|
|
56
51
|
const testContractInstance = await getContractInstanceFromInstantiationParams(TestContractArtifact, {
|
|
57
52
|
salt: Fr.random()
|
|
58
53
|
});
|
|
59
54
|
await wallet.registerContract(testContractInstance, TestContractArtifact);
|
|
60
|
-
const contract =
|
|
55
|
+
const contract = TestContract.at(testContractInstance.address, wallet);
|
|
61
56
|
return timesAsync(numTxs, async ()=>{
|
|
62
57
|
const tx = await proveInteraction(wallet, contract.methods.emit_nullifier(Fr.random()), {
|
|
63
58
|
from: fundedAccountManager.address
|
|
64
59
|
});
|
|
65
|
-
|
|
66
|
-
logger.info(`Tx prepared with hash ${txHash}`);
|
|
60
|
+
logger.info(`Tx prepared with hash ${tx.getTxHash()}`);
|
|
67
61
|
return tx;
|
|
68
62
|
});
|
|
69
63
|
}
|
|
@@ -100,7 +94,7 @@ export async function awaitCommitteeExists({ rollup, logger }) {
|
|
|
100
94
|
committee = await rollup.getCurrentEpochCommittee();
|
|
101
95
|
return committee && committee.length > 0;
|
|
102
96
|
}, 'non-empty committee', 60);
|
|
103
|
-
return committee;
|
|
97
|
+
return committee.map((c)=>c.toString());
|
|
104
98
|
}
|
|
105
99
|
export async function awaitOffenseDetected({ logger, nodeAdmin, slashingRoundSize, epochDuration, waitUntilOffenseCount, timeoutSeconds = 120 }) {
|
|
106
100
|
const targetOffenseCount = waitUntilOffenseCount ?? 1;
|
|
@@ -129,7 +123,7 @@ export async function awaitOffenseDetected({ logger, nodeAdmin, slashingRoundSiz
|
|
|
129
123
|
await cheatCodes.debugRollup();
|
|
130
124
|
if (slashingProposer.type === 'empire') {
|
|
131
125
|
// Await for the slash payload to be created if empire (no payload is created on tally until execution time)
|
|
132
|
-
const targetEpoch = await cheatCodes.getEpoch() + await rollup.
|
|
126
|
+
const targetEpoch = EpochNumber(await cheatCodes.getEpoch() + await rollup.getLagInEpochsForValidatorSet() + 1);
|
|
133
127
|
logger.info(`Advancing to epoch ${targetEpoch} so we start slashing`);
|
|
134
128
|
await cheatCodes.advanceToEpoch(targetEpoch);
|
|
135
129
|
const slashPayloadEvents = await retryUntil(async ()=>{
|
|
@@ -147,7 +141,7 @@ export async function awaitOffenseDetected({ logger, nodeAdmin, slashingRoundSiz
|
|
|
147
141
|
const firstEpochInOffenseRound = offenseEpoch - offenseEpoch % slashingRoundSizeInEpochs;
|
|
148
142
|
const targetEpoch = firstEpochInOffenseRound + slashingOffsetInEpochs;
|
|
149
143
|
logger.info(`Advancing to epoch ${targetEpoch} so we start slashing`);
|
|
150
|
-
await cheatCodes.advanceToEpoch(targetEpoch, {
|
|
144
|
+
await cheatCodes.advanceToEpoch(EpochNumber(targetEpoch), {
|
|
151
145
|
offset: -aztecSlotDuration / 2
|
|
152
146
|
});
|
|
153
147
|
}
|
|
@@ -172,7 +166,7 @@ export async function awaitOffenseDetected({ logger, nodeAdmin, slashingRoundSiz
|
|
|
172
166
|
}
|
|
173
167
|
logger.info(`Advancing to check current committee`);
|
|
174
168
|
await cheatCodes.debugRollup();
|
|
175
|
-
await cheatCodes.advanceToEpoch(await cheatCodes.getEpoch() + await rollup.
|
|
169
|
+
await cheatCodes.advanceToEpoch(EpochNumber(await cheatCodes.getEpoch() + await rollup.getLagInEpochsForValidatorSet() + 1));
|
|
176
170
|
await cheatCodes.debugRollup();
|
|
177
171
|
const committeeNextEpoch = await rollup.getCurrentEpochCommittee();
|
|
178
172
|
// 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
|
|
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
|
-
|
|
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
|
-
*
|
|
26
|
-
*
|
|
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():
|
|
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
|
-
|
|
40
|
+
private applyMint;
|
|
34
41
|
}
|
|
35
|
-
//# sourceMappingURL=
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW5fY29udHJhY3RfdGVzdC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2UyZV90b2tlbl9jb250cmFjdC90b2tlbl9jb250cmFjdF90ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsS0FBSyxNQUFNLEVBQWdCLE1BQU0scUJBQXFCLENBQUM7QUFDaEUsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ3RGLE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBSTVELE9BQU8sRUFBRSxLQUFLLGVBQWUsRUFBeUQsTUFBTSxzQkFBc0IsQ0FBQztBQUVuSCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFJbEUscUJBQWEsaUJBQWlCO0lBQzVCLE1BQU0sQ0FBQyxVQUFVLFNBQVU7SUFDM0IsTUFBTSxDQUFDLFlBQVksU0FBUztJQUM1QixNQUFNLENBQUMsY0FBYyxTQUFPO0lBQzVCLE9BQU8sRUFBRyxlQUFlLENBQUM7SUFDMUIsTUFBTSxFQUFFLE1BQU0sQ0FBQztJQUNmLFdBQVcsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUNyQixLQUFLLEVBQUcsYUFBYSxDQUFDO0lBQ3RCLFFBQVEsRUFBRyxjQUFjLENBQUM7SUFDMUIsSUFBSSxFQUFHLFNBQVMsQ0FBQztJQUVqQixVQUFVLEVBQUcsc0JBQXNCLENBQUM7SUFDcEMsTUFBTSxFQUFHLFVBQVUsQ0FBQztJQUNwQixZQUFZLEVBQUcsWUFBWSxDQUFDO0lBQzVCLGVBQWUsRUFBRyxZQUFZLENBQUM7SUFDL0IsZUFBZSxFQUFHLFlBQVksQ0FBQztJQUUvQixPQUFPLENBQUMsb0JBQW9CLENBQVM7SUFDckMsT0FBTyxDQUFDLGVBQWUsQ0FBUztJQUVoQyxZQUFZLFFBQVEsRUFBRSxNQUFNLEVBRzNCO0lBRUQ7OztPQUdHO0lBQ0gsa0JBQWtCLFNBRWpCO0lBRUQ7OztPQUdHO0lBQ0gsaUJBQWlCLFNBRWhCO1lBS2EsY0FBYztJQTZDdEIsS0FBSyxrQkFjVjtJQUVLLFFBQVEsa0JBRWI7WUFFYSxTQUFTO0NBMkJ4QiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token_contract_test.d.ts","sourceRoot":"","sources":["../../src/e2e_token_contract/token_contract_test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,qBAAqB,CAAC;AAChE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,8CAA8C,CAAC;AACtF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAI5D,OAAO,
|
|
1
|
+
{"version":3,"file":"token_contract_test.d.ts","sourceRoot":"","sources":["../../src/e2e_token_contract/token_contract_test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,qBAAqB,CAAC;AAChE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,8CAA8C,CAAC;AACtF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAI5D,OAAO,EAAE,KAAK,eAAe,EAAyD,MAAM,sBAAsB,CAAC;AAEnH,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAIlE,qBAAa,iBAAiB;IAC5B,MAAM,CAAC,UAAU,SAAU;IAC3B,MAAM,CAAC,YAAY,SAAS;IAC5B,MAAM,CAAC,cAAc,SAAO;IAC5B,OAAO,EAAG,eAAe,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,EAAG,aAAa,CAAC;IACtB,QAAQ,EAAG,cAAc,CAAC;IAC1B,IAAI,EAAG,SAAS,CAAC;IAEjB,UAAU,EAAG,sBAAsB,CAAC;IACpC,MAAM,EAAG,UAAU,CAAC;IACpB,YAAY,EAAG,YAAY,CAAC;IAC5B,eAAe,EAAG,YAAY,CAAC;IAC/B,eAAe,EAAG,YAAY,CAAC;IAE/B,OAAO,CAAC,oBAAoB,CAAS;IACrC,OAAO,CAAC,eAAe,CAAS;IAEhC,YAAY,QAAQ,EAAE,MAAM,EAG3B;IAED;;;OAGG;IACH,kBAAkB,SAEjB;IAED;;;OAGG;IACH,iBAAiB,SAEhB;YAKa,cAAc;IA6CtB,KAAK,kBAcV;IAEK,QAAQ,kBAEb;YAEa,SAAS;CA2BxB"}
|
|
@@ -2,16 +2,17 @@ import { createLogger } from '@aztec/aztec.js/log';
|
|
|
2
2
|
import { TokenContract } from '@aztec/noir-contracts.js/Token';
|
|
3
3
|
import { InvalidAccountContract } from '@aztec/noir-test-contracts.js/InvalidAccount';
|
|
4
4
|
import { jest } from '@jest/globals';
|
|
5
|
-
import {
|
|
5
|
+
import { deployAccounts, publicDeployAccounts, setup, teardown } from '../fixtures/setup.js';
|
|
6
6
|
import { mintTokensToPrivate } from '../fixtures/token_utils.js';
|
|
7
7
|
import { TokenSimulator } from '../simulators/token_simulator.js';
|
|
8
|
-
const {
|
|
8
|
+
const { METRICS_PORT: metricsPort } = process.env;
|
|
9
9
|
export class TokenContractTest {
|
|
10
10
|
static TOKEN_NAME = 'USDC';
|
|
11
11
|
static TOKEN_SYMBOL = 'USD';
|
|
12
12
|
static TOKEN_DECIMALS = 18n;
|
|
13
|
-
|
|
13
|
+
context;
|
|
14
14
|
logger;
|
|
15
|
+
metricsPort;
|
|
15
16
|
asset;
|
|
16
17
|
tokenSim;
|
|
17
18
|
node;
|
|
@@ -20,107 +21,104 @@ export class TokenContractTest {
|
|
|
20
21
|
adminAddress;
|
|
21
22
|
account1Address;
|
|
22
23
|
account2Address;
|
|
24
|
+
shouldApplyBaseSetup = false;
|
|
25
|
+
shouldApplyMint = false;
|
|
23
26
|
constructor(testName){
|
|
24
27
|
this.logger = createLogger(`e2e:e2e_token_contract:${testName}`);
|
|
25
|
-
this.
|
|
26
|
-
|
|
27
|
-
|
|
28
|
+
this.metricsPort = metricsPort ? parseInt(metricsPort) : undefined;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Registers that base setup should be applied during setup().
|
|
32
|
+
* Call this before setup() to deploy 3 accounts, publicly deploy accounts, token contract and a "bad account".
|
|
33
|
+
*/ applyBaseSnapshots() {
|
|
34
|
+
this.shouldApplyBaseSetup = true;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Registers that mint should be applied during setup().
|
|
38
|
+
* Call this before setup() to mint tokens to the admin account.
|
|
39
|
+
*/ applyMintSnapshot() {
|
|
40
|
+
this.shouldApplyMint = true;
|
|
28
41
|
}
|
|
29
42
|
/**
|
|
30
|
-
*
|
|
31
|
-
|
|
32
|
-
* 2. Publicly deploy accounts, deploy token contract and a "bad account".
|
|
33
|
-
*/ async applyBaseSnapshots() {
|
|
43
|
+
* Applies base setup: deploys 3 accounts, publicly deploys accounts, token contract and a "bad account".
|
|
44
|
+
*/ async applyBaseSetup() {
|
|
34
45
|
// Adding a timeout of 2 minutes in here such that it is propagated to the underlying tests
|
|
35
46
|
jest.setTimeout(120_000);
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
this.wallet
|
|
39
|
-
|
|
40
|
-
return Promise.resolve();
|
|
47
|
+
this.logger.info('Applying base setup - deploying 3 accounts');
|
|
48
|
+
const { deployedAccounts } = await deployAccounts(3, this.logger)({
|
|
49
|
+
wallet: this.context.wallet,
|
|
50
|
+
initialFundedAccounts: this.context.initialFundedAccounts
|
|
41
51
|
});
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
this.logger.verbose(`Token deployed to ${asset.address}`);
|
|
55
|
-
this.logger.verbose(`Deploying bad account...`);
|
|
56
|
-
this.badAccount = await InvalidAccountContract.deploy(this.wallet).send({
|
|
57
|
-
from: this.adminAddress
|
|
58
|
-
}).deployed();
|
|
59
|
-
this.logger.verbose(`Deployed to ${this.badAccount.address}.`);
|
|
60
|
-
return {
|
|
61
|
-
tokenContractAddress: asset.address,
|
|
62
|
-
badAccountAddress: this.badAccount.address
|
|
63
|
-
};
|
|
64
|
-
}, async ({ tokenContractAddress, badAccountAddress })=>{
|
|
65
|
-
// Restore the token contract state.
|
|
66
|
-
this.asset = await TokenContract.at(tokenContractAddress, this.wallet);
|
|
67
|
-
this.logger.verbose(`Token contract address: ${this.asset.address}`);
|
|
68
|
-
this.tokenSim = new TokenSimulator(this.asset, this.wallet, this.adminAddress, this.logger, [
|
|
69
|
-
this.adminAddress,
|
|
70
|
-
this.account1Address
|
|
71
|
-
]);
|
|
72
|
-
this.badAccount = await InvalidAccountContract.at(badAccountAddress, this.wallet);
|
|
73
|
-
this.logger.verbose(`Bad account address: ${this.badAccount.address}`);
|
|
74
|
-
expect(await this.asset.methods.get_admin().simulate({
|
|
75
|
-
from: this.adminAddress
|
|
76
|
-
})).toBe(this.adminAddress.toBigInt());
|
|
52
|
+
this.node = this.context.aztecNodeService;
|
|
53
|
+
this.wallet = this.context.wallet;
|
|
54
|
+
[this.adminAddress, this.account1Address, this.account2Address] = deployedAccounts.map((acc)=>acc.address);
|
|
55
|
+
this.logger.info('Applying base setup - deploying token contract');
|
|
56
|
+
this.logger.verbose(`Public deploy accounts...`);
|
|
57
|
+
await publicDeployAccounts(this.wallet, [
|
|
58
|
+
this.adminAddress,
|
|
59
|
+
this.account1Address
|
|
60
|
+
]);
|
|
61
|
+
this.logger.verbose(`Deploying TokenContract...`);
|
|
62
|
+
this.asset = await TokenContract.deploy(this.wallet, this.adminAddress, TokenContractTest.TOKEN_NAME, TokenContractTest.TOKEN_SYMBOL, TokenContractTest.TOKEN_DECIMALS).send({
|
|
63
|
+
from: this.adminAddress
|
|
77
64
|
});
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
65
|
+
this.logger.verbose(`Token deployed to ${this.asset.address}`);
|
|
66
|
+
this.logger.verbose(`Deploying bad account...`);
|
|
67
|
+
this.badAccount = await InvalidAccountContract.deploy(this.wallet).send({
|
|
68
|
+
from: this.adminAddress
|
|
69
|
+
});
|
|
70
|
+
this.logger.verbose(`Deployed to ${this.badAccount.address}.`);
|
|
71
|
+
this.tokenSim = new TokenSimulator(this.asset, this.wallet, this.adminAddress, this.logger, [
|
|
72
|
+
this.adminAddress,
|
|
73
|
+
this.account1Address
|
|
74
|
+
]);
|
|
75
|
+
expect(await this.asset.methods.get_admin().simulate({
|
|
76
|
+
from: this.adminAddress
|
|
77
|
+
})).toBe(this.adminAddress.toBigInt());
|
|
82
78
|
}
|
|
83
79
|
async setup() {
|
|
84
|
-
await
|
|
80
|
+
this.context = await setup(0, {
|
|
81
|
+
metricsPort: this.metricsPort,
|
|
82
|
+
fundSponsoredFPC: true,
|
|
83
|
+
skipAccountDeployment: true
|
|
84
|
+
});
|
|
85
|
+
if (this.shouldApplyBaseSetup) {
|
|
86
|
+
await this.applyBaseSetup();
|
|
87
|
+
}
|
|
88
|
+
if (this.shouldApplyMint) {
|
|
89
|
+
await this.applyMint();
|
|
90
|
+
}
|
|
85
91
|
}
|
|
86
|
-
snapshot = (name, apply, restore = ()=>Promise.resolve())=>this.snapshotManager.snapshot(name, apply, restore);
|
|
87
92
|
async teardown() {
|
|
88
|
-
await this.
|
|
93
|
+
await teardown(this.context);
|
|
89
94
|
}
|
|
90
|
-
async
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
from: adminAddress
|
|
115
|
-
});
|
|
116
|
-
this.logger.verbose(`Private balance of wallet 0: ${privateBalance}`);
|
|
117
|
-
expect(privateBalance).toEqual(tokenSim.balanceOfPrivate(adminAddress));
|
|
118
|
-
const totalSupply = await asset.methods.total_supply().simulate({
|
|
119
|
-
from: adminAddress
|
|
120
|
-
});
|
|
121
|
-
this.logger.verbose(`Total supply: ${totalSupply}`);
|
|
122
|
-
expect(totalSupply).toEqual(tokenSim.totalSupply);
|
|
123
|
-
return Promise.resolve();
|
|
95
|
+
async applyMint() {
|
|
96
|
+
this.logger.info('Applying mint setup');
|
|
97
|
+
const { asset, adminAddress, tokenSim } = this;
|
|
98
|
+
const amount = 10000n;
|
|
99
|
+
this.logger.verbose(`Minting ${amount} publicly...`);
|
|
100
|
+
await asset.methods.mint_to_public(adminAddress, amount).send({
|
|
101
|
+
from: adminAddress
|
|
102
|
+
});
|
|
103
|
+
tokenSim.mintPublic(adminAddress, amount);
|
|
104
|
+
const publicBalance = await asset.methods.balance_of_public(adminAddress).simulate({
|
|
105
|
+
from: adminAddress
|
|
106
|
+
});
|
|
107
|
+
this.logger.verbose(`Public balance of wallet 0: ${publicBalance}`);
|
|
108
|
+
expect(publicBalance).toEqual(this.tokenSim.balanceOfPublic(adminAddress));
|
|
109
|
+
this.logger.verbose(`Minting ${amount} privately...`);
|
|
110
|
+
await mintTokensToPrivate(asset, adminAddress, adminAddress, amount);
|
|
111
|
+
tokenSim.mintPrivate(adminAddress, amount);
|
|
112
|
+
const privateBalance = await asset.methods.balance_of_private(adminAddress).simulate({
|
|
113
|
+
from: adminAddress
|
|
114
|
+
});
|
|
115
|
+
this.logger.verbose(`Private balance of wallet 0: ${privateBalance}`);
|
|
116
|
+
expect(privateBalance).toEqual(tokenSim.balanceOfPrivate(adminAddress));
|
|
117
|
+
const totalSupply = await asset.methods.total_supply().simulate({
|
|
118
|
+
from: adminAddress
|
|
124
119
|
});
|
|
120
|
+
this.logger.verbose(`Total supply: ${totalSupply}`);
|
|
121
|
+
expect(totalSupply).toEqual(tokenSim.totalSupply);
|
|
122
|
+
this.logger.verbose(`Minting complete.`);
|
|
125
123
|
}
|
|
126
124
|
}
|
|
@@ -4,13 +4,13 @@ import { type Logger } from '@aztec/aztec.js/log';
|
|
|
4
4
|
import type { AztecNode } from '@aztec/aztec.js/node';
|
|
5
5
|
import { CheatCodes } from '@aztec/aztec/testing';
|
|
6
6
|
import { type ClientProtocolCircuitVerifier } from '@aztec/bb-prover';
|
|
7
|
-
import type {
|
|
8
|
-
import type { DeployL1ContractsReturnType } from '@aztec/ethereum';
|
|
7
|
+
import type { DeployAztecL1ContractsReturnType } from '@aztec/ethereum/deploy-aztec-l1-contracts';
|
|
9
8
|
import { TokenContract } from '@aztec/noir-contracts.js/Token';
|
|
9
|
+
import type { ContractInstanceWithAddress } from '@aztec/stdlib/contract';
|
|
10
10
|
import type { AztecNodeAdmin } from '@aztec/stdlib/interfaces/client';
|
|
11
11
|
import { TestWallet } from '@aztec/test-wallet/server';
|
|
12
12
|
import { TokenSimulator } from '../simulators/token_simulator.js';
|
|
13
|
-
import { type
|
|
13
|
+
import { type EndToEndContext } from './setup.js';
|
|
14
14
|
/**
|
|
15
15
|
* Largely taken from the e2e_token_contract test file. We deploy 2 accounts and a token contract.
|
|
16
16
|
* However, we then setup a second PXE with a full prover instance.
|
|
@@ -18,44 +18,38 @@ import { type SubsystemsContext } from './snapshot_manager.js';
|
|
|
18
18
|
* We then prove and verify transactions created via this full prover PXE.
|
|
19
19
|
*/
|
|
20
20
|
export declare class FullProverTest {
|
|
21
|
-
private minNumberOfTxsPerBlock;
|
|
22
|
-
private realProofs;
|
|
23
21
|
static TOKEN_NAME: string;
|
|
24
22
|
static TOKEN_SYMBOL: string;
|
|
25
23
|
static TOKEN_DECIMALS: bigint;
|
|
26
|
-
private snapshotManager;
|
|
27
24
|
logger: Logger;
|
|
28
25
|
wallet: TestWallet;
|
|
29
26
|
provenWallet: TestWallet;
|
|
30
27
|
accounts: AztecAddress[];
|
|
31
28
|
deployedAccounts: InitialAccountData[];
|
|
32
29
|
fakeProofsAsset: TokenContract;
|
|
30
|
+
fakeProofsAssetInstance: ContractInstanceWithAddress;
|
|
33
31
|
tokenSim: TokenSimulator;
|
|
34
32
|
aztecNode: AztecNode;
|
|
35
33
|
aztecNodeAdmin: AztecNodeAdmin;
|
|
36
34
|
cheatCodes: CheatCodes;
|
|
37
|
-
blobSink: BlobSinkServer;
|
|
38
35
|
private provenComponents;
|
|
39
36
|
private bbConfigCleanup?;
|
|
40
37
|
private acvmConfigCleanup?;
|
|
41
38
|
circuitProofVerifier?: ClientProtocolCircuitVerifier;
|
|
42
39
|
provenAsset: TokenContract;
|
|
43
|
-
|
|
40
|
+
context: EndToEndContext;
|
|
44
41
|
private proverNode;
|
|
45
42
|
private simulatedProverNode;
|
|
46
|
-
l1Contracts:
|
|
43
|
+
l1Contracts: DeployAztecL1ContractsReturnType;
|
|
47
44
|
proverAddress: EthAddress;
|
|
45
|
+
private minNumberOfTxsPerBlock;
|
|
46
|
+
private coinbase;
|
|
47
|
+
private realProofs;
|
|
48
48
|
constructor(testName: string, minNumberOfTxsPerBlock: number, coinbase: EthAddress, realProofs?: boolean);
|
|
49
|
-
|
|
50
|
-
* Adds two state shifts to snapshot manager.
|
|
51
|
-
* 1. Add 2 accounts.
|
|
52
|
-
* 2. Publicly deploy accounts, deploy token contract
|
|
53
|
-
*/
|
|
54
|
-
applyBaseSnapshots(): Promise<void>;
|
|
49
|
+
private applyBaseSetup;
|
|
55
50
|
setup(): Promise<this>;
|
|
56
51
|
private mintFeeJuice;
|
|
57
|
-
snapshot: <T>(name: string, apply: (context: SubsystemsContext) => Promise<T>, restore?: (snapshotData: T, context: SubsystemsContext) => Promise<void>) => Promise<void>;
|
|
58
52
|
teardown(): Promise<void>;
|
|
59
|
-
|
|
53
|
+
private applyMint;
|
|
60
54
|
}
|
|
61
|
-
//# sourceMappingURL=
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZTJlX3Byb3Zlcl90ZXN0LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZml4dHVyZXMvZTJlX3Byb3Zlcl90ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsS0FBSyxNQUFNLEVBQWdCLE1BQU0scUJBQXFCLENBQUM7QUFDaEUsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFFTCxLQUFLLDZCQUE2QixFQUduQyxNQUFNLGtCQUFrQixDQUFDO0FBRzFCLE9BQU8sS0FBSyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFJbEcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRS9ELE9BQU8sS0FBSyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDMUUsT0FBTyxLQUFLLEVBQUUsY0FBYyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBTXZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUdsRSxPQUFPLEVBQ0wsS0FBSyxlQUFlLEVBUXJCLE1BQU0sWUFBWSxDQUFDO0FBT3BCOzs7OztHQUtHO0FBRUgscUJBQWEsY0FBYztJQUN6QixNQUFNLENBQUMsVUFBVSxTQUFVO0lBQzNCLE1BQU0sQ0FBQyxZQUFZLFNBQVM7SUFDNUIsTUFBTSxDQUFDLGNBQWMsU0FBTztJQUM1QixNQUFNLEVBQUUsTUFBTSxDQUFDO0lBQ2YsTUFBTSxFQUFHLFVBQVUsQ0FBQztJQUNwQixZQUFZLEVBQUcsVUFBVSxDQUFDO0lBQzFCLFFBQVEsRUFBRSxZQUFZLEVBQUUsQ0FBTTtJQUM5QixnQkFBZ0IsRUFBRyxrQkFBa0IsRUFBRSxDQUFDO0lBQ3hDLGVBQWUsRUFBRyxhQUFhLENBQUM7SUFDaEMsdUJBQXVCLEVBQUcsMkJBQTJCLENBQUM7SUFDdEQsUUFBUSxFQUFHLGNBQWMsQ0FBQztJQUMxQixTQUFTLEVBQUcsU0FBUyxDQUFDO0lBQ3RCLGNBQWMsRUFBRyxjQUFjLENBQUM7SUFDaEMsVUFBVSxFQUFHLFVBQVUsQ0FBQztJQUN4QixPQUFPLENBQUMsZ0JBQWdCLENBQXFCO0lBQzdDLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBc0I7SUFDOUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQXNCO0lBQ2hELG9CQUFvQixDQUFDLEVBQUUsNkJBQTZCLENBQUM7SUFDckQsV0FBVyxFQUFHLGFBQWEsQ0FBQztJQUM1QixPQUFPLEVBQUcsZUFBZSxDQUFDO0lBQzFCLE9BQU8sQ0FBQyxVQUFVLENBQWM7SUFDaEMsT0FBTyxDQUFDLG1CQUFtQixDQUFjO0lBQ2xDLFdBQVcsRUFBRyxnQ0FBZ0MsQ0FBQztJQUMvQyxhQUFhLEVBQUcsVUFBVSxDQUFDO0lBQ2xDLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBUztJQUN2QyxPQUFPLENBQUMsUUFBUSxDQUFhO0lBQzdCLE9BQU8sQ0FBQyxVQUFVLENBQVU7SUFFNUIsWUFBWSxRQUFRLEVBQUUsTUFBTSxFQUFFLHNCQUFzQixFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLFVBQVUsVUFBTyxFQUtwRztZQUthLGNBQWM7SUFxQ3RCLEtBQUssa0JBZ0pWO1lBRWEsWUFBWTtJQVNwQixRQUFRLGtCQWNiO1lBRWEsU0FBUztDQWtDeEIifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"e2e_prover_test.d.ts","sourceRoot":"","sources":["../../src/fixtures/e2e_prover_test.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAElE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,qBAAqB,CAAC;AAChE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAEL,KAAK,6BAA6B,EAGnC,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"e2e_prover_test.d.ts","sourceRoot":"","sources":["../../src/fixtures/e2e_prover_test.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAElE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,qBAAqB,CAAC;AAChE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAEL,KAAK,6BAA6B,EAGnC,MAAM,kBAAkB,CAAC;AAG1B,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,2CAA2C,CAAC;AAIlG,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAE/D,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAMvD,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAGlE,OAAO,EACL,KAAK,eAAe,EAQrB,MAAM,YAAY,CAAC;AAOpB;;;;;GAKG;AAEH,qBAAa,cAAc;IACzB,MAAM,CAAC,UAAU,SAAU;IAC3B,MAAM,CAAC,YAAY,SAAS;IAC5B,MAAM,CAAC,cAAc,SAAO;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAG,UAAU,CAAC;IACpB,YAAY,EAAG,UAAU,CAAC;IAC1B,QAAQ,EAAE,YAAY,EAAE,CAAM;IAC9B,gBAAgB,EAAG,kBAAkB,EAAE,CAAC;IACxC,eAAe,EAAG,aAAa,CAAC;IAChC,uBAAuB,EAAG,2BAA2B,CAAC;IACtD,QAAQ,EAAG,cAAc,CAAC;IAC1B,SAAS,EAAG,SAAS,CAAC;IACtB,cAAc,EAAG,cAAc,CAAC;IAChC,UAAU,EAAG,UAAU,CAAC;IACxB,OAAO,CAAC,gBAAgB,CAAqB;IAC7C,OAAO,CAAC,eAAe,CAAC,CAAsB;IAC9C,OAAO,CAAC,iBAAiB,CAAC,CAAsB;IAChD,oBAAoB,CAAC,EAAE,6BAA6B,CAAC;IACrD,WAAW,EAAG,aAAa,CAAC;IAC5B,OAAO,EAAG,eAAe,CAAC;IAC1B,OAAO,CAAC,UAAU,CAAc;IAChC,OAAO,CAAC,mBAAmB,CAAc;IAClC,WAAW,EAAG,gCAAgC,CAAC;IAC/C,aAAa,EAAG,UAAU,CAAC;IAClC,OAAO,CAAC,sBAAsB,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,UAAU,CAAU;IAE5B,YAAY,QAAQ,EAAE,MAAM,EAAE,sBAAsB,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,UAAO,EAKpG;YAKa,cAAc;IAqCtB,KAAK,kBAgJV;YAEa,YAAY;IASpB,QAAQ,kBAcb;YAEa,SAAS;CAkCxB"}
|