@aztec/aztec-node 2.0.3 → 2.1.0-rc.2
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.
|
@@ -2,7 +2,7 @@ import { type ArchiverConfig } from '@aztec/archiver/config';
|
|
|
2
2
|
import { type GenesisStateConfig, type L1ContractAddresses } from '@aztec/ethereum';
|
|
3
3
|
import { type ConfigMappingsType } from '@aztec/foundation/config';
|
|
4
4
|
import { type DataStoreConfig } from '@aztec/kv-store/config';
|
|
5
|
-
import { type KeyStore
|
|
5
|
+
import { type KeyStore } from '@aztec/node-keystore';
|
|
6
6
|
import { type SharedNodeConfig } from '@aztec/node-lib/config';
|
|
7
7
|
import { type P2PConfig } from '@aztec/p2p/config';
|
|
8
8
|
import { type ProverClientUserConfig } from '@aztec/prover-client/config';
|
|
@@ -16,7 +16,7 @@ export { sequencerClientConfigMappings, type SequencerClientConfig };
|
|
|
16
16
|
/**
|
|
17
17
|
* The configuration the aztec node.
|
|
18
18
|
*/
|
|
19
|
-
export type AztecNodeConfig = ArchiverConfig & SequencerClientConfig & ValidatorClientConfig & ProverClientUserConfig & WorldStateConfig & Pick<ProverClientUserConfig, 'bbBinaryPath' | 'bbWorkingDirectory' | 'realProofs'> & P2PConfig & DataStoreConfig &
|
|
19
|
+
export type AztecNodeConfig = ArchiverConfig & SequencerClientConfig & ValidatorClientConfig & ProverClientUserConfig & WorldStateConfig & Pick<ProverClientUserConfig, 'bbBinaryPath' | 'bbWorkingDirectory' | 'realProofs'> & P2PConfig & DataStoreConfig & SentinelConfig & SharedNodeConfig & GenesisStateConfig & NodeRPCConfig & SlasherConfig & {
|
|
20
20
|
/** L1 contracts addresses */
|
|
21
21
|
l1Contracts: L1ContractAddresses;
|
|
22
22
|
/** Whether the validator is disabled for this node */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/aztec-node/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAA0B,MAAM,wBAAwB,CAAC;AACrF,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EAGzB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,KAAK,kBAAkB,EAA8C,MAAM,0BAA0B,CAAC;AAE/G,OAAO,EAAE,KAAK,eAAe,EAAsB,MAAM,wBAAwB,CAAC;AAClF,OAAO,EACL,KAAK,QAAQ,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/aztec-node/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAA0B,MAAM,wBAAwB,CAAC;AACrF,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EAGzB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,KAAK,kBAAkB,EAA8C,MAAM,0BAA0B,CAAC;AAE/G,OAAO,EAAE,KAAK,eAAe,EAAsB,MAAM,wBAAwB,CAAC;AAClF,OAAO,EACL,KAAK,QAAQ,EAId,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,KAAK,gBAAgB,EAA4B,MAAM,wBAAwB,CAAC;AACzF,OAAO,EAAE,KAAK,SAAS,EAAqB,MAAM,mBAAmB,CAAC;AACtE,OAAO,EAAE,KAAK,sBAAsB,EAA8B,MAAM,6BAA6B,CAAC;AACtG,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,cAAc,EACnB,6BAA6B,EAC9B,MAAM,gCAAgC,CAAC;AAGxC,OAAO,EAAE,KAAK,aAAa,EAAyB,MAAM,sBAAsB,CAAC;AACjF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,KAAK,qBAAqB,EAAiC,MAAM,gCAAgC,CAAC;AAC3G,OAAO,EAAE,KAAK,gBAAgB,EAA4B,MAAM,2BAA2B,CAAC;AAI5F,OAAO,EAAE,KAAK,cAAc,EAA0B,MAAM,uBAAuB,CAAC;AAEpF,OAAO,EAAE,6BAA6B,EAAE,KAAK,qBAAqB,EAAE,CAAC;AAErE;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,cAAc,GAC1C,qBAAqB,GACrB,qBAAqB,GACrB,sBAAsB,GACtB,gBAAgB,GAChB,IAAI,CAAC,sBAAsB,EAAE,cAAc,GAAG,oBAAoB,GAAG,YAAY,CAAC,GAClF,SAAS,GACT,eAAe,GACf,cAAc,GACd,gBAAgB,GAChB,kBAAkB,GAClB,aAAa,GACb,aAAa,GAAG;IACd,6BAA6B;IAC7B,WAAW,EAAE,mBAAmB,CAAC;IACjC,sDAAsD;IACtD,gBAAgB,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEJ,eAAO,MAAM,uBAAuB,EAAE,kBAAkB,CAAC,eAAe,CAuBvE,CAAC;AAEF;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,eAAe,CAElD;AAoED,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,cAAc,GAAG,qBAAqB,GAAG,gBAAgB,GAChE,QAAQ,GAAG,SAAS,CAMtB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/aztec-node/server.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,uBAAuB,EAAwB,MAAM,yBAAyB,CAAC;AAC7F,OAAO,EACL,cAAc,EAEd,KAAK,wBAAwB,EAC7B,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAC1B,KAAK,uBAAuB,EAC7B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAc,KAAK,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/aztec-node/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,7 +10,6 @@ import { createBlobSinkClient } from '@aztec/blob-sink/client';
|
|
|
10
10
|
import { INITIAL_L2_BLOCK_NUM } from '@aztec/constants';
|
|
11
11
|
import { EpochCache } from '@aztec/epoch-cache';
|
|
12
12
|
import { RegistryContract, RollupContract, createEthereumChain, getPublicClient } from '@aztec/ethereum';
|
|
13
|
-
import { createL1TxUtilsWithBlobsFromEthSigner } from '@aztec/ethereum/l1-tx-utils-with-blobs';
|
|
14
13
|
import { compactArray, pick } from '@aztec/foundation/collection';
|
|
15
14
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
16
15
|
import { Fr } from '@aztec/foundation/fields';
|
|
@@ -22,6 +21,7 @@ import { DateProvider, Timer } from '@aztec/foundation/timer';
|
|
|
22
21
|
import { MembershipWitness } from '@aztec/foundation/trees';
|
|
23
22
|
import { KeystoreManager, loadKeystores, mergeKeystores } from '@aztec/node-keystore';
|
|
24
23
|
import { trySnapshotSync, uploadSnapshot } from '@aztec/node-lib/actions';
|
|
24
|
+
import { createL1TxUtilsWithBlobsFromEthSigner } from '@aztec/node-lib/factories';
|
|
25
25
|
import { createP2PClient, getDefaultAllowedSetupFunctions } from '@aztec/p2p';
|
|
26
26
|
import { ProtocolContractAddress } from '@aztec/protocol-contracts';
|
|
27
27
|
import { BlockBuilder, GlobalVariableBuilder, SequencerClient, createValidatorForAcceptingTxs } from '@aztec/sequencer-client';
|
|
@@ -38,7 +38,7 @@ import { MerkleTreeId, NullifierMembershipWitness, PublicDataWitness } from '@az
|
|
|
38
38
|
import { PublicSimulationOutput, TxReceipt, TxStatus } from '@aztec/stdlib/tx';
|
|
39
39
|
import { getPackageVersion } from '@aztec/stdlib/update-checker';
|
|
40
40
|
import { Attributes, getTelemetryClient, trackSpan } from '@aztec/telemetry-client';
|
|
41
|
-
import { NodeKeystoreAdapter, ValidatorClient, createValidatorClient } from '@aztec/validator-client';
|
|
41
|
+
import { NodeKeystoreAdapter, ValidatorClient, createBlockProposalHandler, createValidatorClient } from '@aztec/validator-client';
|
|
42
42
|
import { createWorldStateSynchronizer } from '@aztec/world-state';
|
|
43
43
|
import { createPublicClient, fallback, http } from 'viem';
|
|
44
44
|
import { createSentinel } from '../sentinel/factory.js';
|
|
@@ -135,6 +135,7 @@ import { NodeMetrics } from './node_metrics.js';
|
|
|
135
135
|
keyStoreManager = new KeystoreManager(keyStore);
|
|
136
136
|
}
|
|
137
137
|
}
|
|
138
|
+
await keyStoreManager?.validateSigners();
|
|
138
139
|
// If we are a validator, verify our configuration before doing too much more.
|
|
139
140
|
if (!config.disableValidator) {
|
|
140
141
|
if (keyStoreManager === undefined) {
|
|
@@ -192,17 +193,53 @@ import { NodeMetrics } from './node_metrics.js';
|
|
|
192
193
|
const proofVerifier = new QueuedIVCVerifier(config, circuitVerifier);
|
|
193
194
|
// create the tx pool and the p2p client, which will need the l2 block source
|
|
194
195
|
const p2pClient = await createP2PClient(P2PClientType.Full, config, archiver, proofVerifier, worldStateSynchronizer, epochCache, packageVersion, dateProvider, telemetry, deps.p2pClientDeps);
|
|
195
|
-
//
|
|
196
|
-
await worldStateSynchronizer.start();
|
|
197
|
-
// Start p2p. Note that it depends on world state to be running.
|
|
198
|
-
await p2pClient.start();
|
|
196
|
+
// We should really not be modifying the config object
|
|
199
197
|
config.txPublicSetupAllowList = config.txPublicSetupAllowList ?? await getDefaultAllowedSetupFunctions();
|
|
200
198
|
const blockBuilder = new BlockBuilder({
|
|
201
199
|
...config,
|
|
202
200
|
l1GenesisTime,
|
|
203
201
|
slotDuration: Number(slotDuration)
|
|
204
202
|
}, worldStateSynchronizer, archiver, dateProvider, telemetry);
|
|
203
|
+
// We'll accumulate sentinel watchers here
|
|
205
204
|
const watchers = [];
|
|
205
|
+
// Create validator client if required
|
|
206
|
+
const validatorClient = createValidatorClient(config, {
|
|
207
|
+
p2pClient,
|
|
208
|
+
telemetry,
|
|
209
|
+
dateProvider,
|
|
210
|
+
epochCache,
|
|
211
|
+
blockBuilder,
|
|
212
|
+
blockSource: archiver,
|
|
213
|
+
l1ToL2MessageSource: archiver,
|
|
214
|
+
keyStoreManager
|
|
215
|
+
});
|
|
216
|
+
// If we have a validator client, register it as a source of offenses for the slasher,
|
|
217
|
+
// and have it register callbacks on the p2p client *before* we start it, otherwise messages
|
|
218
|
+
// like attestations or auths will fail.
|
|
219
|
+
if (validatorClient) {
|
|
220
|
+
watchers.push(validatorClient);
|
|
221
|
+
if (!options.dontStartSequencer) {
|
|
222
|
+
await validatorClient.registerHandlers();
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
// If there's no validator client but alwaysReexecuteBlockProposals is enabled,
|
|
226
|
+
// create a BlockProposalHandler to reexecute block proposals for monitoring
|
|
227
|
+
if (!validatorClient && config.alwaysReexecuteBlockProposals) {
|
|
228
|
+
log.info('Setting up block proposal reexecution for monitoring');
|
|
229
|
+
createBlockProposalHandler(config, {
|
|
230
|
+
blockBuilder,
|
|
231
|
+
epochCache,
|
|
232
|
+
blockSource: archiver,
|
|
233
|
+
l1ToL2MessageSource: archiver,
|
|
234
|
+
p2pClient,
|
|
235
|
+
dateProvider,
|
|
236
|
+
telemetry
|
|
237
|
+
}).registerForReexecution(p2pClient);
|
|
238
|
+
}
|
|
239
|
+
// Start world state and wait for it to sync to the archiver.
|
|
240
|
+
await worldStateSynchronizer.start();
|
|
241
|
+
// Start p2p. Note that it depends on world state to be running.
|
|
242
|
+
await p2pClient.start();
|
|
206
243
|
const validatorsSentinel = await createSentinel(epochCache, archiver, p2pClient, config);
|
|
207
244
|
if (validatorsSentinel) {
|
|
208
245
|
// we can run a sentinel without trying to slash.
|
|
@@ -224,19 +261,6 @@ import { NodeMetrics } from './node_metrics.js';
|
|
|
224
261
|
await attestationsBlockWatcher.start();
|
|
225
262
|
watchers.push(attestationsBlockWatcher);
|
|
226
263
|
}
|
|
227
|
-
const validatorClient = createValidatorClient(config, {
|
|
228
|
-
p2pClient,
|
|
229
|
-
telemetry,
|
|
230
|
-
dateProvider,
|
|
231
|
-
epochCache,
|
|
232
|
-
blockBuilder,
|
|
233
|
-
blockSource: archiver,
|
|
234
|
-
l1ToL2MessageSource: archiver,
|
|
235
|
-
keyStoreManager
|
|
236
|
-
});
|
|
237
|
-
if (validatorClient) {
|
|
238
|
-
watchers.push(validatorClient);
|
|
239
|
-
}
|
|
240
264
|
log.verbose(`All Aztec Node subsystems synced`);
|
|
241
265
|
// Validator enabled, create/start relevant service
|
|
242
266
|
let sequencer;
|
|
@@ -247,8 +271,13 @@ import { NodeMetrics } from './node_metrics.js';
|
|
|
247
271
|
const validatorAddresses = keyStoreManager ? NodeKeystoreAdapter.fromKeyStoreManager(keyStoreManager).getAddresses() : [];
|
|
248
272
|
slasherClient = await createSlasher(config, config.l1Contracts, getPublicClient(config), watchers, dateProvider, epochCache, validatorAddresses, undefined);
|
|
249
273
|
await slasherClient.start();
|
|
250
|
-
const l1TxUtils = keyStoreManager.createAllValidatorPublisherSigners()
|
|
251
|
-
|
|
274
|
+
const l1TxUtils = await createL1TxUtilsWithBlobsFromEthSigner(publicClient, keyStoreManager.createAllValidatorPublisherSigners(), {
|
|
275
|
+
...config,
|
|
276
|
+
scope: 'sequencer'
|
|
277
|
+
}, {
|
|
278
|
+
telemetry,
|
|
279
|
+
logger: log.createChild('l1-tx-utils'),
|
|
280
|
+
dateProvider
|
|
252
281
|
});
|
|
253
282
|
sequencer = await SequencerClient.new(config, {
|
|
254
283
|
// if deps were provided, they should override the defaults,
|
|
@@ -272,6 +301,8 @@ import { NodeMetrics } from './node_metrics.js';
|
|
|
272
301
|
if (!options.dontStartSequencer && sequencer) {
|
|
273
302
|
await sequencer.start();
|
|
274
303
|
log.verbose(`Sequencer started`);
|
|
304
|
+
} else if (sequencer) {
|
|
305
|
+
log.warn(`Sequencer created but not started`);
|
|
275
306
|
}
|
|
276
307
|
return new AztecNodeService(config, p2pClient, archiver, archiver, archiver, archiver, worldStateSynchronizer, sequencer, slasherClient, validatorsSentinel, epochPruneWatcher, ethereumChain.chainInfo.id, config.rollupVersion, new GlobalVariableBuilder(config), epochCache, packageVersion, proofVerifier, telemetry, log);
|
|
277
308
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/aztec-node",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.1.0-rc.2",
|
|
4
4
|
"main": "dest/index.js",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -66,31 +66,31 @@
|
|
|
66
66
|
]
|
|
67
67
|
},
|
|
68
68
|
"dependencies": {
|
|
69
|
-
"@aztec/archiver": "2.0.
|
|
70
|
-
"@aztec/bb-prover": "2.0.
|
|
71
|
-
"@aztec/blob-sink": "2.0.
|
|
72
|
-
"@aztec/constants": "2.0.
|
|
73
|
-
"@aztec/epoch-cache": "2.0.
|
|
74
|
-
"@aztec/ethereum": "2.0.
|
|
75
|
-
"@aztec/foundation": "2.0.
|
|
76
|
-
"@aztec/kv-store": "2.0.
|
|
77
|
-
"@aztec/l1-artifacts": "2.0.
|
|
78
|
-
"@aztec/merkle-tree": "2.0.
|
|
79
|
-
"@aztec/node-keystore": "2.0.
|
|
80
|
-
"@aztec/node-lib": "2.0.
|
|
81
|
-
"@aztec/noir-protocol-circuits-types": "2.0.
|
|
82
|
-
"@aztec/p2p": "2.0.
|
|
83
|
-
"@aztec/protocol-contracts": "2.0.
|
|
84
|
-
"@aztec/prover-client": "2.0.
|
|
85
|
-
"@aztec/sequencer-client": "2.0.
|
|
86
|
-
"@aztec/simulator": "2.0.
|
|
87
|
-
"@aztec/slasher": "2.0.
|
|
88
|
-
"@aztec/stdlib": "2.0.
|
|
89
|
-
"@aztec/telemetry-client": "2.0.
|
|
90
|
-
"@aztec/validator-client": "2.0.
|
|
91
|
-
"@aztec/world-state": "2.0.
|
|
69
|
+
"@aztec/archiver": "2.1.0-rc.2",
|
|
70
|
+
"@aztec/bb-prover": "2.1.0-rc.2",
|
|
71
|
+
"@aztec/blob-sink": "2.1.0-rc.2",
|
|
72
|
+
"@aztec/constants": "2.1.0-rc.2",
|
|
73
|
+
"@aztec/epoch-cache": "2.1.0-rc.2",
|
|
74
|
+
"@aztec/ethereum": "2.1.0-rc.2",
|
|
75
|
+
"@aztec/foundation": "2.1.0-rc.2",
|
|
76
|
+
"@aztec/kv-store": "2.1.0-rc.2",
|
|
77
|
+
"@aztec/l1-artifacts": "2.1.0-rc.2",
|
|
78
|
+
"@aztec/merkle-tree": "2.1.0-rc.2",
|
|
79
|
+
"@aztec/node-keystore": "2.1.0-rc.2",
|
|
80
|
+
"@aztec/node-lib": "2.1.0-rc.2",
|
|
81
|
+
"@aztec/noir-protocol-circuits-types": "2.1.0-rc.2",
|
|
82
|
+
"@aztec/p2p": "2.1.0-rc.2",
|
|
83
|
+
"@aztec/protocol-contracts": "2.1.0-rc.2",
|
|
84
|
+
"@aztec/prover-client": "2.1.0-rc.2",
|
|
85
|
+
"@aztec/sequencer-client": "2.1.0-rc.2",
|
|
86
|
+
"@aztec/simulator": "2.1.0-rc.2",
|
|
87
|
+
"@aztec/slasher": "2.1.0-rc.2",
|
|
88
|
+
"@aztec/stdlib": "2.1.0-rc.2",
|
|
89
|
+
"@aztec/telemetry-client": "2.1.0-rc.2",
|
|
90
|
+
"@aztec/validator-client": "2.1.0-rc.2",
|
|
91
|
+
"@aztec/world-state": "2.1.0-rc.2",
|
|
92
92
|
"koa": "^2.16.1",
|
|
93
|
-
"koa-router": "^
|
|
93
|
+
"koa-router": "^13.1.1",
|
|
94
94
|
"tslib": "^2.4.0",
|
|
95
95
|
"viem": "2.23.7"
|
|
96
96
|
},
|
package/src/aztec-node/config.ts
CHANGED
|
@@ -10,7 +10,6 @@ import { EthAddress } from '@aztec/foundation/eth-address';
|
|
|
10
10
|
import { type DataStoreConfig, dataConfigMappings } from '@aztec/kv-store/config';
|
|
11
11
|
import {
|
|
12
12
|
type KeyStore,
|
|
13
|
-
type KeyStoreConfig,
|
|
14
13
|
type ValidatorKeyStore,
|
|
15
14
|
ethPrivateKeySchema,
|
|
16
15
|
keyStoreConfigMappings,
|
|
@@ -47,7 +46,6 @@ export type AztecNodeConfig = ArchiverConfig &
|
|
|
47
46
|
Pick<ProverClientUserConfig, 'bbBinaryPath' | 'bbWorkingDirectory' | 'realProofs'> &
|
|
48
47
|
P2PConfig &
|
|
49
48
|
DataStoreConfig &
|
|
50
|
-
KeyStoreConfig &
|
|
51
49
|
SentinelConfig &
|
|
52
50
|
SharedNodeConfig &
|
|
53
51
|
GenesisStateConfig &
|
|
@@ -94,7 +92,7 @@ export function getConfigEnvVars(): AztecNodeConfig {
|
|
|
94
92
|
|
|
95
93
|
type ConfigRequiredToBuildKeyStore = TxSenderConfig & SequencerClientConfig & SharedNodeConfig & ValidatorClientConfig;
|
|
96
94
|
|
|
97
|
-
function createKeyStoreFromWeb3Signer(config: ConfigRequiredToBuildKeyStore) {
|
|
95
|
+
function createKeyStoreFromWeb3Signer(config: ConfigRequiredToBuildKeyStore): KeyStore | undefined {
|
|
98
96
|
const validatorKeyStores: ValidatorKeyStore[] = [];
|
|
99
97
|
|
|
100
98
|
if (
|
|
@@ -124,7 +122,7 @@ function createKeyStoreFromWeb3Signer(config: ConfigRequiredToBuildKeyStore) {
|
|
|
124
122
|
return keyStore;
|
|
125
123
|
}
|
|
126
124
|
|
|
127
|
-
function createKeyStoreFromPrivateKeys(config: ConfigRequiredToBuildKeyStore) {
|
|
125
|
+
function createKeyStoreFromPrivateKeys(config: ConfigRequiredToBuildKeyStore): KeyStore | undefined {
|
|
128
126
|
const validatorKeyStores: ValidatorKeyStore[] = [];
|
|
129
127
|
const ethPrivateKeys = config.validatorPrivateKeys
|
|
130
128
|
? config.validatorPrivateKeys.getValue().map(x => ethPrivateKeySchema.parse(x))
|
|
@@ -158,7 +156,9 @@ function createKeyStoreFromPrivateKeys(config: ConfigRequiredToBuildKeyStore) {
|
|
|
158
156
|
return keyStore;
|
|
159
157
|
}
|
|
160
158
|
|
|
161
|
-
export function createKeyStoreForValidator(
|
|
159
|
+
export function createKeyStoreForValidator(
|
|
160
|
+
config: TxSenderConfig & SequencerClientConfig & SharedNodeConfig,
|
|
161
|
+
): KeyStore | undefined {
|
|
162
162
|
if (config.web3SignerUrl !== undefined && config.web3SignerUrl.length > 0) {
|
|
163
163
|
return createKeyStoreFromWeb3Signer(config);
|
|
164
164
|
}
|
package/src/aztec-node/server.ts
CHANGED
|
@@ -11,14 +11,12 @@ import {
|
|
|
11
11
|
} from '@aztec/constants';
|
|
12
12
|
import { EpochCache, type EpochCacheInterface } from '@aztec/epoch-cache';
|
|
13
13
|
import {
|
|
14
|
-
type EthSigner,
|
|
15
14
|
type L1ContractAddresses,
|
|
16
15
|
RegistryContract,
|
|
17
16
|
RollupContract,
|
|
18
17
|
createEthereumChain,
|
|
19
18
|
getPublicClient,
|
|
20
19
|
} from '@aztec/ethereum';
|
|
21
|
-
import { createL1TxUtilsWithBlobsFromEthSigner } from '@aztec/ethereum/l1-tx-utils-with-blobs';
|
|
22
20
|
import { compactArray, pick } from '@aztec/foundation/collection';
|
|
23
21
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
24
22
|
import { Fr } from '@aztec/foundation/fields';
|
|
@@ -30,6 +28,7 @@ import { DateProvider, Timer } from '@aztec/foundation/timer';
|
|
|
30
28
|
import { MembershipWitness, SiblingPath } from '@aztec/foundation/trees';
|
|
31
29
|
import { KeystoreManager, loadKeystores, mergeKeystores } from '@aztec/node-keystore';
|
|
32
30
|
import { trySnapshotSync, uploadSnapshot } from '@aztec/node-lib/actions';
|
|
31
|
+
import { createL1TxUtilsWithBlobsFromEthSigner } from '@aztec/node-lib/factories';
|
|
33
32
|
import { type P2P, type P2PClientDeps, createP2PClient, getDefaultAllowedSetupFunctions } from '@aztec/p2p';
|
|
34
33
|
import { ProtocolContractAddress } from '@aztec/protocol-contracts';
|
|
35
34
|
import {
|
|
@@ -108,7 +107,12 @@ import {
|
|
|
108
107
|
getTelemetryClient,
|
|
109
108
|
trackSpan,
|
|
110
109
|
} from '@aztec/telemetry-client';
|
|
111
|
-
import {
|
|
110
|
+
import {
|
|
111
|
+
NodeKeystoreAdapter,
|
|
112
|
+
ValidatorClient,
|
|
113
|
+
createBlockProposalHandler,
|
|
114
|
+
createValidatorClient,
|
|
115
|
+
} from '@aztec/validator-client';
|
|
112
116
|
import { createWorldStateSynchronizer } from '@aztec/world-state';
|
|
113
117
|
|
|
114
118
|
import { createPublicClient, fallback, http } from 'viem';
|
|
@@ -212,6 +216,8 @@ export class AztecNodeService implements AztecNode, AztecNodeAdmin, Traceable {
|
|
|
212
216
|
}
|
|
213
217
|
}
|
|
214
218
|
|
|
219
|
+
await keyStoreManager?.validateSigners();
|
|
220
|
+
|
|
215
221
|
// If we are a validator, verify our configuration before doing too much more.
|
|
216
222
|
if (!config.disableValidator) {
|
|
217
223
|
if (keyStoreManager === undefined) {
|
|
@@ -300,12 +306,7 @@ export class AztecNodeService implements AztecNode, AztecNodeAdmin, Traceable {
|
|
|
300
306
|
deps.p2pClientDeps,
|
|
301
307
|
);
|
|
302
308
|
|
|
303
|
-
//
|
|
304
|
-
await worldStateSynchronizer.start();
|
|
305
|
-
|
|
306
|
-
// Start p2p. Note that it depends on world state to be running.
|
|
307
|
-
await p2pClient.start();
|
|
308
|
-
|
|
309
|
+
// We should really not be modifying the config object
|
|
309
310
|
config.txPublicSetupAllowList = config.txPublicSetupAllowList ?? (await getDefaultAllowedSetupFunctions());
|
|
310
311
|
|
|
311
312
|
const blockBuilder = new BlockBuilder(
|
|
@@ -316,8 +317,52 @@ export class AztecNodeService implements AztecNode, AztecNodeAdmin, Traceable {
|
|
|
316
317
|
telemetry,
|
|
317
318
|
);
|
|
318
319
|
|
|
320
|
+
// We'll accumulate sentinel watchers here
|
|
319
321
|
const watchers: Watcher[] = [];
|
|
320
322
|
|
|
323
|
+
// Create validator client if required
|
|
324
|
+
const validatorClient = createValidatorClient(config, {
|
|
325
|
+
p2pClient,
|
|
326
|
+
telemetry,
|
|
327
|
+
dateProvider,
|
|
328
|
+
epochCache,
|
|
329
|
+
blockBuilder,
|
|
330
|
+
blockSource: archiver,
|
|
331
|
+
l1ToL2MessageSource: archiver,
|
|
332
|
+
keyStoreManager,
|
|
333
|
+
});
|
|
334
|
+
|
|
335
|
+
// If we have a validator client, register it as a source of offenses for the slasher,
|
|
336
|
+
// and have it register callbacks on the p2p client *before* we start it, otherwise messages
|
|
337
|
+
// like attestations or auths will fail.
|
|
338
|
+
if (validatorClient) {
|
|
339
|
+
watchers.push(validatorClient);
|
|
340
|
+
if (!options.dontStartSequencer) {
|
|
341
|
+
await validatorClient.registerHandlers();
|
|
342
|
+
}
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
// If there's no validator client but alwaysReexecuteBlockProposals is enabled,
|
|
346
|
+
// create a BlockProposalHandler to reexecute block proposals for monitoring
|
|
347
|
+
if (!validatorClient && config.alwaysReexecuteBlockProposals) {
|
|
348
|
+
log.info('Setting up block proposal reexecution for monitoring');
|
|
349
|
+
createBlockProposalHandler(config, {
|
|
350
|
+
blockBuilder,
|
|
351
|
+
epochCache,
|
|
352
|
+
blockSource: archiver,
|
|
353
|
+
l1ToL2MessageSource: archiver,
|
|
354
|
+
p2pClient,
|
|
355
|
+
dateProvider,
|
|
356
|
+
telemetry,
|
|
357
|
+
}).registerForReexecution(p2pClient);
|
|
358
|
+
}
|
|
359
|
+
|
|
360
|
+
// Start world state and wait for it to sync to the archiver.
|
|
361
|
+
await worldStateSynchronizer.start();
|
|
362
|
+
|
|
363
|
+
// Start p2p. Note that it depends on world state to be running.
|
|
364
|
+
await p2pClient.start();
|
|
365
|
+
|
|
321
366
|
const validatorsSentinel = await createSentinel(epochCache, archiver, p2pClient, config);
|
|
322
367
|
if (validatorsSentinel) {
|
|
323
368
|
// we can run a sentinel without trying to slash.
|
|
@@ -349,21 +394,6 @@ export class AztecNodeService implements AztecNode, AztecNodeAdmin, Traceable {
|
|
|
349
394
|
watchers.push(attestationsBlockWatcher);
|
|
350
395
|
}
|
|
351
396
|
|
|
352
|
-
const validatorClient = createValidatorClient(config, {
|
|
353
|
-
p2pClient,
|
|
354
|
-
telemetry,
|
|
355
|
-
dateProvider,
|
|
356
|
-
epochCache,
|
|
357
|
-
blockBuilder,
|
|
358
|
-
blockSource: archiver,
|
|
359
|
-
l1ToL2MessageSource: archiver,
|
|
360
|
-
keyStoreManager,
|
|
361
|
-
});
|
|
362
|
-
|
|
363
|
-
if (validatorClient) {
|
|
364
|
-
watchers.push(validatorClient);
|
|
365
|
-
}
|
|
366
|
-
|
|
367
397
|
log.verbose(`All Aztec Node subsystems synced`);
|
|
368
398
|
|
|
369
399
|
// Validator enabled, create/start relevant service
|
|
@@ -389,9 +419,12 @@ export class AztecNodeService implements AztecNode, AztecNodeAdmin, Traceable {
|
|
|
389
419
|
);
|
|
390
420
|
await slasherClient.start();
|
|
391
421
|
|
|
392
|
-
const l1TxUtils =
|
|
393
|
-
|
|
394
|
-
|
|
422
|
+
const l1TxUtils = await createL1TxUtilsWithBlobsFromEthSigner(
|
|
423
|
+
publicClient,
|
|
424
|
+
keyStoreManager!.createAllValidatorPublisherSigners(),
|
|
425
|
+
{ ...config, scope: 'sequencer' },
|
|
426
|
+
{ telemetry, logger: log.createChild('l1-tx-utils'), dateProvider },
|
|
427
|
+
);
|
|
395
428
|
|
|
396
429
|
sequencer = await SequencerClient.new(config, {
|
|
397
430
|
// if deps were provided, they should override the defaults,
|
|
@@ -416,6 +449,8 @@ export class AztecNodeService implements AztecNode, AztecNodeAdmin, Traceable {
|
|
|
416
449
|
if (!options.dontStartSequencer && sequencer) {
|
|
417
450
|
await sequencer.start();
|
|
418
451
|
log.verbose(`Sequencer started`);
|
|
452
|
+
} else if (sequencer) {
|
|
453
|
+
log.warn(`Sequencer created but not started`);
|
|
419
454
|
}
|
|
420
455
|
|
|
421
456
|
return new AztecNodeService(
|