@aztec/end-to-end 0.0.1-commit.3f296a7d2 → 0.0.1-commit.3f5453c7b
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/README.md +27 -0
- package/dest/bench/client_flows/client_flows_benchmark.d.ts +1 -1
- package/dest/bench/client_flows/client_flows_benchmark.d.ts.map +1 -1
- package/dest/bench/client_flows/client_flows_benchmark.js +11 -26
- package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.d.ts +3 -2
- 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 +1 -1
- package/dest/e2e_epochs/epochs_test.js +3 -3
- package/dest/e2e_fees/fees_test.js +1 -1
- package/dest/e2e_p2p/inactivity_slash_test.js +3 -3
- package/dest/e2e_p2p/p2p_network.d.ts +5 -7
- package/dest/e2e_p2p/p2p_network.d.ts.map +1 -1
- package/dest/e2e_p2p/p2p_network.js +14 -13
- package/dest/e2e_p2p/reqresp/utils.js +1 -1
- package/dest/e2e_p2p/shared.d.ts +5 -7
- package/dest/e2e_p2p/shared.d.ts.map +1 -1
- package/dest/e2e_p2p/shared.js +16 -42
- package/dest/fixtures/authwit_proxy.d.ts +1 -1
- package/dest/fixtures/authwit_proxy.d.ts.map +1 -1
- package/dest/fixtures/authwit_proxy.js +4 -0
- package/dest/fixtures/e2e_prover_test.d.ts +1 -1
- package/dest/fixtures/e2e_prover_test.d.ts.map +1 -1
- package/dest/fixtures/e2e_prover_test.js +4 -7
- package/dest/fixtures/setup.d.ts +11 -8
- package/dest/fixtures/setup.d.ts.map +1 -1
- package/dest/fixtures/setup.js +11 -9
- package/dest/fixtures/setup_p2p_test.d.ts +6 -6
- package/dest/fixtures/setup_p2p_test.d.ts.map +1 -1
- package/dest/fixtures/setup_p2p_test.js +8 -8
- 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 +2 -5
- package/dest/legacy-jest-resolver.d.cts +3 -0
- package/dest/legacy-jest-resolver.d.cts.map +1 -0
- 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 +58 -40
- package/dest/test-wallet/test_wallet.d.ts +16 -8
- package/dest/test-wallet/test_wallet.d.ts.map +1 -1
- package/dest/test-wallet/test_wallet.js +82 -46
- package/dest/test-wallet/worker_wallet.d.ts +4 -4
- package/dest/test-wallet/worker_wallet.d.ts.map +1 -1
- package/dest/test-wallet/worker_wallet_schema.d.ts +7 -2
- package/dest/test-wallet/worker_wallet_schema.d.ts.map +1 -1
- package/package.json +40 -39
- package/src/bench/client_flows/client_flows_benchmark.ts +29 -21
- package/src/e2e_blacklist_token_contract/blacklist_token_contract_test.ts +3 -6
- package/src/e2e_epochs/epochs_test.ts +3 -3
- package/src/e2e_fees/fees_test.ts +1 -1
- package/src/e2e_p2p/inactivity_slash_test.ts +3 -3
- package/src/e2e_p2p/p2p_network.ts +22 -27
- package/src/e2e_p2p/reqresp/utils.ts +1 -1
- package/src/e2e_p2p/shared.ts +16 -57
- package/src/fixtures/authwit_proxy.ts +4 -0
- package/src/fixtures/e2e_prover_test.ts +7 -6
- package/src/fixtures/setup.ts +21 -17
- package/src/fixtures/setup_p2p_test.ts +9 -9
- package/src/fixtures/token_utils.ts +1 -4
- package/src/legacy-jest-resolver.cjs +135 -0
- package/src/spartan/setup_test_wallets.ts +59 -36
- package/src/test-wallet/test_wallet.ts +100 -50
- package/src/test-wallet/worker_wallet.ts +3 -2
package/README.md
CHANGED
|
@@ -24,3 +24,30 @@ which will spawn the two processes.
|
|
|
24
24
|
You can also run this by `docker-compose up` which will spawn 2 different containers for Anvil and the test runner.
|
|
25
25
|
|
|
26
26
|
You can run a single test by running `yarn test:compose <test_name>`.
|
|
27
|
+
|
|
28
|
+
## Running tests against legacy contract artifacts
|
|
29
|
+
|
|
30
|
+
To verify that contracts deployed from a previous release still work against the current stack, set
|
|
31
|
+
`CONTRACT_ARTIFACTS_VERSION` to a published version of `@aztec/noir-contracts.js` / `@aztec/noir-test-contracts.js`:
|
|
32
|
+
|
|
33
|
+
```
|
|
34
|
+
CONTRACT_ARTIFACTS_VERSION=4.1.3 yarn test:e2e src/e2e_amm.test.ts
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
Only the JSON artifact files (`.../artifacts/*.json`) are redirected. The TypeScript wrapper classes
|
|
38
|
+
(e.g. `TokenContract`) continue to load from the current workspace and use the current `@aztec/aztec.js` — so this
|
|
39
|
+
exercises whether a deployed contract's ABI / bytecode / notes still work through the *new* client, not whether the
|
|
40
|
+
legacy wrapper code still imports cleanly.
|
|
41
|
+
|
|
42
|
+
The first run downloads the pinned packages into `.legacy-contracts/<version>/node_modules/` (cached across runs). A
|
|
43
|
+
startup banner and a per-redirect line are printed to stderr so you can confirm the legacy artifacts were actually
|
|
44
|
+
loaded:
|
|
45
|
+
|
|
46
|
+
```
|
|
47
|
+
[legacy-contracts][jest] CONTRACT_ARTIFACTS_VERSION=4.1.3
|
|
48
|
+
[legacy-contracts][jest] redirecting @aztec/noir-contracts.js/artifacts/*.json -> .legacy-contracts/4.1.3/...
|
|
49
|
+
[legacy-contracts][jest] redirected token_contract-Token.json -> /abs/.../.legacy-contracts/4.1.3/.../token_contract-Token.json
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
When `CONTRACT_ARTIFACTS_VERSION` is unset the test run is byte-identical to the default behaviour. The cache is
|
|
53
|
+
populated automatically on first use.
|
|
@@ -76,4 +76,4 @@ export declare class ClientFlowsBenchmark {
|
|
|
76
76
|
getPrivateFPCPaymentMethodForWallet(wallet: Wallet, sender: AztecAddress): Promise<PrivateFeePaymentMethod>;
|
|
77
77
|
getSponsoredFPCPaymentMethodForWallet(_wallet: Wallet, _sender: AztecAddress): Promise<SponsoredFeePaymentMethod>;
|
|
78
78
|
}
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50X2Zsb3dzX2JlbmNobWFyay5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2JlbmNoL2NsaWVudF9mbG93cy9jbGllbnRfZmxvd3NfYmVuY2htYXJrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsS0FBSyxnQkFBZ0IsRUFBRSx1QkFBdUIsRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2hILE9BQU8sRUFBRSxLQUFLLE1BQU0sRUFBZ0IsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRSxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsVUFBVSxFQUFpQyxNQUFNLHNCQUFzQixDQUFDO0FBR2pGLE9BQU8sS0FBSyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFFNUYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBR3BELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUczRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzNELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxhQUFhLElBQUksVUFBVSxFQUFFLGFBQWEsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBSTVGLE9BQU8sS0FB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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client_flows_benchmark.d.ts","sourceRoot":"","sources":["../../../src/bench/client_flows/client_flows_benchmark.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"client_flows_benchmark.d.ts","sourceRoot":"","sources":["../../../src/bench/client_flows/client_flows_benchmark.ts"],"names":[],"mappings":"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"}
|
|
@@ -210,11 +210,8 @@ export class ClientFlowsBenchmark {
|
|
|
210
210
|
}
|
|
211
211
|
async applyDeployBananaToken() {
|
|
212
212
|
this.logger.info('Applying banana token deployment');
|
|
213
|
-
const {
|
|
214
|
-
from: this.adminAddress
|
|
215
|
-
wait: {
|
|
216
|
-
returnReceipt: true
|
|
217
|
-
}
|
|
213
|
+
const { contract: bananaCoin, instance: bananaCoinInstance } = await BananaCoin.deploy(this.adminWallet, this.adminAddress, 'BC', 'BC', 18n).send({
|
|
214
|
+
from: this.adminAddress
|
|
218
215
|
});
|
|
219
216
|
this.logger.info(`BananaCoin deployed at ${bananaCoin.address}`);
|
|
220
217
|
this.bananaCoin = bananaCoin;
|
|
@@ -222,11 +219,8 @@ export class ClientFlowsBenchmark {
|
|
|
222
219
|
}
|
|
223
220
|
async applyDeployCandyBarToken() {
|
|
224
221
|
this.logger.info('Applying candy bar token deployment');
|
|
225
|
-
const {
|
|
226
|
-
from: this.adminAddress
|
|
227
|
-
wait: {
|
|
228
|
-
returnReceipt: true
|
|
229
|
-
}
|
|
222
|
+
const { contract: candyBarCoin, instance: candyBarCoinInstance } = await TokenContract.deploy(this.adminWallet, this.adminAddress, 'CBC', 'CBC', 18n).send({
|
|
223
|
+
from: this.adminAddress
|
|
230
224
|
});
|
|
231
225
|
this.logger.info(`CandyBarCoin deployed at ${candyBarCoin.address}`);
|
|
232
226
|
this.candyBarCoin = candyBarCoin;
|
|
@@ -237,11 +231,8 @@ export class ClientFlowsBenchmark {
|
|
|
237
231
|
const feeJuiceContract = this.feeJuiceBridgeTestHarness.feeJuice;
|
|
238
232
|
expect((await this.context.wallet.getContractMetadata(feeJuiceContract.address)).isContractPublished).toBe(true);
|
|
239
233
|
const bananaCoin = this.bananaCoin;
|
|
240
|
-
const {
|
|
241
|
-
from: this.adminAddress
|
|
242
|
-
wait: {
|
|
243
|
-
returnReceipt: true
|
|
244
|
-
}
|
|
234
|
+
const { contract: bananaFPC, instance: bananaFPCInstance } = await FPCContract.deploy(this.adminWallet, bananaCoin.address, this.adminAddress).send({
|
|
235
|
+
from: this.adminAddress
|
|
245
236
|
});
|
|
246
237
|
this.logger.info(`BananaPay deployed at ${bananaFPC.address}`);
|
|
247
238
|
await this.feeJuiceBridgeTestHarness.bridgeFromL1ToL2(bananaFPC.address, this.adminAddress);
|
|
@@ -289,17 +280,11 @@ export class ClientFlowsBenchmark {
|
|
|
289
280
|
}
|
|
290
281
|
async applyDeployAmm() {
|
|
291
282
|
this.logger.info('Applying AMM deployment');
|
|
292
|
-
const {
|
|
293
|
-
from: this.adminAddress
|
|
294
|
-
wait: {
|
|
295
|
-
returnReceipt: true
|
|
296
|
-
}
|
|
283
|
+
const { contract: liquidityToken, instance: liquidityTokenInstance } = await TokenContract.deploy(this.adminWallet, this.adminAddress, 'LPT', 'LPT', 18n).send({
|
|
284
|
+
from: this.adminAddress
|
|
297
285
|
});
|
|
298
|
-
const {
|
|
299
|
-
from: this.adminAddress
|
|
300
|
-
wait: {
|
|
301
|
-
returnReceipt: true
|
|
302
|
-
}
|
|
286
|
+
const { contract: amm, instance: ammInstance } = await AMMContract.deploy(this.adminWallet, this.bananaCoin.address, this.candyBarCoin.address, liquidityToken.address).send({
|
|
287
|
+
from: this.adminAddress
|
|
303
288
|
});
|
|
304
289
|
this.logger.info(`AMM deployed at ${amm.address}`);
|
|
305
290
|
await liquidityToken.methods.set_minter(amm.address, true).send({
|
|
@@ -318,7 +303,7 @@ export class ClientFlowsBenchmark {
|
|
|
318
303
|
// The private fee paying method assembled on the app side requires knowledge of the maximum
|
|
319
304
|
// fee the user is willing to pay
|
|
320
305
|
const maxFeesPerGas = (await this.aztecNode.getCurrentMinFees()).mul(1.5);
|
|
321
|
-
const gasSettings = GasSettings.
|
|
306
|
+
const gasSettings = GasSettings.fallback({
|
|
322
307
|
maxFeesPerGas
|
|
323
308
|
});
|
|
324
309
|
return new PrivateFeePaymentMethod(this.bananaFPC.address, sender, wallet, gasSettings);
|
|
@@ -8,6 +8,7 @@ import { TokenBlacklistContract } from '@aztec/noir-contracts.js/TokenBlacklist'
|
|
|
8
8
|
import { GenericProxyContract } from '@aztec/noir-test-contracts.js/GenericProxy';
|
|
9
9
|
import { InvalidAccountContract } from '@aztec/noir-test-contracts.js/InvalidAccount';
|
|
10
10
|
import type { SequencerClient } from '@aztec/sequencer-client';
|
|
11
|
+
import type { AztecNodeDebug } from '@aztec/stdlib/interfaces/client';
|
|
11
12
|
import { type EndToEndContext } from '../fixtures/setup.js';
|
|
12
13
|
import { TokenSimulator } from '../simulators/token_simulator.js';
|
|
13
14
|
import type { TestWallet } from '../test-wallet/test_wallet.js';
|
|
@@ -35,7 +36,7 @@ export declare class BlacklistTokenContractTest {
|
|
|
35
36
|
authwitProxy: GenericProxyContract;
|
|
36
37
|
cheatCodes: CheatCodes;
|
|
37
38
|
sequencer: SequencerClient;
|
|
38
|
-
aztecNode: AztecNode;
|
|
39
|
+
aztecNode: AztecNode & AztecNodeDebug;
|
|
39
40
|
adminAddress: AztecAddress;
|
|
40
41
|
otherAddress: AztecAddress;
|
|
41
42
|
blacklistedAddress: AztecAddress;
|
|
@@ -52,4 +53,4 @@ export declare class BlacklistTokenContractTest {
|
|
|
52
53
|
addPendingShieldNoteToPXE(contract: TokenBlacklistContract, recipient: AztecAddress, amount: bigint, secretHash: Fr, txHash: TxHash): Promise<void>;
|
|
53
54
|
applyMint(): Promise<void>;
|
|
54
55
|
}
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxhY2tsaXN0X3Rva2VuX2NvbnRyYWN0X3Rlc3QuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lMmVfYmxhY2tsaXN0X3Rva2VuX2NvbnRyYWN0L2JsYWNrbGlzdF90b2tlbl9jb250cmFjdF90ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUMsT0FBTyxFQUFFLEtBQUssTUFBTSxFQUFnQixNQUFNLHFCQUFxQixDQUFDO0FBQ2hFLE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3RELE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2pELE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXZELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ3RGLE9BQU8sS0FBSyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQy9ELE9BQU8sS0FBSyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBSXRFLE9BQU8sRUFBRSxLQUFLLGVBQWUsRUFBeUQsTUFBTSxzQkFBc0IsQ0FBQztBQUNuSCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbEUsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFaEUscUJBQWEsSUFBSTtJQUNmLE9BQU8sQ0FBQyxPQUFPLENBQVM7SUFDeEIsT0FBTyxDQUFDLFFBQVEsQ0FBUztJQUN6QixPQUFPLENBQUMsYUFBYSxDQUFTO0lBRTlCLFNBQVMsU0FHUjtJQUVELFVBQVUsU0FHVDtJQUVELGVBQWUsU0FHZDtJQUVELFlBQVk7Ozs7TUFJWDtDQUNGO0FBRUQscUJBQWEsMEJBQTBCO0lBRXJDLE1BQU0sQ0FBQyxrQkFBa0IsU0FBUztJQUVsQyxPQUFPLEVBQUcsZUFBZSxDQUFDO0lBQzFCLE1BQU0sRUFBRSxNQUFNLENBQUM7SUFDZixNQUFNLEVBQUcsVUFBVSxDQUFDO0lBQ3BCLEtBQUssRUFBRyxzQkFBc0IsQ0FBQztJQUMvQixRQUFRLEVBQUcsY0FBYyxDQUFDO0lBQzFCLFVBQVUsRUFBRyxzQkFBc0IsQ0FBQztJQUNwQyxZQUFZLEVBQUcsb0JBQW9CLENBQUM7SUFDcEMsVUFBVSxFQUFHLFVBQVUsQ0FBQztJQUN4QixTQUFTLEVBQUcsZUFBZSxDQUFDO0lBQzVCLFNBQVMsRUFBRyxTQUFTLEdBQUcsY0FBYyxDQUFDO0lBRXZDLFlBQVksRUFBRyxZQUFZLENBQUM7SUFDNUIsWUFBWSxFQUFHLFlBQVksQ0FBQztJQUM1QixrQkFBa0IsRUFBRyxZQUFZLENBQUM7SUFFbEMsWUFBWSxRQUFRLEVBQUUsTUFBTSxFQUUzQjtJQUVLLHNCQUFzQixrQkFFM0I7SUFFRDs7OztPQUlHO0lBQ0csY0FBYyxrQkE0RG5CO0lBRUssS0FBSyxrQkFPVjtJQUVLLFFBQVEsa0JBRWI7SUFFSyx5QkFBeUIsQ0FDN0IsUUFBUSxFQUFFLHNCQUFzQixFQUNoQyxTQUFTLEVBQUUsWUFBWSxFQUN2QixNQUFNLEVBQUUsTUFBTSxFQUNkLFVBQVUsRUFBRSxFQUFFLEVBQ2QsTUFBTSxFQUFFLE1BQU0saUJBY2Y7SUFFSyxTQUFTLGtCQW1EZDtDQUNGIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blacklist_token_contract_test.d.ts","sourceRoot":"","sources":["../../src/e2e_blacklist_token_contract/blacklist_token_contract_test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD,OAAO,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAC;AAC5C,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,qBAAqB,CAAC;AAChE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACjF,OAAO,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AAClF,OAAO,EAAE,sBAAsB,EAAE,MAAM,8CAA8C,CAAC;AACtF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"blacklist_token_contract_test.d.ts","sourceRoot":"","sources":["../../src/e2e_blacklist_token_contract/blacklist_token_contract_test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD,OAAO,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAC;AAC5C,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,qBAAqB,CAAC;AAChE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACjF,OAAO,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AAClF,OAAO,EAAE,sBAAsB,EAAE,MAAM,8CAA8C,CAAC;AACtF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAItE,OAAO,EAAE,KAAK,eAAe,EAAyD,MAAM,sBAAsB,CAAC;AACnH,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAEhE,qBAAa,IAAI;IACf,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,aAAa,CAAS;IAE9B,SAAS,SAGR;IAED,UAAU,SAGT;IAED,eAAe,SAGd;IAED,YAAY;;;;MAIX;CACF;AAED,qBAAa,0BAA0B;IAErC,MAAM,CAAC,kBAAkB,SAAS;IAElC,OAAO,EAAG,eAAe,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAG,UAAU,CAAC;IACpB,KAAK,EAAG,sBAAsB,CAAC;IAC/B,QAAQ,EAAG,cAAc,CAAC;IAC1B,UAAU,EAAG,sBAAsB,CAAC;IACpC,YAAY,EAAG,oBAAoB,CAAC;IACpC,UAAU,EAAG,UAAU,CAAC;IACxB,SAAS,EAAG,eAAe,CAAC;IAC5B,SAAS,EAAG,SAAS,GAAG,cAAc,CAAC;IAEvC,YAAY,EAAG,YAAY,CAAC;IAC5B,YAAY,EAAG,YAAY,CAAC;IAC5B,kBAAkB,EAAG,YAAY,CAAC;IAElC,YAAY,QAAQ,EAAE,MAAM,EAE3B;IAEK,sBAAsB,kBAE3B;IAED;;;;OAIG;IACG,cAAc,kBA4DnB;IAEK,KAAK,kBAOV;IAEK,QAAQ,kBAEb;IAEK,yBAAyB,CAC7B,QAAQ,EAAE,sBAAsB,EAChC,SAAS,EAAE,YAAY,EACvB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,EAAE,EACd,MAAM,EAAE,MAAM,iBAcf;IAEK,SAAS,kBAmDd;CACF"}
|
|
@@ -53,7 +53,7 @@ export class BlacklistTokenContractTest {
|
|
|
53
53
|
this.logger = createLogger(`e2e:e2e_blacklist_token_contract:${testName}`);
|
|
54
54
|
}
|
|
55
55
|
async crossTimestampOfChange() {
|
|
56
|
-
await this.cheatCodes.warpL2TimeAtLeastBy(this.
|
|
56
|
+
await this.cheatCodes.warpL2TimeAtLeastBy(this.aztecNode, BlacklistTokenContractTest.CHANGE_ROLES_DELAY);
|
|
57
57
|
}
|
|
58
58
|
/**
|
|
59
59
|
* Applies base setup:
|
|
@@ -94,7 +94,7 @@ export const DEFAULT_L1_BLOCK_TIME = process.env.CI ? 12 : 8;
|
|
|
94
94
|
proverId: EthAddress.fromNumber(1),
|
|
95
95
|
worldStateCheckpointHistory: WORLD_STATE_CHECKPOINT_HISTORY,
|
|
96
96
|
exitDelaySeconds: DefaultL1ContractsConfig.exitDelaySeconds,
|
|
97
|
-
|
|
97
|
+
slasherEnabled: false,
|
|
98
98
|
l1PublishingTime,
|
|
99
99
|
...opts
|
|
100
100
|
}, // Use checkpointed chain tip for PXE by default to avoid issues with blocks being dropped due to pruned anchor blocks.
|
|
@@ -167,7 +167,7 @@ export const DEFAULT_L1_BLOCK_TIME = process.env.CI ? 12 : 8;
|
|
|
167
167
|
]
|
|
168
168
|
}
|
|
169
169
|
}, {
|
|
170
|
-
|
|
170
|
+
genesis: this.context.genesis,
|
|
171
171
|
dontStart: opts.dontStart
|
|
172
172
|
}));
|
|
173
173
|
this.proverNodes.push(proverNode);
|
|
@@ -214,7 +214,7 @@ export const DEFAULT_L1_BLOCK_TIME = process.env.CI ? 12 : 8;
|
|
|
214
214
|
},
|
|
215
215
|
slashingProtectionDb: opts.slashingProtectionDb
|
|
216
216
|
}, {
|
|
217
|
-
|
|
217
|
+
genesis: this.context.genesis,
|
|
218
218
|
...opts
|
|
219
219
|
}));
|
|
220
220
|
this.nodes.push(node);
|
|
@@ -155,7 +155,7 @@ import { FeeJuicePortalTestingHarnessFactory } from '../shared/gas_portal_test_h
|
|
|
155
155
|
this.wallet = this.context.wallet;
|
|
156
156
|
this.aztecNode = this.context.aztecNodeService;
|
|
157
157
|
this.aztecNodeAdmin = this.context.aztecNodeService;
|
|
158
|
-
this.gasSettings = GasSettings.
|
|
158
|
+
this.gasSettings = GasSettings.fallback({
|
|
159
159
|
maxFeesPerGas: (await this.aztecNode.getCurrentMinFees()).mul(2)
|
|
160
160
|
});
|
|
161
161
|
this.cheatCodes = this.context.cheatCodes;
|
|
@@ -42,6 +42,7 @@ export class P2PInactivityTest {
|
|
|
42
42
|
basePort: BOOT_NODE_UDP_PORT,
|
|
43
43
|
startProverNode: true,
|
|
44
44
|
initialConfig: {
|
|
45
|
+
anvilSlotsInAnEpoch: 4,
|
|
45
46
|
proverNodeConfig: {
|
|
46
47
|
proverNodeEpochProvingDelayMs: AZTEC_SLOT_DURATION * 1000
|
|
47
48
|
},
|
|
@@ -52,7 +53,6 @@ export class P2PInactivityTest {
|
|
|
52
53
|
listenAddress: '127.0.0.1',
|
|
53
54
|
minTxsPerBlock: 0,
|
|
54
55
|
aztecEpochDuration: EPOCH_DURATION,
|
|
55
|
-
validatorReexecute: false,
|
|
56
56
|
sentinelEnabled: true,
|
|
57
57
|
slashingQuorum: SLASHING_QUORUM,
|
|
58
58
|
slashingRoundSizeInEpochs: SLASHING_ROUND_SIZE_IN_EPOCHS,
|
|
@@ -84,13 +84,13 @@ export class P2PInactivityTest {
|
|
|
84
84
|
await this.test.ctx.aztecNodeService.stop();
|
|
85
85
|
}
|
|
86
86
|
// Create all active nodes
|
|
87
|
-
this.activeNodes = await createNodes(this.test.ctx.aztecNodeConfig, this.test.ctx.dateProvider, this.test.bootstrapNodeEnr, NUM_NODES - this.inactiveNodeCount - Number(this.keepInitialNode), BOOT_NODE_UDP_PORT, this.test.
|
|
87
|
+
this.activeNodes = await createNodes(this.test.ctx.aztecNodeConfig, this.test.ctx.dateProvider, this.test.bootstrapNodeEnr, NUM_NODES - this.inactiveNodeCount - Number(this.keepInitialNode), BOOT_NODE_UDP_PORT, this.test.genesis, this.dataDir, undefined, Number(this.keepInitialNode));
|
|
88
88
|
// And the ones with an initially disabled sequencer
|
|
89
89
|
const inactiveConfig = {
|
|
90
90
|
...this.test.ctx.aztecNodeConfig,
|
|
91
91
|
dontStartSequencer: true
|
|
92
92
|
};
|
|
93
|
-
this.inactiveNodes = await createNodes(inactiveConfig, this.test.ctx.dateProvider, this.test.bootstrapNodeEnr, this.inactiveNodeCount, BOOT_NODE_UDP_PORT, this.test.
|
|
93
|
+
this.inactiveNodes = await createNodes(inactiveConfig, this.test.ctx.dateProvider, this.test.bootstrapNodeEnr, this.inactiveNodeCount, BOOT_NODE_UDP_PORT, this.test.genesis, this.dataDir, undefined, NUM_NODES - this.inactiveNodeCount);
|
|
94
94
|
this.nodes = [
|
|
95
95
|
...this.keepInitialNode ? [
|
|
96
96
|
this.test.ctx.aztecNodeService
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { InitialAccountData } from '@aztec/accounts/testing';
|
|
2
2
|
import type { AztecNodeService } from '@aztec/aztec-node';
|
|
3
3
|
import { AztecAddress } from '@aztec/aztec.js/addresses';
|
|
4
|
-
import {
|
|
4
|
+
import { RollupContract, type SlashingProposerContract } from '@aztec/ethereum/contracts';
|
|
5
5
|
import type { Operator } from '@aztec/ethereum/deploy-aztec-l1-contracts';
|
|
6
6
|
import { ChainMonitor } from '@aztec/ethereum/test';
|
|
7
7
|
import type { ViemClient } from '@aztec/ethereum/types';
|
|
@@ -9,9 +9,8 @@ import { type Logger } from '@aztec/foundation/log';
|
|
|
9
9
|
import { SlasherAbi } from '@aztec/l1-artifacts';
|
|
10
10
|
import { SpamContract } from '@aztec/noir-test-contracts.js/Spam';
|
|
11
11
|
import type { BootstrapNode } from '@aztec/p2p/bootstrap';
|
|
12
|
-
import { SlashFactoryContract } from '@aztec/stdlib/l1-contracts';
|
|
13
12
|
import { TopicType } from '@aztec/stdlib/p2p';
|
|
14
|
-
import type {
|
|
13
|
+
import type { GenesisData } from '@aztec/stdlib/world-state';
|
|
15
14
|
import { type GetContractReturnType } from 'viem';
|
|
16
15
|
import { type EndToEndContext, type SetupOptions } from '../fixtures/setup.js';
|
|
17
16
|
import type { TestWallet } from '../test-wallet/test_wallet.js';
|
|
@@ -261,7 +260,7 @@ export declare class P2PNetworkTest {
|
|
|
261
260
|
peerIdPrivateKeys: string[];
|
|
262
261
|
validators: Operator[];
|
|
263
262
|
deployedAccounts: InitialAccountData[];
|
|
264
|
-
|
|
263
|
+
genesis: GenesisData | undefined;
|
|
265
264
|
wallet?: TestWallet;
|
|
266
265
|
defaultAccountAddress?: AztecAddress;
|
|
267
266
|
spamContract?: SpamContract;
|
|
@@ -309,8 +308,7 @@ export declare class P2PNetworkTest {
|
|
|
309
308
|
getContracts(): Promise<{
|
|
310
309
|
rollup: RollupContract;
|
|
311
310
|
slasherContract: GetContractReturnType<typeof SlasherAbi, ViemClient>;
|
|
312
|
-
slashingProposer:
|
|
313
|
-
slashFactory: SlashFactoryContract;
|
|
311
|
+
slashingProposer: SlashingProposerContract | undefined;
|
|
314
312
|
}>;
|
|
315
313
|
}
|
|
316
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
314
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicDJwX25ldHdvcmsuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lMmVfcDJwL3AycF9uZXR3b3JrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbEUsT0FBTyxLQUFLLEVBQW1CLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDM0UsT0FBTyxFQUFFLFlBQVksRUFBYyxNQUFNLDJCQUEyQixDQUFDO0FBR3JFLE9BQU8sRUFBZSxjQUFjLEVBQUUsS0FBSyx3QkFBd0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3ZHLE9BQU8sS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBSTFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNwRCxPQUFPLEtBQUssRUFBNEIsVUFBVSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFHbEYsT0FBTyxFQUFFLEtBQUssTUFBTSxFQUFnQixNQUFNLHVCQUF1QixDQUFDO0FBRWxFLE9BQU8sRUFBYSxVQUFVLEVBQWdCLE1BQU0scUJBQXFCLENBQUM7QUFDMUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ2xFLE9BQU8sS0FBSyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRzFELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUU5QyxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUs3RCxPQUFPLEVBQUUsS0FBSyxxQkFBcUIsRUFBMkIsTUFBTSxNQUFNLENBQUM7QUFHM0UsT0FBTyxFQUNMLEtBQUssZUFBZSxFQUNwQixLQUFLLFlBQVksRUFNbEIsTUFBTSxzQkFBc0IsQ0FBQztBQU85QixPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0Is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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"p2p_network.d.ts","sourceRoot":"","sources":["../../src/e2e_p2p/p2p_network.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAmB,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAc,MAAM,2BAA2B,CAAC;AAGrE,OAAO,
|
|
1
|
+
{"version":3,"file":"p2p_network.d.ts","sourceRoot":"","sources":["../../src/e2e_p2p/p2p_network.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,8 +14,8 @@ import { RollupAbi, SlasherAbi, TestERC20Abi } from '@aztec/l1-artifacts';
|
|
|
14
14
|
import { SpamContract } from '@aztec/noir-test-contracts.js/Spam';
|
|
15
15
|
import { createBootstrapNodeFromPrivateKey, getBootstrapNodeEnr } from '@aztec/p2p/test-helpers';
|
|
16
16
|
import { tryStop } from '@aztec/stdlib/interfaces/server';
|
|
17
|
-
import { SlashFactoryContract } from '@aztec/stdlib/l1-contracts';
|
|
18
17
|
import { TopicType } from '@aztec/stdlib/p2p';
|
|
18
|
+
import { TxStatus } from '@aztec/stdlib/tx';
|
|
19
19
|
import { ZkPassportProofParams } from '@aztec/stdlib/zkpassport';
|
|
20
20
|
import { getGenesisValues } from '@aztec/world-state/testing';
|
|
21
21
|
import getPort from 'get-port';
|
|
@@ -51,7 +51,7 @@ export class P2PNetworkTest {
|
|
|
51
51
|
peerIdPrivateKeys;
|
|
52
52
|
validators;
|
|
53
53
|
deployedAccounts;
|
|
54
|
-
|
|
54
|
+
genesis;
|
|
55
55
|
// The re-execution test needs a wallet and a spam contract
|
|
56
56
|
wallet;
|
|
57
57
|
defaultAccountAddress;
|
|
@@ -73,7 +73,6 @@ export class P2PNetworkTest {
|
|
|
73
73
|
this.peerIdPrivateKeys = [];
|
|
74
74
|
this.validators = [];
|
|
75
75
|
this.deployedAccounts = [];
|
|
76
|
-
this.prefilledPublicData = [];
|
|
77
76
|
this.logger = createLogger(`e2e:e2e_p2p:${testName}`);
|
|
78
77
|
// Set up the base account and node private keys for the initial network deployment
|
|
79
78
|
this.baseAccountPrivateKey = `0x${getPrivateKeyFromIndex(1).toString('hex')}`;
|
|
@@ -89,7 +88,7 @@ export class P2PNetworkTest {
|
|
|
89
88
|
aztecSlotDuration: initialValidatorConfig.aztecSlotDuration ?? l1ContractsConfig.aztecSlotDuration,
|
|
90
89
|
aztecProofSubmissionEpochs: initialValidatorConfig.aztecProofSubmissionEpochs ?? l1ContractsConfig.aztecProofSubmissionEpochs,
|
|
91
90
|
slashingRoundSizeInEpochs: initialValidatorConfig.slashingRoundSizeInEpochs ?? l1ContractsConfig.slashingRoundSizeInEpochs,
|
|
92
|
-
|
|
91
|
+
slasherEnabled: initialValidatorConfig.slasherEnabled ?? true,
|
|
93
92
|
aztecTargetCommitteeSize: numberOfValidators,
|
|
94
93
|
metricsPort: metricsPort,
|
|
95
94
|
numberOfInitialFundedAccounts: 2,
|
|
@@ -100,7 +99,7 @@ export class P2PNetworkTest {
|
|
|
100
99
|
...initialValidatorConfig,
|
|
101
100
|
aztecEpochDuration: initialValidatorConfig.aztecEpochDuration ?? l1ContractsConfig.aztecEpochDuration,
|
|
102
101
|
slashingRoundSizeInEpochs: initialValidatorConfig.slashingRoundSizeInEpochs ?? l1ContractsConfig.slashingRoundSizeInEpochs,
|
|
103
|
-
|
|
102
|
+
slasherEnabled: initialValidatorConfig.slasherEnabled ?? true,
|
|
104
103
|
ethereumSlotDuration: initialValidatorConfig.ethereumSlotDuration ?? l1ContractsConfig.ethereumSlotDuration,
|
|
105
104
|
aztecSlotDuration: initialValidatorConfig.aztecSlotDuration ?? l1ContractsConfig.aztecSlotDuration,
|
|
106
105
|
aztecProofSubmissionEpochs: initialValidatorConfig.aztecProofSubmissionEpochs ?? l1ContractsConfig.aztecProofSubmissionEpochs,
|
|
@@ -207,7 +206,11 @@ export class P2PNetworkTest {
|
|
|
207
206
|
}
|
|
208
207
|
async setupAccount() {
|
|
209
208
|
this.logger.info('Setting up account');
|
|
210
|
-
const { deployedAccounts } = await deployAccounts(1, this.logger
|
|
209
|
+
const { deployedAccounts } = await deployAccounts(1, this.logger, {
|
|
210
|
+
wait: {
|
|
211
|
+
waitForStatus: TxStatus.CHECKPOINTED
|
|
212
|
+
}
|
|
213
|
+
})({
|
|
211
214
|
wallet: this.context.wallet,
|
|
212
215
|
initialFundedAccounts: this.context.initialFundedAccounts
|
|
213
216
|
});
|
|
@@ -250,7 +253,7 @@ export class P2PNetworkTest {
|
|
|
250
253
|
...this.setupOptions,
|
|
251
254
|
fundSponsoredFPC: true,
|
|
252
255
|
skipAccountDeployment: true,
|
|
253
|
-
|
|
256
|
+
slasherEnabled: this.setupOptions.slasherEnabled ?? this.deployL1ContractsArgs.slasherEnabled ?? false,
|
|
254
257
|
aztecTargetCommitteeSize: 0,
|
|
255
258
|
l1ContractsArgs: this.deployL1ContractsArgs
|
|
256
259
|
}, // Use checkpointed chain tip for PXE to avoid issues with blocks being dropped due to pruned anchor blocks.
|
|
@@ -263,8 +266,8 @@ export class P2PNetworkTest {
|
|
|
263
266
|
...this.context.initialFundedAccounts.map((a)=>a.address),
|
|
264
267
|
sponsoredFPCAddress
|
|
265
268
|
];
|
|
266
|
-
const {
|
|
267
|
-
this.
|
|
269
|
+
const { genesis } = await getGenesisValues(initialFundedAccounts, undefined, undefined, this.context.genesis.genesisTimestamp);
|
|
270
|
+
this.genesis = genesis;
|
|
268
271
|
const rollupContract = RollupContract.getFromL1ContractsValues(this.context.deployL1ContractsValues);
|
|
269
272
|
this.monitor = new ChainMonitor(rollupContract, this.context.dateProvider).start();
|
|
270
273
|
this.monitor.on('l1-block', ({ timestamp })=>this.context.dateProvider.setTime(Number(timestamp) * 1000));
|
|
@@ -333,14 +336,12 @@ export class P2PNetworkTest {
|
|
|
333
336
|
abi: SlasherAbi,
|
|
334
337
|
client: this.ctx.deployL1ContractsValues.l1Client
|
|
335
338
|
});
|
|
336
|
-
// Get the actual slashing proposer from rollup
|
|
339
|
+
// Get the actual slashing proposer from rollup
|
|
337
340
|
const slashingProposer = await rollup.getSlashingProposer();
|
|
338
|
-
const slashFactory = new SlashFactoryContract(this.ctx.deployL1ContractsValues.l1Client, getAddress(this.ctx.deployL1ContractsValues.l1ContractAddresses.slashFactoryAddress.toString()));
|
|
339
341
|
return {
|
|
340
342
|
rollup,
|
|
341
343
|
slasherContract,
|
|
342
|
-
slashingProposer
|
|
343
|
-
slashFactory
|
|
344
|
+
slashingProposer
|
|
344
345
|
};
|
|
345
346
|
}
|
|
346
347
|
}
|
|
@@ -72,7 +72,7 @@ export async function runReqrespTxTest(params) {
|
|
|
72
72
|
...t.ctx.aztecNodeConfig,
|
|
73
73
|
p2pDisableStatusHandshake: true
|
|
74
74
|
} : t.ctx.aztecNodeConfig;
|
|
75
|
-
const nodes = await createNodes(aztecNodeConfig, t.ctx.dateProvider, t.bootstrapNodeEnr, NUM_VALIDATORS, BOOT_NODE_UDP_PORT, t.
|
|
75
|
+
const nodes = await createNodes(aztecNodeConfig, t.ctx.dateProvider, t.bootstrapNodeEnr, NUM_VALIDATORS, BOOT_NODE_UDP_PORT, t.genesis, dataDir, shouldCollectMetrics());
|
|
76
76
|
t.logger.info('Waiting for nodes to connect');
|
|
77
77
|
await t.waitForP2PMeshConnectivity(nodes, NUM_VALIDATORS);
|
|
78
78
|
await t.setupAccount();
|
package/dest/e2e_p2p/shared.d.ts
CHANGED
|
@@ -5,19 +5,18 @@ import type { Logger } from '@aztec/aztec.js/log';
|
|
|
5
5
|
import { TxHash } from '@aztec/aztec.js/tx';
|
|
6
6
|
import type { RollupCheatCodes } from '@aztec/aztec/testing';
|
|
7
7
|
import type { EpochCacheInterface } from '@aztec/epoch-cache';
|
|
8
|
-
import type {
|
|
8
|
+
import type { RollupContract, SlashingProposerContract } from '@aztec/ethereum/contracts';
|
|
9
9
|
import { EpochNumber } from '@aztec/foundation/branded-types';
|
|
10
10
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
11
11
|
import type { SpamContract } from '@aztec/noir-test-contracts.js/Spam';
|
|
12
12
|
import type { AztecNodeAdmin } from '@aztec/stdlib/interfaces/client';
|
|
13
|
-
import type { SlashFactoryContract } from '@aztec/stdlib/l1-contracts';
|
|
14
13
|
import { type ProvenTx } from '../test-wallet/utils.js';
|
|
15
14
|
export declare const submitComplexTxsTo: (logger: Logger, from: AztecAddress, spamContract: SpamContract, numTxs: number, opts?: {
|
|
16
15
|
callPublic?: boolean | undefined;
|
|
17
16
|
}) => Promise<TxHash[]>;
|
|
18
17
|
export declare const submitTransactions: (logger: Logger, node: AztecNodeService, numTxs: number, fundedAccount: InitialAccountData) => Promise<TxHash[]>;
|
|
19
18
|
export declare function prepareTransactions(logger: Logger, node: AztecNodeService, numTxs: number, fundedAccount: InitialAccountData): Promise<ProvenTx[]>;
|
|
20
|
-
export declare function awaitProposalExecution(slashingProposer:
|
|
19
|
+
export declare function awaitProposalExecution(slashingProposer: SlashingProposerContract, timeoutSeconds: number, logger: Logger): Promise<bigint>;
|
|
21
20
|
export declare function awaitCommitteeExists({ rollup, logger }: {
|
|
22
21
|
rollup: RollupContract;
|
|
23
22
|
logger: Logger;
|
|
@@ -51,16 +50,15 @@ export declare function awaitOffenseDetected({ logger, nodeAdmin, slashingRoundS
|
|
|
51
50
|
* Await the committee to be slashed out of the validator set.
|
|
52
51
|
* Currently assumes that the committee is the same size as the validator set.
|
|
53
52
|
*/
|
|
54
|
-
export declare function awaitCommitteeKicked({ rollup, cheatCodes, committee,
|
|
53
|
+
export declare function awaitCommitteeKicked({ rollup, cheatCodes, committee, slashingProposer, slashingRoundSize, aztecSlotDuration, aztecEpochDuration, logger, offenseEpoch }: {
|
|
55
54
|
rollup: RollupContract;
|
|
56
55
|
cheatCodes: RollupCheatCodes;
|
|
57
56
|
committee: readonly `0x${string}`[];
|
|
58
|
-
|
|
59
|
-
slashingProposer: EmpireSlashingProposerContract | TallySlashingProposerContract | undefined;
|
|
57
|
+
slashingProposer: SlashingProposerContract | undefined;
|
|
60
58
|
slashingRoundSize: number;
|
|
61
59
|
aztecSlotDuration: number;
|
|
62
60
|
aztecEpochDuration: number;
|
|
63
61
|
logger: Logger;
|
|
64
62
|
offenseEpoch: number;
|
|
65
63
|
}): Promise<void>;
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZTJlX3AycC9zaGFyZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNsRSxPQUFPLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzFELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUd6RCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDNUMsT0FBTyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM3RCxPQUFPLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzlELE9BQU8sS0FBSyxFQUFFLGNBQWMsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzFGLE9BQU8sRUFBRSxXQUFXLEVBQWMsTUFBTSxpQ0FBaUMsQ0FBQztBQUUxRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFHM0QsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFJdkUsT0FBTyxLQUFLLEVBQUUsY0FBYyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFJdEUsT0FBTyxFQUFFLEtBQUssUUFBUSxFQUFvQixNQUFNLHlCQUF5QixDQUFDO0FBRzFFLGVBQU8sTUFBTSxrQkFBa0I7O3VCQWtCOUIsQ0FBQztBQUdGLGVBQU8sTUFBTSxrQkFBa0Isa0hBZTlCLENBQUM7QUFFRix3QkFBc0IsbUJBQW1CLENBQ3ZDLE1BQU0sRUFBRSxNQUFNLEVBQ2QsSUFBSSxFQUFFLGdCQUFnQixFQUN0QixNQUFNLEVBQUUsTUFBTSxFQUNkLGFBQWEsRUFBRSxrQkFBa0IsR0FDaEMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBd0JyQjtBQUVELHdCQUFnQixzQkFBc0IsQ0FDcEMsZ0JBQWdCLEVBQUUsd0JBQXdCLEVBQzFDLGNBQWMsRUFBRSxNQUFNLEVBQ3RCLE1BQU0sRUFBRSxNQUFNLEdBQ2IsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQWNqQjtBQUVELHdCQUFzQixvQkFBb0IsQ0FBQyxFQUN6QyxNQUFNLEVBQ04sTUFBTSxFQUNQLEVBQUU7SUFDRCxNQUFNLEVBQUUsY0FBYyxDQUFDO0lBQ3ZCLE1BQU0sRUFBRSxNQUFNLENBQUM7Q0FDaEIsR0FBRyxPQUFPLENBQUMsU0FBUyxLQUFLLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FhcEM7QUFFRDs7Ozs7OztHQU9HO0FBQ0gsd0JBQXNCLDRCQUE0QixDQUFDLEVBQ2pELFVBQVUsRUFDVixVQUFVLEVBQ1YsY0FBYyxFQUNkLE1BQU0sRUFDTixXQUFnQixFQUNqQixFQUFFO0lBQ0QsVUFBVSxFQUFFLG1CQUFtQixDQUFDO0lBQ2hDLFVBQVUsRUFBRSxnQkFBZ0IsQ0FBQztJQUM3QixjQUFjLEVBQUUsVUFBVSxDQUFDO0lBQzNCLE1BQU0sRUFBRSxNQUFNLENBQUM7SUFDZixXQUFXLENBQUMsRUFBRSxNQUFNLENBQUM7Q0FDdEIsR0FBRyxPQUFPLENBQUM7SUFBRSxXQUFXLEVBQUUsV0FBVyxDQUFBO0NBQUUsQ0FBQyxDQThCeEM7QUFFRCx3QkFBc0Isb0JBQW9CLENBQUMsRUFDekMsTUFBTSxFQUNOLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsYUFBYSxFQUNiLHFCQUFxQixFQUNyQixjQUFvQixFQUNyQixFQUFFO0lBQ0QsU0FBUyxFQUFFLGNBQWMsQ0FBQztJQUMxQixNQUFNLEVBQUUsTUFBTSxDQUFDO0lBQ2YsaUJBQWlCLEVBQUUsTUFBTSxDQUFDO0lBQzFCLGFBQWEsRUFBRSxNQUFNLENBQUM7SUFDdEIscUJBQXFCLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDL0IsY0FBYyxDQUFDLEVBQUUsTUFBTSxDQUFDO0NBQ3pCLCtDQWtCQTtBQUVEOzs7R0FHRztBQUNILHdCQUFzQixvQkFBb0IsQ0FBQyxFQUN6QyxNQUFNLEVBQ04sVUFBVSxFQUNWLFNBQVMsRUFDVCxnQkFBZ0IsRUFDaEIsaUJBQWlCLEVBQ2pCLGlCQUFpQixFQUNqQixrQkFBa0IsRUFDbEIsTUFBTSxFQUNOLFlBQVksRUFDYixFQUFFO0lBQ0QsTUFBTSxFQUFFLGNBQWMsQ0FBQztJQUN2QixVQUFVLEVBQUUsZ0JBQWdCLENBQUM7SUFDN0IsU0FBUyxFQUFFLFNBQVMsS0FBSyxNQUFNLEVBQUUsRUFBRSxDQUFDO0lBQ3BDLGdCQUFnQixFQUFFLHdCQUF3QixHQUFHLFNBQVMsQ0FBQztJQUN2RCxpQkFBaUIsRUFBRSxNQUFNLENBQUM7SUFDMUIsaUJBQWlCLEVBQUUsTUFBTSxDQUFDO0lBQzFCLGtCQUFrQixFQUFFLE1BQU0sQ0FBQztJQUMzQixNQUFNLEVBQUUsTUFBTSxDQUFDO0lBQ2YsWUFBWSxFQUFFLE1BQU0sQ0FBQztDQUN0QixpQkF1REEifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/e2e_p2p/shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAGzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/e2e_p2p/shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAGzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAC1F,OAAO,EAAE,WAAW,EAAc,MAAM,iCAAiC,CAAC;AAE1E,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAG3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAIvE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAItE,OAAO,EAAE,KAAK,QAAQ,EAAoB,MAAM,yBAAyB,CAAC;AAG1E,eAAO,MAAM,kBAAkB;;uBAkB9B,CAAC;AAGF,eAAO,MAAM,kBAAkB,kHAe9B,CAAC;AAEF,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,gBAAgB,EACtB,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,kBAAkB,GAChC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAwBrB;AAED,wBAAgB,sBAAsB,CACpC,gBAAgB,EAAE,wBAAwB,EAC1C,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,CAAC,CAcjB;AAED,wBAAsB,oBAAoB,CAAC,EACzC,MAAM,EACN,MAAM,EACP,EAAE;IACD,MAAM,EAAE,cAAc,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;CAChB,GAAG,OAAO,CAAC,SAAS,KAAK,MAAM,EAAE,EAAE,CAAC,CAapC;AAED;;;;;;;GAOG;AACH,wBAAsB,4BAA4B,CAAC,EACjD,UAAU,EACV,UAAU,EACV,cAAc,EACd,MAAM,EACN,WAAgB,EACjB,EAAE;IACD,UAAU,EAAE,mBAAmB,CAAC;IAChC,UAAU,EAAE,gBAAgB,CAAC;IAC7B,cAAc,EAAE,UAAU,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GAAG,OAAO,CAAC;IAAE,WAAW,EAAE,WAAW,CAAA;CAAE,CAAC,CA8BxC;AAED,wBAAsB,oBAAoB,CAAC,EACzC,MAAM,EACN,SAAS,EACT,iBAAiB,EACjB,aAAa,EACb,qBAAqB,EACrB,cAAoB,EACrB,EAAE;IACD,SAAS,EAAE,cAAc,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,+CAkBA;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CAAC,EACzC,MAAM,EACN,UAAU,EACV,SAAS,EACT,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,MAAM,EACN,YAAY,EACb,EAAE;IACD,MAAM,EAAE,cAAc,CAAC;IACvB,UAAU,EAAE,gBAAgB,CAAC;IAC7B,SAAS,EAAE,SAAS,KAAK,MAAM,EAAE,EAAE,CAAC;IACpC,gBAAgB,EAAE,wBAAwB,GAAG,SAAS,CAAC;IACvD,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;CACtB,iBAuDA"}
|
package/dest/e2e_p2p/shared.js
CHANGED
|
@@ -68,24 +68,12 @@ export function awaitProposalExecution(slashingProposer, timeoutSeconds, logger)
|
|
|
68
68
|
logger.warn(`Timed out waiting for proposal execution`);
|
|
69
69
|
reject(new Error(`Timeout waiting for proposal execution after ${timeoutSeconds}s`));
|
|
70
70
|
}, timeoutSeconds * 1000);
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
logger.warn(`Proposal ${args.payload} from round ${args.round} executed`);
|
|
74
|
-
clearTimeout(timeout);
|
|
75
|
-
unwatch();
|
|
76
|
-
resolve(args.round);
|
|
77
|
-
});
|
|
78
|
-
} else if (slashingProposer.type === 'tally') {
|
|
79
|
-
const unwatch = slashingProposer.listenToRoundExecuted((args)=>{
|
|
80
|
-
logger.warn(`Slash from round ${args.round} executed`);
|
|
81
|
-
clearTimeout(timeout);
|
|
82
|
-
unwatch();
|
|
83
|
-
resolve(args.round);
|
|
84
|
-
});
|
|
85
|
-
} else {
|
|
71
|
+
const unwatch = slashingProposer.listenToRoundExecuted((args)=>{
|
|
72
|
+
logger.warn(`Slash from round ${args.round} executed`);
|
|
86
73
|
clearTimeout(timeout);
|
|
87
|
-
|
|
88
|
-
|
|
74
|
+
unwatch();
|
|
75
|
+
resolve(args.round);
|
|
76
|
+
});
|
|
89
77
|
});
|
|
90
78
|
}
|
|
91
79
|
export async function awaitCommitteeExists({ rollup, logger }) {
|
|
@@ -151,35 +139,21 @@ export async function awaitOffenseDetected({ logger, nodeAdmin, slashingRoundSiz
|
|
|
151
139
|
/**
|
|
152
140
|
* Await the committee to be slashed out of the validator set.
|
|
153
141
|
* Currently assumes that the committee is the same size as the validator set.
|
|
154
|
-
*/ export async function awaitCommitteeKicked({ rollup, cheatCodes, committee,
|
|
142
|
+
*/ export async function awaitCommitteeKicked({ rollup, cheatCodes, committee, slashingProposer, slashingRoundSize, aztecSlotDuration, aztecEpochDuration, logger, offenseEpoch }) {
|
|
155
143
|
if (!slashingProposer) {
|
|
156
144
|
throw new Error('No slashing proposer configured. Cannot test slashing.');
|
|
157
145
|
}
|
|
158
146
|
await cheatCodes.debugRollup();
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
// The uniqueness check is needed since a validator may be slashed more than once on the same round (eg because they let two epochs be pruned)
|
|
170
|
-
expect(unique(slashPayloadEvents[0].slashes.map((slash)=>slash.validator.toString()))).toHaveLength(committee.length);
|
|
171
|
-
} else {
|
|
172
|
-
// Use the slash offset to ensure we are in the right epoch for tally
|
|
173
|
-
const slashOffsetInRounds = await slashingProposer.getSlashOffsetInRounds();
|
|
174
|
-
const slashingRoundSizeInEpochs = slashingRoundSize / aztecEpochDuration;
|
|
175
|
-
const slashingOffsetInEpochs = Number(slashOffsetInRounds) * slashingRoundSizeInEpochs;
|
|
176
|
-
const firstEpochInOffenseRound = offenseEpoch - offenseEpoch % slashingRoundSizeInEpochs;
|
|
177
|
-
const targetEpoch = firstEpochInOffenseRound + slashingOffsetInEpochs;
|
|
178
|
-
logger.info(`Advancing to epoch ${targetEpoch} so we start slashing`);
|
|
179
|
-
await cheatCodes.advanceToEpoch(EpochNumber(targetEpoch), {
|
|
180
|
-
offset: -aztecSlotDuration / 2
|
|
181
|
-
});
|
|
182
|
-
}
|
|
147
|
+
// Use the slash offset to ensure we are in the right epoch for tally
|
|
148
|
+
const slashOffsetInRounds = await slashingProposer.getSlashOffsetInRounds();
|
|
149
|
+
const slashingRoundSizeInEpochs = slashingRoundSize / aztecEpochDuration;
|
|
150
|
+
const slashingOffsetInEpochs = Number(slashOffsetInRounds) * slashingRoundSizeInEpochs;
|
|
151
|
+
const firstEpochInOffenseRound = offenseEpoch - offenseEpoch % slashingRoundSizeInEpochs;
|
|
152
|
+
const targetEpoch = firstEpochInOffenseRound + slashingOffsetInEpochs;
|
|
153
|
+
logger.info(`Advancing to epoch ${targetEpoch} so we start slashing`);
|
|
154
|
+
await cheatCodes.advanceToEpoch(EpochNumber(targetEpoch), {
|
|
155
|
+
offset: -aztecSlotDuration / 2
|
|
156
|
+
});
|
|
183
157
|
const attestersPre = await rollup.getAttesters();
|
|
184
158
|
expect(attestersPre.length).toBe(committee.length);
|
|
185
159
|
for (const attester of attestersPre){
|
|
@@ -12,4 +12,4 @@ export declare function sendThroughAuthwitProxy(proxy: GenericProxyContract, act
|
|
|
12
12
|
* while the actual tx sender retains their keys in scope.
|
|
13
13
|
*/
|
|
14
14
|
export declare function simulateThroughAuthwitProxy(proxy: GenericProxyContract, action: ContractFunctionInteraction, options: SimulateInteractionOptions): Promise<import("@aztec/aztec.js/contracts").SimulationResult>;
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aHdpdF9wcm94eS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ZpeHR1cmVzL2F1dGh3aXRfcHJveHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQ1YsMkJBQTJCLEVBQzNCLHNCQUFzQixFQUN0QiwwQkFBMEIsRUFDM0IsTUFBTSwyQkFBMkIsQ0FBQztBQUNuQyxPQUFPLEtBQUssRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBc0J2Rjs7OztHQUlHO0FBQ0gsd0JBQXNCLHVCQUF1QixDQUMzQyxLQUFLLEVBQUUsb0JBQW9CLEVBQzNCLE1BQU0sRUFBRSwyQkFBMkIsRUFDbkMsT0FBTyxFQUFFLHNCQUFzQix3R0FJaEM7QUFFRDs7OztHQUlHO0FBQ0gsd0JBQXNCLDJCQUEyQixDQUMvQyxLQUFLLEVBQUUsb0JBQW9CLEVBQzNCLE1BQU0sRUFBRSwyQkFBMkIsRUFDbkMsT0FBTyxFQUFFLDBCQUEwQixpRUFJcEMifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authwit_proxy.d.ts","sourceRoot":"","sources":["../../src/fixtures/authwit_proxy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,2BAA2B,EAC3B,sBAAsB,EACtB,0BAA0B,EAC3B,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;
|
|
1
|
+
{"version":3,"file":"authwit_proxy.d.ts","sourceRoot":"","sources":["../../src/fixtures/authwit_proxy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,2BAA2B,EAC3B,sBAAsB,EACtB,0BAA0B,EAC3B,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4CAA4C,CAAC;AAsBvF;;;;GAIG;AACH,wBAAsB,uBAAuB,CAC3C,KAAK,EAAE,oBAAoB,EAC3B,MAAM,EAAE,2BAA2B,EACnC,OAAO,EAAE,sBAAsB,wGAIhC;AAED;;;;GAIG;AACH,wBAAsB,2BAA2B,CAC/C,KAAK,EAAE,oBAAoB,EAC3B,MAAM,EAAE,2BAA2B,EACnC,OAAO,EAAE,0BAA0B,iEAIpC"}
|