@aztec/end-to-end 0.0.1-commit.023c3e5 → 0.0.1-commit.08c5969dc
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/client_flows_benchmark.d.ts +2 -2
- package/dest/bench/client_flows/client_flows_benchmark.d.ts.map +1 -1
- package/dest/bench/client_flows/client_flows_benchmark.js +3 -3
- package/dest/bench/client_flows/config.d.ts +2 -2
- package/dest/bench/client_flows/config.d.ts.map +1 -1
- package/dest/bench/client_flows/config.js +18 -0
- package/dest/e2e_blacklist_token_contract/blacklist_token_contract_test.d.ts +4 -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 +10 -0
- package/dest/e2e_cross_chain_messaging/cross_chain_messaging_test.d.ts +2 -2
- 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 +3 -2
- package/dest/e2e_deploy_contract/deploy_test.d.ts +2 -2
- package/dest/e2e_deploy_contract/deploy_test.d.ts.map +1 -1
- package/dest/e2e_epochs/epochs_test.d.ts +1 -1
- package/dest/e2e_epochs/epochs_test.d.ts.map +1 -1
- package/dest/e2e_epochs/epochs_test.js +9 -3
- package/dest/e2e_fees/fees_test.d.ts +2 -2
- package/dest/e2e_fees/fees_test.d.ts.map +1 -1
- package/dest/e2e_fees/fees_test.js +5 -5
- package/dest/e2e_p2p/p2p_network.d.ts +2 -2
- package/dest/e2e_p2p/p2p_network.d.ts.map +1 -1
- package/dest/e2e_p2p/shared.d.ts +2 -2
- package/dest/e2e_p2p/shared.d.ts.map +1 -1
- package/dest/e2e_p2p/shared.js +5 -1
- package/dest/e2e_storage_proof/fixtures/storage_proof_fetcher.d.ts +2 -0
- package/dest/e2e_storage_proof/fixtures/storage_proof_fetcher.d.ts.map +1 -0
- package/dest/e2e_storage_proof/fixtures/storage_proof_fetcher.js +184 -0
- package/dest/e2e_storage_proof/fixtures/storage_proof_fixture.d.ts +18 -0
- package/dest/e2e_storage_proof/fixtures/storage_proof_fixture.d.ts.map +1 -0
- package/dest/e2e_storage_proof/fixtures/storage_proof_fixture.js +120 -0
- package/dest/e2e_token_contract/token_contract_test.d.ts +4 -2
- package/dest/e2e_token_contract/token_contract_test.d.ts.map +1 -1
- package/dest/e2e_token_contract/token_contract_test.js +10 -0
- package/dest/fixtures/e2e_prover_test.d.ts +2 -2
- package/dest/fixtures/e2e_prover_test.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 +116 -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/setup.d.ts +15 -15
- package/dest/fixtures/setup.d.ts.map +1 -1
- package/dest/fixtures/setup.js +20 -79
- package/dest/fixtures/setup_p2p_test.d.ts +10 -5
- package/dest/fixtures/setup_p2p_test.d.ts.map +1 -1
- package/dest/fixtures/setup_p2p_test.js +6 -3
- package/dest/shared/submit-transactions.d.ts +2 -2
- package/dest/shared/submit-transactions.d.ts.map +1 -1
- 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 +8 -6
- package/dest/simulators/token_simulator.d.ts +1 -1
- package/dest/simulators/token_simulator.d.ts.map +1 -1
- package/dest/simulators/token_simulator.js +2 -23
- package/dest/spartan/setup_test_wallets.d.ts +2 -2
- package/dest/spartan/setup_test_wallets.d.ts.map +1 -1
- package/dest/spartan/setup_test_wallets.js +3 -1
- package/dest/spartan/utils/bot.d.ts +1 -1
- package/dest/spartan/utils/bot.d.ts.map +1 -1
- package/dest/spartan/utils/bot.js +1 -1
- 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 +2 -1
- package/dest/spartan/utils/index.d.ts +2 -2
- package/dest/spartan/utils/index.d.ts.map +1 -1
- package/dest/spartan/utils/scripts.d.ts +18 -4
- package/dest/spartan/utils/scripts.d.ts.map +1 -1
- package/dest/spartan/utils/scripts.js +19 -4
- package/dest/test-wallet/test_wallet.d.ts +82 -0
- package/dest/test-wallet/test_wallet.d.ts.map +1 -0
- package/dest/test-wallet/test_wallet.js +214 -0
- package/dest/test-wallet/utils.d.ts +41 -0
- package/dest/test-wallet/utils.d.ts.map +1 -0
- package/dest/test-wallet/utils.js +71 -0
- package/package.json +43 -39
- package/src/bench/client_flows/client_flows_benchmark.ts +8 -12
- package/src/bench/client_flows/config.ts +9 -1
- package/src/bench/utils.ts +1 -1
- package/src/e2e_blacklist_token_contract/blacklist_token_contract_test.ts +11 -2
- package/src/e2e_cross_chain_messaging/cross_chain_messaging_test.ts +7 -8
- package/src/e2e_deploy_contract/deploy_test.ts +3 -3
- package/src/e2e_epochs/epochs_test.ts +13 -3
- package/src/e2e_fees/bridging_race.notest.ts +1 -1
- package/src/e2e_fees/fees_test.ts +11 -26
- package/src/e2e_nested_contract/nested_contract_test.ts +1 -1
- package/src/e2e_p2p/inactivity_slash_test.ts +4 -4
- package/src/e2e_p2p/p2p_network.ts +5 -5
- package/src/e2e_p2p/reqresp/utils.ts +4 -4
- package/src/e2e_p2p/shared.ts +3 -1
- package/src/e2e_storage_proof/fixtures/storage_proof.json +915 -0
- package/src/e2e_storage_proof/fixtures/storage_proof_fetcher.ts +190 -0
- package/src/e2e_storage_proof/fixtures/storage_proof_fixture.ts +173 -0
- package/src/e2e_token_contract/token_contract_test.ts +11 -2
- package/src/fixtures/dumps/epoch_proof_result.json +1 -1
- package/src/fixtures/e2e_prover_test.ts +4 -4
- package/src/fixtures/ha_setup.ts +186 -0
- package/src/fixtures/index.ts +1 -0
- package/src/fixtures/setup.ts +31 -109
- package/src/fixtures/setup_p2p_test.ts +16 -7
- package/src/guides/up_quick_start.sh +3 -3
- package/src/shared/submit-transactions.ts +2 -1
- package/src/shared/uniswap_l1_l2.ts +9 -11
- package/src/simulators/token_simulator.ts +1 -29
- package/src/spartan/setup_test_wallets.ts +3 -1
- package/src/spartan/utils/bot.ts +1 -1
- package/src/spartan/utils/config.ts +1 -0
- package/src/spartan/utils/index.ts +1 -1
- package/src/spartan/utils/scripts.ts +43 -7
- package/src/test-wallet/test_wallet.ts +305 -0
- package/src/test-wallet/utils.ts +112 -0
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { DeployMethod, NO_WAIT, toSendOptions } from '@aztec/aztec.js/contracts';
|
|
2
|
+
import { waitForTx } from '@aztec/aztec.js/node';
|
|
3
|
+
import { SimulationError } from '@aztec/stdlib/errors';
|
|
4
|
+
import { Tx } from '@aztec/stdlib/tx';
|
|
5
|
+
import { inspect } from 'util';
|
|
6
|
+
export class ProvenTx extends Tx {
|
|
7
|
+
node;
|
|
8
|
+
offchainEffects;
|
|
9
|
+
stats;
|
|
10
|
+
constructor(node, tx, offchainEffects, stats){
|
|
11
|
+
super(tx.getTxHash(), tx.data, tx.chonkProof, tx.contractClassLogFields, tx.publicFunctionCalldata), this.node = node, this.offchainEffects = offchainEffects, this.stats = stats;
|
|
12
|
+
}
|
|
13
|
+
async send(options) {
|
|
14
|
+
const txHash = this.getTxHash();
|
|
15
|
+
await this.node.sendTx(this).catch((err)=>{
|
|
16
|
+
throw this.contextualizeError(err, inspect(this));
|
|
17
|
+
});
|
|
18
|
+
if (options?.wait === NO_WAIT) {
|
|
19
|
+
return txHash;
|
|
20
|
+
}
|
|
21
|
+
const waitOpts = typeof options?.wait === 'object' ? options.wait : undefined;
|
|
22
|
+
return await waitForTx(this.node, txHash, waitOpts);
|
|
23
|
+
}
|
|
24
|
+
contextualizeError(err, ...context) {
|
|
25
|
+
let contextStr = '';
|
|
26
|
+
if (context.length > 0) {
|
|
27
|
+
contextStr = `\nContext:\n${context.join('\n')}`;
|
|
28
|
+
}
|
|
29
|
+
if (err instanceof SimulationError) {
|
|
30
|
+
err.setAztecContext(contextStr);
|
|
31
|
+
}
|
|
32
|
+
return err;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
export async function proveInteraction(wallet, interaction, options) {
|
|
36
|
+
let execPayload;
|
|
37
|
+
if (interaction instanceof DeployMethod) {
|
|
38
|
+
execPayload = await interaction.request(interaction.convertDeployOptionsToRequestOptions(options));
|
|
39
|
+
} else {
|
|
40
|
+
execPayload = await interaction.request(options);
|
|
41
|
+
}
|
|
42
|
+
return wallet.proveTx(execPayload, toSendOptions(options));
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Mutable wrapper around an AztecNode that forwards all calls to the current target.
|
|
46
|
+
* Allows swapping the underlying node at runtime via updateTargetNode, which is useful
|
|
47
|
+
* for tests that need to redirect a wallet from one node to another without recreating it.
|
|
48
|
+
*/ // eslint-disable-next-line @typescript-eslint/no-unsafe-declaration-merging
|
|
49
|
+
export class AztecNodeProxy {
|
|
50
|
+
target;
|
|
51
|
+
constructor(target){
|
|
52
|
+
this.target = target;
|
|
53
|
+
return new Proxy(this, {
|
|
54
|
+
get: (obj, prop, receiver)=>{
|
|
55
|
+
// Own properties and methods (updateTargetNode, target) are served directly.
|
|
56
|
+
if (Reflect.has(obj, prop)) {
|
|
57
|
+
return Reflect.get(obj, prop, receiver);
|
|
58
|
+
}
|
|
59
|
+
// Everything else is forwarded to the current target node.
|
|
60
|
+
const val = obj.target[prop];
|
|
61
|
+
return typeof val === 'function' ? val.bind(obj.target) : val;
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Updates the underlying node that this reference points to.
|
|
67
|
+
* @param node - The new node to forward calls to.
|
|
68
|
+
*/ updateTargetNode(node) {
|
|
69
|
+
this.target = node;
|
|
70
|
+
}
|
|
71
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/end-to-end",
|
|
3
|
-
"version": "0.0.1-commit.
|
|
3
|
+
"version": "0.0.1-commit.08c5969dc",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": "./dest/index.js",
|
|
6
6
|
"inherits": [
|
|
@@ -22,47 +22,49 @@
|
|
|
22
22
|
"test:integration:run": "NODE_NO_WARNINGS=1 node --experimental-vm-modules ../node_modules/.bin/jest --no-cache --runInBand --config jest.integration.config.json",
|
|
23
23
|
"test": "NODE_NO_WARNINGS=1 node --experimental-vm-modules ../node_modules/.bin/jest --passWithNoTests src/fixtures",
|
|
24
24
|
"test:compose": "./scripts/run_test.sh compose",
|
|
25
|
+
"test:ha": "./scripts/run_test.sh ha",
|
|
25
26
|
"formatting": "run -T prettier --check ./src && run -T eslint ./src"
|
|
26
27
|
},
|
|
27
28
|
"dependencies": {
|
|
28
|
-
"@aztec/accounts": "0.0.1-commit.
|
|
29
|
-
"@aztec/archiver": "0.0.1-commit.
|
|
30
|
-
"@aztec/aztec": "0.0.1-commit.
|
|
31
|
-
"@aztec/aztec-node": "0.0.1-commit.
|
|
32
|
-
"@aztec/aztec.js": "0.0.1-commit.
|
|
33
|
-
"@aztec/bb-prover": "0.0.1-commit.
|
|
34
|
-
"@aztec/bb.js": "0.0.1-commit.
|
|
35
|
-
"@aztec/blob-client": "0.0.1-commit.
|
|
36
|
-
"@aztec/blob-lib": "0.0.1-commit.
|
|
37
|
-
"@aztec/bot": "0.0.1-commit.
|
|
38
|
-
"@aztec/cli": "0.0.1-commit.
|
|
39
|
-
"@aztec/constants": "0.0.1-commit.
|
|
40
|
-
"@aztec/entrypoints": "0.0.1-commit.
|
|
41
|
-
"@aztec/epoch-cache": "0.0.1-commit.
|
|
42
|
-
"@aztec/ethereum": "0.0.1-commit.
|
|
43
|
-
"@aztec/foundation": "0.0.1-commit.
|
|
44
|
-
"@aztec/kv-store": "0.0.1-commit.
|
|
45
|
-
"@aztec/l1-artifacts": "0.0.1-commit.
|
|
46
|
-
"@aztec/merkle-tree": "0.0.1-commit.
|
|
47
|
-
"@aztec/node-keystore": "0.0.1-commit.
|
|
48
|
-
"@aztec/noir-contracts.js": "0.0.1-commit.
|
|
49
|
-
"@aztec/noir-noirc_abi": "0.0.1-commit.
|
|
50
|
-
"@aztec/noir-protocol-circuits-types": "0.0.1-commit.
|
|
51
|
-
"@aztec/noir-test-contracts.js": "0.0.1-commit.
|
|
52
|
-
"@aztec/p2p": "0.0.1-commit.
|
|
53
|
-
"@aztec/protocol-contracts": "0.0.1-commit.
|
|
54
|
-
"@aztec/prover-client": "0.0.1-commit.
|
|
55
|
-
"@aztec/prover-node": "0.0.1-commit.
|
|
56
|
-
"@aztec/pxe": "0.0.1-commit.
|
|
57
|
-
"@aztec/sequencer-client": "0.0.1-commit.
|
|
58
|
-
"@aztec/simulator": "0.0.1-commit.
|
|
59
|
-
"@aztec/slasher": "0.0.1-commit.
|
|
60
|
-
"@aztec/stdlib": "0.0.1-commit.
|
|
61
|
-
"@aztec/telemetry-client": "0.0.1-commit.
|
|
62
|
-
"@aztec/
|
|
63
|
-
"@aztec/validator-
|
|
64
|
-
"@aztec/
|
|
65
|
-
"@aztec/
|
|
29
|
+
"@aztec/accounts": "0.0.1-commit.08c5969dc",
|
|
30
|
+
"@aztec/archiver": "0.0.1-commit.08c5969dc",
|
|
31
|
+
"@aztec/aztec": "0.0.1-commit.08c5969dc",
|
|
32
|
+
"@aztec/aztec-node": "0.0.1-commit.08c5969dc",
|
|
33
|
+
"@aztec/aztec.js": "0.0.1-commit.08c5969dc",
|
|
34
|
+
"@aztec/bb-prover": "0.0.1-commit.08c5969dc",
|
|
35
|
+
"@aztec/bb.js": "0.0.1-commit.08c5969dc",
|
|
36
|
+
"@aztec/blob-client": "0.0.1-commit.08c5969dc",
|
|
37
|
+
"@aztec/blob-lib": "0.0.1-commit.08c5969dc",
|
|
38
|
+
"@aztec/bot": "0.0.1-commit.08c5969dc",
|
|
39
|
+
"@aztec/cli": "0.0.1-commit.08c5969dc",
|
|
40
|
+
"@aztec/constants": "0.0.1-commit.08c5969dc",
|
|
41
|
+
"@aztec/entrypoints": "0.0.1-commit.08c5969dc",
|
|
42
|
+
"@aztec/epoch-cache": "0.0.1-commit.08c5969dc",
|
|
43
|
+
"@aztec/ethereum": "0.0.1-commit.08c5969dc",
|
|
44
|
+
"@aztec/foundation": "0.0.1-commit.08c5969dc",
|
|
45
|
+
"@aztec/kv-store": "0.0.1-commit.08c5969dc",
|
|
46
|
+
"@aztec/l1-artifacts": "0.0.1-commit.08c5969dc",
|
|
47
|
+
"@aztec/merkle-tree": "0.0.1-commit.08c5969dc",
|
|
48
|
+
"@aztec/node-keystore": "0.0.1-commit.08c5969dc",
|
|
49
|
+
"@aztec/noir-contracts.js": "0.0.1-commit.08c5969dc",
|
|
50
|
+
"@aztec/noir-noirc_abi": "0.0.1-commit.08c5969dc",
|
|
51
|
+
"@aztec/noir-protocol-circuits-types": "0.0.1-commit.08c5969dc",
|
|
52
|
+
"@aztec/noir-test-contracts.js": "0.0.1-commit.08c5969dc",
|
|
53
|
+
"@aztec/p2p": "0.0.1-commit.08c5969dc",
|
|
54
|
+
"@aztec/protocol-contracts": "0.0.1-commit.08c5969dc",
|
|
55
|
+
"@aztec/prover-client": "0.0.1-commit.08c5969dc",
|
|
56
|
+
"@aztec/prover-node": "0.0.1-commit.08c5969dc",
|
|
57
|
+
"@aztec/pxe": "0.0.1-commit.08c5969dc",
|
|
58
|
+
"@aztec/sequencer-client": "0.0.1-commit.08c5969dc",
|
|
59
|
+
"@aztec/simulator": "0.0.1-commit.08c5969dc",
|
|
60
|
+
"@aztec/slasher": "0.0.1-commit.08c5969dc",
|
|
61
|
+
"@aztec/stdlib": "0.0.1-commit.08c5969dc",
|
|
62
|
+
"@aztec/telemetry-client": "0.0.1-commit.08c5969dc",
|
|
63
|
+
"@aztec/validator-client": "0.0.1-commit.08c5969dc",
|
|
64
|
+
"@aztec/validator-ha-signer": "0.0.1-commit.08c5969dc",
|
|
65
|
+
"@aztec/wallet-sdk": "0.0.1-commit.08c5969dc",
|
|
66
|
+
"@aztec/wallets": "0.0.1-commit.08c5969dc",
|
|
67
|
+
"@aztec/world-state": "0.0.1-commit.08c5969dc",
|
|
66
68
|
"@iarna/toml": "^2.2.5",
|
|
67
69
|
"@jest/globals": "^30.0.0",
|
|
68
70
|
"@noble/curves": "=1.0.0",
|
|
@@ -90,6 +92,7 @@
|
|
|
90
92
|
"lodash.every": "^4.6.0",
|
|
91
93
|
"lodash.omit": "^4.5.0",
|
|
92
94
|
"msgpackr": "^1.11.2",
|
|
95
|
+
"pg": "^8.17.1",
|
|
93
96
|
"process": "^0.11.10",
|
|
94
97
|
"snappy": "^7.2.2",
|
|
95
98
|
"stream-browserify": "^3.0.0",
|
|
@@ -108,6 +111,7 @@
|
|
|
108
111
|
"@types/jest": "^30.0.0",
|
|
109
112
|
"@types/js-yaml": "^4.0.9",
|
|
110
113
|
"@types/lodash.chunk": "^4.2.9",
|
|
114
|
+
"@types/pg": "^8",
|
|
111
115
|
"@typescript/native-preview": "7.0.0-dev.20260113.1",
|
|
112
116
|
"concurrently": "^7.6.0",
|
|
113
117
|
"jest": "^30.0.0",
|
|
@@ -26,7 +26,6 @@ import { type PXEConfig, getPXEConfig } from '@aztec/pxe/server';
|
|
|
26
26
|
import type { ContractInstanceWithAddress } from '@aztec/stdlib/contract';
|
|
27
27
|
import { GasSettings } from '@aztec/stdlib/gas';
|
|
28
28
|
import { deriveSigningKey } from '@aztec/stdlib/keys';
|
|
29
|
-
import { TestWallet } from '@aztec/test-wallet/server';
|
|
30
29
|
|
|
31
30
|
import { MNEMONIC } from '../../fixtures/fixtures.js';
|
|
32
31
|
import { type EndToEndContext, type SetupOptions, deployAccounts, setup, teardown } from '../../fixtures/setup.js';
|
|
@@ -37,6 +36,7 @@ import {
|
|
|
37
36
|
FeeJuicePortalTestingHarnessFactory,
|
|
38
37
|
type GasBridgingTestHarness,
|
|
39
38
|
} from '../../shared/gas_portal_test_harness.js';
|
|
39
|
+
import { TestWallet } from '../../test-wallet/test_wallet.js';
|
|
40
40
|
import { ProxyLogger } from './benchmark.js';
|
|
41
41
|
import { type ClientFlowsConfig, FULL_FLOWS_CONFIG, KEY_FLOWS_CONFIG } from './config.js';
|
|
42
42
|
|
|
@@ -138,10 +138,10 @@ export class ClientFlowsBenchmark {
|
|
|
138
138
|
});
|
|
139
139
|
await this.applyBaseSetup();
|
|
140
140
|
|
|
141
|
-
await this.context.aztecNodeService
|
|
141
|
+
await this.context.aztecNodeService.setConfig({ feeRecipient: this.sequencerAddress, coinbase: this.coinbase });
|
|
142
142
|
|
|
143
143
|
const rollupContract = RollupContract.getFromConfig(this.context.config);
|
|
144
|
-
this.chainMonitor = new ChainMonitor(rollupContract, this.context.dateProvider
|
|
144
|
+
this.chainMonitor = new ChainMonitor(rollupContract, this.context.dateProvider, this.logger, 200).start();
|
|
145
145
|
|
|
146
146
|
return this;
|
|
147
147
|
}
|
|
@@ -161,15 +161,11 @@ export class ClientFlowsBenchmark {
|
|
|
161
161
|
|
|
162
162
|
/** Admin mints bananaCoin tokens privately to the target address and redeems them. */
|
|
163
163
|
async mintPrivateBananas(amount: bigint, address: AztecAddress) {
|
|
164
|
-
const balanceBefore = await this.bananaCoin.methods
|
|
165
|
-
.balance_of_private(address)
|
|
166
|
-
.simulate({ from: this.adminAddress });
|
|
164
|
+
const balanceBefore = await this.bananaCoin.methods.balance_of_private(address).simulate({ from: address });
|
|
167
165
|
|
|
168
166
|
await mintTokensToPrivate(this.bananaCoin, this.adminAddress, address, amount);
|
|
169
167
|
|
|
170
|
-
const balanceAfter = await this.bananaCoin.methods
|
|
171
|
-
.balance_of_private(address)
|
|
172
|
-
.simulate({ from: this.adminAddress });
|
|
168
|
+
const balanceAfter = await this.bananaCoin.methods.balance_of_private(address).simulate({ from: address });
|
|
173
169
|
expect(balanceAfter).toEqual(balanceBefore + amount);
|
|
174
170
|
}
|
|
175
171
|
|
|
@@ -207,7 +203,7 @@ export class ClientFlowsBenchmark {
|
|
|
207
203
|
const [{ address: adminAddress }, { address: sequencerAddress }] = deployedAccounts;
|
|
208
204
|
|
|
209
205
|
this.adminWallet = this.context.wallet;
|
|
210
|
-
this.aztecNode = this.context.aztecNodeService
|
|
206
|
+
this.aztecNode = this.context.aztecNodeService;
|
|
211
207
|
this.cheatCodes = this.context.cheatCodes;
|
|
212
208
|
|
|
213
209
|
this.adminAddress = adminAddress;
|
|
@@ -235,8 +231,8 @@ export class ClientFlowsBenchmark {
|
|
|
235
231
|
this.feeJuiceContract = FeeJuiceContract.at(ProtocolContractAddress.FeeJuice, this.adminWallet);
|
|
236
232
|
|
|
237
233
|
this.feeJuiceBridgeTestHarness = await FeeJuicePortalTestingHarnessFactory.create({
|
|
238
|
-
aztecNode: this.context.aztecNodeService
|
|
239
|
-
aztecNodeAdmin: this.context.aztecNodeService
|
|
234
|
+
aztecNode: this.context.aztecNodeService,
|
|
235
|
+
aztecNodeAdmin: this.context.aztecNodeService,
|
|
240
236
|
l1Client: this.context.deployL1ContractsValues.l1Client,
|
|
241
237
|
wallet: this.adminWallet,
|
|
242
238
|
logger: this.logger,
|
|
@@ -6,7 +6,7 @@ export type ClientFlowConfig = {
|
|
|
6
6
|
recursions?: number[];
|
|
7
7
|
};
|
|
8
8
|
|
|
9
|
-
type ClientFlows = 'accountDeployments' | 'deployments' | 'transfers' | 'bridging' | 'amm';
|
|
9
|
+
type ClientFlows = 'accountDeployments' | 'deployments' | 'transfers' | 'bridging' | 'amm' | 'storageProof';
|
|
10
10
|
|
|
11
11
|
export type ClientFlowsConfig = {
|
|
12
12
|
[key in ClientFlows]: ClientFlowConfig;
|
|
@@ -34,6 +34,10 @@ export const KEY_FLOWS_CONFIG: ClientFlowsConfig = {
|
|
|
34
34
|
feePaymentMethods: ['sponsored_fpc', 'private_fpc'],
|
|
35
35
|
recursions: [0, 1],
|
|
36
36
|
},
|
|
37
|
+
storageProof: {
|
|
38
|
+
accounts: ['ecdsar1'],
|
|
39
|
+
feePaymentMethods: ['sponsored_fpc'],
|
|
40
|
+
},
|
|
37
41
|
};
|
|
38
42
|
|
|
39
43
|
export const FULL_FLOWS_CONFIG: ClientFlowsConfig = {
|
|
@@ -58,4 +62,8 @@ export const FULL_FLOWS_CONFIG: ClientFlowsConfig = {
|
|
|
58
62
|
feePaymentMethods: ['sponsored_fpc', 'private_fpc'],
|
|
59
63
|
recursions: [0, 1, 2],
|
|
60
64
|
},
|
|
65
|
+
storageProof: {
|
|
66
|
+
accounts: ['ecdsar1', 'schnorr'],
|
|
67
|
+
feePaymentMethods: ['sponsored_fpc', 'private_fpc'],
|
|
68
|
+
},
|
|
61
69
|
};
|
package/src/bench/utils.ts
CHANGED
|
@@ -28,7 +28,7 @@ export async function benchmarkSetup(
|
|
|
28
28
|
const contract = await BenchmarkingContract.deploy(context.wallet).send({ from: defaultAccountAddress });
|
|
29
29
|
context.logger.info(`Deployed benchmarking contract at ${contract.address}`);
|
|
30
30
|
const sequencer = (context.aztecNode as AztecNodeService).getSequencer()!;
|
|
31
|
-
const telemetry = context.telemetryClient
|
|
31
|
+
const telemetry = context.telemetryClient as BenchmarkTelemetryClient;
|
|
32
32
|
context.logger.warn(`Cleared benchmark data points from setup`);
|
|
33
33
|
telemetry.clear();
|
|
34
34
|
const origTeardown = context.teardown.bind(context);
|
|
@@ -7,14 +7,15 @@ import type { TxHash } from '@aztec/aztec.js/tx';
|
|
|
7
7
|
import type { CheatCodes } from '@aztec/aztec/testing';
|
|
8
8
|
import type { TokenContract } from '@aztec/noir-contracts.js/Token';
|
|
9
9
|
import { TokenBlacklistContract } from '@aztec/noir-contracts.js/TokenBlacklist';
|
|
10
|
+
import { GenericProxyContract } from '@aztec/noir-test-contracts.js/GenericProxy';
|
|
10
11
|
import { InvalidAccountContract } from '@aztec/noir-test-contracts.js/InvalidAccount';
|
|
11
12
|
import type { SequencerClient } from '@aztec/sequencer-client';
|
|
12
|
-
import type { TestWallet } from '@aztec/test-wallet/server';
|
|
13
13
|
|
|
14
14
|
import { jest } from '@jest/globals';
|
|
15
15
|
|
|
16
16
|
import { type EndToEndContext, deployAccounts, publicDeployAccounts, setup, teardown } from '../fixtures/setup.js';
|
|
17
17
|
import { TokenSimulator } from '../simulators/token_simulator.js';
|
|
18
|
+
import type { TestWallet } from '../test-wallet/test_wallet.js';
|
|
18
19
|
|
|
19
20
|
export class Role {
|
|
20
21
|
private isAdmin = false;
|
|
@@ -53,6 +54,7 @@ export class BlacklistTokenContractTest {
|
|
|
53
54
|
asset!: TokenBlacklistContract;
|
|
54
55
|
tokenSim!: TokenSimulator;
|
|
55
56
|
badAccount!: InvalidAccountContract;
|
|
57
|
+
proxy!: GenericProxyContract;
|
|
56
58
|
cheatCodes!: CheatCodes;
|
|
57
59
|
sequencer!: SequencerClient;
|
|
58
60
|
aztecNode!: AztecNode;
|
|
@@ -92,7 +94,7 @@ export class BlacklistTokenContractTest {
|
|
|
92
94
|
});
|
|
93
95
|
|
|
94
96
|
this.cheatCodes = this.context.cheatCodes;
|
|
95
|
-
this.aztecNode = this.context.aztecNodeService
|
|
97
|
+
this.aztecNode = this.context.aztecNodeService;
|
|
96
98
|
this.sequencer = this.context.sequencer!;
|
|
97
99
|
this.wallet = this.context.wallet;
|
|
98
100
|
this.adminAddress = deployedAccounts[0].address;
|
|
@@ -114,6 +116,13 @@ export class BlacklistTokenContractTest {
|
|
|
114
116
|
this.badAccount = await InvalidAccountContract.deploy(this.wallet).send({ from: this.adminAddress });
|
|
115
117
|
this.logger.verbose(`Deployed to ${this.badAccount.address}.`);
|
|
116
118
|
|
|
119
|
+
// Deploy a proxy contract for "on behalf of other" tests. The note owner must be the tx sender
|
|
120
|
+
// (so their notes are in scope), but msg_sender in the target must differ from the note owner
|
|
121
|
+
// to trigger authwit validation. The proxy forwards calls so that msg_sender != tx sender.
|
|
122
|
+
this.logger.verbose(`Deploying generic proxy...`);
|
|
123
|
+
this.proxy = await GenericProxyContract.deploy(this.wallet).send({ from: this.adminAddress });
|
|
124
|
+
this.logger.verbose(`Deployed to ${this.proxy.address}.`);
|
|
125
|
+
|
|
117
126
|
await this.crossTimestampOfChange();
|
|
118
127
|
|
|
119
128
|
this.tokenSim = new TokenSimulator(
|
|
@@ -13,13 +13,12 @@ import type {
|
|
|
13
13
|
} from '@aztec/ethereum/deploy-aztec-l1-contracts';
|
|
14
14
|
import { deployL1Contract } from '@aztec/ethereum/deploy-l1-contract';
|
|
15
15
|
import type { ExtendedViemWalletClient } from '@aztec/ethereum/types';
|
|
16
|
-
import {
|
|
16
|
+
import { EpochNumber } from '@aztec/foundation/branded-types';
|
|
17
17
|
import { sleep } from '@aztec/foundation/sleep';
|
|
18
18
|
import { TestERC20Abi, TestERC20Bytecode } from '@aztec/l1-artifacts';
|
|
19
19
|
import { TokenContract } from '@aztec/noir-contracts.js/Token';
|
|
20
20
|
import { TokenBridgeContract } from '@aztec/noir-contracts.js/TokenBridge';
|
|
21
21
|
import type { AztecNodeAdmin } from '@aztec/stdlib/interfaces/client';
|
|
22
|
-
import type { TestWallet } from '@aztec/test-wallet/server';
|
|
23
22
|
|
|
24
23
|
import { MNEMONIC } from '../fixtures/fixtures.js';
|
|
25
24
|
import {
|
|
@@ -31,6 +30,7 @@ import {
|
|
|
31
30
|
teardown,
|
|
32
31
|
} from '../fixtures/setup.js';
|
|
33
32
|
import { CrossChainTestHarness } from '../shared/cross_chain_test_harness.js';
|
|
33
|
+
import type { TestWallet } from '../test-wallet/test_wallet.js';
|
|
34
34
|
|
|
35
35
|
export class CrossChainMessagingTest {
|
|
36
36
|
private requireEpochProven: boolean;
|
|
@@ -86,9 +86,8 @@ export class CrossChainMessagingTest {
|
|
|
86
86
|
}
|
|
87
87
|
|
|
88
88
|
async advanceToEpochProven(l2TxReceipt: TxReceipt): Promise<EpochNumber> {
|
|
89
|
-
const
|
|
90
|
-
|
|
91
|
-
);
|
|
89
|
+
const block = await this.aztecNode.getBlock(l2TxReceipt.blockNumber!);
|
|
90
|
+
const epoch = await this.rollup.getEpochNumberForCheckpoint(block!.checkpointNumber);
|
|
92
91
|
// Warp to the next epoch.
|
|
93
92
|
await this.cheatCodes.rollup.advanceToEpoch(EpochNumber(epoch + 1));
|
|
94
93
|
// Wait for the tx to be proven.
|
|
@@ -110,16 +109,16 @@ export class CrossChainMessagingTest {
|
|
|
110
109
|
|
|
111
110
|
async applyBaseSetup() {
|
|
112
111
|
// Set up base context fields
|
|
113
|
-
this.aztecNode = this.context.aztecNodeService
|
|
112
|
+
this.aztecNode = this.context.aztecNodeService;
|
|
114
113
|
this.wallet = this.context.wallet;
|
|
115
114
|
this.aztecNodeConfig = this.context.config;
|
|
116
115
|
this.cheatCodes = this.context.cheatCodes;
|
|
117
116
|
this.deployL1ContractsValues = this.context.deployL1ContractsValues;
|
|
118
|
-
this.aztecNodeAdmin = this.context.aztecNodeService
|
|
117
|
+
this.aztecNodeAdmin = this.context.aztecNodeService;
|
|
119
118
|
|
|
120
119
|
if (this.requireEpochProven) {
|
|
121
120
|
// Turn off the watcher to prevent it from keep marking blocks as proven.
|
|
122
|
-
this.context.watcher
|
|
121
|
+
this.context.watcher.setIsMarkingAsProven(false);
|
|
123
122
|
}
|
|
124
123
|
|
|
125
124
|
// Deploy 3 accounts
|
|
@@ -8,9 +8,9 @@ import type { AztecNode } from '@aztec/aztec.js/node';
|
|
|
8
8
|
import type { Wallet } from '@aztec/aztec.js/wallet';
|
|
9
9
|
import type { StatefulTestContract } from '@aztec/noir-test-contracts.js/StatefulTest';
|
|
10
10
|
import type { AztecNodeAdmin } from '@aztec/stdlib/interfaces/client';
|
|
11
|
-
import type { TestWallet } from '@aztec/test-wallet/server';
|
|
12
11
|
|
|
13
12
|
import { type EndToEndContext, deployAccounts, setup, teardown } from '../fixtures/setup.js';
|
|
13
|
+
import type { TestWallet } from '../test-wallet/test_wallet.js';
|
|
14
14
|
|
|
15
15
|
export class DeployTest {
|
|
16
16
|
public context!: EndToEndContext;
|
|
@@ -30,9 +30,9 @@ export class DeployTest {
|
|
|
30
30
|
fundSponsoredFPC: true,
|
|
31
31
|
skipAccountDeployment: true,
|
|
32
32
|
});
|
|
33
|
-
this.aztecNode = this.context.aztecNodeService
|
|
33
|
+
this.aztecNode = this.context.aztecNodeService;
|
|
34
34
|
this.wallet = this.context.wallet;
|
|
35
|
-
this.aztecNodeAdmin = this.context.aztecNodeService
|
|
35
|
+
this.aztecNodeAdmin = this.context.aztecNodeService;
|
|
36
36
|
await this.applyInitialAccount();
|
|
37
37
|
return this;
|
|
38
38
|
}
|
|
@@ -194,6 +194,7 @@ export class EpochsTestContext {
|
|
|
194
194
|
l1GenesisTime: await this.rollup.getL1GenesisTime(),
|
|
195
195
|
ethereumSlotDuration,
|
|
196
196
|
proofSubmissionEpochs: Number(await this.rollup.getProofSubmissionEpochs()),
|
|
197
|
+
targetCommitteeSize: await this.rollup.getTargetCommitteeSize(),
|
|
197
198
|
};
|
|
198
199
|
|
|
199
200
|
this.logger.info(
|
|
@@ -212,10 +213,14 @@ export class EpochsTestContext {
|
|
|
212
213
|
this.logger.warn('Creating and syncing a simulated prover node...');
|
|
213
214
|
const proverNodePrivateKey = this.getNextPrivateKey();
|
|
214
215
|
const proverIndex = this.proverNodes.length + 1;
|
|
216
|
+
const { mockGossipSubNetwork } = this.context;
|
|
215
217
|
const proverNode = await withLoggerBindings({ actor: `prover-${proverIndex}` }, () =>
|
|
216
218
|
createAndSyncProverNode(
|
|
217
219
|
proverNodePrivateKey,
|
|
218
|
-
{
|
|
220
|
+
{
|
|
221
|
+
...this.context.config,
|
|
222
|
+
p2pEnabled: this.context.config.p2pEnabled || mockGossipSubNetwork !== undefined,
|
|
223
|
+
},
|
|
219
224
|
{
|
|
220
225
|
dataDirectory: join(this.context.config.dataDirectory!, randomBytes(8).toString('hex')),
|
|
221
226
|
proverId: EthAddress.fromNumber(proverIndex),
|
|
@@ -224,7 +229,12 @@ export class EpochsTestContext {
|
|
|
224
229
|
},
|
|
225
230
|
this.context.aztecNode,
|
|
226
231
|
this.context.prefilledPublicData ?? [],
|
|
227
|
-
{
|
|
232
|
+
{
|
|
233
|
+
dateProvider: this.context.dateProvider,
|
|
234
|
+
p2pClientDeps: mockGossipSubNetwork
|
|
235
|
+
? { p2pServiceFactory: getMockPubSubP2PServiceFactory(mockGossipSubNetwork) }
|
|
236
|
+
: undefined,
|
|
237
|
+
},
|
|
228
238
|
),
|
|
229
239
|
);
|
|
230
240
|
this.proverNodes.push(proverNode);
|
|
@@ -404,7 +414,7 @@ export class EpochsTestContext {
|
|
|
404
414
|
privateKeyToAccount(this.getNextPrivateKey()),
|
|
405
415
|
this.l1Client.chain,
|
|
406
416
|
),
|
|
407
|
-
this.context.dateProvider
|
|
417
|
+
this.context.dateProvider,
|
|
408
418
|
{ ethereumSlotDuration: this.L1_BLOCK_TIME_IN_S },
|
|
409
419
|
);
|
|
410
420
|
expect(await client.getBalance({ address: client.account.address })).toBeGreaterThan(0n);
|
|
@@ -4,11 +4,11 @@ import type { Logger } from '@aztec/aztec.js/log';
|
|
|
4
4
|
import { Fq } from '@aztec/foundation/curves/bn254';
|
|
5
5
|
import { sleep } from '@aztec/foundation/sleep';
|
|
6
6
|
import type { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
7
|
-
import type { TestWallet } from '@aztec/test-wallet/server';
|
|
8
7
|
|
|
9
8
|
import { jest } from '@jest/globals';
|
|
10
9
|
import type { Hex } from 'viem';
|
|
11
10
|
|
|
11
|
+
import type { TestWallet } from '../test-wallet/test_wallet.js';
|
|
12
12
|
import { FeesTest } from './fees_test.js';
|
|
13
13
|
|
|
14
14
|
jest.setTimeout(300_000);
|
|
@@ -20,7 +20,6 @@ import { ProtocolContractAddress } from '@aztec/protocol-contracts';
|
|
|
20
20
|
import { getCanonicalFeeJuice } from '@aztec/protocol-contracts/fee-juice';
|
|
21
21
|
import { GasSettings } from '@aztec/stdlib/gas';
|
|
22
22
|
import type { AztecNodeAdmin } from '@aztec/stdlib/interfaces/client';
|
|
23
|
-
import { TestWallet } from '@aztec/test-wallet/server';
|
|
24
23
|
|
|
25
24
|
import { getContract } from 'viem';
|
|
26
25
|
|
|
@@ -36,6 +35,7 @@ import {
|
|
|
36
35
|
import { mintTokensToPrivate } from '../fixtures/token_utils.js';
|
|
37
36
|
import { type BalancesFn, getBalancesFn, setupSponsoredFPC } from '../fixtures/utils.js';
|
|
38
37
|
import { FeeJuicePortalTestingHarnessFactory, type GasBridgingTestHarness } from '../shared/gas_portal_test_harness.js';
|
|
38
|
+
import { TestWallet } from '../test-wallet/test_wallet.js';
|
|
39
39
|
|
|
40
40
|
/**
|
|
41
41
|
* Test fixture for testing fees. Provides the following setup steps:
|
|
@@ -113,7 +113,7 @@ export class FeesTest {
|
|
|
113
113
|
});
|
|
114
114
|
|
|
115
115
|
this.rollupContract = RollupContract.getFromConfig(this.context.config);
|
|
116
|
-
this.chainMonitor = new ChainMonitor(this.rollupContract, this.context.dateProvider
|
|
116
|
+
this.chainMonitor = new ChainMonitor(this.rollupContract, this.context.dateProvider, this.logger, 200).start();
|
|
117
117
|
|
|
118
118
|
await this.applyBaseSetup();
|
|
119
119
|
|
|
@@ -126,7 +126,7 @@ export class FeesTest {
|
|
|
126
126
|
}
|
|
127
127
|
|
|
128
128
|
setIsMarkingAsProven(b: boolean) {
|
|
129
|
-
this.context.watcher
|
|
129
|
+
this.context.watcher.setIsMarkingAsProven(b);
|
|
130
130
|
}
|
|
131
131
|
|
|
132
132
|
async catchUpProvenChain() {
|
|
@@ -157,15 +157,11 @@ export class FeesTest {
|
|
|
157
157
|
|
|
158
158
|
/** Alice mints bananaCoin tokens privately to the target address and redeems them. */
|
|
159
159
|
async mintPrivateBananas(amount: bigint, address: AztecAddress) {
|
|
160
|
-
const balanceBefore = await this.bananaCoin.methods
|
|
161
|
-
.balance_of_private(address)
|
|
162
|
-
.simulate({ from: this.aliceAddress });
|
|
160
|
+
const balanceBefore = await this.bananaCoin.methods.balance_of_private(address).simulate({ from: address });
|
|
163
161
|
|
|
164
162
|
await mintTokensToPrivate(this.bananaCoin, this.aliceAddress, address, amount);
|
|
165
163
|
|
|
166
|
-
const balanceAfter = await this.bananaCoin.methods
|
|
167
|
-
.balance_of_private(address)
|
|
168
|
-
.simulate({ from: this.aliceAddress });
|
|
164
|
+
const balanceAfter = await this.bananaCoin.methods.balance_of_private(address).simulate({ from: address });
|
|
169
165
|
expect(balanceAfter).toEqual(balanceBefore + amount);
|
|
170
166
|
}
|
|
171
167
|
|
|
@@ -188,8 +184,8 @@ export class FeesTest {
|
|
|
188
184
|
});
|
|
189
185
|
|
|
190
186
|
this.wallet = this.context.wallet;
|
|
191
|
-
this.aztecNode = this.context.aztecNodeService
|
|
192
|
-
this.aztecNodeAdmin = this.context.aztecNodeService
|
|
187
|
+
this.aztecNode = this.context.aztecNodeService;
|
|
188
|
+
this.aztecNodeAdmin = this.context.aztecNodeService;
|
|
193
189
|
this.gasSettings = GasSettings.default({ maxFeesPerGas: (await this.aztecNode.getCurrentMinFees()).mul(2) });
|
|
194
190
|
this.cheatCodes = this.context.cheatCodes;
|
|
195
191
|
this.accounts = deployedAccounts.map(a => a.address);
|
|
@@ -213,16 +209,11 @@ export class FeesTest {
|
|
|
213
209
|
|
|
214
210
|
this.feeJuiceContract = FeeJuiceContract.at(ProtocolContractAddress.FeeJuice, this.wallet);
|
|
215
211
|
|
|
216
|
-
this.getGasBalanceFn = getBalancesFn(
|
|
217
|
-
'⛽',
|
|
218
|
-
this.feeJuiceContract.methods.balance_of_public,
|
|
219
|
-
this.aliceAddress,
|
|
220
|
-
this.logger,
|
|
221
|
-
);
|
|
212
|
+
this.getGasBalanceFn = getBalancesFn('⛽', this.feeJuiceContract.methods.balance_of_public, this.logger);
|
|
222
213
|
|
|
223
214
|
this.feeJuiceBridgeTestHarness = await FeeJuicePortalTestingHarnessFactory.create({
|
|
224
|
-
aztecNode: this.context.aztecNodeService
|
|
225
|
-
aztecNodeAdmin: this.context.aztecNodeService
|
|
215
|
+
aztecNode: this.context.aztecNodeService,
|
|
216
|
+
aztecNodeAdmin: this.context.aztecNodeService,
|
|
226
217
|
l1Client: this.context.deployL1ContractsValues.l1Client,
|
|
227
218
|
wallet: this.wallet,
|
|
228
219
|
logger: this.logger,
|
|
@@ -238,16 +229,10 @@ export class FeesTest {
|
|
|
238
229
|
this.logger.info(`BananaCoin deployed at ${bananaCoin.address}`);
|
|
239
230
|
|
|
240
231
|
this.bananaCoin = bananaCoin;
|
|
241
|
-
this.getBananaPublicBalanceFn = getBalancesFn(
|
|
242
|
-
'🍌.public',
|
|
243
|
-
this.bananaCoin.methods.balance_of_public,
|
|
244
|
-
this.aliceAddress,
|
|
245
|
-
this.logger,
|
|
246
|
-
);
|
|
232
|
+
this.getBananaPublicBalanceFn = getBalancesFn('🍌.public', this.bananaCoin.methods.balance_of_public, this.logger);
|
|
247
233
|
this.getBananaPrivateBalanceFn = getBalancesFn(
|
|
248
234
|
'🍌.private',
|
|
249
235
|
this.bananaCoin.methods.balance_of_private,
|
|
250
|
-
this.aliceAddress,
|
|
251
236
|
this.logger,
|
|
252
237
|
);
|
|
253
238
|
}
|
|
@@ -44,7 +44,7 @@ export class NestedContractTest {
|
|
|
44
44
|
});
|
|
45
45
|
this.wallet = this.context.wallet;
|
|
46
46
|
[{ address: this.defaultAccountAddress }] = deployedAccounts;
|
|
47
|
-
this.aztecNode = this.context.aztecNodeService
|
|
47
|
+
this.aztecNode = this.context.aztecNodeService;
|
|
48
48
|
|
|
49
49
|
this.logger.info('Public deploy accounts');
|
|
50
50
|
await publicDeployAccounts(this.wallet, [this.defaultAccountAddress]);
|
|
@@ -98,13 +98,13 @@ export class P2PInactivityTest {
|
|
|
98
98
|
this.rollup = rollup;
|
|
99
99
|
|
|
100
100
|
if (!this.keepInitialNode) {
|
|
101
|
-
await this.test.ctx.aztecNodeService
|
|
101
|
+
await this.test.ctx.aztecNodeService.stop();
|
|
102
102
|
}
|
|
103
103
|
|
|
104
104
|
// Create all active nodes
|
|
105
105
|
this.activeNodes = await createNodes(
|
|
106
106
|
this.test.ctx.aztecNodeConfig,
|
|
107
|
-
this.test.ctx.dateProvider
|
|
107
|
+
this.test.ctx.dateProvider,
|
|
108
108
|
this.test.bootstrapNodeEnr,
|
|
109
109
|
NUM_NODES - this.inactiveNodeCount - Number(this.keepInitialNode),
|
|
110
110
|
BOOT_NODE_UDP_PORT,
|
|
@@ -118,7 +118,7 @@ export class P2PInactivityTest {
|
|
|
118
118
|
const inactiveConfig = { ...this.test.ctx.aztecNodeConfig, dontStartSequencer: true };
|
|
119
119
|
this.inactiveNodes = await createNodes(
|
|
120
120
|
inactiveConfig,
|
|
121
|
-
this.test.ctx.dateProvider
|
|
121
|
+
this.test.ctx.dateProvider,
|
|
122
122
|
this.test.bootstrapNodeEnr,
|
|
123
123
|
this.inactiveNodeCount,
|
|
124
124
|
BOOT_NODE_UDP_PORT,
|
|
@@ -129,7 +129,7 @@ export class P2PInactivityTest {
|
|
|
129
129
|
);
|
|
130
130
|
|
|
131
131
|
this.nodes = [
|
|
132
|
-
...(this.keepInitialNode ? [this.test.ctx.aztecNodeService
|
|
132
|
+
...(this.keepInitialNode ? [this.test.ctx.aztecNodeService] : []),
|
|
133
133
|
...this.activeNodes,
|
|
134
134
|
...this.inactiveNodes,
|
|
135
135
|
];
|