@aztec/aztec-node 5.3.0-nightly.20260909 → 5.3.0-nightly.20260910

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.
Files changed (37) hide show
  1. package/dest/aztec-node/next_block/index.d.ts +4 -0
  2. package/dest/aztec-node/next_block/index.d.ts.map +1 -0
  3. package/dest/aztec-node/next_block/index.js +3 -0
  4. package/dest/aztec-node/next_block/next_block_fee_cache.d.ts +110 -0
  5. package/dest/aztec-node/next_block/next_block_fee_cache.d.ts.map +1 -0
  6. package/dest/aztec-node/next_block/next_block_fee_cache.js +201 -0
  7. package/dest/aztec-node/next_block/next_block_planner.d.ts +78 -0
  8. package/dest/aztec-node/next_block/next_block_planner.d.ts.map +1 -0
  9. package/dest/aztec-node/next_block/next_block_planner.js +109 -0
  10. package/dest/aztec-node/next_block/next_block_predictor.d.ts +91 -0
  11. package/dest/aztec-node/next_block/next_block_predictor.d.ts.map +1 -0
  12. package/dest/aztec-node/next_block/next_block_predictor.js +146 -0
  13. package/dest/aztec-node/next_block/test_helpers.d.ts +40 -0
  14. package/dest/aztec-node/next_block/test_helpers.d.ts.map +1 -0
  15. package/dest/aztec-node/next_block/test_helpers.js +100 -0
  16. package/dest/aztec-node/node_public_calls_simulator.d.ts +10 -48
  17. package/dest/aztec-node/node_public_calls_simulator.d.ts.map +1 -1
  18. package/dest/aztec-node/node_public_calls_simulator.js +56 -164
  19. package/dest/aztec-node/server.d.ts +18 -2
  20. package/dest/aztec-node/server.d.ts.map +1 -1
  21. package/dest/aztec-node/server.js +34 -12
  22. package/dest/factory.d.ts +1 -1
  23. package/dest/factory.d.ts.map +1 -1
  24. package/dest/factory.js +17 -1
  25. package/dest/index.d.ts +2 -1
  26. package/dest/index.d.ts.map +1 -1
  27. package/dest/index.js +1 -0
  28. package/package.json +28 -28
  29. package/src/aztec-node/next_block/index.ts +3 -0
  30. package/src/aztec-node/next_block/next_block_fee_cache.ts +279 -0
  31. package/src/aztec-node/next_block/next_block_planner.ts +198 -0
  32. package/src/aztec-node/next_block/next_block_predictor.ts +158 -0
  33. package/src/aztec-node/next_block/test_helpers.ts +115 -0
  34. package/src/aztec-node/node_public_calls_simulator.ts +78 -218
  35. package/src/aztec-node/server.ts +32 -9
  36. package/src/factory.ts +15 -1
  37. package/src/index.ts +1 -0
@@ -64,59 +64,39 @@ function _ts_dispose_resources(env) {
64
64
  })(env);
65
65
  }
66
66
  import { L1ToL2MessagesNotReadyError } from '@aztec/archiver';
67
- import { PROPOSER_PIPELINING_SLOT_OFFSET } from '@aztec/epoch-cache';
68
- import { SimulationOverridesBuilder } from '@aztec/ethereum/contracts';
69
- import { BlockNumber, CheckpointNumber, SlotNumber } from '@aztec/foundation/branded-types';
70
- import { compactArray } from '@aztec/foundation/collection';
71
- import { EthAddress } from '@aztec/foundation/eth-address';
72
67
  import { BadRequestError } from '@aztec/foundation/json-rpc';
73
68
  import { createLogger } from '@aztec/foundation/log';
74
69
  import { DateProvider } from '@aztec/foundation/timer';
75
70
  import { isErrorClass } from '@aztec/foundation/types';
76
71
  import { PublicContractsDB, PublicProcessorFactory } from '@aztec/simulator/server';
77
72
  import { CollectionLimitsConfig, PublicSimulatorConfig } from '@aztec/stdlib/avm';
78
- import { AztecAddress } from '@aztec/stdlib/aztec-address';
79
- import { buildCheckpointSimulationOverridesPlan } from '@aztec/stdlib/checkpoint';
73
+ import { BlockHash } from '@aztec/stdlib/block';
80
74
  import { appendL1ToL2MessagesToTree } from '@aztec/stdlib/messaging';
81
- import { GlobalVariables, PublicSimulationOutput } from '@aztec/stdlib/tx';
75
+ import { PublicSimulationOutput } from '@aztec/stdlib/tx';
82
76
  import { getTelemetryClient } from '@aztec/telemetry-client';
77
+ import { WorldStateSynchronizerError } from '@aztec/world-state';
83
78
  import { applyPublicDataOverrides } from './public_data_overrides.js';
