@aztec/end-to-end 2.1.7-rc.2 → 2.1.7-rc.4
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/fixtures/setup_p2p_test.d.ts +3 -3
- package/dest/fixtures/setup_p2p_test.d.ts.map +1 -1
- package/dest/fixtures/setup_p2p_test.js +15 -7
- package/dest/fixtures/utils.d.ts.map +1 -1
- package/dest/fixtures/utils.js +3 -0
- package/package.json +37 -37
- package/src/fixtures/setup_p2p_test.ts +20 -6
- package/src/fixtures/utils.ts +20 -10
|
@@ -17,14 +17,14 @@ export interface NodeContext {
|
|
|
17
17
|
export declare function generatePrivateKeys(startIndex: number, numberOfKeys: number): `0x${string}`[];
|
|
18
18
|
export declare function createNodes(config: AztecNodeConfig & {
|
|
19
19
|
dontStartSequencer?: boolean;
|
|
20
|
-
}, dateProvider: DateProvider, bootstrapNodeEnr: string, numNodes: number, bootNodePort: number, prefilledPublicData?: PublicDataTreeLeaf[], dataDirectory?: string, metricsPort?: number, indexOffset?: number): Promise<AztecNodeService[]>;
|
|
20
|
+
}, dateProvider: DateProvider, bootstrapNodeEnr: string, numNodes: number, bootNodePort: number, prefilledPublicData?: PublicDataTreeLeaf[], dataDirectory?: string, metricsPort?: number, indexOffset?: number, validatorsPerNode?: number): Promise<AztecNodeService[]>;
|
|
21
21
|
/** Creates a P2P enabled instance of Aztec Node Service with a validator */
|
|
22
22
|
export declare function createNode(config: AztecNodeConfig & {
|
|
23
23
|
dontStartSequencer?: boolean;
|
|
24
|
-
}, dateProvider: DateProvider, tcpPort: number, bootstrapNode: string | undefined, addressIndex: number, prefilledPublicData?: PublicDataTreeLeaf[], dataDirectory?: string, metricsPort?: number, loggerIdStorage?: AsyncLocalStorage<string>): Promise<AztecNodeService>;
|
|
24
|
+
}, dateProvider: DateProvider, tcpPort: number, bootstrapNode: string | undefined, addressIndex: number | number[], prefilledPublicData?: PublicDataTreeLeaf[], dataDirectory?: string, metricsPort?: number, loggerIdStorage?: AsyncLocalStorage<string>): Promise<AztecNodeService>;
|
|
25
25
|
/** Creates a P2P enabled instance of Aztec Node Service without a validator */
|
|
26
26
|
export declare function createNonValidatorNode(baseConfig: AztecNodeConfig, dateProvider: DateProvider, tcpPort: number, bootstrapNode: string | undefined, prefilledPublicData?: PublicDataTreeLeaf[], dataDirectory?: string, metricsPort?: number, loggerIdStorage?: AsyncLocalStorage<string>): Promise<AztecNodeService>;
|
|
27
27
|
export declare function createProverNode(config: AztecNodeConfig, tcpPort: number, bootstrapNode: string | undefined, addressIndex: number, proverNodeDeps: ProverNodeDeps & Required<Pick<ProverNodeDeps, 'dateProvider'>>, prefilledPublicData?: PublicDataTreeLeaf[], dataDirectory?: string, metricsPort?: number, loggerIdStorage?: AsyncLocalStorage<string>): Promise<import("@aztec/prover-node").ProverNode>;
|
|
28
28
|
export declare function createP2PConfig(config: AztecNodeConfig, bootstrapNodeEnr?: string, port?: number, dataDirectory?: string): Promise<AztecNodeConfig>;
|
|
29
|
-
export declare function createValidatorConfig(config: AztecNodeConfig, bootstrapNodeEnr?: string, port?: number, addressIndex?: number, dataDirectory?: string): Promise<AztecNodeConfig>;
|
|
29
|
+
export declare function createValidatorConfig(config: AztecNodeConfig, bootstrapNodeEnr?: string, port?: number, addressIndex?: number | number[], dataDirectory?: string): Promise<AztecNodeConfig>;
|
|
30
30
|
//# sourceMappingURL=setup_p2p_test.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup_p2p_test.d.ts","sourceRoot":"","sources":["../../src/fixtures/setup_p2p_test.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,KAAK,eAAe,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"setup_p2p_test.d.ts","sourceRoot":"","sources":["../../src/fixtures/setup_p2p_test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Test fixtures and utilities to set up and run a test using multiple validators
|
|
3
3
|
*/ import { AztecNodeService } from '@aztec/aztec-node';
|
|
4
|
+
import { range } from '@aztec/foundation/array';
|
|
4
5
|
import { SecretValue } from '@aztec/foundation/config';
|
|
5
6
|
import { addLogNameHandler, removeLogNameHandler } from '@aztec/foundation/log';
|
|
6
7
|
import { bufferToHex } from '@aztec/foundation/string';
|
|
@@ -21,7 +22,7 @@ export function generatePrivateKeys(startIndex, numberOfKeys) {
|
|
|
21
22
|
}
|
|
22
23
|
return privateKeys;
|
|
23
24
|
}
|
|
24
|
-
export async function createNodes(config, dateProvider, bootstrapNodeEnr, numNodes, bootNodePort, prefilledPublicData, dataDirectory, metricsPort, indexOffset = 0) {
|
|
25
|
+
export async function createNodes(config, dateProvider, bootstrapNodeEnr, numNodes, bootNodePort, prefilledPublicData, dataDirectory, metricsPort, indexOffset = 0, validatorsPerNode = 1) {
|
|
25
26
|
const nodePromises = [];
|
|
26
27
|
const loggerIdStorage = new AsyncLocalStorage();
|
|
27
28
|
const logNameHandler = (module)=>loggerIdStorage.getStore() ? `${module}:${loggerIdStorage.getStore()}` : module;
|
|
@@ -30,8 +31,11 @@ export async function createNodes(config, dateProvider, bootstrapNodeEnr, numNod
|
|
|
30
31
|
const index = indexOffset + i;
|
|
31
32
|
// We run on ports from the bootnode upwards
|
|
32
33
|
const port = bootNodePort + 1 + index;
|
|
34
|
+
// Determine validator indices for this node
|
|
35
|
+
const validatorIndices = validatorsPerNode === 1 ? index : range(validatorsPerNode, validatorsPerNode * index);
|
|
36
|
+
// Assign data directory
|
|
33
37
|
const dataDir = dataDirectory ? `${dataDirectory}-${index}` : undefined;
|
|
34
|
-
const nodePromise = createNode(config, dateProvider, port, bootstrapNodeEnr,
|
|
38
|
+
const nodePromise = createNode(config, dateProvider, port, bootstrapNodeEnr, validatorIndices, prefilledPublicData, dataDir, metricsPort, loggerIdStorage);
|
|
35
39
|
nodePromises.push(nodePromise);
|
|
36
40
|
}
|
|
37
41
|
const nodes = await Promise.all(nodePromises);
|
|
@@ -109,16 +113,20 @@ export async function createP2PConfig(config, bootstrapNodeEnr, port, dataDirect
|
|
|
109
113
|
return nodeConfig;
|
|
110
114
|
}
|
|
111
115
|
export async function createValidatorConfig(config, bootstrapNodeEnr, port, addressIndex = 1, dataDirectory) {
|
|
112
|
-
const
|
|
116
|
+
const addressIndices = Array.isArray(addressIndex) ? addressIndex : [
|
|
117
|
+
addressIndex
|
|
118
|
+
];
|
|
119
|
+
if (addressIndices.length === 0) {
|
|
120
|
+
throw new Error('At least one address index must be provided to create a validator config');
|
|
121
|
+
}
|
|
122
|
+
const attesterPrivateKeys = addressIndices.map((index)=>bufferToHex(getPrivateKeyFromIndex(ATTESTER_PRIVATE_KEYS_START_INDEX + index)));
|
|
113
123
|
const p2pConfig = await createP2PConfig(config, bootstrapNodeEnr, port, dataDirectory);
|
|
114
124
|
const nodeConfig = {
|
|
115
125
|
...config,
|
|
116
126
|
...p2pConfig,
|
|
117
|
-
validatorPrivateKeys: new SecretValue(
|
|
118
|
-
attesterPrivateKey
|
|
119
|
-
]),
|
|
127
|
+
validatorPrivateKeys: new SecretValue(attesterPrivateKeys),
|
|
120
128
|
publisherPrivateKeys: [
|
|
121
|
-
new SecretValue(
|
|
129
|
+
new SecretValue(attesterPrivateKeys[0])
|
|
122
130
|
]
|
|
123
131
|
};
|
|
124
132
|
return nodeConfig;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/fixtures/utils.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,kBAAkB,EAKxB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,KAAK,eAAe,EAAsC,MAAM,mBAAmB,CAAC;AAC7F,OAAO,EAEL,KAAK,0BAA0B,EAC/B,KAAK,YAAY,EACjB,KAAK,SAAS,EAEd,KAAK,cAAc,EACnB,KAAK,MAAM,EACX,KAAK,GAAG,EACR,KAAK,MAAM,EAOZ,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEpE,OAAO,EAAE,KAAK,cAAc,EAAwB,MAAM,yBAAyB,CAAC;AAEpF,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,2BAA2B,EAGhC,KAAK,QAAQ,EAOd,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAEL,aAAa,EAGb,UAAU,EACX,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGvD,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAI9C,OAAO,EAAgB,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAI9D,OAAO,EAAE,oBAAoB,EAAkC,MAAM,yBAAyB,CAAC;AAE/F,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,gBAAgB,EAAE,KAAK,cAAc,EAAoB,MAAM,oBAAoB,CAAC;AACnH,OAAO,EACL,KAAK,UAAU,EACf,KAAK,gBAAgB,EAGtB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAI/D,OAAO,EACL,KAAK,2BAA2B,EAGjC,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAGtE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAG3B,MAAM,yBAAyB,CAAC;AASjC,OAAO,EAAE,KAAK,KAAK,EAAE,KAAK,SAAS,EAAY,KAAK,iBAAiB,EAAe,MAAM,MAAM,CAAC;AASjG,OAAO,EAAE,0CAA0C,EAAE,MAAM,uCAAuC,CAAC;AACnG,OAAO,EAAE,UAAU,EAAE,CAAC;AAmBtB,eAAO,MAAM,sBAAsB,GAAI,OAAO,MAAM,KAAG,MAAM,GAAG,IAI/D,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAC3B,WAAW,MAAM,EAAE,EACnB,SAAS,SAAS,GAAG,iBAAiB,EACtC,QAAQ,MAAM,EACd,OAAM,OAAO,CAAC,qBAAqB,CAAM,EACzC,QAAO,KAAe,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/fixtures/utils.ts"],"names":[],"mappings":"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"}
|
package/dest/fixtures/utils.js
CHANGED
|
@@ -79,6 +79,9 @@ export const setupL1Contracts = async (l1RpcUrls, account, logger, args = {}, ch
|
|
|
79
79
|
...getL1ContractsConfigEnvVars(),
|
|
80
80
|
realVerifier: false,
|
|
81
81
|
...args
|
|
82
|
+
}, {
|
|
83
|
+
priorityFeeBumpPercentage: 0,
|
|
84
|
+
priorityFeeRetryBumpPercentage: 0
|
|
82
85
|
});
|
|
83
86
|
return l1Data;
|
|
84
87
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/end-to-end",
|
|
3
|
-
"version": "2.1.7-rc.
|
|
3
|
+
"version": "2.1.7-rc.4",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": "./dest/index.js",
|
|
6
6
|
"inherits": [
|
|
@@ -25,41 +25,41 @@
|
|
|
25
25
|
"formatting": "run -T prettier --check ./src && run -T eslint ./src"
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@aztec/accounts": "2.1.7-rc.
|
|
29
|
-
"@aztec/archiver": "2.1.7-rc.
|
|
30
|
-
"@aztec/aztec": "2.1.7-rc.
|
|
31
|
-
"@aztec/aztec-node": "2.1.7-rc.
|
|
32
|
-
"@aztec/aztec.js": "2.1.7-rc.
|
|
33
|
-
"@aztec/bb-prover": "2.1.7-rc.
|
|
34
|
-
"@aztec/blob-lib": "2.1.7-rc.
|
|
35
|
-
"@aztec/blob-sink": "2.1.7-rc.
|
|
36
|
-
"@aztec/bot": "2.1.7-rc.
|
|
37
|
-
"@aztec/cli": "2.1.7-rc.
|
|
38
|
-
"@aztec/constants": "2.1.7-rc.
|
|
39
|
-
"@aztec/entrypoints": "2.1.7-rc.
|
|
40
|
-
"@aztec/epoch-cache": "2.1.7-rc.
|
|
41
|
-
"@aztec/ethereum": "2.1.7-rc.
|
|
42
|
-
"@aztec/foundation": "2.1.7-rc.
|
|
43
|
-
"@aztec/kv-store": "2.1.7-rc.
|
|
44
|
-
"@aztec/l1-artifacts": "2.1.7-rc.
|
|
45
|
-
"@aztec/merkle-tree": "2.1.7-rc.
|
|
46
|
-
"@aztec/node-keystore": "2.1.7-rc.
|
|
47
|
-
"@aztec/noir-contracts.js": "2.1.7-rc.
|
|
48
|
-
"@aztec/noir-noirc_abi": "2.1.7-rc.
|
|
49
|
-
"@aztec/noir-protocol-circuits-types": "2.1.7-rc.
|
|
50
|
-
"@aztec/noir-test-contracts.js": "2.1.7-rc.
|
|
51
|
-
"@aztec/p2p": "2.1.7-rc.
|
|
52
|
-
"@aztec/protocol-contracts": "2.1.7-rc.
|
|
53
|
-
"@aztec/prover-client": "2.1.7-rc.
|
|
54
|
-
"@aztec/prover-node": "2.1.7-rc.
|
|
55
|
-
"@aztec/pxe": "2.1.7-rc.
|
|
56
|
-
"@aztec/sequencer-client": "2.1.7-rc.
|
|
57
|
-
"@aztec/simulator": "2.1.7-rc.
|
|
58
|
-
"@aztec/slasher": "2.1.7-rc.
|
|
59
|
-
"@aztec/stdlib": "2.1.7-rc.
|
|
60
|
-
"@aztec/telemetry-client": "2.1.7-rc.
|
|
61
|
-
"@aztec/validator-client": "2.1.7-rc.
|
|
62
|
-
"@aztec/world-state": "2.1.7-rc.
|
|
28
|
+
"@aztec/accounts": "2.1.7-rc.4",
|
|
29
|
+
"@aztec/archiver": "2.1.7-rc.4",
|
|
30
|
+
"@aztec/aztec": "2.1.7-rc.4",
|
|
31
|
+
"@aztec/aztec-node": "2.1.7-rc.4",
|
|
32
|
+
"@aztec/aztec.js": "2.1.7-rc.4",
|
|
33
|
+
"@aztec/bb-prover": "2.1.7-rc.4",
|
|
34
|
+
"@aztec/blob-lib": "2.1.7-rc.4",
|
|
35
|
+
"@aztec/blob-sink": "2.1.7-rc.4",
|
|
36
|
+
"@aztec/bot": "2.1.7-rc.4",
|
|
37
|
+
"@aztec/cli": "2.1.7-rc.4",
|
|
38
|
+
"@aztec/constants": "2.1.7-rc.4",
|
|
39
|
+
"@aztec/entrypoints": "2.1.7-rc.4",
|
|
40
|
+
"@aztec/epoch-cache": "2.1.7-rc.4",
|
|
41
|
+
"@aztec/ethereum": "2.1.7-rc.4",
|
|
42
|
+
"@aztec/foundation": "2.1.7-rc.4",
|
|
43
|
+
"@aztec/kv-store": "2.1.7-rc.4",
|
|
44
|
+
"@aztec/l1-artifacts": "2.1.7-rc.4",
|
|
45
|
+
"@aztec/merkle-tree": "2.1.7-rc.4",
|
|
46
|
+
"@aztec/node-keystore": "2.1.7-rc.4",
|
|
47
|
+
"@aztec/noir-contracts.js": "2.1.7-rc.4",
|
|
48
|
+
"@aztec/noir-noirc_abi": "2.1.7-rc.4",
|
|
49
|
+
"@aztec/noir-protocol-circuits-types": "2.1.7-rc.4",
|
|
50
|
+
"@aztec/noir-test-contracts.js": "2.1.7-rc.4",
|
|
51
|
+
"@aztec/p2p": "2.1.7-rc.4",
|
|
52
|
+
"@aztec/protocol-contracts": "2.1.7-rc.4",
|
|
53
|
+
"@aztec/prover-client": "2.1.7-rc.4",
|
|
54
|
+
"@aztec/prover-node": "2.1.7-rc.4",
|
|
55
|
+
"@aztec/pxe": "2.1.7-rc.4",
|
|
56
|
+
"@aztec/sequencer-client": "2.1.7-rc.4",
|
|
57
|
+
"@aztec/simulator": "2.1.7-rc.4",
|
|
58
|
+
"@aztec/slasher": "2.1.7-rc.4",
|
|
59
|
+
"@aztec/stdlib": "2.1.7-rc.4",
|
|
60
|
+
"@aztec/telemetry-client": "2.1.7-rc.4",
|
|
61
|
+
"@aztec/validator-client": "2.1.7-rc.4",
|
|
62
|
+
"@aztec/world-state": "2.1.7-rc.4",
|
|
63
63
|
"@iarna/toml": "^2.2.5",
|
|
64
64
|
"@jest/globals": "^30.0.0",
|
|
65
65
|
"@noble/curves": "=1.0.0",
|
|
@@ -96,7 +96,7 @@
|
|
|
96
96
|
"tslib": "^2.4.0",
|
|
97
97
|
"typescript": "^5.3.3",
|
|
98
98
|
"util": "^0.12.5",
|
|
99
|
-
"viem": "npm:@
|
|
99
|
+
"viem": "npm:@aztec/viem@2.38.2",
|
|
100
100
|
"zod": "^3.23.8"
|
|
101
101
|
},
|
|
102
102
|
"devDependencies": {
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { type AztecNodeConfig, AztecNodeService } from '@aztec/aztec-node';
|
|
5
5
|
import type { SentTx } from '@aztec/aztec.js';
|
|
6
|
+
import { range } from '@aztec/foundation/array';
|
|
6
7
|
import { SecretValue } from '@aztec/foundation/config';
|
|
7
8
|
import { addLogNameHandler, removeLogNameHandler } from '@aztec/foundation/log';
|
|
8
9
|
import { bufferToHex } from '@aztec/foundation/string';
|
|
@@ -48,6 +49,7 @@ export async function createNodes(
|
|
|
48
49
|
dataDirectory?: string,
|
|
49
50
|
metricsPort?: number,
|
|
50
51
|
indexOffset = 0,
|
|
52
|
+
validatorsPerNode = 1,
|
|
51
53
|
): Promise<AztecNodeService[]> {
|
|
52
54
|
const nodePromises: Promise<AztecNodeService>[] = [];
|
|
53
55
|
const loggerIdStorage = new AsyncLocalStorage<string>();
|
|
@@ -60,13 +62,18 @@ export async function createNodes(
|
|
|
60
62
|
// We run on ports from the bootnode upwards
|
|
61
63
|
const port = bootNodePort + 1 + index;
|
|
62
64
|
|
|
65
|
+
// Determine validator indices for this node
|
|
66
|
+
const validatorIndices = validatorsPerNode === 1 ? index : range(validatorsPerNode, validatorsPerNode * index);
|
|
67
|
+
|
|
68
|
+
// Assign data directory
|
|
63
69
|
const dataDir = dataDirectory ? `${dataDirectory}-${index}` : undefined;
|
|
70
|
+
|
|
64
71
|
const nodePromise = createNode(
|
|
65
72
|
config,
|
|
66
73
|
dateProvider,
|
|
67
74
|
port,
|
|
68
75
|
bootstrapNodeEnr,
|
|
69
|
-
|
|
76
|
+
validatorIndices,
|
|
70
77
|
prefilledPublicData,
|
|
71
78
|
dataDir,
|
|
72
79
|
metricsPort,
|
|
@@ -92,7 +99,7 @@ export async function createNode(
|
|
|
92
99
|
dateProvider: DateProvider,
|
|
93
100
|
tcpPort: number,
|
|
94
101
|
bootstrapNode: string | undefined,
|
|
95
|
-
addressIndex: number,
|
|
102
|
+
addressIndex: number | number[],
|
|
96
103
|
prefilledPublicData?: PublicDataTreeLeaf[],
|
|
97
104
|
dataDirectory?: string,
|
|
98
105
|
metricsPort?: number,
|
|
@@ -196,16 +203,23 @@ export async function createValidatorConfig(
|
|
|
196
203
|
config: AztecNodeConfig,
|
|
197
204
|
bootstrapNodeEnr?: string,
|
|
198
205
|
port?: number,
|
|
199
|
-
addressIndex: number = 1,
|
|
206
|
+
addressIndex: number | number[] = 1,
|
|
200
207
|
dataDirectory?: string,
|
|
201
208
|
) {
|
|
202
|
-
const
|
|
209
|
+
const addressIndices = Array.isArray(addressIndex) ? addressIndex : [addressIndex];
|
|
210
|
+
if (addressIndices.length === 0) {
|
|
211
|
+
throw new Error('At least one address index must be provided to create a validator config');
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
const attesterPrivateKeys = addressIndices.map(index =>
|
|
215
|
+
bufferToHex(getPrivateKeyFromIndex(ATTESTER_PRIVATE_KEYS_START_INDEX + index)!),
|
|
216
|
+
);
|
|
203
217
|
const p2pConfig = await createP2PConfig(config, bootstrapNodeEnr, port, dataDirectory);
|
|
204
218
|
const nodeConfig: AztecNodeConfig = {
|
|
205
219
|
...config,
|
|
206
220
|
...p2pConfig,
|
|
207
|
-
validatorPrivateKeys: new SecretValue(
|
|
208
|
-
publisherPrivateKeys: [new SecretValue(
|
|
221
|
+
validatorPrivateKeys: new SecretValue(attesterPrivateKeys),
|
|
222
|
+
publisherPrivateKeys: [new SecretValue(attesterPrivateKeys[0])],
|
|
209
223
|
};
|
|
210
224
|
|
|
211
225
|
return nodeConfig;
|
package/src/fixtures/utils.ts
CHANGED
|
@@ -140,16 +140,26 @@ export const setupL1Contracts = async (
|
|
|
140
140
|
args: Partial<DeployL1ContractsArgs> = {},
|
|
141
141
|
chain: Chain = foundry,
|
|
142
142
|
) => {
|
|
143
|
-
const l1Data = await deployL1Contracts(
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
143
|
+
const l1Data = await deployL1Contracts(
|
|
144
|
+
l1RpcUrls,
|
|
145
|
+
account,
|
|
146
|
+
chain,
|
|
147
|
+
logger,
|
|
148
|
+
{
|
|
149
|
+
vkTreeRoot: getVKTreeRoot(),
|
|
150
|
+
protocolContractTreeRoot,
|
|
151
|
+
genesisArchiveRoot: args.genesisArchiveRoot ?? new Fr(GENESIS_ARCHIVE_ROOT),
|
|
152
|
+
salt: args.salt,
|
|
153
|
+
initialValidators: args.initialValidators,
|
|
154
|
+
...getL1ContractsConfigEnvVars(),
|
|
155
|
+
realVerifier: false,
|
|
156
|
+
...args,
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
priorityFeeBumpPercentage: 0,
|
|
160
|
+
priorityFeeRetryBumpPercentage: 0,
|
|
161
|
+
},
|
|
162
|
+
);
|
|
153
163
|
|
|
154
164
|
return l1Data;
|
|
155
165
|
};
|