@aztec/aztec-node 1.0.0-nightly.20250708 → 1.0.0-staging.0
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/aztec-node/server.d.ts +1 -3
- package/dest/aztec-node/server.d.ts.map +1 -1
- package/dest/aztec-node/server.js +14 -16
- package/package.json +23 -23
- package/src/aztec-node/server.ts +20 -16
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { type BlobSinkClientInterface } from '@aztec/blob-sink/client';
|
|
2
2
|
import { ARCHIVE_HEIGHT, type L1_TO_L2_MSG_TREE_HEIGHT, type NOTE_HASH_TREE_HEIGHT, type NULLIFIER_TREE_HEIGHT, type PUBLIC_DATA_TREE_HEIGHT } from '@aztec/constants';
|
|
3
|
-
import { type EpochCacheInterface } from '@aztec/epoch-cache';
|
|
4
3
|
import { type L1ContractAddresses } from '@aztec/ethereum';
|
|
5
4
|
import { Fr } from '@aztec/foundation/fields';
|
|
6
5
|
import { type Logger } from '@aztec/foundation/log';
|
|
@@ -44,7 +43,6 @@ export declare class AztecNodeService implements AztecNode, AztecNodeAdmin, Trac
|
|
|
44
43
|
protected readonly l1ChainId: number;
|
|
45
44
|
protected readonly version: number;
|
|
46
45
|
protected readonly globalVariableBuilder: GlobalVariableBuilderInterface;
|
|
47
|
-
private readonly epochCache;
|
|
48
46
|
private readonly packageVersion;
|
|
49
47
|
private proofVerifier;
|
|
50
48
|
private telemetry;
|
|
@@ -53,7 +51,7 @@ export declare class AztecNodeService implements AztecNode, AztecNodeAdmin, Trac
|
|
|
53
51
|
private isUploadingSnapshot;
|
|
54
52
|
private txQueue;
|
|
55
53
|
readonly tracer: Tracer;
|
|
56
|
-
constructor(config: AztecNodeConfig, p2pClient: P2P, blockSource: L2BlockSource & Partial<Service>, logsSource: L2LogsSource, contractDataSource: ContractDataSource, l1ToL2MessageSource: L1ToL2MessageSource, worldStateSynchronizer: WorldStateSynchronizer, sequencer: SequencerClient | undefined, slasherClient: SlasherClient | undefined, validatorsSentinel: Sentinel | undefined, epochPruneWatcher: EpochPruneWatcher | undefined, l1ChainId: number, version: number, globalVariableBuilder: GlobalVariableBuilderInterface,
|
|
54
|
+
constructor(config: AztecNodeConfig, p2pClient: P2P, blockSource: L2BlockSource & Partial<Service>, logsSource: L2LogsSource, contractDataSource: ContractDataSource, l1ToL2MessageSource: L1ToL2MessageSource, worldStateSynchronizer: WorldStateSynchronizer, sequencer: SequencerClient | undefined, slasherClient: SlasherClient | undefined, validatorsSentinel: Sentinel | undefined, epochPruneWatcher: EpochPruneWatcher | undefined, l1ChainId: number, version: number, globalVariableBuilder: GlobalVariableBuilderInterface, packageVersion: string, proofVerifier: ClientProtocolCircuitVerifier, telemetry?: TelemetryClient, log?: Logger);
|
|
57
55
|
getWorldStateSyncStatus(): Promise<WorldStateSyncStatus>;
|
|
58
56
|
getL2Tips(): Promise<import("@aztec/stdlib/block").L2Tips>;
|
|
59
57
|
/**
|
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/aztec-node/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@ import { BBCircuitVerifier, QueuedIVCVerifier, TestCircuitVerifier } from '@azte
|
|
|
9
9
|
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
|
-
import {
|
|
12
|
+
import { RegistryContract, RollupContract, createEthereumChain, createExtendedL1Client } from '@aztec/ethereum';
|
|
13
13
|
import { L1TxUtilsWithBlobs } from '@aztec/ethereum/l1-tx-utils-with-blobs';
|
|
14
14
|
import { compactArray } from '@aztec/foundation/collection';
|
|
15
15
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
@@ -21,7 +21,7 @@ import { count } from '@aztec/foundation/string';
|
|
|
21
21
|
import { DateProvider, Timer } from '@aztec/foundation/timer';
|
|
22
22
|
import { MembershipWitness } from '@aztec/foundation/trees';
|
|
23
23
|
import { trySnapshotSync, uploadSnapshot } from '@aztec/node-lib/actions';
|
|
24
|
-
import { createP2PClient, getDefaultAllowedSetupFunctions } from '@aztec/p2p';
|
|
24
|
+
import { TxCollector, createP2PClient, getDefaultAllowedSetupFunctions } from '@aztec/p2p';
|
|
25
25
|
import { ProtocolContractAddress } from '@aztec/protocol-contracts';
|
|
26
26
|
import { BlockBuilder, GlobalVariableBuilder, SequencerClient, createValidatorForAcceptingTxs } from '@aztec/sequencer-client';
|
|
27
27
|
import { PublicProcessorFactory } from '@aztec/simulator/server';
|
|
@@ -57,7 +57,6 @@ import { NodeMetrics } from './node_metrics.js';
|
|
|
57
57
|
l1ChainId;
|
|
58
58
|
version;
|
|
59
59
|
globalVariableBuilder;
|
|
60
|
-
epochCache;
|
|
61
60
|
packageVersion;
|
|
62
61
|
proofVerifier;
|
|
63
62
|
telemetry;
|
|
@@ -68,7 +67,7 @@ import { NodeMetrics } from './node_metrics.js';
|
|
|
68
67
|
// Serial queue to ensure that we only send one tx at a time
|
|
69
68
|
txQueue;
|
|
70
69
|
tracer;
|
|
71
|
-
constructor(config, p2pClient, blockSource, logsSource, contractDataSource, l1ToL2MessageSource, worldStateSynchronizer, sequencer, slasherClient, validatorsSentinel, epochPruneWatcher, l1ChainId, version, globalVariableBuilder,
|
|
70
|
+
constructor(config, p2pClient, blockSource, logsSource, contractDataSource, l1ToL2MessageSource, worldStateSynchronizer, sequencer, slasherClient, validatorsSentinel, epochPruneWatcher, l1ChainId, version, globalVariableBuilder, packageVersion, proofVerifier, telemetry = getTelemetryClient(), log = createLogger('node')){
|
|
72
71
|
this.config = config;
|
|
73
72
|
this.p2pClient = p2pClient;
|
|
74
73
|
this.blockSource = blockSource;
|
|
@@ -83,7 +82,6 @@ import { NodeMetrics } from './node_metrics.js';
|
|
|
83
82
|
this.l1ChainId = l1ChainId;
|
|
84
83
|
this.version = version;
|
|
85
84
|
this.globalVariableBuilder = globalVariableBuilder;
|
|
86
|
-
this.epochCache = epochCache;
|
|
87
85
|
this.packageVersion = packageVersion;
|
|
88
86
|
this.proofVerifier = proofVerifier;
|
|
89
87
|
this.telemetry = telemetry;
|
|
@@ -160,16 +158,18 @@ import { NodeMetrics } from './node_metrics.js';
|
|
|
160
158
|
dateProvider
|
|
161
159
|
});
|
|
162
160
|
// create the tx pool and the p2p client, which will need the l2 block source
|
|
163
|
-
const p2pClient = await createP2PClient(P2PClientType.Full, config, archiver, proofVerifier, worldStateSynchronizer, epochCache, packageVersion,
|
|
161
|
+
const p2pClient = await createP2PClient(P2PClientType.Full, config, archiver, proofVerifier, worldStateSynchronizer, epochCache, packageVersion, telemetry, deps.p2pClientDeps);
|
|
164
162
|
// Start world state and wait for it to sync to the archiver.
|
|
165
163
|
await worldStateSynchronizer.start();
|
|
166
164
|
// Start p2p. Note that it depends on world state to be running.
|
|
167
165
|
await p2pClient.start();
|
|
168
166
|
config.txPublicSetupAllowList = config.txPublicSetupAllowList ?? await getDefaultAllowedSetupFunctions();
|
|
169
167
|
const blockBuilder = new BlockBuilder({
|
|
170
|
-
...config,
|
|
171
168
|
l1GenesisTime,
|
|
172
|
-
slotDuration: Number(slotDuration)
|
|
169
|
+
slotDuration: Number(slotDuration),
|
|
170
|
+
rollupVersion: config.rollupVersion,
|
|
171
|
+
l1ChainId: config.l1ChainId,
|
|
172
|
+
txPublicSetupAllowList: config.txPublicSetupAllowList
|
|
173
173
|
}, worldStateSynchronizer, archiver, dateProvider, telemetry);
|
|
174
174
|
const watchers = [];
|
|
175
175
|
const validatorsSentinel = await createSentinel(epochCache, archiver, p2pClient, config);
|
|
@@ -182,7 +182,8 @@ import { NodeMetrics } from './node_metrics.js';
|
|
|
182
182
|
}
|
|
183
183
|
let epochPruneWatcher;
|
|
184
184
|
if (config.slashPruneEnabled) {
|
|
185
|
-
|
|
185
|
+
const txCollector = new TxCollector(p2pClient);
|
|
186
|
+
epochPruneWatcher = new EpochPruneWatcher(archiver, archiver, epochCache, txCollector, blockBuilder, config.slashPrunePenalty, config.slashPruneMaxPenalty);
|
|
186
187
|
await epochPruneWatcher.start();
|
|
187
188
|
watchers.push(epochPruneWatcher);
|
|
188
189
|
}
|
|
@@ -203,7 +204,7 @@ import { NodeMetrics } from './node_metrics.js';
|
|
|
203
204
|
let slasherClient;
|
|
204
205
|
let l1TxUtils;
|
|
205
206
|
let l1Client;
|
|
206
|
-
if (config.publisherPrivateKey
|
|
207
|
+
if (config.publisherPrivateKey) {
|
|
207
208
|
// we can still run a slasher client if a private key is provided
|
|
208
209
|
l1Client = createExtendedL1Client(config.l1RpcUrls, config.publisherPrivateKey.getValue(), ethereumChain.chainInfo);
|
|
209
210
|
l1TxUtils = new L1TxUtilsWithBlobs(l1Client, log, config);
|
|
@@ -213,7 +214,7 @@ import { NodeMetrics } from './node_metrics.js';
|
|
|
213
214
|
// Validator enabled, create/start relevant service
|
|
214
215
|
if (!config.disableValidator) {
|
|
215
216
|
// This shouldn't happen, validators need a publisher private key.
|
|
216
|
-
if (!config.publisherPrivateKey
|
|
217
|
+
if (!config.publisherPrivateKey) {
|
|
217
218
|
throw new Error('A publisher private key is required to run a validator');
|
|
218
219
|
}
|
|
219
220
|
sequencer = await SequencerClient.new(config, {
|
|
@@ -238,7 +239,7 @@ import { NodeMetrics } from './node_metrics.js';
|
|
|
238
239
|
await sequencer.start();
|
|
239
240
|
log.verbose(`Sequencer started`);
|
|
240
241
|
}
|
|
241
|
-
return new AztecNodeService(config, p2pClient, archiver, archiver, archiver, archiver, worldStateSynchronizer, sequencer, slasherClient, validatorsSentinel, epochPruneWatcher, ethereumChain.chainInfo.id, config.rollupVersion, new GlobalVariableBuilder(config),
|
|
242
|
+
return new AztecNodeService(config, p2pClient, archiver, archiver, archiver, archiver, worldStateSynchronizer, sequencer, slasherClient, validatorsSentinel, epochPruneWatcher, ethereumChain.chainInfo.id, config.rollupVersion, new GlobalVariableBuilder(config), packageVersion, proofVerifier, telemetry, log);
|
|
242
243
|
}
|
|
243
244
|
/**
|
|
244
245
|
* Returns the sequencer client instance.
|
|
@@ -727,13 +728,10 @@ import { NodeMetrics } from './node_metrics.js';
|
|
|
727
728
|
}
|
|
728
729
|
}
|
|
729
730
|
async isValidTx(tx, { isSimulation, skipFeeEnforcement } = {}) {
|
|
731
|
+
const blockNumber = await this.blockSource.getBlockNumber() + 1;
|
|
730
732
|
const db = this.worldStateSynchronizer.getCommitted();
|
|
731
733
|
const verifier = isSimulation ? undefined : this.proofVerifier;
|
|
732
|
-
// We accept transactions if they are not expired by the next slot (checked based on the IncludeByTimestamp field)
|
|
733
|
-
const { ts: nextSlotTimestamp } = this.epochCache.getEpochAndSlotInNextL1Slot();
|
|
734
|
-
const blockNumber = await this.blockSource.getBlockNumber() + 1;
|
|
735
734
|
const validator = createValidatorForAcceptingTxs(db, this.contractDataSource, verifier, {
|
|
736
|
-
timestamp: nextSlotTimestamp,
|
|
737
735
|
blockNumber,
|
|
738
736
|
l1ChainId: this.l1ChainId,
|
|
739
737
|
rollupVersion: this.version,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/aztec-node",
|
|
3
|
-
"version": "1.0.0-
|
|
3
|
+
"version": "1.0.0-staging.0",
|
|
4
4
|
"main": "dest/index.js",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -65,28 +65,28 @@
|
|
|
65
65
|
]
|
|
66
66
|
},
|
|
67
67
|
"dependencies": {
|
|
68
|
-
"@aztec/archiver": "1.0.0-
|
|
69
|
-
"@aztec/bb-prover": "1.0.0-
|
|
70
|
-
"@aztec/blob-sink": "1.0.0-
|
|
71
|
-
"@aztec/constants": "1.0.0-
|
|
72
|
-
"@aztec/epoch-cache": "1.0.0-
|
|
73
|
-
"@aztec/ethereum": "1.0.0-
|
|
74
|
-
"@aztec/foundation": "1.0.0-
|
|
75
|
-
"@aztec/kv-store": "1.0.0-
|
|
76
|
-
"@aztec/l1-artifacts": "1.0.0-
|
|
77
|
-
"@aztec/merkle-tree": "1.0.0-
|
|
78
|
-
"@aztec/node-lib": "1.0.0-
|
|
79
|
-
"@aztec/noir-protocol-circuits-types": "1.0.0-
|
|
80
|
-
"@aztec/p2p": "1.0.0-
|
|
81
|
-
"@aztec/protocol-contracts": "1.0.0-
|
|
82
|
-
"@aztec/prover-client": "1.0.0-
|
|
83
|
-
"@aztec/sequencer-client": "1.0.0-
|
|
84
|
-
"@aztec/simulator": "1.0.0-
|
|
85
|
-
"@aztec/slasher": "1.0.0-
|
|
86
|
-
"@aztec/stdlib": "1.0.0-
|
|
87
|
-
"@aztec/telemetry-client": "1.0.0-
|
|
88
|
-
"@aztec/validator-client": "1.0.0-
|
|
89
|
-
"@aztec/world-state": "1.0.0-
|
|
68
|
+
"@aztec/archiver": "1.0.0-staging.0",
|
|
69
|
+
"@aztec/bb-prover": "1.0.0-staging.0",
|
|
70
|
+
"@aztec/blob-sink": "1.0.0-staging.0",
|
|
71
|
+
"@aztec/constants": "1.0.0-staging.0",
|
|
72
|
+
"@aztec/epoch-cache": "1.0.0-staging.0",
|
|
73
|
+
"@aztec/ethereum": "1.0.0-staging.0",
|
|
74
|
+
"@aztec/foundation": "1.0.0-staging.0",
|
|
75
|
+
"@aztec/kv-store": "1.0.0-staging.0",
|
|
76
|
+
"@aztec/l1-artifacts": "1.0.0-staging.0",
|
|
77
|
+
"@aztec/merkle-tree": "1.0.0-staging.0",
|
|
78
|
+
"@aztec/node-lib": "1.0.0-staging.0",
|
|
79
|
+
"@aztec/noir-protocol-circuits-types": "1.0.0-staging.0",
|
|
80
|
+
"@aztec/p2p": "1.0.0-staging.0",
|
|
81
|
+
"@aztec/protocol-contracts": "1.0.0-staging.0",
|
|
82
|
+
"@aztec/prover-client": "1.0.0-staging.0",
|
|
83
|
+
"@aztec/sequencer-client": "1.0.0-staging.0",
|
|
84
|
+
"@aztec/simulator": "1.0.0-staging.0",
|
|
85
|
+
"@aztec/slasher": "1.0.0-staging.0",
|
|
86
|
+
"@aztec/stdlib": "1.0.0-staging.0",
|
|
87
|
+
"@aztec/telemetry-client": "1.0.0-staging.0",
|
|
88
|
+
"@aztec/validator-client": "1.0.0-staging.0",
|
|
89
|
+
"@aztec/world-state": "1.0.0-staging.0",
|
|
90
90
|
"koa": "^2.16.1",
|
|
91
91
|
"koa-router": "^12.0.0",
|
|
92
92
|
"tslib": "^2.4.0",
|
package/src/aztec-node/server.ts
CHANGED
|
@@ -9,11 +9,10 @@ import {
|
|
|
9
9
|
type NULLIFIER_TREE_HEIGHT,
|
|
10
10
|
type PUBLIC_DATA_TREE_HEIGHT,
|
|
11
11
|
} from '@aztec/constants';
|
|
12
|
-
import { EpochCache
|
|
12
|
+
import { EpochCache } from '@aztec/epoch-cache';
|
|
13
13
|
import {
|
|
14
14
|
type ExtendedViemWalletClient,
|
|
15
15
|
type L1ContractAddresses,
|
|
16
|
-
NULL_KEY,
|
|
17
16
|
RegistryContract,
|
|
18
17
|
RollupContract,
|
|
19
18
|
createEthereumChain,
|
|
@@ -30,7 +29,13 @@ import { count } from '@aztec/foundation/string';
|
|
|
30
29
|
import { DateProvider, Timer } from '@aztec/foundation/timer';
|
|
31
30
|
import { MembershipWitness, SiblingPath } from '@aztec/foundation/trees';
|
|
32
31
|
import { trySnapshotSync, uploadSnapshot } from '@aztec/node-lib/actions';
|
|
33
|
-
import {
|
|
32
|
+
import {
|
|
33
|
+
type P2P,
|
|
34
|
+
type P2PClientDeps,
|
|
35
|
+
TxCollector,
|
|
36
|
+
createP2PClient,
|
|
37
|
+
getDefaultAllowedSetupFunctions,
|
|
38
|
+
} from '@aztec/p2p';
|
|
34
39
|
import { ProtocolContractAddress } from '@aztec/protocol-contracts';
|
|
35
40
|
import {
|
|
36
41
|
BlockBuilder,
|
|
@@ -140,7 +145,6 @@ export class AztecNodeService implements AztecNode, AztecNodeAdmin, Traceable {
|
|
|
140
145
|
protected readonly l1ChainId: number,
|
|
141
146
|
protected readonly version: number,
|
|
142
147
|
protected readonly globalVariableBuilder: GlobalVariableBuilderInterface,
|
|
143
|
-
private readonly epochCache: EpochCacheInterface,
|
|
144
148
|
private readonly packageVersion: string,
|
|
145
149
|
private proofVerifier: ClientProtocolCircuitVerifier,
|
|
146
150
|
private telemetry: TelemetryClient = getTelemetryClient(),
|
|
@@ -258,7 +262,6 @@ export class AztecNodeService implements AztecNode, AztecNodeAdmin, Traceable {
|
|
|
258
262
|
worldStateSynchronizer,
|
|
259
263
|
epochCache,
|
|
260
264
|
packageVersion,
|
|
261
|
-
dateProvider,
|
|
262
265
|
telemetry,
|
|
263
266
|
deps.p2pClientDeps,
|
|
264
267
|
);
|
|
@@ -272,7 +275,13 @@ export class AztecNodeService implements AztecNode, AztecNodeAdmin, Traceable {
|
|
|
272
275
|
config.txPublicSetupAllowList = config.txPublicSetupAllowList ?? (await getDefaultAllowedSetupFunctions());
|
|
273
276
|
|
|
274
277
|
const blockBuilder = new BlockBuilder(
|
|
275
|
-
{
|
|
278
|
+
{
|
|
279
|
+
l1GenesisTime,
|
|
280
|
+
slotDuration: Number(slotDuration),
|
|
281
|
+
rollupVersion: config.rollupVersion,
|
|
282
|
+
l1ChainId: config.l1ChainId,
|
|
283
|
+
txPublicSetupAllowList: config.txPublicSetupAllowList,
|
|
284
|
+
},
|
|
276
285
|
worldStateSynchronizer,
|
|
277
286
|
archiver,
|
|
278
287
|
dateProvider,
|
|
@@ -292,11 +301,12 @@ export class AztecNodeService implements AztecNode, AztecNodeAdmin, Traceable {
|
|
|
292
301
|
|
|
293
302
|
let epochPruneWatcher: EpochPruneWatcher | undefined;
|
|
294
303
|
if (config.slashPruneEnabled) {
|
|
304
|
+
const txCollector = new TxCollector(p2pClient);
|
|
295
305
|
epochPruneWatcher = new EpochPruneWatcher(
|
|
296
306
|
archiver,
|
|
297
307
|
archiver,
|
|
298
308
|
epochCache,
|
|
299
|
-
|
|
309
|
+
txCollector,
|
|
300
310
|
blockBuilder,
|
|
301
311
|
config.slashPrunePenalty,
|
|
302
312
|
config.slashPruneMaxPenalty,
|
|
@@ -304,7 +314,6 @@ export class AztecNodeService implements AztecNode, AztecNodeAdmin, Traceable {
|
|
|
304
314
|
await epochPruneWatcher.start();
|
|
305
315
|
watchers.push(epochPruneWatcher);
|
|
306
316
|
}
|
|
307
|
-
|
|
308
317
|
const validatorClient = createValidatorClient(config, {
|
|
309
318
|
p2pClient,
|
|
310
319
|
telemetry,
|
|
@@ -326,7 +335,7 @@ export class AztecNodeService implements AztecNode, AztecNodeAdmin, Traceable {
|
|
|
326
335
|
let l1TxUtils: L1TxUtilsWithBlobs | undefined;
|
|
327
336
|
let l1Client: ExtendedViemWalletClient | undefined;
|
|
328
337
|
|
|
329
|
-
if (config.publisherPrivateKey
|
|
338
|
+
if (config.publisherPrivateKey) {
|
|
330
339
|
// we can still run a slasher client if a private key is provided
|
|
331
340
|
l1Client = createExtendedL1Client(
|
|
332
341
|
config.l1RpcUrls,
|
|
@@ -341,7 +350,7 @@ export class AztecNodeService implements AztecNode, AztecNodeAdmin, Traceable {
|
|
|
341
350
|
// Validator enabled, create/start relevant service
|
|
342
351
|
if (!config.disableValidator) {
|
|
343
352
|
// This shouldn't happen, validators need a publisher private key.
|
|
344
|
-
if (!config.publisherPrivateKey
|
|
353
|
+
if (!config.publisherPrivateKey) {
|
|
345
354
|
throw new Error('A publisher private key is required to run a validator');
|
|
346
355
|
}
|
|
347
356
|
|
|
@@ -384,7 +393,6 @@ export class AztecNodeService implements AztecNode, AztecNodeAdmin, Traceable {
|
|
|
384
393
|
ethereumChain.chainInfo.id,
|
|
385
394
|
config.rollupVersion,
|
|
386
395
|
new GlobalVariableBuilder(config),
|
|
387
|
-
epochCache,
|
|
388
396
|
packageVersion,
|
|
389
397
|
proofVerifier,
|
|
390
398
|
telemetry,
|
|
@@ -1045,14 +1053,10 @@ export class AztecNodeService implements AztecNode, AztecNodeAdmin, Traceable {
|
|
|
1045
1053
|
tx: Tx,
|
|
1046
1054
|
{ isSimulation, skipFeeEnforcement }: { isSimulation?: boolean; skipFeeEnforcement?: boolean } = {},
|
|
1047
1055
|
): Promise<TxValidationResult> {
|
|
1056
|
+
const blockNumber = (await this.blockSource.getBlockNumber()) + 1;
|
|
1048
1057
|
const db = this.worldStateSynchronizer.getCommitted();
|
|
1049
1058
|
const verifier = isSimulation ? undefined : this.proofVerifier;
|
|
1050
|
-
|
|
1051
|
-
// We accept transactions if they are not expired by the next slot (checked based on the IncludeByTimestamp field)
|
|
1052
|
-
const { ts: nextSlotTimestamp } = this.epochCache.getEpochAndSlotInNextL1Slot();
|
|
1053
|
-
const blockNumber = (await this.blockSource.getBlockNumber()) + 1;
|
|
1054
1059
|
const validator = createValidatorForAcceptingTxs(db, this.contractDataSource, verifier, {
|
|
1055
|
-
timestamp: nextSlotTimestamp,
|
|
1056
1060
|
blockNumber,
|
|
1057
1061
|
l1ChainId: this.l1ChainId,
|
|
1058
1062
|
rollupVersion: this.version,
|