79
+ /** Attempts at planning the next block on a chain the world state agrees with, before giving up. */ const MAX_PREDICTION_ATTEMPTS = 2;
84
80
  /**
85
81
  * Simulates the public part of a transaction against a fresh world-state fork.
86
82
  *
87
- * Extracted from `AztecNodeService` so the slot/globals selection can be unit-tested without
88
- * standing up the whole node, and to keep `server.ts` smaller.
89
- *
90
- * The simulator picks globals in one of two ways, mirroring how the sequencer builds the next block:
91
- * - **When the next block continues an in-progress checkpoint** (the latest proposed block is ahead of
92
- * the proposed-checkpoint frontier): every block in a checkpoint shares the same
93
- * `CheckpointGlobalVariables`, so we copy the latest proposed block's globals verbatim and only
94
- * bump the block number. No L1 calls, no L1-to-L2 message insertion.
95
- * - **When the next block opens a new checkpoint** (the latest proposed block coincides with the
96
- * proposed-checkpoint frontier): we compute fresh globals for the slot the next block will land in,
97
- * applying the same `SimulationOverridesPlan` the sequencer applies so the simulated mana min fee
98
- * matches what the sequencer will write into the block header.
83
+ * Extracted from `AztecNodeService` so forking and execution can be unit-tested without standing up the whole
84
+ * node, and to keep `server.ts` smaller. Which block is simulated, and the globals it carries, are decided by
85
+ * the {@link NextBlockPredictor}: the simulator's job is to fork the chain that plan describes, insert the
86
+ * L1-to-L2 messages a checkpoint-opening block would see, and run the processor.
99
87
  */ export class NodePublicCallsSimulator {
100
- blockSource;
101
88
  worldStateSynchronizer;
102
89
  l1ToL2MessageSource;
103
90
  contractDataSource;
104
- globalVariableBuilder;
105
- rollupContract;
106
- epochCache;
107
- signatureContext;
91
+ predictor;
108
92
  config;
109
93
  telemetry;
110
94
  log;
111
95
  constructor(deps){
112
- this.blockSource = deps.blockSource;
113
96
  this.worldStateSynchronizer = deps.worldStateSynchronizer;
114
97
  this.l1ToL2MessageSource = deps.l1ToL2MessageSource;
115
98
  this.contractDataSource = deps.contractDataSource;
116
- this.globalVariableBuilder = deps.globalVariableBuilder;
117
- this.rollupContract = deps.rollupContract;
118
- this.epochCache = deps.epochCache;
119
- this.signatureContext = deps.signatureContext;
99
+ this.predictor = deps.predictor;
120
100
  this.config = deps.config;
121
101
  this.telemetry = deps.telemetry ?? getTelemetryClient();
122
102
  this.log = deps.log ?? createLogger('node:public-calls-simulator');
@@ -141,40 +121,20 @@ import { applyPublicDataOverrides } from './public_data_overrides.js';
141
121
  throw new BadRequestError(`Transaction total gas limit ${txGasLimit + teardownGasLimit} (${txGasLimit} + ${teardownGasLimit}) exceeds maximum gas limit ${this.config.rpcSimulatePublicMaxGasLimit} for simulation`);
142
122
  }
143
123
  const txHash = tx.getTxHash();
144
- const [l2Tips, proposedCheckpointData] = await Promise.all([
145
- this.blockSource.getL2Tips(),
146
- this.blockSource.getProposedCheckpointData()
147
- ]);
148
- const latestBlockNumber = l2Tips.proposed.number;
149
- const blockNumber = BlockNumber.add(latestBlockNumber, 1);
150
- // Terminating block of the proposed-checkpoint frontier. `getProposedCheckpointData()` returns the
151
- // leading proposed (not-yet-L1-confirmed) checkpoint, whose last block is `startBlock + blockCount
152
- // - 1`; with no proposed checkpoint the frontier coincides with the checkpointed tip.
153
- const proposedCheckpointLastBlock = proposedCheckpointData ? BlockNumber.add(proposedCheckpointData.startBlock, proposedCheckpointData.blockCount - 1) : l2Tips.checkpointed.block.number;
154
- // The next block continues the in-progress checkpoint when the latest proposed block is ahead of
155
- // the proposed-checkpoint terminating block; it opens a new checkpoint when they coincide.
156
- const atCheckpointBoundary = proposedCheckpointLastBlock === l2Tips.proposed.number;
157
- // `targetCheckpoint` is the checkpoint whose L1-to-L2 messages must be inserted into the fork
158
- // before simulation. Only set when opening a new checkpoint, where the next block is its first block.
159
- const { globalVariables: newGlobalVariables, targetCheckpoint } = atCheckpointBoundary ? await this.buildGlobalVariablesForNewCheckpoint(l2Tips, proposedCheckpointData, blockNumber) : {
160
- globalVariables: await this.copyGlobalVariablesFromLatestProposedBlock(latestBlockNumber, blockNumber)
161
- };
124
+ const { plan, globals, messages } = await this.prepareNextBlock();
162
125
  const publicProcessorFactory = new PublicProcessorFactory(this.contractDataSource, new DateProvider(), this.telemetry, this.log.getBindings());
163
126
  this.log.verbose(`Simulating public calls for tx ${txHash}`, {
164
- globalVariables: newGlobalVariables.toInspect(),
127
+ globalVariables: globals.toInspect(),
165
128
  txHash,
166
- blockNumber,
167
- atCheckpointBoundary
129
+ blockNumber: globals.blockNumber,
130
+ atCheckpointBoundary: plan.newCheckpoint !== undefined
168
131
  });
169
- // Ensure world-state has caught up with the latest block we loaded from the archiver
170
- await this.worldStateSynchronizer.syncImmediate(latestBlockNumber);
171
- const nextCheckpointMessages = await this.getNextCheckpointMessages(targetCheckpoint);
172
- const merkleTreeFork = _ts_add_disposable_resource(env, await this.worldStateSynchronizer.fork(latestBlockNumber), true);
173
- if (nextCheckpointMessages !== undefined) {
174
- this.log.debug(`Appending ${nextCheckpointMessages.length} L1-to-L2 messages to the world state tree for the next checkpoint`, {
175
- checkpointNumber: targetCheckpoint
132
+ const merkleTreeFork = _ts_add_disposable_resource(env, await this.worldStateSynchronizer.fork(plan.latestBlockNumber), true);
133
+ if (messages !== undefined) {
134
+ this.log.debug(`Appending ${messages.length} L1-to-L2 messages to the world state tree for the next checkpoint`, {
135
+ checkpointNumber: plan.newCheckpoint?.targetCheckpoint
176
136
  });
177
- await appendL1ToL2MessagesToTree(merkleTreeFork, nextCheckpointMessages);
137
+ await appendL1ToL2MessagesToTree(merkleTreeFork, messages);
178
138
  }
179
139
  await applyPublicDataOverrides(merkleTreeFork, overrides?.publicStorage);
180
140
  const config = PublicSimulatorConfig.from({
@@ -191,7 +151,7 @@ import { applyPublicDataOverrides } from './public_data_overrides.js';
191
151
  if (overrides?.contracts) {
192
152
  contractsDB.addContracts(Object.values(overrides.contracts).map(({ instance })=>instance));
193
153
  }
194
- const processor = publicProcessorFactory.create(merkleTreeFork, newGlobalVariables, config, contractsDB);
154
+ const processor = publicProcessorFactory.create(merkleTreeFork, globals, config, contractsDB);
195
155
  // REFACTOR: Consider merging ProcessReturnValues into ProcessedTx
196
156
  const [processedTxs, failedTxs, _usedTxs, returns, debugLogs] = await processor.process([
197
157
  tx
@@ -214,6 +174,39 @@ import { applyPublicDataOverrides } from './public_data_overrides.js';
214
174
  }
215
175
  }
216
176
  /**
177
+ * Plans and prices the next block, and brings the world state up to the block that plan builds on. Retries
178
+ * once when the world state reaches the planned height with a different block: a prune between the archiver
179
+ * read and the sync leaves the two disagreeing, and forking anyway would simulate against state the plan's
180
+ * globals do not belong to. Any other sync failure propagates as is.
181
+ */ async prepareNextBlock() {
182
+ for(let attempt = 0; attempt < MAX_PREDICTION_ATTEMPTS; attempt++){
183
+ const { plan, globals } = await this.predictor.predict();
184
+ try {
185
+ const [, messages] = await Promise.all([
186
+ // Passing the hash makes the sync fork-aware: it waits for the block the plan builds on and throws if
187
+ // the world state ended up with a different block at that height.
188
+ this.worldStateSynchronizer.syncImmediate(plan.latestBlockNumber, BlockHash.fromString(plan.latestBlockHash)),
189
+ this.getNextCheckpointMessages(plan.newCheckpoint?.targetCheckpoint)
190
+ ]);
191
+ return {
192
+ plan,
193
+ globals,
194
+ messages
195
+ };
196
+ } catch (err) {
197
+ if (!isBlockHashMismatch(err)) {
198
+ throw err;
199
+ }
200
+ this.log.warn(`World state disagrees with the planned next block, replanning`, {
201
+ blockNumber: plan.latestBlockNumber,
202
+ blockHash: plan.latestBlockHash,
203
+ error: err.message
204
+ });
205
+ }
206
+ }
207
+ throw new Error(`Cannot simulate public calls: world state and archiver disagree on the latest block (prune race), retry`);
208
+ }
209
+ /**
217
210
  * Fetches the next checkpoint's L1-to-L2 messages to insert into the fork before simulation. Only set
218
211
  * when opening a new checkpoint; when continuing an in-progress checkpoint the ongoing checkpoint's
219
212
  * messages were already applied when its first block synced, so inserting here would double-count them
@@ -239,108 +232,7 @@ import { applyPublicDataOverrides } from './public_data_overrides.js';
239
232
  return undefined;
240
233
  }
241
234
  }
242
- /**
243
- * Continues an in-progress checkpoint: the next block extends the checkpoint the latest proposed
244
- * block belongs to. Every block in a checkpoint shares the same `CheckpointGlobalVariables`, so the
245
- * next block's globals are the latest proposed block's globals with only the block number bumped —
246
- * including the proposer's real coinbase/feeRecipient. No L1 reads and no L1-to-L2 message insertion
247
- * happen here.
248
- *
249
- * A missing header means the archiver reported a proposed tip via `getL2Tips` but no longer has its
250
- * data (a torn snapshot). We throw a transient/retryable error rather than treating the next block as
251
- * opening a new checkpoint: the fork at `latestBlockNumber` already contains the ongoing checkpoint's
252
- * L1-to-L2 messages, so inserting the next checkpoint's messages would append them a second time.
253
- */ async copyGlobalVariablesFromLatestProposedBlock(latestBlockNumber, blockNumber) {
254
- const latestBlockData = await this.blockSource.getBlockData({
255
- number: latestBlockNumber
256
- });
257
- if (!latestBlockData) {
258
- throw new Error(`Cannot simulate public calls: latest proposed block ${latestBlockNumber} has no header on this node ` + `(torn archiver snapshot); retry`);
259
- }
260
- return GlobalVariables.from({
261
- ...latestBlockData.header.globalVariables,
262
- blockNumber
263
- });
264
- }
265
- /**
266
- * Opens a new checkpoint: the next block is the first of a fresh checkpoint. Picks the slot the next
267
- * block will land in, mirroring the sequencer, and builds the same `SimulationOverridesPlan` the
268
- * sequencer applies so the simulated mana min fee matches what the sequencer will write into the
269
- * block header. Coinbase and fee recipient stay zero (we cannot know the future proposer's payout
270
- * addresses), unlike continuing an in-progress checkpoint which inherits the real ones from the
271
- * proposed header. Returns the target checkpoint so the caller inserts that checkpoint's L1-to-L2
272
- * messages into the fork.
273
- */ async buildGlobalVariablesForNewCheckpoint(l2Tips, proposedCheckpointData, blockNumber) {
274
- const checkpointedCheckpointNumber = l2Tips.checkpointed.checkpoint.number;
275
- // The new checkpoint sits on top of the proposed one when pipelining, otherwise on the
276
- // checkpointed tip. The target slot and the overrides plan both derive from the single
277
- // `proposedCheckpointData` read, so they cannot disagree about the proposed parent.
278
- const proposedCheckpointNumber = proposedCheckpointData?.checkpointNumber ?? checkpointedCheckpointNumber;
279
- const targetSlot = this.computeTargetSlot(proposedCheckpointData);
280
- const plan = await this.buildSimulationOverridesPlan(proposedCheckpointData, checkpointedCheckpointNumber);
281
- const checkpointGlobalVariables = await this.globalVariableBuilder.buildCheckpointGlobalVariables(EthAddress.ZERO, AztecAddress.ZERO, targetSlot, plan);
282
- return {
283
- globalVariables: GlobalVariables.from({
284
- blockNumber,
285
- ...checkpointGlobalVariables
286
- }),
287
- targetCheckpoint: CheckpointNumber(proposedCheckpointNumber + 1)
288
- };
289
- }
290
- /**
291
- * Slot the next block will land in. The first term is the sequencer's exact formula
292
- * (`getEpochAndSlotInNextL1Slot().slot + PROPOSER_PIPELINING_SLOT_OFFSET`). The `max` with
293
- * `proposedCheckpointSlot + 1` is an RPC-side approximation of the next build: when a proposed
294
- * checkpoint is gossiped before its L1 slot starts, the next build (once its wall clock arrives)
295
- * will target `parentSlot + 1`. The sequencer never advances its own target past wall clock — it
296
- * just declines to build — so this is a prediction of inclusion globals, not literal sequencer
297
- * behavior. The parent slot comes from the proposed checkpoint header so the slot and the
298
- * overrides plan cannot derive from different snapshots.
299
- */ computeTargetSlot(proposedCheckpointData) {
300
- const slotFromNextL1Timestamp = this.epochCache.getEpochAndSlotInNextL1Slot().slot + PROPOSER_PIPELINING_SLOT_OFFSET;
301
- const slotAfterProposedCheckpoint = proposedCheckpointData ? proposedCheckpointData.header.slotNumber + 1 : undefined;
302
- return SlotNumber(Math.max(...compactArray([
303
- slotFromNextL1Timestamp,
304
- slotAfterProposedCheckpoint
305
- ])));
306
- }
307
- /**
308
- * Builds the chain-state overrides plan the simulator passes to `buildCheckpointGlobalVariables`,
309
- * mirroring the sequencer (which always pins tips to neutralize prunes). When pipelining, the plan
310
- * carries the proposed parent's archive, temp-checkpoint-log cell, and locally-derived fee header.
311
- *
312
- * Both the pipelining and invalid-pending-chain paths need a rollup contract for the L1 fee reads.
313
- * Environments that omit it (e.g. TXE, which never has a proposed checkpoint and whose pending chain
314
- * is always valid) fall back to pinning both pending and proven tips to the checkpointed tip, which
315
- * neutralizes prunes in fee computation at the cost of non-pipelined fees.
316
- */ async buildSimulationOverridesPlan(proposedCheckpointData, checkpointedCheckpointNumber) {
317
- const rollup = this.rollupContract;
318
- if (rollup) {
319
- if (proposedCheckpointData) {
320
- return buildCheckpointSimulationOverridesPlan({
321
- checkpointNumber: CheckpointNumber(proposedCheckpointData.checkpointNumber + 1),
322
- proposedCheckpointData,
323
- checkpointedCheckpointNumber,
324
- rollup,
325
- signatureContext: this.signatureContext,
326
- log: this.log
327
- });
328
- }
329
- const validationStatus = await this.blockSource.getPendingChainValidationStatus();
330
- if (!validationStatus.valid) {
331
- return buildCheckpointSimulationOverridesPlan({
332
- checkpointNumber: CheckpointNumber(checkpointedCheckpointNumber + 1),
333
- invalidateToPendingCheckpointNumber: CheckpointNumber(validationStatus.checkpoint.checkpointNumber - 1),
334
- checkpointedCheckpointNumber,
335
- rollup,
336
- signatureContext: this.signatureContext,
337
- log: this.log
338
- });
339
- }
340
- }
341
- return new SimulationOverridesBuilder().withChainTips({
342
- pending: checkpointedCheckpointNumber,
343
- proven: checkpointedCheckpointNumber
344
- }).build();
345
- }
235
+ }
236
+ /** The sync reached the planned height but found a different block there, so the chain moved under the plan. */ function isBlockHashMismatch(err) {
237
+ return isErrorClass(err, WorldStateSynchronizerError) && typeof err.cause === 'object' && err.cause !== null && 'reason' in err.cause && err.cause.reason === 'block_hash_mismatch';
346
238
  }
@@ -32,6 +32,7 @@ import { type TelemetryClient, type Traceable, type Tracer } from '@aztec/teleme
32
32
  import { ValidatorClient } from '@aztec/validator-client';
33
33
  import { Sentinel } from '../sentinel/sentinel.js';
34
34
  import type { AztecNodeConfig } from './config.js';
35
+ import { type NextBlockPredictor } from './next_block/index.js';
35
36
  /**
36
37
  * Fully-constructed collaborators and settings an {@link AztecNodeService} owns. Built by `createAztecNodeService`
37
38
  * (see `factory.ts`); passed as a single object so call sites name each dependency instead of relying on
@@ -55,6 +56,7 @@ export interface AztecNodeServiceDeps {
55
56
  globalVariableBuilder: GlobalVariableBuilderInterface;
56
57
  rollupContract: RollupContract | undefined;
57
58
  feeProvider: FeeProvider;
59
+ nextBlockPredictor: NextBlockPredictor;
58
60
  epochCache: EpochCacheInterface;
59
61
  packageVersion: string;
60
62
  peerProofVerifier: ClientProtocolCircuitVerifier;
@@ -98,6 +100,7 @@ export declare class AztecNodeService implements AztecNode, AztecNodeAdmin, Azte
98
100
  protected readonly globalVariableBuilder: GlobalVariableBuilderInterface;
99
101
  protected readonly rollupContract: RollupContract | undefined;
100
102
  protected readonly feeProvider: FeeProvider;
103
+ protected readonly nextBlockPredictor: NextBlockPredictor;
101
104
  protected readonly epochCache: EpochCacheInterface;
102
105
  protected readonly packageVersion: string;
103
106
  private peerProofVerifier;
@@ -152,7 +155,20 @@ export declare class AztecNodeService implements AztecNode, AztecNodeAdmin, Azte
152
155
  isReady(): Promise<boolean>;
153
156
  getNodeInfo(): Promise<NodeInfo>;
154
157
  getCurrentMinFees(): Promise<GasFees>;
155
- /** Returns predicted min fees for the current slot and next N slots. */
158
+ /**
159
+ * Returns the min fees a transaction submitted now may have to pay, worst entry first in intent: the list
160
+ * leads with the fee this node's public simulation would charge the next block right now, followed by the
161
+ * fee provider's projections for the current slot and the next N slots. Clients pad the worst entry, so a
162
+ * quoted transaction clears the simulation's fee check whether the difference comes from a frozen
163
+ * mid-checkpoint fee, a lagging clock, or L1 lag.
164
+ *
165
+ * The head normally comes from memory: the plan from the archiver's in-memory frontier and the boundary fee
166
+ * from the background-refreshed cache. At a boundary the cache has not priced yet, the request joins the
167
+ * shared refresh for at most {@link QUOTE_MAX_WAIT_MS}, a budget the projections' wait shares so the whole
168
+ * quote stays under that bound. The head is omitted when the node cannot produce it in time — an L1 outage
169
+ * that outlasts the cache's cutoff, or a frontier with no header for its proposed tip — in which case the
170
+ * projections alone are returned, as before this method grew a head.
171
+ */
156
172
  getPredictedMinFees(manaUsage?: ManaUsageEstimate): Promise<GasFees[]>;
157
173
  getMaxPriorityFees(): Promise<GasFees>;
158
174
  /**
@@ -276,4 +292,4 @@ export declare class AztecNodeService implements AztecNode, AztecNodeAdmin, Azte
276
292
  */
277
293
  protected getWorldState(block: BlockParameter): Promise<import("@aztec/stdlib/trees").MerkleTreeReadOperations>;
278
294
  }
279
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmVyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXp0ZWMtbm9kZS9zZXJ2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsY0FBYyxFQUFFLEtBQUssd0JBQXdCLEVBQUUsS0FBSyxxQkFBcUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzdHLE9BQU8sS0FBSyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDOUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBRSxLQUFLLG1CQUFtQixFQUEyQixNQUFNLHVDQUF1QyxDQUFDO0FBQzFHLE9BQU8sRUFDTCxXQUFXLEVBQ1gsZ0JBQWdCLEVBQ2hCLEtBQUssc0JBQXNCLEVBQzNCLFdBQVcsRUFDWCxVQUFVLEVBQ1gsTUFBTSxpQ0FBaUMsQ0FBQztBQUV6QyxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRzNELE9BQU8sRUFBRSxLQUFLLE1BQU0sRUFBZ0IsTUFBTSx1QkFBdUIsQ0FBQztBQUlsRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekUsT0FBTyxFQUFFLGVBQWUsRUFBaUMsTUFBTSxzQkFBc0IsQ0FBQztBQUV0RixPQUFPLEVBQUUsS0FBSyxHQUFHLEVBQTRFLE1BQU0sWUFBWSxDQUFDO0FBRWhILE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztB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
295
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmVyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXp0ZWMtbm9kZS9zZXJ2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsY0FBYyxFQUFFLEtBQUssd0JBQXdCLEVBQUUsS0FBSyxxQkFBcUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzdHLE9BQU8sS0FBSyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDOUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBRSxLQUFLLG1CQUFtQixFQUEyQixNQUFNLHVDQUF1QyxDQUFDO0FBQzFHLE9BQU8sRUFDTCxXQUFXLEVBQ1gsZ0JBQWdCLEVBQ2hCLEtBQUssc0JBQXNCLEVBQzNCLFdBQVcsRUFDWCxVQUFVLEVBQ1gsTUFBTSxpQ0FBaUMsQ0FBQztBQUV6QyxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRzNELE9BQU8sRUFBRSxLQUFLLE1BQU0sRUFBZ0IsTUFBTSx1QkFBdUIsQ0FBQztBQUlsRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekUsT0FBTyxFQUFFLGVBQWUsRUFBaUMsTUFBTSxzQkFBc0IsQ0FBQztBQUV0RixPQUFPLEVBQUUsS0FBSyxHQUFHLEVBQTRFLE1BQU0sWUFBWSxDQUFDO0FBRWhILE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztB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
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/aztec-node/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/aztec-node/server.ts"],"names":[],"mappings":"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"}
@@ -399,6 +399,7 @@ import { NodeBlockProvider } from '../modules/node_block_provider.js';
399
399
  import { NodeTxReceiptBuilder } from '../modules/node_tx_receipt.js';
400
400
  import { NodeWorldStateQueries } from '../modules/node_world_state_queries.js';
401
401
  import { UnseenBlockHoldOff } from '../modules/unseen_block_hold_off.js';
402
+ import { QUOTE_MAX_WAIT_MS } from './next_block/index.js';
402
403
  import { NodeMetrics } from './node_metrics.js';
403
404
  import { NodePublicCallsSimulator } from './node_public_calls_simulator.js';
404
405
  _dec = trackSpan('AztecNodeService.simulatePublicCalls', (tx)=>({
@@ -444,6 +445,7 @@ _dec = trackSpan('AztecNodeService.simulatePublicCalls', (tx)=>({
444
445
  globalVariableBuilder;
445
446
  rollupContract;
446
447
  feeProvider;
448
+ nextBlockPredictor;
447
449
  epochCache;
448
450
  packageVersion;
449
451
  peerProofVerifier;
@@ -473,6 +475,7 @@ _dec = trackSpan('AztecNodeService.simulatePublicCalls', (tx)=>({
473
475
  this.globalVariableBuilder = deps.globalVariableBuilder;
474
476
  this.rollupContract = deps.rollupContract;
475
477
  this.feeProvider = deps.feeProvider;
478
+ this.nextBlockPredictor = deps.nextBlockPredictor;
476
479
  this.epochCache = deps.epochCache;
477
480
  this.packageVersion = deps.packageVersion;
478
481
  this.peerProofVerifier = deps.peerProofVerifier;
@@ -486,20 +489,11 @@ _dec = trackSpan('AztecNodeService.simulatePublicCalls', (tx)=>({
486
489
  this.automineSequencer = deps.automineSequencer;
487
490
  this.metrics = new NodeMetrics(this.telemetry, 'AztecNodeService');
488
491
  this.tracer = this.telemetry.getTracer('AztecNodeService');
489
- // The node never represents a proposer's payout addresses, so the simulator zeroes coinbase and
490
- // fee recipient. The signature context only needs chain id + rollup address (see signature_utils).
491
492
  this.nodePublicCallsSimulator = new NodePublicCallsSimulator({
492
- blockSource: this.blockSource,
493
493
  worldStateSynchronizer: this.worldStateSynchronizer,
494
494
  l1ToL2MessageSource: this.l1ToL2MessageSource,
495
495
  contractDataSource: this.contractDataSource,
496
- globalVariableBuilder: this.globalVariableBuilder,
497
- rollupContract: this.rollupContract,
498
- epochCache: this.epochCache,
499
- signatureContext: {
500
- chainId: this.l1ChainId,
501
- rollupAddress: this.config.rollupAddress
502
- },
496
+ predictor: this.nextBlockPredictor,
503
497
  config: this.config,
504
498
  telemetry: this.telemetry,
505
499
  log: this.log.createChild('public-calls-simulator')
@@ -668,8 +662,35 @@ _dec = trackSpan('AztecNodeService.simulatePublicCalls', (tx)=>({
668
662
  async getCurrentMinFees() {
669
663
  return await this.feeProvider.getCurrentMinFees();
670
664
  }
671
- /** Returns predicted min fees for the current slot and next N slots. */ async getPredictedMinFees(manaUsage) {
672
- return await this.feeProvider.getPredictedMinFees(manaUsage);
665
+ /**
666
+ * Returns the min fees a transaction submitted now may have to pay, worst entry first in intent: the list
667
+ * leads with the fee this node's public simulation would charge the next block right now, followed by the
668
+ * fee provider's projections for the current slot and the next N slots. Clients pad the worst entry, so a
669
+ * quoted transaction clears the simulation's fee check whether the difference comes from a frozen
670
+ * mid-checkpoint fee, a lagging clock, or L1 lag.
671
+ *
672
+ * The head normally comes from memory: the plan from the archiver's in-memory frontier and the boundary fee
673
+ * from the background-refreshed cache. At a boundary the cache has not priced yet, the request joins the
674
+ * shared refresh for at most {@link QUOTE_MAX_WAIT_MS}, a budget the projections' wait shares so the whole
675
+ * quote stays under that bound. The head is omitted when the node cannot produce it in time — an L1 outage
676
+ * that outlasts the cache's cutoff, or a frontier with no header for its proposed tip — in which case the
677
+ * projections alone are returned, as before this method grew a head.
678
+ */ async getPredictedMinFees(manaUsage) {
679
+ const timer = new Timer();
680
+ const head = await this.nextBlockPredictor.quoteMinFees().catch((err)=>{
681
+ this.log.warn(`Failed to compute the next-block min fee for a quote, serving L1 projections only`, err);
682
+ return undefined;
683
+ });
684
+ // Tagging the projections with the head's L1 sync point keeps both halves of the answer on one L1 block.
685
+ const asOf = head?.l1SyncPoint && {
686
+ blockNumber: head.l1SyncPoint.blockNumber,
687
+ maxWaitMs: Math.max(0, QUOTE_MAX_WAIT_MS - timer.ms())
688
+ };
689
+ const projections = await this.feeProvider.getPredictedMinFees(manaUsage, asOf);
690
+ return head ? [
691
+ head.fees,
692
+ ...projections
693
+ ] : projections;
673
694
  }
674
695
  async getMaxPriorityFees() {
675
696
  const tx = await first(this.p2pClient.iteratePendingTxs({
@@ -789,6 +810,7 @@ _dec = trackSpan('AztecNodeService.simulatePublicCalls', (tx)=>({
789
810
  await tryStop(this.automineSequencer);
790
811
  await tryStop(this.proverNode);
791
812
  await tryStop(this.p2pClient);
813
+ await tryStop(this.nextBlockPredictor);
792
814
  await tryStop(this.feeProvider);
793
815
  await tryStop(this.worldStateSynchronizer);
794
816
  await tryStop(this.blockSource);
package/dest/factory.d.ts CHANGED
@@ -30,4 +30,4 @@ export interface CreateAztecNodeOptions {
30
30
  * @returns A fully synced Aztec Node for use in development/testing.
31
31
  */
32
32
  export declare function createAztecNodeService(inputConfig: AztecNodeConfig, deps?: CreateAztecNodeDeps, options?: CreateAztecNodeOptions): Promise<AztecNodeService>;
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yeS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2ZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBWUEsT0FBTyxFQUFFLEtBQUssTUFBTSxFQUFnQixNQUFNLHVCQUF1QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUl2RCxPQUFPLEVBQUUsS0FBSyxhQUFhLEVBQW1CLE1BQU0sWUFBWSxDQUFDO0FBQ2pFLE9BQU8sRUFBbUIsS0FBSyxjQUFjLEVBQW9CLE1BQU0sb0JBQW9CLENBQUM7QUFFNUYsT0FBTyxFQUlMLEtBQUssa0JBQWtCLEVBQ3hCLE1BQU0seUJBQXlCLENBQUM7QUFnQmpDLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxLQUFLLGVBQWUsRUFBc0IsTUFBTSx5QkFBeUIsQ0FBQztBQVVuRixPQUFPLEtBQUssRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBS25GLE9BQU8sRUFBRSxLQUFLLGVBQWUsRUFBOEIsTUFBTSx3QkFBd0IsQ0FBQztBQUMxRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUcxRCxvR0FBb0c7QUFDcEcsTUFBTSxXQUFXLG1CQUFtQjtJQUNsQyxTQUFTLENBQUMsRUFBRSxlQUFlLENBQUM7SUFDNUIsTUFBTSxDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQ2hCLFNBQVMsQ0FBQyxFQUFFLGtCQUFrQixDQUFDO0lBQy9CLFlBQVksQ0FBQyxFQUFFLFlBQVksQ0FBQztJQUM1QixhQUFhLENBQUMsRUFBRSxhQUFhLENBQUM7SUFDOUIsY0FBYyxDQUFDLEVBQUUsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3pDLG9CQUFvQixDQUFDLEVBQUUsMEJBQTBCLENBQUM7Q0FDbkQ7QUFFRCw2RUFBNkU7QUFDN0UsTUFBTSxXQUFXLHNCQUFzQjtJQUNyQyxPQUFPLENBQUMsRUFBRSxXQUFXLENBQUM7SUFDdEIsa0JBQWtCLENBQUMsRUFBRSxPQUFPLENBQUM7SUFDN0IsbUJBQW1CLENBQUMsRUFBRSxPQUFPLENBQUM7Q0FDL0I7QUFFRDs7OztHQUlHO0FBQ0gsd0JBQXNCLHNCQUFzQixDQUMxQyxXQUFXLEVBQUUsZUFBZSxFQUM1QixJQUFJLEdBQUUsbUJBQXdCLEVBQzlCLE9BQU8sR0FBRSxzQkFBMkIsR0FDbkMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBK2pCM0IifQ==
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFjdG9yeS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2ZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBWUEsT0FBTyxFQUFFLEtBQUssTUFBTSxFQUFnQixNQUFNLHVCQUF1QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUl2RCxPQUFPLEVBQUUsS0FBSyxhQUFhLEVBQW1CLE1BQU0sWUFBWSxDQUFDO0FBQ2pFLE9BQU8sRUFBbUIsS0FBSyxjQUFjLEVBQW9CLE1BQU0sb0JBQW9CLENBQUM7QUFFNUYsT0FBTyxFQUlMLEtBQUssa0JBQWtCLEVBQ3hCLE1BQU0seUJBQXlCLENBQUM7QUFnQmpDLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxLQUFLLGVBQWUsRUFBc0IsTUFBTSx5QkFBeUIsQ0FBQztBQVVuRixPQUFPLEtBQUssRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBS25GLE9BQU8sRUFBRSxLQUFLLGVBQWUsRUFBOEIsTUFBTSx3QkFBd0IsQ0FBQztBQUUxRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUcxRCxvR0FBb0c7QUFDcEcsTUFBTSxXQUFXLG1CQUFtQjtJQUNsQyxTQUFTLENBQUMsRUFBRSxlQUFlLENBQUM7SUFDNUIsTUFBTSxDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQ2hCLFNBQVMsQ0FBQyxFQUFFLGtCQUFrQixDQUFDO0lBQy9CLFlBQVksQ0FBQyxFQUFFLFlBQVksQ0FBQztJQUM1QixhQUFhLENBQUMsRUFBRSxhQUFhLENBQUM7SUFDOUIsY0FBYyxDQUFDLEVBQUUsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3pDLG9CQUFvQixDQUFDLEVBQUUsMEJBQTBCLENBQUM7Q0FDbkQ7QUFFRCw2RUFBNkU7QUFDN0UsTUFBTSxXQUFXLHNCQUFzQjtJQUNyQyxPQUFPLENBQUMsRUFBRSxXQUFXLENBQUM7SUFDdEIsa0JBQWtCLENBQUMsRUFBRSxPQUFPLENBQUM7SUFDN0IsbUJBQW1CLENBQUMsRUFBRSxPQUFPLENBQUM7Q0FDL0I7QUFFRDs7OztHQUlHO0FBQ0gsd0JBQXNCLHNCQUFzQixDQUMxQyxXQUFXLEVBQUUsZUFBZSxFQUM1QixJQUFJLEdBQUUsbUJBQXdCLEVBQzlCLE9BQU8sR0FBRSxzQkFBMkIsR0FDbkMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBNGtCM0IifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAIvD,OAAO,EAAE,KAAK,aAAa,EAAmB,MAAM,YAAY,CAAC;AACjE,OAAO,EAAmB,KAAK,cAAc,EAAoB,MAAM,oBAAoB,CAAC;AAE5F,OAAO,EAIL,KAAK,kBAAkB,EACxB,MAAM,yBAAyB,CAAC;AAgBjC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,KAAK,eAAe,EAAsB,MAAM,yBAAyB,CAAC;AAUnF,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAC;AAKnF,OAAO,EAAE,KAAK,eAAe,EAA8B,MAAM,wBAAwB,CAAC;AAC1F,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG1D,oGAAoG;AACpG,MAAM,WAAW,mBAAmB;IAClC,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,kBAAkB,CAAC;IAC/B,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,cAAc,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IACzC,oBAAoB,CAAC,EAAE,0BAA0B,CAAC;CACnD;AAED,6EAA6E;AAC7E,MAAM,WAAW,sBAAsB;IACrC,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED;;;;GAIG;AACH,wBAAsB,sBAAsB,CAC1C,WAAW,EAAE,eAAe,EAC5B,IAAI,GAAE,mBAAwB,EAC9B,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,gBAAgB,CAAC,CA+jB3B"}
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAIvD,OAAO,EAAE,KAAK,aAAa,EAAmB,MAAM,YAAY,CAAC;AACjE,OAAO,EAAmB,KAAK,cAAc,EAAoB,MAAM,oBAAoB,CAAC;AAE5F,OAAO,EAIL,KAAK,kBAAkB,EACxB,MAAM,yBAAyB,CAAC;AAgBjC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,KAAK,eAAe,EAAsB,MAAM,yBAAyB,CAAC;AAUnF,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAC;AAKnF,OAAO,EAAE,KAAK,eAAe,EAA8B,MAAM,wBAAwB,CAAC;AAE1F,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG1D,oGAAoG;AACpG,MAAM,WAAW,mBAAmB;IAClC,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,kBAAkB,CAAC;IAC/B,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,cAAc,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IACzC,oBAAoB,CAAC,EAAE,0BAA0B,CAAC;CACnD;AAED,6EAA6E;AAC7E,MAAM,WAAW,sBAAsB;IACrC,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED;;;;GAIG;AACH,wBAAsB,sBAAsB,CAC1C,WAAW,EAAE,eAAe,EAC5B,IAAI,GAAE,mBAAwB,EAC9B,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,gBAAgB,CAAC,CA4kB3B"}
package/dest/factory.js CHANGED
@@ -29,6 +29,7 @@ import { FullNodeCheckpointsBuilder as CheckpointsBuilder, FullNodeCheckpointsBu
29
29
  import { createWorldState, createWorldStateSynchronizer } from '@aztec/world-state';
30
30
  import { createPublicClient } from 'viem';
31
31
  import { createKeyStoreForValidator } from './aztec-node/config.js';
32
+ import { NextBlockPredictor } from './aztec-node/next_block/index.js';
32
33
  import { AztecNodeService } from './aztec-node/server.js';
33
34
  import { createSentinel } from './sentinel/factory.js';
34
35
  /**
@@ -172,9 +173,23 @@ import { createSentinel } from './sentinel/factory.js';
172
173
  slotDuration: Number(slotDuration)
173
174
  };
174
175
  const globalVariableBuilder = new GlobalVariableBuilder(publicClient, globalVariableBuilderConfig);
175
- const feeProvider = new FeeProviderImpl(dateProvider, publicClient, globalVariableBuilderConfig);
176
+ const feeProvider = new FeeProviderImpl(dateProvider, publicClient, globalVariableBuilderConfig, archiver);
176
177
  await feeProvider.start();
177
178
  started.push(feeProvider);
179
+ const nextBlockPredictor = NextBlockPredictor.create({
180
+ blockSource: archiver,
181
+ globalVariableBuilder,
182
+ rollupContract,
183
+ epochCache,
184
+ signatureContext: {
185
+ chainId: ethereumChain.chainInfo.id,
186
+ rollupAddress: config.rollupAddress
187
+ },
188
+ dateProvider,
189
+ log: log.createChild('next-block-predictor')
190
+ });
191
+ nextBlockPredictor.start();
192
+ started.push(nextBlockPredictor);
178
193
  const collectOffenses = !config.disableValidator || config.enableOffenseCollection;
179
194
  // A prover node may still be proving an epoch whose blocks have already finalized on L1. Its proof
180
195
  // submission window spans (proofSubmissionEpochs + 1) epochs, so its tx pool must keep finalized txs
@@ -485,6 +500,7 @@ import { createSentinel } from './sentinel/factory.js';
485
500
  globalVariableBuilder,
486
501
  rollupContract,
487
502
  feeProvider,
503
+ nextBlockPredictor,
488
504
  epochCache,
489
505
  packageVersion,
490
506
  peerProofVerifier,
package/dest/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  export * from './aztec-node/config.js';
2
+ export { NextBlockPredictor } from './aztec-node/next_block/index.js';
2
3
  export * from './aztec-node/register_node_rpc_handlers.js';
3
4
  export * from './aztec-node/server.js';
4
5
  export * from './factory.js';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLGNBQWMsQ0FBQyJ9
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3RFLGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLGNBQWMsQ0FBQyJ9
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,4CAA4C,CAAC;AAC3D,cAAc,wBAAwB,CAAC;AACvC,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,cAAc,4CAA4C,CAAC;AAC3D,cAAc,wBAAwB,CAAC;AACvC,cAAc,cAAc,CAAC"}