@aztec/end-to-end 0.0.1-commit.ef17749e1 → 0.0.1-commit.f103f88
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 +13 -28
- 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.d.ts +3 -1
- package/dest/e2e_epochs/epochs_test.d.ts.map +1 -1
- package/dest/e2e_epochs/epochs_test.js +8 -5
- 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.d.ts +1 -1
- package/dest/e2e_p2p/reqresp/utils.d.ts.map +1 -1
- package/dest/e2e_p2p/reqresp/utils.js +16 -3
- package/dest/e2e_p2p/shared.d.ts +16 -12
- package/dest/e2e_p2p/shared.d.ts.map +1 -1
- package/dest/e2e_p2p/shared.js +33 -51
- 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 +4 -3
- package/dest/fixtures/e2e_prover_test.d.ts.map +1 -1
- package/dest/fixtures/e2e_prover_test.js +7 -12
- package/dest/fixtures/get_bb_config.d.ts +1 -1
- package/dest/fixtures/get_bb_config.d.ts.map +1 -1
- package/dest/fixtures/get_bb_config.js +5 -5
- package/dest/fixtures/setup.d.ts +16 -8
- package/dest/fixtures/setup.d.ts.map +1 -1
- package/dest/fixtures/setup.js +24 -18
- 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/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 +9 -12
- package/dest/simulators/lending_simulator.d.ts +1 -1
- package/dest/simulators/lending_simulator.d.ts.map +1 -1
- package/dest/simulators/lending_simulator.js +2 -2
- package/dest/simulators/token_simulator.js +1 -1
- package/dest/spartan/setup_test_wallets.d.ts +4 -2
- package/dest/spartan/setup_test_wallets.d.ts.map +1 -1
- package/dest/spartan/setup_test_wallets.js +69 -39
- package/dest/spartan/utils/config.d.ts +4 -1
- package/dest/spartan/utils/config.d.ts.map +1 -1
- package/dest/spartan/utils/config.js +1 -0
- package/dest/spartan/utils/index.d.ts +2 -1
- package/dest/spartan/utils/index.d.ts.map +1 -1
- package/dest/spartan/utils/index.js +2 -0
- package/dest/spartan/utils/pod_logs.d.ts +25 -0
- package/dest/spartan/utils/pod_logs.d.ts.map +1 -0
- package/dest/spartan/utils/pod_logs.js +74 -0
- package/dest/test-wallet/test_wallet.d.ts +24 -23
- package/dest/test-wallet/test_wallet.d.ts.map +1 -1
- package/dest/test-wallet/test_wallet.js +115 -80
- 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 +9 -4
- package/dest/test-wallet/worker_wallet_schema.d.ts.map +1 -1
- package/package.json +40 -40
- package/src/bench/client_flows/client_flows_benchmark.ts +31 -22
- package/src/e2e_blacklist_token_contract/blacklist_token_contract_test.ts +3 -6
- package/src/e2e_epochs/epochs_test.ts +17 -5
- 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 +24 -3
- package/src/e2e_p2p/shared.ts +36 -67
- package/src/fixtures/authwit_proxy.ts +4 -0
- package/src/fixtures/e2e_prover_test.ts +12 -17
- package/src/fixtures/get_bb_config.ts +7 -6
- package/src/fixtures/setup.ts +38 -25
- 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/shared/uniswap_l1_l2.ts +29 -24
- package/src/simulators/lending_simulator.ts +4 -2
- package/src/simulators/token_simulator.ts +1 -1
- package/src/spartan/setup_test_wallets.ts +96 -34
- package/src/spartan/utils/config.ts +1 -0
- package/src/spartan/utils/index.ts +3 -0
- package/src/spartan/utils/pod_logs.ts +99 -0
- package/src/test-wallet/test_wallet.ts +144 -99
- package/src/test-wallet/worker_wallet.ts +3 -2
package/dest/e2e_p2p/shared.d.ts
CHANGED
|
@@ -5,34 +5,39 @@ 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
|
+
import { EpochNumber } from '@aztec/foundation/branded-types';
|
|
9
10
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
10
11
|
import type { SpamContract } from '@aztec/noir-test-contracts.js/Spam';
|
|
11
12
|
import type { AztecNodeAdmin } from '@aztec/stdlib/interfaces/client';
|
|
12
|
-
import type { SlashFactoryContract } from '@aztec/stdlib/l1-contracts';
|
|
13
13
|
import { type ProvenTx } from '../test-wallet/utils.js';
|
|
14
14
|
export declare const submitComplexTxsTo: (logger: Logger, from: AztecAddress, spamContract: SpamContract, numTxs: number, opts?: {
|
|
15
15
|
callPublic?: boolean | undefined;
|
|
16
16
|
}) => Promise<TxHash[]>;
|
|
17
17
|
export declare const submitTransactions: (logger: Logger, node: AztecNodeService, numTxs: number, fundedAccount: InitialAccountData) => Promise<TxHash[]>;
|
|
18
18
|
export declare function prepareTransactions(logger: Logger, node: AztecNodeService, numTxs: number, fundedAccount: InitialAccountData): Promise<ProvenTx[]>;
|
|
19
|
-
export declare function awaitProposalExecution(slashingProposer:
|
|
19
|
+
export declare function awaitProposalExecution(slashingProposer: SlashingProposerContract, timeoutSeconds: number, logger: Logger): Promise<bigint>;
|
|
20
20
|
export declare function awaitCommitteeExists({ rollup, logger }: {
|
|
21
21
|
rollup: RollupContract;
|
|
22
22
|
logger: Logger;
|
|
23
23
|
}): Promise<readonly `0x${string}`[]>;
|
|
24
24
|
/**
|
|
25
|
-
* Advance epochs until we find one where the target proposer is selected for at least one slot
|
|
26
|
-
*
|
|
27
|
-
*
|
|
25
|
+
* Advance epochs until we find one where the target proposer is selected for at least one slot,
|
|
26
|
+
* then stop one epoch before it. This leaves time for the caller to start sequencers before
|
|
27
|
+
* warping to the target epoch, avoiding the race where the target epoch passes before sequencers
|
|
28
|
+
* are ready.
|
|
29
|
+
*
|
|
30
|
+
* Returns the target epoch number so the caller can warp to it after starting sequencers.
|
|
28
31
|
*/
|
|
29
|
-
export declare function
|
|
32
|
+
export declare function advanceToEpochBeforeProposer({ epochCache, cheatCodes, targetProposer, logger, maxAttempts }: {
|
|
30
33
|
epochCache: EpochCacheInterface;
|
|
31
34
|
cheatCodes: RollupCheatCodes;
|
|
32
35
|
targetProposer: EthAddress;
|
|
33
36
|
logger: Logger;
|
|
34
37
|
maxAttempts?: number;
|
|
35
|
-
}): Promise<
|
|
38
|
+
}): Promise<{
|
|
39
|
+
targetEpoch: EpochNumber;
|
|
40
|
+
}>;
|
|
36
41
|
export declare function awaitOffenseDetected({ logger, nodeAdmin, slashingRoundSize, epochDuration, waitUntilOffenseCount, timeoutSeconds }: {
|
|
37
42
|
nodeAdmin: AztecNodeAdmin;
|
|
38
43
|
logger: Logger;
|
|
@@ -45,16 +50,15 @@ export declare function awaitOffenseDetected({ logger, nodeAdmin, slashingRoundS
|
|
|
45
50
|
* Await the committee to be slashed out of the validator set.
|
|
46
51
|
* Currently assumes that the committee is the same size as the validator set.
|
|
47
52
|
*/
|
|
48
|
-
export declare function awaitCommitteeKicked({ rollup, cheatCodes, committee,
|
|
53
|
+
export declare function awaitCommitteeKicked({ rollup, cheatCodes, committee, slashingProposer, slashingRoundSize, aztecSlotDuration, aztecEpochDuration, logger, offenseEpoch }: {
|
|
49
54
|
rollup: RollupContract;
|
|
50
55
|
cheatCodes: RollupCheatCodes;
|
|
51
56
|
committee: readonly `0x${string}`[];
|
|
52
|
-
|
|
53
|
-
slashingProposer: EmpireSlashingProposerContract | TallySlashingProposerContract | undefined;
|
|
57
|
+
slashingProposer: SlashingProposerContract | undefined;
|
|
54
58
|
slashingRoundSize: number;
|
|
55
59
|
aztecSlotDuration: number;
|
|
56
60
|
aztecEpochDuration: number;
|
|
57
61
|
logger: Logger;
|
|
58
62
|
offenseEpoch: number;
|
|
59
63
|
}): Promise<void>;
|
|
60
|
-
//# 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":"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"}
|
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 }) {
|
|
@@ -101,24 +89,32 @@ export async function awaitCommitteeExists({ rollup, logger }) {
|
|
|
101
89
|
return committee.map((c)=>c.toString());
|
|
102
90
|
}
|
|
103
91
|
/**
|
|
104
|
-
* Advance epochs until we find one where the target proposer is selected for at least one slot
|
|
105
|
-
*
|
|
106
|
-
*
|
|
107
|
-
|
|
92
|
+
* Advance epochs until we find one where the target proposer is selected for at least one slot,
|
|
93
|
+
* then stop one epoch before it. This leaves time for the caller to start sequencers before
|
|
94
|
+
* warping to the target epoch, avoiding the race where the target epoch passes before sequencers
|
|
95
|
+
* are ready.
|
|
96
|
+
*
|
|
97
|
+
* Returns the target epoch number so the caller can warp to it after starting sequencers.
|
|
98
|
+
*/ export async function advanceToEpochBeforeProposer({ epochCache, cheatCodes, targetProposer, logger, maxAttempts = 20 }) {
|
|
108
99
|
const { epochDuration } = await cheatCodes.getConfig();
|
|
109
100
|
for(let attempt = 0; attempt < maxAttempts; attempt++){
|
|
110
101
|
const currentEpoch = await cheatCodes.getEpoch();
|
|
111
|
-
|
|
102
|
+
// Check the NEXT epoch's slots so we stay one epoch before the target,
|
|
103
|
+
// giving the caller time to start sequencers before the target epoch arrives.
|
|
104
|
+
const nextEpoch = Number(currentEpoch) + 1;
|
|
105
|
+
const startSlot = nextEpoch * Number(epochDuration);
|
|
112
106
|
const endSlot = startSlot + Number(epochDuration);
|
|
113
|
-
logger.info(`Checking epoch ${
|
|
107
|
+
logger.info(`Checking next epoch ${nextEpoch} (slots ${startSlot}-${endSlot - 1}) for proposer ${targetProposer} (current epoch: ${currentEpoch})`);
|
|
114
108
|
for(let s = startSlot; s < endSlot; s++){
|
|
115
109
|
const proposer = await epochCache.getProposerAttesterAddressInSlot(SlotNumber(s));
|
|
116
110
|
if (proposer && proposer.equals(targetProposer)) {
|
|
117
|
-
logger.warn(`Found target proposer ${targetProposer} in slot ${s} of epoch ${currentEpoch}
|
|
118
|
-
return
|
|
111
|
+
logger.warn(`Found target proposer ${targetProposer} in slot ${s} of epoch ${nextEpoch}. Staying at epoch ${currentEpoch} to allow sequencer startup.`);
|
|
112
|
+
return {
|
|
113
|
+
targetEpoch: EpochNumber(nextEpoch)
|
|
114
|
+
};
|
|
119
115
|
}
|
|
120
116
|
}
|
|
121
|
-
logger.info(`Target proposer not found in epoch ${
|
|
117
|
+
logger.info(`Target proposer not found in epoch ${nextEpoch}, advancing to next epoch`);
|
|
122
118
|
await cheatCodes.advanceToNextEpoch();
|
|
123
119
|
}
|
|
124
120
|
throw new Error(`Target proposer ${targetProposer} not found in any slot after ${maxAttempts} epoch attempts`);
|
|
@@ -143,35 +139,21 @@ export async function awaitOffenseDetected({ logger, nodeAdmin, slashingRoundSiz
|
|
|
143
139
|
/**
|
|
144
140
|
* Await the committee to be slashed out of the validator set.
|
|
145
141
|
* Currently assumes that the committee is the same size as the validator set.
|
|
146
|
-
*/ export async function awaitCommitteeKicked({ rollup, cheatCodes, committee,
|
|
142
|
+
*/ export async function awaitCommitteeKicked({ rollup, cheatCodes, committee, slashingProposer, slashingRoundSize, aztecSlotDuration, aztecEpochDuration, logger, offenseEpoch }) {
|
|
147
143
|
if (!slashingProposer) {
|
|
148
144
|
throw new Error('No slashing proposer configured. Cannot test slashing.');
|
|
149
145
|
}
|
|
150
146
|
await cheatCodes.debugRollup();
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
// 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)
|
|
162
|
-
expect(unique(slashPayloadEvents[0].slashes.map((slash)=>slash.validator.toString()))).toHaveLength(committee.length);
|
|
163
|
-
} else {
|
|
164
|
-
// Use the slash offset to ensure we are in the right epoch for tally
|
|
165
|
-
const slashOffsetInRounds = await slashingProposer.getSlashOffsetInRounds();
|
|
166
|
-
const slashingRoundSizeInEpochs = slashingRoundSize / aztecEpochDuration;
|
|
167
|
-
const slashingOffsetInEpochs = Number(slashOffsetInRounds) * slashingRoundSizeInEpochs;
|
|
168
|
-
const firstEpochInOffenseRound = offenseEpoch - offenseEpoch % slashingRoundSizeInEpochs;
|
|
169
|
-
const targetEpoch = firstEpochInOffenseRound + slashingOffsetInEpochs;
|
|
170
|
-
logger.info(`Advancing to epoch ${targetEpoch} so we start slashing`);
|
|
171
|
-
await cheatCodes.advanceToEpoch(EpochNumber(targetEpoch), {
|
|
172
|
-
offset: -aztecSlotDuration / 2
|
|
173
|
-
});
|
|
174
|
-
}
|
|
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
|
+
});
|
|
175
157
|
const attestersPre = await rollup.getAttesters();
|
|
176
158
|
expect(attestersPre.length).toBe(committee.length);
|
|
177
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"}
|
|
@@ -9,6 +9,10 @@
|
|
|
9
9
|
return proxy.methods.forward_private_3(call.to, call.selector, call.args);
|
|
10
10
|
} else if (argCount === 4) {
|
|
11
11
|
return proxy.methods.forward_private_4(call.to, call.selector, call.args);
|
|
12
|
+
} else if (argCount === 5) {
|
|
13
|
+
return proxy.methods.forward_private_5(call.to, call.selector, call.args);
|
|
14
|
+
} else if (argCount === 6) {
|
|
15
|
+
return proxy.methods.forward_private_6(call.to, call.selector, call.args);
|
|
12
16
|
}
|
|
13
17
|
throw new Error(`No forward_private_${argCount} method on proxy`);
|
|
14
18
|
}
|
|
@@ -3,7 +3,7 @@ import { AztecAddress, EthAddress } from '@aztec/aztec.js/addresses';
|
|
|
3
3
|
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
|
-
import {
|
|
6
|
+
import type { ClientProtocolCircuitVerifier } from '@aztec/bb-prover';
|
|
7
7
|
import type { DeployAztecL1ContractsReturnType } from '@aztec/ethereum/deploy-aztec-l1-contracts';
|
|
8
8
|
import { TokenContract } from '@aztec/noir-contracts.js/Token';
|
|
9
9
|
import type { ContractInstanceWithAddress } from '@aztec/stdlib/contract';
|
|
@@ -35,7 +35,8 @@ export declare class FullProverTest {
|
|
|
35
35
|
private provenComponents;
|
|
36
36
|
private bbConfigCleanup?;
|
|
37
37
|
private acvmConfigCleanup?;
|
|
38
|
-
|
|
38
|
+
/** Returns the proof verifier from the prover node (for test assertions). */
|
|
39
|
+
get circuitProofVerifier(): ClientProtocolCircuitVerifier | undefined;
|
|
39
40
|
provenAsset: TokenContract;
|
|
40
41
|
context: EndToEndContext;
|
|
41
42
|
private proverAztecNode;
|
|
@@ -52,4 +53,4 @@ export declare class FullProverTest {
|
|
|
52
53
|
teardown(): Promise<void>;
|
|
53
54
|
private applyMint;
|
|
54
55
|
}
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZTJlX3Byb3Zlcl90ZXN0LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZml4dHVyZXMvZTJlX3Byb3Zlcl90ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsS0FBSyxNQUFNLEVBQWdCLE1BQU0scUJBQXFCLENBQUM7QUFDaEUsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sS0FBSyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFdEUsT0FBTyxLQUFLLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUlsRyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDL0QsT0FBTyxLQUFLLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMxRSxPQUFPLEtBQUssRUFBRSxjQUFjLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQU10RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRzNELE9BQU8sRUFDTCxLQUFLLGVBQWUsRUFRckIsTUFBTSxZQUFZLENBQUM7QUFPcEI7Ozs7O0dBS0c7QUFFSCxxQkFBYSxjQUFjO0lBQ3pCLE1BQU0sQ0FBQyxVQUFVLFNBQVU7SUFDM0IsTUFBTSxDQUFDLFlBQVksU0FBUztJQUM1QixNQUFNLENBQUMsY0FBYyxTQUFPO0lBQzVCLE1BQU0sRUFBRSxNQUFNLENBQUM7SUFDZixNQUFNLEVBQUcsVUFBVSxDQUFDO0lBQ3BCLFlBQVksRUFBRyxVQUFVLENBQUM7SUFDMUIsUUFBUSxFQUFFLFlBQVksRUFBRSxDQUFNO0lBQzlCLGdCQUFnQixFQUFHLGtCQUFrQixFQUFFLENBQUM7SUFDeEMsZUFBZSxFQUFHLGFBQWEsQ0FBQztJQUNoQyx1QkFBdUIsRUFBRywyQkFBMkIsQ0FBQztJQUN0RCxRQUFRLEVBQUcsY0FBYyxDQUFDO0lBQzFCLFNBQVMsRUFBRyxTQUFTLENBQUM7SUFDdEIsY0FBYyxFQUFHLGNBQWMsQ0FBQztJQUNoQyxVQUFVLEVBQUcsVUFBVSxDQUFDO0lBQ3hCLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBcUI7SUFDN0MsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFzQjtJQUM5QyxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBc0I7SUFDaEQsNkVBQTZFO0lBQzdFLElBQUksb0JBQW9CLElBQUksNkJBQTZCLEdBQUcsU0FBUyxDQUVwRTtJQUNELFdBQVcsRUFBRyxhQUFhLENBQUM7SUFDNUIsT0FBTyxFQUFHLGVBQWUsQ0FBQztJQUMxQixPQUFPLENBQUMsZUFBZSxDQUFvQjtJQUMzQyxPQUFPLENBQUMsd0JBQXdCLENBQW9CO0lBQzdDLFdBQVcsRUFBRyxnQ0FBZ0MsQ0FBQztJQUMvQyxhQUFhLEVBQUcsVUFBVSxDQUFDO0lBQ2xDLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBUztJQUN2QyxPQUFPLENBQUMsUUFBUSxDQUFhO0lBQzdCLE9BQU8sQ0FBQyxVQUFVLENBQVU7SUFFNUIsWUFBWSxRQUFRLEVBQUUsTUFBTSxFQUFFLHNCQUFzQixFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLFVBQVUsVUFBTyxFQUtwRztZQUthLGNBQWM7SUFxQ3RCLEtBQUssa0JBdUlWO1lBRWEsWUFBWTtJQVNwQixRQUFRLGtCQWNiO1lBRWEsU0FBUztDQXNDeEIifQ==
|
|
@@ -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,
|
|
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,KAAK,EAAE,6BAA6B,EAAE,MAAM,kBAAkB,CAAC;AAEtE,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,2CAA2C,CAAC;AAIlG,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAMtE,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAG3D,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,6EAA6E;IAC7E,IAAI,oBAAoB,IAAI,6BAA6B,GAAG,SAAS,CAEpE;IACD,WAAW,EAAG,aAAa,CAAC;IAC5B,OAAO,EAAG,eAAe,CAAC;IAC1B,OAAO,CAAC,eAAe,CAAoB;IAC3C,OAAO,CAAC,wBAAwB,CAAoB;IAC7C,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,kBAuIV;YAEa,YAAY;IASpB,QAAQ,kBAcb;YAEa,SAAS;CAsCxB"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { AztecNodeService } from '@aztec/aztec-node';
|
|
2
2
|
import { EthAddress } from '@aztec/aztec.js/addresses';
|
|
3
3
|
import { createLogger } from '@aztec/aztec.js/log';
|
|
4
|
-
import { BBCircuitVerifier, QueuedIVCVerifier, TestCircuitVerifier } from '@aztec/bb-prover';
|
|
5
4
|
import { BackendType, Barretenberg } from '@aztec/bb.js';
|
|
6
5
|
import { Buffer32 } from '@aztec/foundation/buffer';
|
|
7
6
|
import { SecretValue } from '@aztec/foundation/config';
|
|
@@ -37,7 +36,9 @@ import { deployAccounts, getPrivateKeyFromIndex, getSponsoredFPCAddress, publicD
|
|
|
37
36
|
provenComponents = [];
|
|
38
37
|
bbConfigCleanup;
|
|
39
38
|
acvmConfigCleanup;
|
|
40
|
-
circuitProofVerifier
|
|
39
|
+
/** Returns the proof verifier from the prover node (for test assertions). */ get circuitProofVerifier() {
|
|
40
|
+
return this.proverAztecNode?.getProofVerifier();
|
|
41
|
+
}
|
|
41
42
|
provenAsset;
|
|
42
43
|
context;
|
|
43
44
|
proverAztecNode;
|
|
@@ -67,11 +68,8 @@ import { deployAccounts, getPrivateKeyFromIndex, getSponsoredFPCAddress, publicD
|
|
|
67
68
|
this.logger.info('Applying base setup: publicly deploying accounts');
|
|
68
69
|
await publicDeployAccounts(this.wallet, this.accounts.slice(0, 2));
|
|
69
70
|
this.logger.info('Applying base setup: deploying token contract');
|
|
70
|
-
const {
|
|
71
|
-
from: this.accounts[0]
|
|
72
|
-
wait: {
|
|
73
|
-
returnReceipt: true
|
|
74
|
-
}
|
|
71
|
+
const { contract: asset, instance } = await TokenContract.deploy(this.wallet, this.accounts[0], FullProverTest.TOKEN_NAME, FullProverTest.TOKEN_SYMBOL, FullProverTest.TOKEN_DECIMALS).send({
|
|
72
|
+
from: this.accounts[0]
|
|
75
73
|
});
|
|
76
74
|
this.logger.verbose(`Token deployed to ${asset.address}`);
|
|
77
75
|
this.fakeProofsAsset = asset;
|
|
@@ -120,8 +118,6 @@ import { deployAccounts, getPrivateKeyFromIndex, getSponsoredFPCAddress, publicD
|
|
|
120
118
|
await Barretenberg.initSingleton({
|
|
121
119
|
backend: BackendType.NativeUnixSocket
|
|
122
120
|
});
|
|
123
|
-
const verifier = await BBCircuitVerifier.new(bbConfig);
|
|
124
|
-
this.circuitProofVerifier = new QueuedIVCVerifier(bbConfig, verifier);
|
|
125
121
|
this.logger.debug(`Configuring the node for real proofs...`);
|
|
126
122
|
await this.aztecNodeAdmin.setConfig({
|
|
127
123
|
realProofs: true,
|
|
@@ -129,7 +125,6 @@ import { deployAccounts, getPrivateKeyFromIndex, getSponsoredFPCAddress, publicD
|
|
|
129
125
|
});
|
|
130
126
|
} else {
|
|
131
127
|
this.logger.debug(`Configuring the node min txs per block ${this.minNumberOfTxsPerBlock}...`);
|
|
132
|
-
this.circuitProofVerifier = new TestCircuitVerifier();
|
|
133
128
|
await this.aztecNodeAdmin.setConfig({
|
|
134
129
|
minTxsPerBlock: this.minNumberOfTxsPerBlock
|
|
135
130
|
});
|
|
@@ -168,7 +163,7 @@ import { deployAccounts, getPrivateKeyFromIndex, getSponsoredFPCAddress, publicD
|
|
|
168
163
|
await this.mintFeeJuice(proverNodeSenderAddress);
|
|
169
164
|
this.logger.verbose('Starting prover node');
|
|
170
165
|
const sponsoredFPCAddress = await getSponsoredFPCAddress();
|
|
171
|
-
const {
|
|
166
|
+
const { genesis } = await getGenesisValues(this.context.initialFundedAccounts.map((a)=>a.address).concat(sponsoredFPCAddress), undefined, undefined, this.context.genesis.genesisTimestamp);
|
|
172
167
|
const proverNodeConfig = {
|
|
173
168
|
...config,
|
|
174
169
|
enableProverNode: true,
|
|
@@ -200,7 +195,7 @@ import { deployAccounts, getPrivateKeyFromIndex, getSponsoredFPCAddress, publicD
|
|
|
200
195
|
]
|
|
201
196
|
}
|
|
202
197
|
}, {
|
|
203
|
-
|
|
198
|
+
genesis
|
|
204
199
|
});
|
|
205
200
|
this.logger.warn(`Proofs are now enabled`, {
|
|
206
201
|
realProofs: this.realProofs
|
|
@@ -3,4 +3,4 @@ import type { BBConfig } from '@aztec/bb-prover';
|
|
|
3
3
|
export declare const getBBConfig: (logger: Logger) => Promise<(BBConfig & {
|
|
4
4
|
cleanup: () => Promise<void>;
|
|
5
5
|
}) | undefined>;
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0X2JiX2NvbmZpZy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ZpeHR1cmVzL2dldF9iYl9jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbEQsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFvQmpELGVBQU8sTUFBTSxXQUFXOztlQXNDdkIsQ0FBQyJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get_bb_config.d.ts","sourceRoot":"","sources":["../../src/fixtures/get_bb_config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"get_bb_config.d.ts","sourceRoot":"","sources":["../../src/fixtures/get_bb_config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAoBjD,eAAO,MAAM,WAAW;;eAsCvB,CAAC"}
|
|
@@ -3,7 +3,7 @@ import fs from 'node:fs/promises';
|
|
|
3
3
|
import { tmpdir } from 'node:os';
|
|
4
4
|
import path from 'path';
|
|
5
5
|
import { fileURLToPath } from 'url';
|
|
6
|
-
const { BB_RELEASE_DIR = 'barretenberg/cpp/build/bin', BB_BINARY_PATH, BB_SKIP_CLEANUP = '', TEMP_DIR = tmpdir(), BB_WORKING_DIRECTORY = '', BB_NUM_IVC_VERIFIERS = '
|
|
6
|
+
const { BB_RELEASE_DIR = 'barretenberg/cpp/build/bin', BB_BINARY_PATH, BB_SKIP_CLEANUP = '', TEMP_DIR = tmpdir(), BB_WORKING_DIRECTORY = '', BB_NUM_IVC_VERIFIERS = '8', BB_IVC_CONCURRENCY = '1', BB_CHONK_VERIFY_MAX_BATCH = '16', BB_CHONK_VERIFY_BATCH_CONCURRENCY = '6' } = process.env;
|
|
7
7
|
export const getBBConfig = async (logger)=>{
|
|
8
8
|
try {
|
|
9
9
|
const bbBinaryPath = BB_BINARY_PATH ?? path.resolve(path.dirname(fileURLToPath(import.meta.url)), '../../../../', BB_RELEASE_DIR, 'bb-avm');
|
|
@@ -24,15 +24,15 @@ export const getBBConfig = async (logger)=>{
|
|
|
24
24
|
'true'
|
|
25
25
|
].includes(BB_SKIP_CLEANUP);
|
|
26
26
|
const cleanup = bbSkipCleanup ? ()=>Promise.resolve() : ()=>tryRmDir(directoryToCleanup);
|
|
27
|
-
const numIvcVerifiers = Number(BB_NUM_IVC_VERIFIERS);
|
|
28
|
-
const ivcConcurrency = Number(BB_IVC_CONCURRENCY);
|
|
29
27
|
return {
|
|
30
28
|
bbSkipCleanup,
|
|
31
29
|
bbBinaryPath,
|
|
32
30
|
bbWorkingDirectory,
|
|
33
31
|
cleanup,
|
|
34
|
-
numConcurrentIVCVerifiers:
|
|
35
|
-
bbIVCConcurrency:
|
|
32
|
+
numConcurrentIVCVerifiers: Number(BB_NUM_IVC_VERIFIERS),
|
|
33
|
+
bbIVCConcurrency: Number(BB_IVC_CONCURRENCY),
|
|
34
|
+
bbChonkVerifyMaxBatch: Number(BB_CHONK_VERIFY_MAX_BATCH),
|
|
35
|
+
bbChonkVerifyConcurrency: Number(BB_CHONK_VERIFY_BATCH_CONCURRENCY)
|
|
36
36
|
};
|
|
37
37
|
} catch (err) {
|
|
38
38
|
logger.error(`Native BB not available, error: ${err}`);
|
package/dest/fixtures/setup.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type InitialAccountData } from '@aztec/accounts/testing';
|
|
2
2
|
import { type AztecNodeConfig, AztecNodeService } from '@aztec/aztec-node';
|
|
3
3
|
import { AztecAddress } from '@aztec/aztec.js/addresses';
|
|
4
|
-
import { type ContractMethod } from '@aztec/aztec.js/contracts';
|
|
4
|
+
import { type ContractMethod, type DeployInteractionWaitOptions, type DeployOptions } from '@aztec/aztec.js/contracts';
|
|
5
5
|
import { Fr } from '@aztec/aztec.js/fields';
|
|
6
6
|
import { type Logger } from '@aztec/aztec.js/log';
|
|
7
7
|
import type { AztecNode } from '@aztec/aztec.js/node';
|
|
@@ -20,8 +20,9 @@ import type { ProverNodeConfig } from '@aztec/prover-node';
|
|
|
20
20
|
import { type PXEConfig } from '@aztec/pxe/server';
|
|
21
21
|
import type { SequencerClient } from '@aztec/sequencer-client';
|
|
22
22
|
import { type ContractInstanceWithAddress } from '@aztec/stdlib/contract';
|
|
23
|
-
import type { AztecNodeAdmin } from '@aztec/stdlib/interfaces/client';
|
|
23
|
+
import type { AztecNodeAdmin, AztecNodeDebug } from '@aztec/stdlib/interfaces/client';
|
|
24
24
|
import type { PublicDataTreeLeaf } from '@aztec/stdlib/trees';
|
|
25
|
+
import type { GenesisData } from '@aztec/stdlib/world-state';
|
|
25
26
|
import { type TelemetryClient, type TelemetryClientConfig } from '@aztec/telemetry-client';
|
|
26
27
|
import { type Chain } from 'viem/chains';
|
|
27
28
|
import { TestWallet } from '../test-wallet/test_wallet.js';
|
|
@@ -82,6 +83,8 @@ export type SetupOptions = {
|
|
|
82
83
|
proverNodeConfig?: Partial<ProverNodeConfig>;
|
|
83
84
|
/** Whether to use a mock gossip sub network for p2p clients. */
|
|
84
85
|
mockGossipSubNetwork?: boolean;
|
|
86
|
+
/** Whether to add simulated latency to the mock gossipsub network (in ms) */
|
|
87
|
+
mockGossipSubNetworkLatency?: number;
|
|
85
88
|
/** Whether to disable the anvil test watcher (can still be manually started) */
|
|
86
89
|
disableAnvilTestWatcher?: boolean;
|
|
87
90
|
/** Whether to enable anvil automine during deployment of L1 contracts (consider defaulting this to true). */
|
|
@@ -90,6 +93,11 @@ export type SetupOptions = {
|
|
|
90
93
|
anvilAccounts?: number;
|
|
91
94
|
/** Port to start anvil (defaults to 8545) */
|
|
92
95
|
anvilPort?: number;
|
|
96
|
+
/**
|
|
97
|
+
* Number of slots per epoch for Anvil's finality simulation.
|
|
98
|
+
* Anvil reports `finalized = latest - slotsInAnEpoch * 2`.
|
|
99
|
+
*/
|
|
100
|
+
anvilSlotsInAnEpoch?: number;
|
|
93
101
|
/** Key to use for publishing L1 contracts */
|
|
94
102
|
l1PublisherKey?: SecretValue<`0x${string}`>;
|
|
95
103
|
/** ZkPassport configuration (domain, scope, mock verifier) */
|
|
@@ -108,7 +116,7 @@ export type EndToEndContext = {
|
|
|
108
116
|
/** The Anvil instance (only set if anvil was started locally). */
|
|
109
117
|
anvil: Anvil | undefined;
|
|
110
118
|
/** The Aztec Node service or client a connected to it. */
|
|
111
|
-
aztecNode: AztecNode;
|
|
119
|
+
aztecNode: AztecNode & AztecNodeDebug;
|
|
112
120
|
/** The Aztec Node as a service. */
|
|
113
121
|
aztecNodeService: AztecNodeService;
|
|
114
122
|
/** Client to the Aztec Node admin interface. */
|
|
@@ -147,8 +155,8 @@ export type EndToEndContext = {
|
|
|
147
155
|
sequencerDelayer: Delayer | undefined;
|
|
148
156
|
/** Delayer for prover node L1 txs (only when enableDelayer and startProverNode are true). */
|
|
149
157
|
proverDelayer: Delayer | undefined;
|
|
150
|
-
/**
|
|
151
|
-
|
|
158
|
+
/** Genesis data used for setting up nodes. */
|
|
159
|
+
genesis: GenesisData | undefined;
|
|
152
160
|
/** ACVM config (only set if running locally). */
|
|
153
161
|
acvmConfig: Awaited<ReturnType<typeof getACVMConfig>>;
|
|
154
162
|
/** BB config (only set if running locally). */
|
|
@@ -195,7 +203,7 @@ export declare function createAndSyncProverNode(proverNodePrivateKey: `0x${strin
|
|
|
195
203
|
dateProvider: DateProvider;
|
|
196
204
|
p2pClientDeps?: P2PClientDeps;
|
|
197
205
|
}, options: {
|
|
198
|
-
|
|
206
|
+
genesis?: GenesisData;
|
|
199
207
|
dontStart?: boolean;
|
|
200
208
|
}): Promise<{
|
|
201
209
|
proverNode: AztecNodeService;
|
|
@@ -215,7 +223,7 @@ export declare function ensureAccountContractsPublished(wallet: Wallet, accounts
|
|
|
215
223
|
* Helper function to deploy accounts.
|
|
216
224
|
* Returns deployed account data that can be used by tests.
|
|
217
225
|
*/
|
|
218
|
-
export declare const deployAccounts: (numberOfAccounts: number, logger: Logger) => ({ wallet, initialFundedAccounts }: {
|
|
226
|
+
export declare const deployAccounts: (numberOfAccounts: number, logger: Logger, deployOptions?: Partial<DeployOptions<DeployInteractionWaitOptions>> | undefined) => ({ wallet, initialFundedAccounts }: {
|
|
219
227
|
wallet: TestWallet;
|
|
220
228
|
initialFundedAccounts: InitialAccountData[];
|
|
221
229
|
}) => Promise<{
|
|
@@ -231,4 +239,4 @@ export declare function publicDeployAccounts(wallet: Wallet, accountsToDeploy: A
|
|
|
231
239
|
*/
|
|
232
240
|
export declare function teardown(context: EndToEndContext | undefined): Promise<void>;
|
|
233
241
|
export { deployAndInitializeTokenAndBridgeContracts } from '../shared/cross_chain_test_harness.js';
|
|
234
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
242
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dXAuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maXh0dXJlcy9zZXR1cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsS0FBSyxrQkFBa0IsRUFBMkIsTUFBTSx5QkFBeUIsQ0FBQztBQUMzRixPQUFPLEVBQUUsS0FBSyxlQUFlLEVBQUUsZ0JBQWdCLEVBQW9CLE1BQU0sbUJBQW1CLENBQUM7QUFFN0YsT0FBTyxFQUFFLFlBQVksRUFBYyxNQUFNLDJCQUEyQixDQUFDO0FBQ3JFLE9BQU8sRUFHTCxLQUFLLGNBQWMsRUFDbkIsS0FBSyw0QkFBNEIsRUFDakMsS0FBSyxhQUFhLEVBR25CLE1BQU0sMkJBQTJCLENBQUM7QUFFbkMsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVDLE9BQU8sRUFBRSxLQUFLLE1BQU0sRUFBZ0IsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRSxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFPcEUsT0FBTyxFQUNMLEtBQUssMEJBQTBCLEVBQy9CLEtBQUssZ0NBQWdDLEVBQ3JDLEtBQUssUUFBUSxFQUNiLEtBQUssY0FBYyxFQUVwQixNQUFNLDJDQUEyQyxDQUFDO0FBQ25ELE9BQU8sS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQTBCLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pGLE9BQU8sS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxXQUFXLEVBQWUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMzRSxPQUFPLEVB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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/fixtures/setup.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,kBAAkB,EAA2B,MAAM,yBAAyB,CAAC;AAC3F,OAAO,EAAE,KAAK,eAAe,EAAE,gBAAgB,EAAoB,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/fixtures/setup.ts"],"names":[],"mappings":"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"}
|