@aztec/sequencer-client 5.0.0-rc.1 → 5.0.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.
- package/dest/config.js +1 -1
- package/dest/global_variable_builder/global_builder.d.ts +3 -16
- package/dest/global_variable_builder/global_builder.d.ts.map +1 -1
- package/dest/global_variable_builder/global_builder.js +2 -25
- package/dest/publisher/config.d.ts +5 -1
- package/dest/publisher/config.d.ts.map +1 -1
- package/dest/publisher/config.js +11 -1
- package/dest/publisher/sequencer-publisher.d.ts +17 -4
- package/dest/publisher/sequencer-publisher.d.ts.map +1 -1
- package/dest/publisher/sequencer-publisher.js +113 -20
- package/dest/sequencer/automine/automine_sequencer.d.ts +8 -3
- package/dest/sequencer/automine/automine_sequencer.d.ts.map +1 -1
- package/dest/sequencer/automine/automine_sequencer.js +16 -4
- package/dest/sequencer/checkpoint_proposal_job.d.ts +1 -1
- package/dest/sequencer/checkpoint_proposal_job.d.ts.map +1 -1
- package/dest/sequencer/checkpoint_proposal_job.js +2 -3
- package/dest/sequencer/sequencer.d.ts +9 -7
- package/dest/sequencer/sequencer.d.ts.map +1 -1
- package/dest/sequencer/sequencer.js +46 -41
- package/dest/test/utils.d.ts +1 -1
- package/dest/test/utils.d.ts.map +1 -1
- package/dest/test/utils.js +1 -1
- package/package.json +27 -27
- package/src/config.ts +1 -1
- package/src/global_variable_builder/global_builder.ts +2 -34
- package/src/publisher/config.ts +22 -1
- package/src/publisher/sequencer-publisher.ts +108 -21
- package/src/sequencer/automine/automine_sequencer.ts +16 -4
- package/src/sequencer/checkpoint_proposal_job.ts +3 -5
- package/src/sequencer/sequencer.ts +52 -48
- package/src/test/utils.ts +1 -0
- package/dest/sequencer/chain_state_overrides.d.ts +0 -61
- package/dest/sequencer/chain_state_overrides.d.ts.map +0 -1
- package/dest/sequencer/chain_state_overrides.js +0 -98
- package/src/sequencer/chain_state_overrides.ts +0 -169
|
@@ -157,4 +157,4 @@ export declare class CheckpointProposalJob implements Traceable {
|
|
|
157
157
|
protected waitForTxsPollingInterval(): Promise<void>;
|
|
158
158
|
getPublisher(): SequencerPublisher;
|
|
159
159
|
}
|
|
160
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
160
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2twb2ludF9wcm9wb3NhbF9qb2IuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXF1ZW5jZXIvY2hlY2twb2ludF9wcm9wb3NhbF9qb2IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssVUFBVSxFQUFtQyxNQUFNLG9CQUFvQixDQUFDO0FBRXRGLE9BQU8sRUFDTCxXQUFXLEVBQ1gsZ0JBQWdCLEVBQ2hCLFdBQVcsRUFDWCxxQkFBcUIsRUFDckIsVUFBVSxFQUNYLE1BQU0saUNBQWlDLENBQUM7QUFTekMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRzNELE9BQU8sRUFBRSxLQUFLLE1BQU0sRUFBRSxLQUFLLGNBQWMsRUFBZ0IsTUFBTSx1QkFBdUIsQ0FBQztBQUV2RixPQUFPLEVBQUUsS0FBSyxZQUFZLEVBQVMsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsS0FBSyxpQkFBaUIsRUFBMEIsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RixPQUFPLEtBQUssRUFBRSxHQUFHLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDdEMsT0FBTyxLQUFLLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3RCxPQUFPLEVBR0wsT0FBTyxFQUNQLEtBQUssV0FBVyxFQUNoQixLQUFLLGFBQWEsRUFFbEIsS0FBSyxzQkFBc0IsRUFFNUIsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQ0wsS0FBSyxVQUFVLEVBQ2YsS0FBSyxzQkFBc0IsRUFJNUIsTUFBTSwwQkFBMEIsQ0FBQztBQUdsQyxPQUFPLEVBR0wsS0FBSyx1QkFBdUIsRUFDNUIsS0FBSyxzQkFBc0IsRUFDNUIsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6QyxPQUFPLEVBQUUsS0FBSyxtQkFBbUIsRUFBbUMsTUFBTSx5QkFBeUIsQ0FBQztBQUNwRyxPQUFPLEtBQUssRUFNViw0QkFBNEIsRUFD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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkpoint_proposal_job.d.ts","sourceRoot":"","sources":["../../src/sequencer/checkpoint_proposal_job.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAmC,MAAM,oBAAoB,CAAC;AAEtF,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,WAAW,EACX,qBAAqB,EACrB,UAAU,EACX,MAAM,iCAAiC,CAAC;AASzC,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAG3D,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,cAAc,EAAgB,MAAM,uBAAuB,CAAC;AAEvF,OAAO,EAAE,KAAK,YAAY,EAAS,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,KAAK,iBAAiB,EAA0B,MAAM,yBAAyB,CAAC;AACzF,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAGL,OAAO,EACP,KAAK,WAAW,EAChB,KAAK,aAAa,EAElB,KAAK,sBAAsB,EAE5B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,KAAK,UAAU,EACf,KAAK,sBAAsB,
|
|
1
|
+
{"version":3,"file":"checkpoint_proposal_job.d.ts","sourceRoot":"","sources":["../../src/sequencer/checkpoint_proposal_job.ts"],"names":[],"mappings":"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"}
|
|
@@ -447,7 +447,7 @@ import { InterruptibleSleep } from '@aztec/foundation/sleep';
|
|
|
447
447
|
import { Timer } from '@aztec/foundation/timer';
|
|
448
448
|
import { isErrorClass, unfreeze } from '@aztec/foundation/types';
|
|
449
449
|
import { CommitteeAttestationsAndSigners, MaliciousCommitteeAttestationsAndSigners } from '@aztec/stdlib/block';
|
|
450
|
-
import { getPreviousCheckpointOutHashes, validateCheckpoint } from '@aztec/stdlib/checkpoint';
|
|
450
|
+
import { buildCheckpointSimulationOverridesPlan, getPreviousCheckpointOutHashes, validateCheckpoint } from '@aztec/stdlib/checkpoint';
|
|
451
451
|
import { computeQuorum, getTimestampForSlot } from '@aztec/stdlib/epoch-helpers';
|
|
452
452
|
import { Gas } from '@aztec/stdlib/gas';
|
|
453
453
|
import { InsufficientValidTxsError } from '@aztec/stdlib/interfaces/server';
|
|
@@ -456,7 +456,6 @@ import { orderAttestations, trimAttestations } from '@aztec/stdlib/p2p';
|
|
|
456
456
|
import { AttestationTimeoutError } from '@aztec/stdlib/validators';
|
|
457
457
|
import { Attributes, trackSpan } from '@aztec/telemetry-client';
|
|
458
458
|
import { DutyAlreadySignedError, SlashingProtectionError } from '@aztec/validator-ha-signer/errors';
|
|
459
|
-
import { buildCheckpointSimulationOverridesPlan } from './chain_state_overrides.js';
|
|
460
459
|
import { CheckpointVoter } from './checkpoint_voter.js';
|
|
461
460
|
import { SequencerInterruptedError } from './errors.js';
|
|
462
461
|
import { SequencerState } from './utils.js';
|
|
@@ -1326,7 +1325,7 @@ _dec = trackSpan('CheckpointProposalJob.execute'), _dec1 = trackSpan('Checkpoint
|
|
|
1326
1325
|
availableTxs,
|
|
1327
1326
|
minTxs
|
|
1328
1327
|
});
|
|
1329
|
-
this.log.
|
|
1328
|
+
this.log.verbose(`Not enough txs to build block ${blockNumber} at index ${indexWithinCheckpoint} in slot ${this.targetSlot} (got ${availableTxs} txs but needs ${minTxs})`, {
|
|
1330
1329
|
reason: 'insufficient_txs',
|
|
1331
1330
|
blockNumber,
|
|
1332
1331
|
slot: this.targetSlot,
|
|
@@ -9,7 +9,7 @@ import type { TypedEventEmitter } from '@aztec/foundation/types';
|
|
|
9
9
|
import type { P2P } from '@aztec/p2p';
|
|
10
10
|
import type { SlasherClientInterface } from '@aztec/slasher';
|
|
11
11
|
import type { BlockData, L2BlockSink, L2BlockSource, ProposedCheckpointSink, ValidateCheckpointResult } from '@aztec/stdlib/block';
|
|
12
|
-
import type
|
|
12
|
+
import { type Checkpoint, type ProposedCheckpointData } from '@aztec/stdlib/checkpoint';
|
|
13
13
|
import type { ChainConfig } from '@aztec/stdlib/config';
|
|
14
14
|
import { type ResolvedSequencerConfig, type SequencerConfig, type WorldStateSynchronizer } from '@aztec/stdlib/interfaces/server';
|
|
15
15
|
import type { L1ToL2MessageSource } from '@aztec/stdlib/messaging';
|
|
@@ -66,8 +66,8 @@ export declare class Sequencer extends Sequencer_base {
|
|
|
66
66
|
private metrics;
|
|
67
67
|
private checkpointProposalJobMetrics;
|
|
68
68
|
private readonly stateLog;
|
|
69
|
-
/** The last slot for which we attempted to perform our
|
|
70
|
-
private
|
|
69
|
+
/** The last slot for which we attempted to perform our fallback duties (votes and/or prune) with degraded block production */
|
|
70
|
+
private lastSlotForFallbackAction;
|
|
71
71
|
/** The (checkpoint, slot) of the last invalidation request we successfully simulated, to prevent
|
|
72
72
|
* re-simulating and re-submitting the same invalidation across the many ticks within a single slot. */
|
|
73
73
|
private lastInvalidationAttempt;
|
|
@@ -185,13 +185,15 @@ export declare class Sequencer extends Sequencer_base {
|
|
|
185
185
|
*/
|
|
186
186
|
protected checkCanPropose(targetSlot: SlotNumber): Promise<[boolean, EthAddress | undefined]>;
|
|
187
187
|
/**
|
|
188
|
-
* Tries to vote on slashing actions and governance when we cannot build and are past the
|
|
189
|
-
* This allows the sequencer to participate in governance/slashing votes even when it
|
|
188
|
+
* Tries to vote on slashing actions and governance and to prune when we cannot build and are past the
|
|
189
|
+
* block-building window. This allows the sequencer to participate in governance/slashing votes even when it
|
|
190
|
+
* cannot build blocks, and to prune the pending chain so it can recover from bad data that is blocking sync.
|
|
190
191
|
*/
|
|
191
|
-
protected
|
|
192
|
+
protected tryVoteAndPruneWhenCannotBuild(args: {
|
|
192
193
|
slot: SlotNumber;
|
|
193
194
|
targetSlot: SlotNumber;
|
|
194
195
|
}): Promise<void>;
|
|
196
|
+
private tryEnqueuePruneIfPrunable;
|
|
195
197
|
/**
|
|
196
198
|
* Tries to vote on slashing actions and governance proposals when escape hatch is open.
|
|
197
199
|
* This allows the sequencer to participate in voting without performing checkpoint proposal work.
|
|
@@ -284,4 +286,4 @@ type SequencerSyncCheckResult = {
|
|
|
284
286
|
syncedL2Slot: SlotNumber;
|
|
285
287
|
pendingChainValidationStatus: ValidateCheckpointResult;
|
|
286
288
|
};
|
|
287
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
289
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VxdWVuY2VyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VxdWVuY2VyL3NlcXVlbmNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsS0FBSyxVQUFVLEVBQW1DLE1BQU0sb0JBQW9CLENBQUM7QUFDdEYsT0FBTyxFQUFvQixLQUFLLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2xGLE9BQU8sRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRXpHLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDM0QsT0FBTyxFQUFFLEtBQUssTUFBTSxFQUFnQixNQUFNLHVCQUF1QixDQUFDO0FBRWxFLE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzVELE9BQU8sS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDakUsT0FBTyxLQUFLLEVBQUUsR0FBRyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3RDLE9BQU8sS0FBSyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0QsT0FBTyxLQUFLLEVBQ1YsU0FBUyxFQUNULFdBQVcsRUFDWCxhQUFhLEVBQ2Isc0JBQXNCLEVBQ3RCLHdCQUF3QixFQUN6QixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFDTCxLQUFLLFVBQVUsRUFDZixLQUFLLHNCQUFzQixFQUU1QixNQUFNLDBCQUEwQixDQUFDO0FBQ2xDLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBT3hELE9BQU8sRUFDTCxLQUFLLHVCQUF1QixFQUM1QixLQUFLLGVBQWUsRUFFcEIsS0FBSyxzQkFBc0IsRUFDNUIs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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sequencer.d.ts","sourceRoot":"","sources":["../../src/sequencer/sequencer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,UAAU,EAAmC,MAAM,oBAAoB,CAAC;AACtF,OAAO,EAAoB,KAAK,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAClF,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAEzG,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAElE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,KAAK,EACV,SAAS,EACT,WAAW,EACX,aAAa,EACb,sBAAsB,EACtB,wBAAwB,EACzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"sequencer.d.ts","sourceRoot":"","sources":["../../src/sequencer/sequencer.ts"],"names":[],"mappings":"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"}
|
|
@@ -379,6 +379,7 @@ import { merge, omit, pick } from '@aztec/foundation/collection';
|
|
|
379
379
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
380
380
|
import { createLogger } from '@aztec/foundation/log';
|
|
381
381
|
import { RunningPromise } from '@aztec/foundation/running-promise';
|
|
382
|
+
import { buildCheckpointSimulationOverridesPlan } from '@aztec/stdlib/checkpoint';
|
|
382
383
|
import { getEpochAtSlot } from '@aztec/stdlib/epoch-helpers';
|
|
383
384
|
import { MIN_PER_BLOCK_ALLOCATION_MULTIPLIER, MIN_PER_BLOCK_DA_ALLOCATION_MULTIPLIER, computeNetworkTxGasLimits } from '@aztec/stdlib/gas';
|
|
384
385
|
import { SequencerConfigSchema } from '@aztec/stdlib/interfaces/server';
|
|
@@ -387,7 +388,6 @@ import { buildProposerTimetable } from '@aztec/stdlib/timetable';
|
|
|
387
388
|
import { Attributes, getTelemetryClient, trackSpan } from '@aztec/telemetry-client';
|
|
388
389
|
import EventEmitter from 'node:events';
|
|
389
390
|
import { DefaultSequencerConfig } from '../config.js';
|
|
390
|
-
import { buildCheckpointSimulationOverridesPlan } from './chain_state_overrides.js';
|
|
391
391
|
import { CheckpointProposalJob } from './checkpoint_proposal_job.js';
|
|
392
392
|
import { CheckpointProposalJobMetrics } from './checkpoint_proposal_job_metrics.js';
|
|
393
393
|
import { CheckpointVoter } from './checkpoint_voter.js';
|
|
@@ -395,7 +395,7 @@ import { SequencerInterruptedError } from './errors.js';
|
|
|
395
395
|
import { SequencerMetrics } from './metrics.js';
|
|
396
396
|
import { SequencerState } from './utils.js';
|
|
397
397
|
export { SequencerState };
|
|
398
|
-
_dec = trackSpan('Sequencer.work'), _dec1 = trackSpan('Sequencer.prepareCheckpointProposal'), _dec2 = trackSpan('Sequencer.
|
|
398
|
+
_dec = trackSpan('Sequencer.work'), _dec1 = trackSpan('Sequencer.prepareCheckpointProposal'), _dec2 = trackSpan('Sequencer.tryVoteAndPruneWhenCannotBuild', ({ slot })=>({
|
|
399
399
|
[Attributes.SLOT_NUMBER]: slot
|
|
400
400
|
})), _dec3 = trackSpan('Sequencer.tryVoteWhenEscapeHatchOpen', ({ slot })=>({
|
|
401
401
|
[Attributes.SLOT_NUMBER]: slot
|
|
@@ -438,7 +438,7 @@ _dec = trackSpan('Sequencer.work'), _dec1 = trackSpan('Sequencer.prepareCheckpoi
|
|
|
438
438
|
[
|
|
439
439
|
_dec2,
|
|
440
440
|
2,
|
|
441
|
-
"
|
|
441
|
+
"tryVoteAndPruneWhenCannotBuild"
|
|
442
442
|
],
|
|
443
443
|
[
|
|
444
444
|
_dec3,
|
|
@@ -454,7 +454,7 @@ _dec = trackSpan('Sequencer.work'), _dec1 = trackSpan('Sequencer.prepareCheckpoi
|
|
|
454
454
|
metrics;
|
|
455
455
|
checkpointProposalJobMetrics;
|
|
456
456
|
stateLog;
|
|
457
|
-
/** The last slot for which we attempted to perform our
|
|
457
|
+
/** The last slot for which we attempted to perform our fallback duties (votes and/or prune) with degraded block production */ lastSlotForFallbackAction;
|
|
458
458
|
/** The (checkpoint, slot) of the last invalidation request we successfully simulated, to prevent
|
|
459
459
|
* re-simulating and re-submitting the same invalidation across the many ticks within a single slot. */ lastInvalidationAttempt;
|
|
460
460
|
/** The last slot for which we logged "no committee" warning, to avoid spam */ lastSlotForNoCommitteeWarning;
|
|
@@ -737,7 +737,7 @@ _dec = trackSpan('Sequencer.work'), _dec1 = trackSpan('Sequencer.prepareCheckpoi
|
|
|
737
737
|
slot
|
|
738
738
|
});
|
|
739
739
|
if (!syncedTo) {
|
|
740
|
-
await this.
|
|
740
|
+
await this.tryVoteAndPruneWhenCannotBuild({
|
|
741
741
|
slot,
|
|
742
742
|
targetSlot
|
|
743
743
|
});
|
|
@@ -759,7 +759,7 @@ _dec = trackSpan('Sequencer.work'), _dec1 = trackSpan('Sequencer.prepareCheckpoi
|
|
|
759
759
|
});
|
|
760
760
|
// Mark the slot as attempted so a deadline abort is not retried within the same slot. Vote-only actions
|
|
761
761
|
// still need to run because sync can succeed even when it is too late to start building a checkpoint.
|
|
762
|
-
await this.
|
|
762
|
+
await this.tryVoteAndPruneWhenCannotBuild({
|
|
763
763
|
slot,
|
|
764
764
|
targetSlot
|
|
765
765
|
});
|
|
@@ -1008,8 +1008,7 @@ _dec = trackSpan('Sequencer.work'), _dec1 = trackSpan('Sequencer.prepareCheckpoi
|
|
|
1008
1008
|
})),
|
|
1009
1009
|
this.l2BlockSource.getL2Tips().then((t)=>({
|
|
1010
1010
|
proposed: t.proposed,
|
|
1011
|
-
checkpointed: t.checkpointed
|
|
1012
|
-
proposedCheckpoint: t.proposedCheckpoint
|
|
1011
|
+
checkpointed: t.checkpointed
|
|
1013
1012
|
})),
|
|
1014
1013
|
this.p2pClient.getStatus().then((p2p)=>p2p.syncedToL2Block),
|
|
1015
1014
|
this.l1ToL2MessageSource.getL2Tips().then((t)=>({
|
|
@@ -1049,12 +1048,14 @@ _dec = trackSpan('Sequencer.work'), _dec1 = trackSpan('Sequencer.prepareCheckpoi
|
|
|
1049
1048
|
// matching proposed checkpoint (e.g. it crashed before assembling it). Building on this orphan block
|
|
1050
1049
|
// would fork the chain off a tip no other node can follow. The archiver prunes these orphan blocks
|
|
1051
1050
|
// once their build slot ends; this guard is the correctness barrier during the grace window before.
|
|
1052
|
-
|
|
1051
|
+
// `getProposedCheckpointData()` returns the latest proposed checkpoint payload, which is always
|
|
1052
|
+
// the leading one (a proposed entry is only stored beyond the confirmed frontier and is deleted
|
|
1053
|
+
// on confirmation). It carries no tip, so there is no tip-vs-payload split read to reconcile.
|
|
1054
|
+
if (blockData.checkpointNumber > l2Tips.checkpointed.checkpoint.number && proposedCheckpointData?.checkpointNumber !== blockData.checkpointNumber) {
|
|
1053
1055
|
const logCtx = {
|
|
1054
1056
|
blockCheckpointNumber: blockData.checkpointNumber,
|
|
1055
1057
|
checkpointedCheckpointNumber: l2Tips.checkpointed.checkpoint.number,
|
|
1056
|
-
proposedCheckpointTipNumber:
|
|
1057
|
-
proposedCheckpointDataNumber: proposedCheckpointData?.checkpointNumber,
|
|
1058
|
+
proposedCheckpointTipNumber: proposedCheckpointData?.checkpointNumber,
|
|
1058
1059
|
blockNumber: blockData.header.getBlockNumber(),
|
|
1059
1060
|
blockSlot: blockData.header.getSlot(),
|
|
1060
1061
|
syncedL2Slot,
|
|
@@ -1063,22 +1064,7 @@ _dec = trackSpan('Sequencer.work'), _dec1 = trackSpan('Sequencer.prepareCheckpoi
|
|
|
1063
1064
|
this.log.debug(`Waiting for proposed checkpoint to catch up with reexecuted block`, logCtx);
|
|
1064
1065
|
return undefined;
|
|
1065
1066
|
}
|
|
1066
|
-
const hasProposedCheckpoint =
|
|
1067
|
-
// The l2Tips and proposedCheckpointData reads above come from independent archiver snapshots
|
|
1068
|
-
// (a JS-side tips cache vs. a direct store read on `#proposedCheckpoints`). A concurrent archiver
|
|
1069
|
-
// write that mutates both can be observed split, leaving us with `hasProposedCheckpoint=true` but
|
|
1070
|
-
// no proposedCheckpointData (or one whose number doesn't match the tip). Refuse to proceed in that
|
|
1071
|
-
// window — the next checkSync tick will see a coherent snapshot.
|
|
1072
|
-
if (hasProposedCheckpoint && (!proposedCheckpointData || proposedCheckpointData.checkpointNumber !== l2Tips.proposedCheckpoint.checkpoint.number)) {
|
|
1073
|
-
this.log.warn(`Sequencer sync check failed: inconsistent proposed-checkpoint state`, {
|
|
1074
|
-
proposedCheckpointTipNumber: l2Tips.proposedCheckpoint.checkpoint.number,
|
|
1075
|
-
checkpointedTipNumber: l2Tips.checkpointed.checkpoint.number,
|
|
1076
|
-
proposedCheckpointDataNumber: proposedCheckpointData?.checkpointNumber,
|
|
1077
|
-
syncedL2Slot,
|
|
1078
|
-
...args
|
|
1079
|
-
});
|
|
1080
|
-
return undefined;
|
|
1081
|
-
}
|
|
1067
|
+
const hasProposedCheckpoint = proposedCheckpointData !== undefined;
|
|
1082
1068
|
// Check that the proposed checkpoint is indeed the parent of the checkpoint we'll be building
|
|
1083
1069
|
// The checkpoint number to build is derived as blockData.checkpointNumber + 1
|
|
1084
1070
|
if (proposedCheckpointData && proposedCheckpointData.checkpointNumber !== blockData.checkpointNumber) {
|
|
@@ -1163,13 +1149,14 @@ _dec = trackSpan('Sequencer.work'), _dec1 = trackSpan('Sequencer.prepareCheckpoi
|
|
|
1163
1149
|
];
|
|
1164
1150
|
}
|
|
1165
1151
|
/**
|
|
1166
|
-
* Tries to vote on slashing actions and governance when we cannot build and are past the
|
|
1167
|
-
* This allows the sequencer to participate in governance/slashing votes even when it
|
|
1168
|
-
|
|
1152
|
+
* Tries to vote on slashing actions and governance and to prune when we cannot build and are past the
|
|
1153
|
+
* block-building window. This allows the sequencer to participate in governance/slashing votes even when it
|
|
1154
|
+
* cannot build blocks, and to prune the pending chain so it can recover from bad data that is blocking sync.
|
|
1155
|
+
*/ async tryVoteAndPruneWhenCannotBuild(args) {
|
|
1169
1156
|
const { slot, targetSlot } = args;
|
|
1170
1157
|
// Prevent duplicate attempts in the same slot
|
|
1171
|
-
if (this.
|
|
1172
|
-
this.log.trace(`Already attempted
|
|
1158
|
+
if (this.lastSlotForFallbackAction === slot) {
|
|
1159
|
+
this.log.trace(`Already attempted fallback actions in slot ${slot} (skipping)`);
|
|
1173
1160
|
return;
|
|
1174
1161
|
}
|
|
1175
1162
|
// Vote-only actions do not give up the slot: if sync recovers, a later work-loop iteration can still build.
|
|
@@ -1191,7 +1178,7 @@ _dec = trackSpan('Sequencer.work'), _dec1 = trackSpan('Sequencer.prepareCheckpoi
|
|
|
1191
1178
|
return;
|
|
1192
1179
|
}
|
|
1193
1180
|
// Mark this slot as attempted
|
|
1194
|
-
this.
|
|
1181
|
+
this.lastSlotForFallbackAction = slot;
|
|
1195
1182
|
// Get a publisher for voting
|
|
1196
1183
|
const { attestorAddress, publisher } = await this.publisherFactory.create(proposer);
|
|
1197
1184
|
this.log.debug(`Attempting to vote despite sync failure at slot ${slot}`, {
|
|
@@ -1202,35 +1189,53 @@ _dec = trackSpan('Sequencer.work'), _dec1 = trackSpan('Sequencer.prepareCheckpoi
|
|
|
1202
1189
|
const voter = new CheckpointVoter(targetSlot, publisher, attestorAddress, this.validatorClient, this.slasherClient, this.l1Constants, this.config, this.metrics, this.log);
|
|
1203
1190
|
const votesPromises = voter.enqueueVotes();
|
|
1204
1191
|
const votes = await Promise.all(votesPromises);
|
|
1205
|
-
if (
|
|
1206
|
-
|
|
1192
|
+
// Even if we cannot build, try to prune so a stuck pending chain (e.g. bad data blocking sync) can
|
|
1193
|
+
// recover. prune() is permissionless, so it rides the same fallback multicall as the votes.
|
|
1194
|
+
const pruneEnqueued = await this.tryEnqueuePruneIfPrunable(targetSlot, publisher);
|
|
1195
|
+
// Bail if nothing to do
|
|
1196
|
+
if (votes.every((p)=>!p) && !pruneEnqueued) {
|
|
1197
|
+
this.log.debug(`Nothing to enqueue for slot ${slot} (no votes, not prunable)`);
|
|
1207
1198
|
return;
|
|
1208
1199
|
}
|
|
1209
|
-
|
|
1210
|
-
|
|
1200
|
+
const [governanceVoteEnqueued, slashingVoteEnqueued] = votes;
|
|
1201
|
+
this.log.info(`Submitting fallback requests in slot ${slot} despite sync failure`, {
|
|
1202
|
+
slot,
|
|
1203
|
+
pruneEnqueued,
|
|
1204
|
+
governanceVoteEnqueued: !!governanceVoteEnqueued,
|
|
1205
|
+
slashingVoteEnqueued: !!slashingVoteEnqueued
|
|
1211
1206
|
});
|
|
1212
1207
|
// Votes are EIP-712-signed for `targetSlot` (the pipelined slot in which the multicall is
|
|
1213
1208
|
// expected to mine). Delay submission to the start of `targetSlot` so the tx mines in the
|
|
1214
1209
|
// slot the votes were signed for. We fire-and-forget so we don't block the sequencer's
|
|
1215
1210
|
// work loop while waiting for the target slot to start.
|
|
1216
1211
|
void publisher.sendRequestsAt(targetSlot).catch((err)=>{
|
|
1217
|
-
this.log.error(`Failed to publish
|
|
1212
|
+
this.log.error(`Failed to publish fallback requests despite sync failure for slot ${slot}`, err, {
|
|
1218
1213
|
slot
|
|
1219
1214
|
});
|
|
1220
1215
|
});
|
|
1221
1216
|
}
|
|
1217
|
+
async tryEnqueuePruneIfPrunable(targetSlot, publisher) {
|
|
1218
|
+
try {
|
|
1219
|
+
return await publisher.enqueuePruneIfPrunable(targetSlot);
|
|
1220
|
+
} catch (err) {
|
|
1221
|
+
this.log.error(`Failed to enqueue rollup prune for slot ${targetSlot}`, err, {
|
|
1222
|
+
targetSlot
|
|
1223
|
+
});
|
|
1224
|
+
return false;
|
|
1225
|
+
}
|
|
1226
|
+
}
|
|
1222
1227
|
/**
|
|
1223
1228
|
* Tries to vote on slashing actions and governance proposals when escape hatch is open.
|
|
1224
1229
|
* This allows the sequencer to participate in voting without performing checkpoint proposal work.
|
|
1225
1230
|
*/ async tryVoteWhenEscapeHatchOpen(args) {
|
|
1226
1231
|
const { slot, targetSlot, proposer } = args;
|
|
1227
1232
|
// Prevent duplicate attempts in the same slot
|
|
1228
|
-
if (this.
|
|
1233
|
+
if (this.lastSlotForFallbackAction === slot) {
|
|
1229
1234
|
this.log.trace(`Already attempted to vote in slot ${slot} (escape hatch open, skipping)`);
|
|
1230
1235
|
return;
|
|
1231
1236
|
}
|
|
1232
1237
|
// Mark this slot as attempted
|
|
1233
|
-
this.
|
|
1238
|
+
this.lastSlotForFallbackAction = slot;
|
|
1234
1239
|
const { attestorAddress, publisher } = await this.publisherFactory.create(proposer);
|
|
1235
1240
|
this.log.debug(`Escape hatch open for slot ${slot}, attempting vote-only actions`, {
|
|
1236
1241
|
slot,
|
|
@@ -1256,7 +1261,7 @@ _dec = trackSpan('Sequencer.work'), _dec1 = trackSpan('Sequencer.prepareCheckpoi
|
|
|
1256
1261
|
// the multicall mines in the slot the votes were signed for; otherwise the L1 contract reads
|
|
1257
1262
|
// `signaler = getCurrentProposer()` against the wrong slot and signature verification fails
|
|
1258
1263
|
// silently inside Multicall3. Fire-and-forget so we don't block the sequencer's work loop while
|
|
1259
|
-
// waiting for the target slot to start, mirroring
|
|
1264
|
+
// waiting for the target slot to start, mirroring tryVoteAndPruneWhenCannotBuild.
|
|
1260
1265
|
void publisher.sendRequestsAt(targetSlot).catch((err)=>{
|
|
1261
1266
|
this.log.error(`Failed to publish escape-hatch votes for slot ${slot}`, err, {
|
|
1262
1267
|
slot,
|
package/dest/test/utils.d.ts
CHANGED
|
@@ -64,4 +64,4 @@ export declare function setupTxsAndBlock(p2p: MockProxy<P2P>, globalVariables: G
|
|
|
64
64
|
txs: Tx[];
|
|
65
65
|
block: L2Block;
|
|
66
66
|
}>;
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90ZXN0L3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEQsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzVELE9BQU8sS0FBSyxFQUFFLEdBQUcsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUV0QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFcEUsT0FBTyxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsYUFBYSxFQUFFLHFCQUFxQixFQUFFLGtCQUFrQixFQUFvQixNQUFNLG1CQUFtQixDQUFDO0FBTy9HLE9BQU8sRUFLTCxpQkFBaUIsRUFDbEIsTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQWUsZUFBZSxFQUFFLEtBQUssRUFBRSxFQUFvQyxNQUFNLGtCQUFrQixDQUFDO0FBRTNHLE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBR3BELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRTdGOzs7O0dBSUc7QUFDSCx3QkFBZ0IscUJBQXFCLENBQUMsSUFBSSxFQUFFO0lBQzFDLFdBQVcsRUFBRSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsZUFBZSxHQUFHLGNBQWMsR0FBRyxzQkFBc0IsQ0FBQyxDQUFDO0lBQ2hHLGVBQWUsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUN6QixnQkFBZ0IsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUMxQixrQkFBa0IsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUM1Qiw2QkFBNkIsQ0FBQyxFQUFFLE1BQU0sQ0FBQztDQUN4QyxHQUFHLGlCQUFpQixDQVNwQjtBQUVEOztHQUVHO0FBQ0gsd0JBQXNCLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FNckU7QUFFRDs7R0FFRztBQUNILHdCQUFzQixTQUFTLENBQUMsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLGVBQWUsRUFBRSxlQUFlLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQWdCN0Y7QUFFRDs7R0FFRztBQUNILHdCQUFnQixjQUFjLENBQUMsR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUluRTtBQUVEOztHQUVHO0FBQ0gsd0JBQXVCLGNBQWMsQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcscUJBQXFCLENBQUMsRUFBRSxDQUFDLENBSW5GO0FBRUQ7O0dBRUc7QUFDSCx3QkFBZ0Isb0JBQW9CLENBQUMsTUFBTSxFQUFFLGVBQWUsR0FBRyxvQkFBb0IsRUFBRSxDQUdwRjtBQXdCRDs7R0FFRztBQUNILHdCQUFnQixtQkFBbUIsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEdBQUcsYUFBYSxDQVd2RjtBQUVEOztHQUVHO0FBQ0gsd0JBQWdCLHdCQUF3QixDQUN0QyxLQUFLLEVBQUUsT0FBTyxFQUNkLG1CQUFtQixFQUFFLFNBQVMsRUFDOUIsY0FBYyxDQUFDLEVBQUUsU0FBUyxFQUMxQixxQkFBcUIsR0FBRSxNQUFXLEdBQ2pDLGtCQUFrQixDQWdCcEI7QUFFRDs7OztHQUlHO0FBQ0gsd0JBQWdCLDJCQUEyQixDQUN6QyxLQUFLLEVBQUUsT0FBTyxFQUNkLFNBQVMsRUFBRSxTQUFTLEVBQ3BCLE1BQU0sRUFBRSxVQUFVLEVBQ2xCLHFCQUFxQixHQUFFLE1BQVcsR0FDakMscUJBQXFCLENBYXZCO0FBRUQ7OztHQUdHO0FBQ0gsd0JBQXNCLGdCQUFnQixDQUNwQyxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUNuQixlQUFlLEVBQUUsZUFBZSxFQUNoQyxPQUFPLEVBQUUsTUFBTSxFQUNmLE9BQU8sRUFBRSxFQUFFLEdBQ1YsT0FBTyxDQUFDO0lBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxDQUFDO0lBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQTtDQUFFLENBQUMsQ0FLeEMifQ==
|
package/dest/test/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/test/utils.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAC5E,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAC5D,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EAAE,oBAAoB,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAEpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,kBAAkB,EAAoB,MAAM,mBAAmB,CAAC;AAO/G,OAAO,EAKL,iBAAiB,EAClB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAe,eAAe,EAAE,KAAK,EAAE,EAAoC,MAAM,kBAAkB,CAAC;AAE3G,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAGpD,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAE7F;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE;IAC1C,WAAW,EAAE,IAAI,CAAC,iBAAiB,EAAE,eAAe,GAAG,cAAc,GAAG,sBAAsB,CAAC,CAAC;IAChG,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,6BAA6B,CAAC,EAAE,MAAM,CAAC;CACxC,GAAG,iBAAiB,CASpB;AAED;;GAEG;AACH,wBAAsB,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAMrE;AAED;;GAEG;AACH,wBAAsB,SAAS,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,eAAe,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,CAgB7F;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,IAAI,CAInE;AAED;;GAEG;AACH,wBAAuB,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,GAAG,qBAAqB,CAAC,EAAE,CAAC,CAInF;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,eAAe,GAAG,oBAAoB,EAAE,CAGpF;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/test/utils.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AAC5E,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAC5D,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EAAE,oBAAoB,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAEpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,kBAAkB,EAAoB,MAAM,mBAAmB,CAAC;AAO/G,OAAO,EAKL,iBAAiB,EAClB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAe,eAAe,EAAE,KAAK,EAAE,EAAoC,MAAM,kBAAkB,CAAC;AAE3G,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAGpD,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAE7F;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE;IAC1C,WAAW,EAAE,IAAI,CAAC,iBAAiB,EAAE,eAAe,GAAG,cAAc,GAAG,sBAAsB,CAAC,CAAC;IAChG,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,6BAA6B,CAAC,EAAE,MAAM,CAAC;CACxC,GAAG,iBAAiB,CASpB;AAED;;GAEG;AACH,wBAAsB,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAMrE;AAED;;GAEG;AACH,wBAAsB,SAAS,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,eAAe,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,CAgB7F;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,IAAI,CAInE;AAED;;GAEG;AACH,wBAAuB,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,GAAG,qBAAqB,CAAC,EAAE,CAAC,CAInF;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,eAAe,GAAG,oBAAoB,EAAE,CAGpF;AAwBD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,GAAG,aAAa,CAWvF;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,OAAO,EACd,mBAAmB,EAAE,SAAS,EAC9B,cAAc,CAAC,EAAE,SAAS,EAC1B,qBAAqB,GAAE,MAAW,GACjC,kBAAkB,CAgBpB;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,OAAO,EACd,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,UAAU,EAClB,qBAAqB,GAAE,MAAW,GACjC,qBAAqB,CAavB;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EACnB,eAAe,EAAE,eAAe,EAChC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,EAAE,GACV,OAAO,CAAC;IAAE,GAAG,EAAE,EAAE,EAAE,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC,CAKxC"}
|
package/dest/test/utils.js
CHANGED
|
@@ -74,7 +74,7 @@ export { MockCheckpointBuilder, MockCheckpointsBuilder } from './mock_checkpoint
|
|
|
74
74
|
* Uses mock values for blockHeadersHash, blobsHash and inHash since L2Block doesn't have these fields.
|
|
75
75
|
*/ function createCheckpointHeaderFromBlock(block) {
|
|
76
76
|
const gv = block.header.globalVariables;
|
|
77
|
-
return new CheckpointHeader(block.header.lastArchive.root, Fr.random(), Fr.random(), Fr.random(), Fr.random(), gv.slotNumber, gv.timestamp, gv.coinbase, gv.feeRecipient, gv.gasFees, block.header.totalManaUsed);
|
|
77
|
+
return new CheckpointHeader(block.header.lastArchive.root, Fr.random(), Fr.random(), Fr.random(), Fr.random(), gv.slotNumber, gv.timestamp, gv.coinbase, gv.feeRecipient, gv.gasFees, block.header.totalManaUsed, block.header.totalFees);
|
|
78
78
|
}
|
|
79
79
|
/**
|
|
80
80
|
* Creates a block proposal from a block and signature
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/sequencer-client",
|
|
3
|
-
"version": "5.0.0-rc.
|
|
3
|
+
"version": "5.0.0-rc.2",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": "./dest/index.js",
|
|
@@ -27,37 +27,37 @@
|
|
|
27
27
|
"test:integration:run": "NODE_NO_WARNINGS=1 node --experimental-vm-modules $(yarn bin jest) --no-cache --config jest.integration.config.json"
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@aztec/aztec.js": "5.0.0-rc.
|
|
31
|
-
"@aztec/bb-prover": "5.0.0-rc.
|
|
32
|
-
"@aztec/blob-client": "5.0.0-rc.
|
|
33
|
-
"@aztec/blob-lib": "5.0.0-rc.
|
|
34
|
-
"@aztec/constants": "5.0.0-rc.
|
|
35
|
-
"@aztec/epoch-cache": "5.0.0-rc.
|
|
36
|
-
"@aztec/ethereum": "5.0.0-rc.
|
|
37
|
-
"@aztec/foundation": "5.0.0-rc.
|
|
38
|
-
"@aztec/l1-artifacts": "5.0.0-rc.
|
|
39
|
-
"@aztec/node-keystore": "5.0.0-rc.
|
|
40
|
-
"@aztec/noir-acvm_js": "5.0.0-rc.
|
|
41
|
-
"@aztec/noir-contracts.js": "5.0.0-rc.
|
|
42
|
-
"@aztec/noir-protocol-circuits-types": "5.0.0-rc.
|
|
43
|
-
"@aztec/noir-types": "5.0.0-rc.
|
|
44
|
-
"@aztec/p2p": "5.0.0-rc.
|
|
45
|
-
"@aztec/protocol-contracts": "5.0.0-rc.
|
|
46
|
-
"@aztec/prover-client": "5.0.0-rc.
|
|
47
|
-
"@aztec/simulator": "5.0.0-rc.
|
|
48
|
-
"@aztec/slasher": "5.0.0-rc.
|
|
49
|
-
"@aztec/stdlib": "5.0.0-rc.
|
|
50
|
-
"@aztec/telemetry-client": "5.0.0-rc.
|
|
51
|
-
"@aztec/validator-client": "5.0.0-rc.
|
|
52
|
-
"@aztec/validator-ha-signer": "5.0.0-rc.
|
|
53
|
-
"@aztec/world-state": "5.0.0-rc.
|
|
30
|
+
"@aztec/aztec.js": "5.0.0-rc.2",
|
|
31
|
+
"@aztec/bb-prover": "5.0.0-rc.2",
|
|
32
|
+
"@aztec/blob-client": "5.0.0-rc.2",
|
|
33
|
+
"@aztec/blob-lib": "5.0.0-rc.2",
|
|
34
|
+
"@aztec/constants": "5.0.0-rc.2",
|
|
35
|
+
"@aztec/epoch-cache": "5.0.0-rc.2",
|
|
36
|
+
"@aztec/ethereum": "5.0.0-rc.2",
|
|
37
|
+
"@aztec/foundation": "5.0.0-rc.2",
|
|
38
|
+
"@aztec/l1-artifacts": "5.0.0-rc.2",
|
|
39
|
+
"@aztec/node-keystore": "5.0.0-rc.2",
|
|
40
|
+
"@aztec/noir-acvm_js": "5.0.0-rc.2",
|
|
41
|
+
"@aztec/noir-contracts.js": "5.0.0-rc.2",
|
|
42
|
+
"@aztec/noir-protocol-circuits-types": "5.0.0-rc.2",
|
|
43
|
+
"@aztec/noir-types": "5.0.0-rc.2",
|
|
44
|
+
"@aztec/p2p": "5.0.0-rc.2",
|
|
45
|
+
"@aztec/protocol-contracts": "5.0.0-rc.2",
|
|
46
|
+
"@aztec/prover-client": "5.0.0-rc.2",
|
|
47
|
+
"@aztec/simulator": "5.0.0-rc.2",
|
|
48
|
+
"@aztec/slasher": "5.0.0-rc.2",
|
|
49
|
+
"@aztec/stdlib": "5.0.0-rc.2",
|
|
50
|
+
"@aztec/telemetry-client": "5.0.0-rc.2",
|
|
51
|
+
"@aztec/validator-client": "5.0.0-rc.2",
|
|
52
|
+
"@aztec/validator-ha-signer": "5.0.0-rc.2",
|
|
53
|
+
"@aztec/world-state": "5.0.0-rc.2",
|
|
54
54
|
"lodash.chunk": "^4.2.0",
|
|
55
55
|
"tslib": "^2.4.0",
|
|
56
56
|
"viem": "npm:@aztec/viem@2.38.2"
|
|
57
57
|
},
|
|
58
58
|
"devDependencies": {
|
|
59
|
-
"@aztec/archiver": "5.0.0-rc.
|
|
60
|
-
"@aztec/kv-store": "5.0.0-rc.
|
|
59
|
+
"@aztec/archiver": "5.0.0-rc.2",
|
|
60
|
+
"@aztec/kv-store": "5.0.0-rc.2",
|
|
61
61
|
"@electric-sql/pglite": "^0.3.14",
|
|
62
62
|
"@jest/globals": "^30.0.0",
|
|
63
63
|
"@types/jest": "^30.0.0",
|
package/src/config.ts
CHANGED
|
@@ -144,7 +144,7 @@ export const sequencerConfigMappings: ConfigMappingsType<SequencerConfig> = {
|
|
|
144
144
|
},
|
|
145
145
|
feeRecipient: {
|
|
146
146
|
env: 'FEE_RECIPIENT',
|
|
147
|
-
parseEnv: (val: string) => AztecAddress.
|
|
147
|
+
parseEnv: (val: string) => AztecAddress.fromStringUnsafe(val),
|
|
148
148
|
description: 'Address to receive fees.',
|
|
149
149
|
},
|
|
150
150
|
acvmWorkingDirectory: {
|
|
@@ -4,18 +4,16 @@ import {
|
|
|
4
4
|
buildSimulationOverridesStateOverride,
|
|
5
5
|
} from '@aztec/ethereum/contracts';
|
|
6
6
|
import type { ViemPublicClient } from '@aztec/ethereum/types';
|
|
7
|
-
import {
|
|
7
|
+
import type { SlotNumber } from '@aztec/foundation/branded-types';
|
|
8
8
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
9
9
|
import type { EthAddress } from '@aztec/foundation/eth-address';
|
|
10
|
-
import type { DateProvider } from '@aztec/foundation/timer';
|
|
11
10
|
import type { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
12
|
-
import { type L1RollupConstants,
|
|
11
|
+
import { type L1RollupConstants, getTimestampForSlot } from '@aztec/stdlib/epoch-helpers';
|
|
13
12
|
import { GasFees } from '@aztec/stdlib/gas';
|
|
14
13
|
import type {
|
|
15
14
|
CheckpointGlobalVariables,
|
|
16
15
|
GlobalVariableBuilder as GlobalVariableBuilderInterface,
|
|
17
16
|
} from '@aztec/stdlib/tx';
|
|
18
|
-
import { GlobalVariables } from '@aztec/stdlib/tx';
|
|
19
17
|
|
|
20
18
|
/** Configuration for the GlobalVariableBuilder (excludes L1 client config). */
|
|
21
19
|
export type GlobalVariableBuilderConfig = {
|
|
@@ -29,7 +27,6 @@ export type GlobalVariableBuilderConfig = {
|
|
|
29
27
|
*/
|
|
30
28
|
export class GlobalVariableBuilder implements GlobalVariableBuilderInterface {
|
|
31
29
|
private readonly rollupContract: RollupContract;
|
|
32
|
-
private readonly ethereumSlotDuration: number;
|
|
33
30
|
private readonly aztecSlotDuration: number;
|
|
34
31
|
private readonly l1GenesisTime: bigint;
|
|
35
32
|
|
|
@@ -37,47 +34,18 @@ export class GlobalVariableBuilder implements GlobalVariableBuilderInterface {
|
|
|
37
34
|
private version: Fr;
|
|
38
35
|
|
|
39
36
|
constructor(
|
|
40
|
-
private readonly dateProvider: DateProvider,
|
|
41
37
|
private readonly publicClient: ViemPublicClient,
|
|
42
38
|
config: GlobalVariableBuilderConfig,
|
|
43
39
|
) {
|
|
44
40
|
this.version = new Fr(config.rollupVersion);
|
|
45
41
|
this.chainId = new Fr(this.publicClient.chain!.id);
|
|
46
42
|
|
|
47
|
-
this.ethereumSlotDuration = config.ethereumSlotDuration;
|
|
48
43
|
this.aztecSlotDuration = config.slotDuration;
|
|
49
44
|
this.l1GenesisTime = config.l1GenesisTime;
|
|
50
45
|
|
|
51
46
|
this.rollupContract = new RollupContract(this.publicClient, config.rollupAddress);
|
|
52
47
|
}
|
|
53
48
|
|
|
54
|
-
/**
|
|
55
|
-
* Simple builder of global variables.
|
|
56
|
-
* @param blockNumber - The block number to build global variables for.
|
|
57
|
-
* @param coinbase - The address to receive block reward.
|
|
58
|
-
* @param feeRecipient - The address to receive fees.
|
|
59
|
-
* @param slotNumber - The slot number to use for the global variables, if undefined it will be calculated.
|
|
60
|
-
* @returns The global variables for the given block number.
|
|
61
|
-
*/
|
|
62
|
-
public async buildGlobalVariables(
|
|
63
|
-
blockNumber: BlockNumber,
|
|
64
|
-
coinbase: EthAddress,
|
|
65
|
-
feeRecipient: AztecAddress,
|
|
66
|
-
maybeSlot?: SlotNumber,
|
|
67
|
-
): Promise<GlobalVariables> {
|
|
68
|
-
const slot: SlotNumber =
|
|
69
|
-
maybeSlot ??
|
|
70
|
-
(await this.rollupContract.getSlotAt(
|
|
71
|
-
getNextL1SlotTimestamp(this.dateProvider.nowInSeconds(), {
|
|
72
|
-
l1GenesisTime: this.l1GenesisTime,
|
|
73
|
-
ethereumSlotDuration: this.ethereumSlotDuration,
|
|
74
|
-
}),
|
|
75
|
-
));
|
|
76
|
-
|
|
77
|
-
const checkpointGlobalVariables = await this.buildCheckpointGlobalVariables(coinbase, feeRecipient, slot);
|
|
78
|
-
return GlobalVariables.from({ blockNumber, ...checkpointGlobalVariables });
|
|
79
|
-
}
|
|
80
|
-
|
|
81
49
|
/** Builds global variables that are constant throughout a checkpoint. */
|
|
82
50
|
public async buildCheckpointGlobalVariables(
|
|
83
51
|
coinbase: EthAddress,
|