@aztec/archiver 0.0.1-commit.2b2662070 → 0.0.1-commit.2c0ee1788

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 (95) hide show
  1. package/dest/archiver.d.ts +17 -10
  2. package/dest/archiver.d.ts.map +1 -1
  3. package/dest/archiver.js +92 -53
  4. package/dest/config.d.ts +3 -1
  5. package/dest/config.d.ts.map +1 -1
  6. package/dest/config.js +14 -3
  7. package/dest/errors.d.ts +32 -5
  8. package/dest/errors.d.ts.map +1 -1
  9. package/dest/errors.js +51 -6
  10. package/dest/factory.d.ts +4 -4
  11. package/dest/factory.d.ts.map +1 -1
  12. package/dest/factory.js +13 -10
  13. package/dest/index.d.ts +10 -3
  14. package/dest/index.d.ts.map +1 -1
  15. package/dest/index.js +9 -2
  16. package/dest/l1/calldata_retriever.d.ts +2 -1
  17. package/dest/l1/calldata_retriever.d.ts.map +1 -1
  18. package/dest/l1/calldata_retriever.js +9 -4
  19. package/dest/l1/data_retrieval.d.ts +18 -9
  20. package/dest/l1/data_retrieval.d.ts.map +1 -1
  21. package/dest/l1/data_retrieval.js +13 -19
  22. package/dest/l1/validate_historical_logs.d.ts +23 -0
  23. package/dest/l1/validate_historical_logs.d.ts.map +1 -0
  24. package/dest/l1/validate_historical_logs.js +108 -0
  25. package/dest/modules/contract_data_source_adapter.d.ts +25 -0
  26. package/dest/modules/contract_data_source_adapter.d.ts.map +1 -0
  27. package/dest/modules/contract_data_source_adapter.js +42 -0
  28. package/dest/modules/data_source_base.d.ts +16 -10
  29. package/dest/modules/data_source_base.d.ts.map +1 -1
  30. package/dest/modules/data_source_base.js +71 -60
  31. package/dest/modules/data_store_updater.d.ts +16 -9
  32. package/dest/modules/data_store_updater.d.ts.map +1 -1
  33. package/dest/modules/data_store_updater.js +52 -40
  34. package/dest/modules/instrumentation.d.ts +4 -1
  35. package/dest/modules/instrumentation.d.ts.map +1 -1
  36. package/dest/modules/instrumentation.js +5 -0
  37. package/dest/modules/l1_synchronizer.d.ts +8 -4
  38. package/dest/modules/l1_synchronizer.d.ts.map +1 -1
  39. package/dest/modules/l1_synchronizer.js +182 -70
  40. package/dest/modules/validation.d.ts +4 -3
  41. package/dest/modules/validation.d.ts.map +1 -1
  42. package/dest/modules/validation.js +4 -4
  43. package/dest/store/block_store.d.ts +59 -21
  44. package/dest/store/block_store.d.ts.map +1 -1
  45. package/dest/store/block_store.js +181 -66
  46. package/dest/store/contract_class_store.d.ts +17 -3
  47. package/dest/store/contract_class_store.d.ts.map +1 -1
  48. package/dest/store/contract_class_store.js +17 -1
  49. package/dest/store/contract_instance_store.d.ts +28 -1
  50. package/dest/store/contract_instance_store.d.ts.map +1 -1
  51. package/dest/store/contract_instance_store.js +31 -0
  52. package/dest/store/data_stores.d.ts +68 -0
  53. package/dest/store/data_stores.d.ts.map +1 -0
  54. package/dest/store/data_stores.js +50 -0
  55. package/dest/store/function_names_cache.d.ts +17 -0
  56. package/dest/store/function_names_cache.d.ts.map +1 -0
  57. package/dest/store/function_names_cache.js +30 -0
  58. package/dest/store/l2_tips_cache.js +1 -1
  59. package/dest/test/fake_l1_state.d.ts +7 -3
  60. package/dest/test/fake_l1_state.d.ts.map +1 -1
  61. package/dest/test/fake_l1_state.js +42 -15
  62. package/dest/test/mock_l2_block_source.d.ts +12 -3
  63. package/dest/test/mock_l2_block_source.d.ts.map +1 -1
  64. package/dest/test/mock_l2_block_source.js +24 -2
  65. package/dest/test/noop_l1_archiver.d.ts +4 -4
  66. package/dest/test/noop_l1_archiver.d.ts.map +1 -1
  67. package/dest/test/noop_l1_archiver.js +9 -6
  68. package/package.json +13 -13
  69. package/src/archiver.ts +108 -50
  70. package/src/config.ts +15 -1
  71. package/src/errors.ts +75 -8
  72. package/src/factory.ts +11 -10
  73. package/src/index.ts +17 -2
  74. package/src/l1/calldata_retriever.ts +15 -4
  75. package/src/l1/data_retrieval.ts +30 -35
  76. package/src/l1/validate_historical_logs.ts +140 -0
  77. package/src/modules/contract_data_source_adapter.ts +59 -0
  78. package/src/modules/data_source_base.ts +75 -57
  79. package/src/modules/data_store_updater.ts +71 -39
  80. package/src/modules/instrumentation.ts +8 -0
  81. package/src/modules/l1_synchronizer.ts +241 -71
  82. package/src/modules/validation.ts +8 -7
  83. package/src/store/block_store.ts +204 -73
  84. package/src/store/contract_class_store.ts +28 -2
  85. package/src/store/contract_instance_store.ts +43 -0
  86. package/src/store/data_stores.ts +108 -0
  87. package/src/store/function_names_cache.ts +37 -0
  88. package/src/store/l2_tips_cache.ts +1 -1
  89. package/src/test/fake_l1_state.ts +47 -24
  90. package/src/test/mock_l2_block_source.ts +23 -2
  91. package/src/test/noop_l1_archiver.ts +9 -6
  92. package/dest/store/kv_archiver_store.d.ts +0 -377
  93. package/dest/store/kv_archiver_store.d.ts.map +0 -1
  94. package/dest/store/kv_archiver_store.js +0 -494
  95. package/src/store/kv_archiver_store.ts +0 -713
@@ -18,7 +18,7 @@ import { type ArchiverConfig } from './config.js';
18
18
  import { ArchiverDataSourceBase } from './modules/data_source_base.js';
19
19
  import type { ArchiverInstrumentation } from './modules/instrumentation.js';
20
20
  import type { ArchiverL1Synchronizer } from './modules/l1_synchronizer.js';
21
- import type { KVArchiverDataStore } from './store/kv_archiver_store.js';
21
+ import { type ArchiverDataStores } from './store/data_stores.js';
22
22
  import { L2TipsCache } from './store/l2_tips_cache.js';
23
23
  /** Export ArchiverEmitter for use in factory and tests. */
24
24
  export type { ArchiverEmitter };
@@ -38,7 +38,7 @@ export declare class Archiver extends ArchiverDataSourceBase implements L2BlockS
38
38
  private readonly debugClient;
39
39
  private readonly rollup;
40
40
  private readonly l1Addresses;
41
- readonly dataStore: KVArchiverDataStore;
41
+ readonly dataStores: ArchiverDataStores;
42
42
  private config;
43
43
  private readonly blobClient;
44
44
  protected readonly l1Constants: L1RollupConstants & {
@@ -54,8 +54,8 @@ export declare class Archiver extends ArchiverDataSourceBase implements L2BlockS
54
54
  private readonly synchronizer;
55
55
  private initialSyncComplete;
56
56
  private initialSyncPromise;
57
- /** Queue of blocks to be added to the store, processed by the sync loop. */
58
- private blockQueue;
57
+ /** Queue of blocks and checkpoints to be added to the store, processed by the sync loop. */
58
+ private inboundQueue;
59
59
  /** Helper to handle updates to the store */
60
60
  private readonly updater;
61
61
  /** In-memory cache for L2 chain tips. */
@@ -69,7 +69,7 @@ export declare class Archiver extends ArchiverDataSourceBase implements L2BlockS
69
69
  * @param rollup - Rollup contract instance.
70
70
  * @param inbox - Inbox contract instance.
71
71
  * @param l1Addresses - L1 contract addresses (registry, governance proposer, slashing proposer).
72
- * @param dataStore - An archiver data store for storage & retrieval of blocks, encrypted logs & contract data.
72
+ * @param dataStores - Archiver substores for storage & retrieval of blocks, encrypted logs & contract data.
73
73
  * @param config - Archiver configuration options.
74
74
  * @param blobClient - Client for retrieving blob data.
75
75
  * @param dateProvider - Provider for current date/time.
@@ -77,14 +77,15 @@ export declare class Archiver extends ArchiverDataSourceBase implements L2BlockS
77
77
  * @param l1Constants - L1 rollup constants.
78
78
  * @param log - A logger.
79
79
  */
80
- constructor(publicClient: ViemPublicClient, debugClient: ViemPublicDebugClient, rollup: RollupContract, l1Addresses: Pick<L1ContractAddresses, 'registryAddress' | 'governanceProposerAddress'> & {
80
+ constructor(publicClient: ViemPublicClient, debugClient: ViemPublicDebugClient, rollup: RollupContract, l1Addresses: Pick<L1ContractAddresses, 'rollupAddress' | 'registryAddress' | 'inboxAddress' | 'governanceProposerAddress'> & {
81
81
  slashingProposerAddress: EthAddress;
82
- }, dataStore: KVArchiverDataStore, config: {
82
+ }, dataStores: ArchiverDataStores, config: {
83
83
  pollingIntervalMs: number;
84
84
  batchSize: number;
85
85
  skipValidateCheckpointAttestations?: boolean;
86
86
  maxAllowedEthClientDriftSeconds: number;
87
87
  ethereumAllowNoDebugHosts?: boolean;
88
+ skipHistoricalLogsCheck?: boolean;
88
89
  }, blobClient: BlobClientInterface, instrumentation: ArchiverInstrumentation, l1Constants: L1RollupConstants & {
89
90
  l1StartBlockHash: Buffer32;
90
91
  genesisArchiveRoot: Fr;
@@ -97,6 +98,7 @@ export declare class Archiver extends ArchiverDataSourceBase implements L2BlockS
97
98
  */
98
99
  start(blockUntilSynced: boolean): Promise<void>;
99
100
  syncImmediate(): Promise<void>;
101
+ trySyncImmediate(): Promise<void> | undefined;
100
102
  /**
101
103
  * Queues a block to be added to the archiver store and triggers processing.
102
104
  * The block will be processed by the sync loop.
@@ -105,8 +107,13 @@ export declare class Archiver extends ArchiverDataSourceBase implements L2BlockS
105
107
  * @returns A promise that resolves when the block has been added to the store, or rejects on error.
106
108
  */
107
109
  addBlock(block: L2Block): Promise<void>;
108
- setProposedCheckpoint(pending: ProposedCheckpointInput): Promise<void>;
109
- private processQueuedBlocks;
110
+ /**
111
+ * Queues a new proposed checkpoint into the archiver store.
112
+ * Checks that the checkpoint is not for an L2 slot already synced from L1.
113
+ * Resolves once the checkpoint has been processed.
114
+ */
115
+ addProposedCheckpoint(pending: ProposedCheckpointInput): Promise<void>;
116
+ private processInboundQueue;
110
117
  waitForInitialSync(): Promise<void>;
111
118
  private sync;
112
119
  private syncFromL1;
@@ -137,4 +144,4 @@ export declare class Archiver extends ArchiverDataSourceBase implements L2BlockS
137
144
  getL2Tips(): Promise<L2Tips>;
138
145
  rollbackTo(targetL2BlockNumber: BlockNumber): Promise<void>;
139
146
  }
140
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJjaGl2ZXIuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9hcmNoaXZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNoRCxPQUFPLEVBQXVCLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2hGLE9BQU8sS0FBSyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDakYsT0FBTyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRixPQUFPLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6RyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFcEQsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsS0FBSyxNQUFNLEVBQWdCLE1BQU0sdUJBQXVCLENBQUM7QUFFbEUsT0FBTyxFQUFFLGNBQWMsRUFBMkIsTUFBTSxtQ0FBbUMsQ0FBQztBQUM1RixPQUFPLEVBQUUsWUFBWSxFQUFXLE1BQU0seUJBQXlCLENBQUM7QUFDaEUsT0FBTyxFQUNMLEtBQUssZUFBZSxFQUNwQixPQUFPLEVBQ1AsS0FBSyxXQUFXLEVBQ2hCLEtBQUssTUFBTSxFQUNYLEtBQUssd0JBQXdCLEVBQzlCLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUFFLEtBQUssdUJBQXVCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM3RixPQUFPLEVBQ0wsS0FBSyxpQkFBaUIsRUFLdkIs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
147
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJjaGl2ZXIuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9hcmNoaXZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNoRCxPQUFPLEVBQXVCLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2hGLE9BQU8sS0FBSyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDakYsT0FBTyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRixPQUFPLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6RyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFcEQsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsS0FBSyxNQUFNLEVBQWdCLE1BQU0sdUJBQXVCLENBQUM7QUFFbEUsT0FBTyxFQUFFLGNBQWMsRUFBMkIsTUFBTSxtQ0FBbUMsQ0FBQztBQUM1RixPQUFPLEVBQUUsWUFBWSxFQUFXLE1BQU0seUJBQXlCLENBQUM7QUFDaEUsT0FBTyxFQUNMLEtBQUssZUFBZSxFQUNwQixPQUFPLEVBQ1AsS0FBSyxXQUFXLEVBQ2hCLEtBQUssTUFBTSxFQUNYLEtBQUssd0JBQXdCLEVBQzlCLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxFQUFFLEtBQUssdUJBQXVCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM3RixPQUFPLEVBQ0wsS0FBSyxpQkFBaUIsRUFNdkIs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
@@ -1 +1 @@
1
- {"version":3,"file":"archiver.d.ts","sourceRoot":"","sources":["../src/archiver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"archiver.d.ts","sourceRoot":"","sources":["../src/archiver.ts"],"names":[],"mappings":"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"}
package/dest/archiver.js CHANGED
@@ -380,13 +380,15 @@ import { createLogger } from '@aztec/foundation/log';
380
380
  import { promiseWithResolvers } from '@aztec/foundation/promise';
381
381
  import { RunningPromise, makeLoggingErrorHandler } from '@aztec/foundation/running-promise';
382
382
  import { elapsed } from '@aztec/foundation/timer';
383
- import { getEpochAtSlot, getSlotAtNextL1Block, getSlotRangeForEpoch, getTimestampRangeForEpoch } from '@aztec/stdlib/epoch-helpers';
383
+ import { getEpochAtSlot, getSlotAtNextL1Block, getSlotRangeForEpoch, getTimestampForSlot, getTimestampRangeForEpoch } from '@aztec/stdlib/epoch-helpers';
384
384
  import { trackSpan } from '@aztec/telemetry-client';
385
385
  import { mapArchiverConfig } from './config.js';
386
- import { BlockAlreadyCheckpointedError, NoBlobBodiesFoundError } from './errors.js';
386
+ import { BlockAlreadyCheckpointedError, BlockOrCheckpointSlotExpiredError, NoBlobBodiesFoundError } from './errors.js';
387
+ import { validateAndLogHistoricalLogsAvailability } from './l1/validate_historical_logs.js';
387
388
  import { validateAndLogTraceAvailability } from './l1/validate_trace.js';
388
389
  import { ArchiverDataSourceBase } from './modules/data_source_base.js';
389
390
  import { ArchiverDataStoreUpdater } from './modules/data_store_updater.js';
391
+ import { backupArchiverDataStores, getArchiverSynchPoint } from './store/data_stores.js';
390
392
  import { L2TipsCache } from './store/l2_tips_cache.js';
391
393
  _dec = trackSpan('Archiver.sync');
392
394
  /**
@@ -398,7 +400,7 @@ _dec = trackSpan('Archiver.sync');
398
400
  debugClient;
399
401
  rollup;
400
402
  l1Addresses;
401
- dataStore;
403
+ dataStores;
402
404
  config;
403
405
  blobClient;
404
406
  l1Constants;
@@ -417,7 +419,7 @@ _dec = trackSpan('Archiver.sync');
417
419
  /** L1 synchronizer that handles fetching checkpoints and messages from L1. */ synchronizer;
418
420
  initialSyncComplete;
419
421
  initialSyncPromise;
420
- /** Queue of blocks to be added to the store, processed by the sync loop. */ blockQueue;
422
+ /** Queue of blocks and checkpoints to be added to the store, processed by the sync loop. */ inboundQueue;
421
423
  /** Helper to handle updates to the store */ updater;
422
424
  /** In-memory cache for L2 chain tips. */ l2TipsCache;
423
425
  tracer;
@@ -429,22 +431,22 @@ _dec = trackSpan('Archiver.sync');
429
431
  * @param rollup - Rollup contract instance.
430
432
  * @param inbox - Inbox contract instance.
431
433
  * @param l1Addresses - L1 contract addresses (registry, governance proposer, slashing proposer).
432
- * @param dataStore - An archiver data store for storage & retrieval of blocks, encrypted logs & contract data.
434
+ * @param dataStores - Archiver substores for storage & retrieval of blocks, encrypted logs & contract data.
433
435
  * @param config - Archiver configuration options.
434
436
  * @param blobClient - Client for retrieving blob data.
435
437
  * @param dateProvider - Provider for current date/time.
436
438
  * @param instrumentation - Instrumentation for metrics and tracing.
437
439
  * @param l1Constants - L1 rollup constants.
438
440
  * @param log - A logger.
439
- */ constructor(publicClient, debugClient, rollup, l1Addresses, dataStore, config, blobClient, instrumentation, l1Constants, synchronizer, events, l2TipsCache, log = createLogger('archiver')){
440
- super(dataStore, l1Constants), this.publicClient = publicClient, this.debugClient = debugClient, this.rollup = rollup, this.l1Addresses = l1Addresses, this.dataStore = dataStore, this.config = config, this.blobClient = blobClient, this.l1Constants = l1Constants, this.log = log, this.initialSyncComplete = (_initProto(this), false), this.blockQueue = [];
441
+ */ constructor(publicClient, debugClient, rollup, l1Addresses, dataStores, config, blobClient, instrumentation, l1Constants, synchronizer, events, l2TipsCache, log = createLogger('archiver')){
442
+ super(dataStores, l1Constants), this.publicClient = publicClient, this.debugClient = debugClient, this.rollup = rollup, this.l1Addresses = l1Addresses, this.dataStores = dataStores, this.config = config, this.blobClient = blobClient, this.l1Constants = l1Constants, this.log = log, this.initialSyncComplete = (_initProto(this), false), this.inboundQueue = [];
441
443
  this.tracer = instrumentation.tracer;
442
444
  this.instrumentation = instrumentation;
443
445
  this.initialSyncPromise = promiseWithResolvers();
444
446
  this.synchronizer = synchronizer;
445
447
  this.events = events;
446
- this.l2TipsCache = l2TipsCache ?? new L2TipsCache(this.dataStore.blockStore);
447
- this.updater = new ArchiverDataStoreUpdater(this.dataStore, this.l2TipsCache, {
448
+ this.l2TipsCache = l2TipsCache ?? new L2TipsCache(this.dataStores.blocks);
449
+ this.updater = new ArchiverDataStoreUpdater(this.dataStores, this.l2TipsCache, {
448
450
  rollupManaLimit: l1Constants.rollupManaLimit
449
451
  });
450
452
  // Running promise starts with a small interval inbetween runs, so all iterations needed for the initial sync
@@ -465,9 +467,15 @@ _dec = trackSpan('Archiver.sync');
465
467
  await this.blobClient.testSources();
466
468
  await this.synchronizer.testEthereumNodeSynced();
467
469
  await validateAndLogTraceAvailability(this.debugClient, this.config.ethereumAllowNoDebugHosts ?? false, this.log.getBindings());
470
+ await validateAndLogHistoricalLogsAvailability(this.publicClient, {
471
+ rollupAddress: this.l1Addresses.rollupAddress,
472
+ inboxAddress: this.l1Addresses.inboxAddress,
473
+ registryAddress: this.l1Addresses.registryAddress,
474
+ governanceProposerAddress: this.l1Addresses.governanceProposerAddress
475
+ }, this.config.skipHistoricalLogsCheck ?? false, this.log.getBindings());
468
476
  // Log initial state for the archiver
469
477
  const { l1StartBlock } = this.l1Constants;
470
- const { blocksSynchedTo = l1StartBlock, messagesSynchedTo = l1StartBlock } = await this.store.getSynchPoint();
478
+ const { blocksSynchedTo = l1StartBlock, messagesSynchedTo = l1StartBlock } = await getArchiverSynchPoint(this.stores);
471
479
  const currentL2Checkpoint = await this.getSynchedCheckpointNumber();
472
480
  this.log.info(`Starting archiver sync to rollup contract ${this.rollup.address} from L1 block ${blocksSynchedTo} and L2 checkpoint ${currentL2Checkpoint}`, {
473
481
  blocksSynchedTo,
@@ -483,6 +491,13 @@ _dec = trackSpan('Archiver.sync');
483
491
  syncImmediate() {
484
492
  return this.runningPromise.trigger();
485
493
  }
494
+ trySyncImmediate() {
495
+ try {
496
+ return this.syncImmediate();
497
+ } catch (err) {
498
+ this.log.error(`Failed to trigger immediate archiver sync: ${err}`, err);
499
+ }
500
+ }
486
501
  /**
487
502
  * Queues a block to be added to the archiver store and triggers processing.
488
503
  * The block will be processed by the sync loop.
@@ -490,60 +505,84 @@ _dec = trackSpan('Archiver.sync');
490
505
  * @param block - The L2 block to add.
491
506
  * @returns A promise that resolves when the block has been added to the store, or rejects on error.
492
507
  */ addBlock(block) {
493
- return new Promise((resolve, reject)=>{
494
- this.blockQueue.push({
495
- block,
496
- resolve,
497
- reject
498
- });
499
- this.log.debug(`Queued block ${block.number} for processing`);
500
- // Trigger an immediate sync, but don't wait for it - the promise resolves when the block is processed
501
- this.syncImmediate().catch((err)=>{
502
- this.log.error(`Sync immediate call failed: ${err}`);
503
- });
508
+ const promise = promiseWithResolvers();
509
+ this.inboundQueue.push({
510
+ block,
511
+ ...promise,
512
+ type: 'block'
504
513
  });
514
+ this.log.debug(`Queued block ${block.number} for processing`);
515
+ void this.trySyncImmediate();
516
+ return promise.promise;
505
517
  }
506
- async setProposedCheckpoint(pending) {
507
- await this.updater.setProposedCheckpoint(pending);
518
+ /**
519
+ * Queues a new proposed checkpoint into the archiver store.
520
+ * Checks that the checkpoint is not for an L2 slot already synced from L1.
521
+ * Resolves once the checkpoint has been processed.
522
+ */ addProposedCheckpoint(pending) {
523
+ const promise = promiseWithResolvers();
524
+ this.inboundQueue.push({
525
+ checkpoint: pending,
526
+ ...promise,
527
+ type: 'checkpoint'
528
+ });
529
+ this.log.debug(`Queued checkpoint ${pending.checkpointNumber} for processing`);
530
+ void this.trySyncImmediate();
531
+ return promise.promise;
508
532
  }
509
533
  /**
510
- * Processes all queued blocks, adding them to the store.
534
+ * Processes all queued blocks and checkpoints, adding them to the store.
511
535
  * Called at the beginning of each sync iteration.
512
- * Blocks are processed in the order they were queued.
513
- */ async processQueuedBlocks() {
514
- if (this.blockQueue.length === 0) {
536
+ * Items are processed in the order they were queued.
537
+ */ async processInboundQueue() {
538
+ if (this.inboundQueue.length === 0) {
515
539
  return;
516
540
  }
517
- // Take all blocks from the queue
518
- const queuedItems = this.blockQueue.splice(0, this.blockQueue.length);
519
- this.log.debug(`Processing ${queuedItems.length} queued block(s)`);
541
+ // Take all items from the queue
542
+ const queuedItems = this.inboundQueue.splice(0, this.inboundQueue.length);
543
+ this.log.debug(`Processing ${queuedItems.length} queued inbound items`);
520
544
  // Calculate slot threshold for validation
521
545
  const l1Timestamp = this.synchronizer.getL1Timestamp();
522
546
  const slotAtNextL1Block = l1Timestamp === undefined ? undefined : getSlotAtNextL1Block(l1Timestamp, this.l1Constants);
523
- // Process each block individually to properly resolve/reject each promise
524
- for (const { block, resolve, reject } of queuedItems){
525
- const blockSlot = block.header.globalVariables.slotNumber;
526
- if (slotAtNextL1Block !== undefined && blockSlot < slotAtNextL1Block) {
527
- this.log.warn(`Rejecting proposed block ${block.number} for past slot ${blockSlot} (current is ${slotAtNextL1Block})`, {
528
- block: block.toBlockInfo(),
547
+ // Helpers for manipulating blocks and checkpoints in the queue
548
+ const getSlot = (item)=>item.type === 'block' ? item.block.header.globalVariables.slotNumber : item.checkpoint.header.slotNumber;
549
+ const getNumber = (item)=>item.type === 'block' ? item.block.number : item.checkpoint.checkpointNumber;
550
+ // Process each item individually to properly resolve/reject each promise
551
+ for (const item of queuedItems){
552
+ const { resolve, reject, type } = item;
553
+ const itemSlot = getSlot(item);
554
+ const itemNumber = getNumber(item);
555
+ if (slotAtNextL1Block !== undefined && itemSlot < slotAtNextL1Block) {
556
+ const nextSlotTimestamp = getTimestampForSlot(slotAtNextL1Block, this.l1Constants);
557
+ this.log.warn(`Rejecting proposed ${type} ${itemNumber} for past slot ${itemSlot} (current ${slotAtNextL1Block})`, {
558
+ number: itemNumber,
559
+ type,
529
560
  l1Timestamp,
530
- slotAtNextL1Block
561
+ slotAtNextL1Block,
562
+ nextSlotTimestamp
531
563
  });
532
- reject(new Error(`Block ${block.number} is for past slot ${blockSlot} (current is ${slotAtNextL1Block})`));
564
+ reject(new BlockOrCheckpointSlotExpiredError(itemSlot, nextSlotTimestamp, l1Timestamp));
533
565
  continue;
534
566
  }
535
567
  try {
536
- const [durationMs] = await elapsed(()=>this.updater.addProposedBlock(block));
537
- this.instrumentation.processNewProposedBlock(durationMs, block);
538
- this.log.debug(`Added block ${block.number} to store`);
568
+ if (type === 'block') {
569
+ const [durationMs] = await elapsed(()=>this.updater.addProposedBlock(item.block));
570
+ this.instrumentation.processNewProposedBlock(durationMs, item.block);
571
+ } else {
572
+ await this.updater.addProposedCheckpoint(item.checkpoint);
573
+ }
574
+ this.log.debug(`Added ${type} ${itemNumber} to store`);
539
575
  resolve();
540
576
  } catch (err) {
541
577
  if (err instanceof BlockAlreadyCheckpointedError) {
542
- this.log.debug(`Proposed block ${block.number} matches already checkpointed block, ignoring late proposal`);
578
+ this.log.debug(`Proposed block ${itemNumber} matches already checkpointed block, ignoring late proposal`);
543
579
  resolve();
544
580
  continue;
545
581
  }
546
- this.log.error(`Failed to add block ${block.number} to store: ${err.message}`);
582
+ this.log.error(`Failed to add ${type} ${itemNumber} to store: ${err.message}`, err, {
583
+ number: itemNumber,
584
+ type
585
+ });
547
586
  reject(err);
548
587
  }
549
588
  }
@@ -555,7 +594,7 @@ _dec = trackSpan('Archiver.sync');
555
594
  * Fetches logs from L1 contracts and processes them.
556
595
  */ async sync() {
557
596
  // Process any queued blocks first, before doing L1 sync
558
- await this.processQueuedBlocks();
597
+ await this.processInboundQueue();
559
598
  // Now perform L1 sync
560
599
  await this.syncFromL1();
561
600
  }
@@ -569,7 +608,7 @@ _dec = trackSpan('Archiver.sync');
569
608
  if (currentL1BlockNumber + 1n >= l1BlockNumberAtEnd) {
570
609
  this.log.info(`Initial archiver sync to L1 block ${currentL1BlockNumber} complete`, {
571
610
  l1BlockNumber: currentL1BlockNumber,
572
- syncPoint: await this.store.getSynchPoint(),
611
+ syncPoint: await getArchiverSynchPoint(this.stores),
573
612
  ...await this.getL2Tips()
574
613
  });
575
614
  this.runningPromise.setPollingIntervalMS(this.config.pollingIntervalMs);
@@ -595,7 +634,7 @@ _dec = trackSpan('Archiver.sync');
595
634
  return Promise.resolve();
596
635
  }
597
636
  backupTo(destPath) {
598
- return this.dataStore.backupTo(destPath);
637
+ return backupArchiverDataStores(this.dataStores, destPath);
599
638
  }
600
639
  getL1Constants() {
601
640
  return Promise.resolve(this.l1Constants);
@@ -630,9 +669,9 @@ _dec = trackSpan('Archiver.sync');
630
669
  }
631
670
  }
632
671
  let slotFromCheckpoint;
633
- const latestCheckpointNumber = await this.store.getSynchedCheckpointNumber();
672
+ const latestCheckpointNumber = await this.stores.blocks.getLatestCheckpointNumber();
634
673
  if (latestCheckpointNumber > 0) {
635
- const checkpointData = await this.store.getCheckpointData(latestCheckpointNumber);
674
+ const checkpointData = await this.stores.blocks.getCheckpointData(latestCheckpointNumber);
636
675
  if (checkpointData) {
637
676
  slotFromCheckpoint = checkpointData.header.slotNumber;
638
677
  }
@@ -704,13 +743,13 @@ _dec = trackSpan('Archiver.sync');
704
743
  if (targetL2BlockNumber >= currentL2Block) {
705
744
  throw new Error(`Target L2 block ${targetL2BlockNumber} must be less than current L2 block ${currentL2Block}`);
706
745
  }
707
- const targetL2Block = await this.store.getCheckpointedBlock(targetL2BlockNumber);
746
+ const targetL2Block = await this.stores.blocks.getCheckpointedBlock(targetL2BlockNumber);
708
747
  if (!targetL2Block) {
709
748
  throw new Error(`Target L2 block ${targetL2BlockNumber} not found`);
710
749
  }
711
750
  const targetCheckpointNumber = targetL2Block.checkpointNumber;
712
751
  // Rollback operates at checkpoint granularity: the target block must be the last block of its checkpoint.
713
- const checkpointData = await this.store.getCheckpointData(targetCheckpointNumber);
752
+ const checkpointData = await this.stores.blocks.getCheckpointData(targetCheckpointNumber);
714
753
  if (checkpointData) {
715
754
  const lastBlockInCheckpoint = BlockNumber(checkpointData.startBlock + checkpointData.blockCount - 1);
716
755
  if (targetL2BlockNumber !== lastBlockInCheckpoint) {
@@ -730,10 +769,10 @@ _dec = trackSpan('Archiver.sync');
730
769
  this.log.info(`Removing checkpoints after checkpoint ${targetCheckpointNumber} (target block ${targetL2BlockNumber})`);
731
770
  await this.updater.removeCheckpointsAfter(targetCheckpointNumber);
732
771
  this.log.info(`Rolling back L1 to L2 messages to checkpoint ${targetCheckpointNumber}`);
733
- await this.store.rollbackL1ToL2MessagesToCheckpoint(targetCheckpointNumber);
772
+ await this.stores.messages.rollbackL1ToL2MessagesToCheckpoint(targetCheckpointNumber);
734
773
  this.log.info(`Setting L1 syncpoints to ${targetL1BlockNumber}`);
735
- await this.store.setCheckpointSynchedL1BlockNumber(targetL1BlockNumber);
736
- await this.store.setMessageSyncState({
774
+ await this.stores.blocks.setSynchedL1BlockNumber(targetL1BlockNumber);
775
+ await this.stores.messages.setMessageSyncState({
737
776
  l1BlockNumber: targetL1BlockNumber,
738
777
  l1BlockHash: targetL1BlockHash
739
778
  }, undefined);
package/dest/config.d.ts CHANGED
@@ -24,7 +24,9 @@ export declare function mapArchiverConfig(config: Partial<ArchiverConfig>): {
24
24
  pollingIntervalMs: number | undefined;
25
25
  batchSize: number | undefined;
26
26
  skipValidateCheckpointAttestations: boolean | undefined;
27
+ skipPromoteProposedCheckpointDuringL1Sync: boolean | undefined;
27
28
  maxAllowedEthClientDriftSeconds: number | undefined;
28
29
  ethereumAllowNoDebugHosts: boolean | undefined;
30
+ skipHistoricalLogsCheck: boolean | undefined;
29
31
  };
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLGdCQUFnQixFQUEyQixNQUFNLGtDQUFrQyxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxLQUFLLGlCQUFpQixFQUE2QixNQUFNLHdCQUF3QixDQUFDO0FBRTNGLE9BQU8sRUFBRSxLQUFLLGNBQWMsRUFBMEIsTUFBTSwyQkFBMkIsQ0FBQztBQUN4RixPQUFPLEVBQ0wsS0FBSyxrQkFBa0IsRUFJeEIsTUFBTSwwQkFBMEIsQ0FBQztBQUNsQyxPQUFPLEVBQ0wsS0FBSyxXQUFXLEVBQ2hCLEtBQUssY0FBYyxFQUdwQixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sS0FBSyxFQUFFLHNCQUFzQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFOUU7Ozs7OztHQU1HO0FBQ0gsTUFBTSxNQUFNLGNBQWMsR0FBRyxzQkFBc0IsR0FDakQsY0FBYyxHQUNkLGlCQUFpQixHQUNqQixjQUFjLEdBQ2QsZ0JBQWdCLEdBQ2hCLFdBQVcsQ0FBQztBQUVkLGVBQU8sTUFBTSxzQkFBc0IsRUFBRSxrQkFBa0IsQ0FBQyxjQUFjLENBaURyRSxDQUFDO0FBRUY7Ozs7R0FJRztBQUNILHdCQUFnQix3QkFBd0IsSUFBSSxjQUFjLENBRXpEO0FBRUQsZ0ZBQWdGO0FBQ2hGLHdCQUFnQixpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLGNBQWMsQ0FBQzs7Ozs7O0VBUWhFIn0=
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLGdCQUFnQixFQUEyQixNQUFNLGtDQUFrQyxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxLQUFLLGlCQUFpQixFQUE2QixNQUFNLHdCQUF3QixDQUFDO0FBRTNGLE9BQU8sRUFBRSxLQUFLLGNBQWMsRUFBMEIsTUFBTSwyQkFBMkIsQ0FBQztBQUN4RixPQUFPLEVBQ0wsS0FBSyxrQkFBa0IsRUFLeEIsTUFBTSwwQkFBMEIsQ0FBQztBQUNsQyxPQUFPLEVBQ0wsS0FBSyxXQUFXLEVBQ2hCLEtBQUssY0FBYyxFQUdwQixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sS0FBSyxFQUFFLHNCQUFzQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFOUU7Ozs7OztHQU1HO0FBQ0gsTUFBTSxNQUFNLGNBQWMsR0FBRyxzQkFBc0IsR0FDakQsY0FBYyxHQUNkLGlCQUFpQixHQUNqQixjQUFjLEdBQ2QsZ0JBQWdCLEdBQ2hCLFdBQVcsQ0FBQztBQUVkLGVBQU8sTUFBTSxzQkFBc0IsRUFBRSxrQkFBa0IsQ0FBQyxjQUFjLENBNERyRSxDQUFDO0FBRUY7Ozs7R0FJRztBQUNILHdCQUFnQix3QkFBd0IsSUFBSSxjQUFjLENBRXpEO0FBRUQsZ0ZBQWdGO0FBQ2hGLHdCQUFnQixpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLGNBQWMsQ0FBQzs7Ozs7Ozs7RUFVaEUifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,gBAAgB,EAA2B,MAAM,kCAAkC,CAAC;AAClG,OAAO,EAAE,KAAK,iBAAiB,EAA6B,MAAM,wBAAwB,CAAC;AAE3F,OAAO,EAAE,KAAK,cAAc,EAA0B,MAAM,2BAA2B,CAAC;AACxF,OAAO,EACL,KAAK,kBAAkB,EAIxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,cAAc,EAGpB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAE9E;;;;;;GAMG;AACH,MAAM,MAAM,cAAc,GAAG,sBAAsB,GACjD,cAAc,GACd,iBAAiB,GACjB,cAAc,GACd,gBAAgB,GAChB,WAAW,CAAC;AAEd,eAAO,MAAM,sBAAsB,EAAE,kBAAkB,CAAC,cAAc,CAiDrE,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,wBAAwB,IAAI,cAAc,CAEzD;AAED,gFAAgF;AAChF,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC;;;;;;EAQhE"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,gBAAgB,EAA2B,MAAM,kCAAkC,CAAC;AAClG,OAAO,EAAE,KAAK,iBAAiB,EAA6B,MAAM,wBAAwB,CAAC;AAE3F,OAAO,EAAE,KAAK,cAAc,EAA0B,MAAM,2BAA2B,CAAC;AACxF,OAAO,EACL,KAAK,kBAAkB,EAKxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,cAAc,EAGpB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAE9E;;;;;;GAMG;AACH,MAAM,MAAM,cAAc,GAAG,sBAAsB,GACjD,cAAc,GACd,iBAAiB,GACjB,cAAc,GACd,gBAAgB,GAChB,WAAW,CAAC;AAEd,eAAO,MAAM,sBAAsB,EAAE,kBAAkB,CAAC,cAAc,CA4DrE,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,wBAAwB,IAAI,cAAc,CAEzD;AAED,gFAAgF;AAChF,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC;;;;;;;;EAUhE"}
package/dest/config.js CHANGED
@@ -2,7 +2,7 @@ import { blobClientConfigMapping } from '@aztec/blob-client/client/config';
2
2
  import { l1ContractsConfigMappings } from '@aztec/ethereum/config';
3
3
  import { l1ContractAddressesMapping } from '@aztec/ethereum/l1-contract-addresses';
4
4
  import { l1ReaderConfigMappings } from '@aztec/ethereum/l1-reader';
5
- import { booleanConfigHelper, getConfigFromMappings, numberConfigHelper } from '@aztec/foundation/config';
5
+ import { booleanConfigHelper, getConfigFromMappings, numberConfigHelper, optionalNumberConfigHelper } from '@aztec/foundation/config';
6
6
  import { chainConfigMappings, pipelineConfigMappings } from '@aztec/stdlib/config';
7
7
  export const archiverConfigMappings = {
8
8
  ...blobClientConfigMapping,
@@ -24,13 +24,17 @@ export const archiverConfigMappings = {
24
24
  },
25
25
  archiverStoreMapSizeKb: {
26
26
  env: 'ARCHIVER_STORE_MAP_SIZE_KB',
27
- parseEnv: (val)=>+val,
27
+ ...optionalNumberConfigHelper(),
28
28
  description: 'The maximum possible size of the archiver DB in KB. Overwrites the general dataStoreMapSizeKb.'
29
29
  },
30
30
  skipValidateCheckpointAttestations: {
31
31
  description: 'Skip validating checkpoint attestations (for testing purposes only)',
32
32
  ...booleanConfigHelper(false)
33
33
  },
34
+ skipPromoteProposedCheckpointDuringL1Sync: {
35
+ description: 'Skip promoting proposed checkpoints during L1 sync (for testing purposes only)',
36
+ ...booleanConfigHelper(false)
37
+ },
34
38
  maxAllowedEthClientDriftSeconds: {
35
39
  env: 'MAX_ALLOWED_ETH_CLIENT_DRIFT_SECONDS',
36
40
  description: 'Maximum allowed drift in seconds between the Ethereum client and current time.',
@@ -41,6 +45,11 @@ export const archiverConfigMappings = {
41
45
  description: 'Whether to allow starting the archiver without debug/trace method support on Ethereum hosts',
42
46
  ...booleanConfigHelper(true)
43
47
  },
48
+ archiverSkipHistoricalLogsCheck: {
49
+ env: 'ARCHIVER_SKIP_HISTORICAL_LOGS_CHECK',
50
+ description: 'Skip the startup check that probes the L1 RPC for historical Rollup contract logs. ' + 'Set to true to bypass the check when the connected RPC node is known to prune old logs.',
51
+ ...booleanConfigHelper(false)
52
+ },
44
53
  ...chainConfigMappings,
45
54
  ...l1ReaderConfigMappings,
46
55
  viemPollingIntervalMS: {
@@ -66,7 +75,9 @@ export const archiverConfigMappings = {
66
75
  pollingIntervalMs: config.archiverPollingIntervalMS,
67
76
  batchSize: config.archiverBatchSize,
68
77
  skipValidateCheckpointAttestations: config.skipValidateCheckpointAttestations,
78
+ skipPromoteProposedCheckpointDuringL1Sync: config.skipPromoteProposedCheckpointDuringL1Sync,
69
79
  maxAllowedEthClientDriftSeconds: config.maxAllowedEthClientDriftSeconds,
70
- ethereumAllowNoDebugHosts: config.ethereumAllowNoDebugHosts
80
+ ethereumAllowNoDebugHosts: config.ethereumAllowNoDebugHosts,
81
+ skipHistoricalLogsCheck: config.archiverSkipHistoricalLogsCheck
71
82
  };
72
83
  }
package/dest/errors.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import type { BlockNumber, CheckpointNumber } from '@aztec/foundation/branded-types';
1
2
  import type { Fr } from '@aztec/foundation/schemas';
2
3
  export declare class NoBlobBodiesFoundError extends Error {
3
4
  constructor(l2BlockNum: number);
@@ -10,8 +11,11 @@ export declare class InitialCheckpointNumberNotSequentialError extends Error {
10
11
  readonly previousCheckpointNumber: number | undefined;
11
12
  constructor(newCheckpointNumber: number, previousCheckpointNumber: number | undefined);
12
13
  }
14
+ export declare class BlockCheckpointNumberNotSequentialError extends Error {
15
+ constructor(blockNumber: BlockNumber, blockCheckpointNumber: CheckpointNumber, previous: CheckpointNumber | undefined);
16
+ }
13
17
  export declare class CheckpointNumberNotSequentialError extends Error {
14
- constructor(newCheckpointNumber: number, previous: number | undefined, source?: 'confirmed' | 'proposed');
18
+ constructor(newCheckpointNumber: CheckpointNumber, previous: CheckpointNumber | undefined);
15
19
  }
16
20
  export declare class BlockIndexNotSequentialError extends Error {
17
21
  constructor(newBlockIndex: number, previousBlockIndex: number | undefined);
@@ -50,11 +54,34 @@ export declare class ProposedCheckpointStaleError extends Error {
50
54
  readonly currentProposedNumber: number;
51
55
  constructor(proposedCheckpointNumber: number, currentProposedNumber: number);
52
56
  }
53
- /** Thrown when a proposed checkpoint number is not the expected confirmed + 1. */
57
+ /** Thrown when a proposed checkpoint number is not the expected latestTip + 1. */
54
58
  export declare class ProposedCheckpointNotSequentialError extends Error {
55
59
  readonly proposedCheckpointNumber: number;
56
- readonly confirmedCheckpointNumber: number;
57
- constructor(proposedCheckpointNumber: number, confirmedCheckpointNumber: number);
60
+ readonly latestTipNumber: number;
61
+ constructor(proposedCheckpointNumber: number, latestTipNumber: number);
62
+ }
63
+ /** Thrown when a proposed checkpoint or block L2 slot has already expired on L1. */
64
+ export declare class BlockOrCheckpointSlotExpiredError extends Error {
65
+ readonly slot: number;
66
+ readonly nextSlotStart: bigint;
67
+ readonly l1TimestampSynced: bigint | undefined;
68
+ constructor(slot: number, nextSlotStart: bigint, l1TimestampSynced: bigint | undefined);
69
+ }
70
+ /** Thrown when attempting to promote a proposed checkpoint but no proposed checkpoint exists in the store. */
71
+ export declare class NoProposedCheckpointToPromoteError extends Error {
72
+ constructor();
73
+ }
74
+ /** Thrown when the archive root of the proposed checkpoint does not match the expected one. */
75
+ export declare class ProposedCheckpointArchiveRootMismatchError extends Error {
76
+ readonly expectedArchiveRoot: Fr;
77
+ readonly actualArchiveRoot: Fr;
78
+ constructor(expectedArchiveRoot: Fr, actualArchiveRoot: Fr);
79
+ }
80
+ /** Thrown when the proposed checkpoint does not directly follow the latest confirmed checkpoint. */
81
+ export declare class ProposedCheckpointPromotionNotSequentialError extends Error {
82
+ readonly proposedCheckpointNumber: number;
83
+ readonly latestCheckpointNumber: number;
84
+ constructor(proposedCheckpointNumber: number, latestCheckpointNumber: number);
58
85
  }
59
86
  /** Thrown when a proposed block conflicts with an already checkpointed block (different content). */
60
87
  export declare class CannotOverwriteCheckpointedBlockError extends Error {
@@ -62,4 +89,4 @@ export declare class CannotOverwriteCheckpointedBlockError extends Error {
62
89
  readonly lastCheckpointedBlock: number;
63
90
  constructor(blockNumber: number, lastCheckpointedBlock: number);
64
91
  }
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZXJyb3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRXBELHFCQUFhLHNCQUF1QixTQUFRLEtBQUs7SUFDL0MsWUFBWSxVQUFVLEVBQUUsTUFBTSxFQUU3QjtDQUNGO0FBRUQscUJBQWEsNkJBQThCLFNBQVEsS0FBSztJQUN0RCxZQUFZLGNBQWMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sR0FBRyxTQUFTLEVBRS9EO0NBQ0Y7QUFFRCxxQkFBYSx5Q0FBMEMsU0FBUSxLQUFLO2FBRWhELG1CQUFtQixFQUFFLE1BQU07YUFDM0Isd0JBQXdCLEVBQUUsTUFBTSxHQUFHLFNBQVM7SUFGOUQsWUFDa0IsbUJBQW1CLEVBQUUsTUFBTSxFQUMzQix3QkFBd0IsRUFBRSxNQUFNLEdBQUcsU0FBUyxFQU83RDtDQUNGO0FBRUQscUJBQWEsa0NBQW1DLFNBQVEsS0FBSztJQUMzRCxZQUNFLG1CQUFtQixFQUFFLE1BQU0sRUFDM0IsUUFBUSxFQUFFLE1BQU0sR0FBRyxTQUFTLEVBQzVCLE1BQU0sR0FBRSxXQUFXLEdBQUcsVUFBd0IsRUFLL0M7Q0FDRjtBQUVELHFCQUFhLDRCQUE2QixTQUFRLEtBQUs7SUFDckQsWUFBWSxhQUFhLEVBQUUsTUFBTSxFQUFFLGtCQUFrQixFQUFFLE1BQU0sR0FBRyxTQUFTLEVBSXhFO0NBQ0Y7QUFFRCxxQkFBYSw4QkFBK0IsU0FBUSxLQUFLO0lBQ3ZELFlBQ0UsY0FBYyxFQUFFLE1BQU0sRUFDdEIsbUJBQW1CLEVBQUUsTUFBTSxHQUFHLFNBQVMsRUFDdkMsZUFBZSxFQUFFLEVBQUUsRUFDbkIsb0JBQW9CLEVBQUUsRUFBRSxFQUt6QjtDQUNGO0FBRUQscUJBQWEsdUJBQXdCLFNBQVEsS0FBSztJQUNoRCxZQUFZLGdCQUFnQixFQUFFLE1BQU0sRUFFbkM7Q0FDRjtBQUVELHFCQUFhLGtCQUFtQixTQUFRLEtBQUs7SUFDM0MsWUFBWSxXQUFXLEVBQUUsTUFBTSxFQUU5QjtDQUNGO0FBRUQsdUhBQXVIO0FBQ3ZILHFCQUFhLDZCQUE4QixTQUFRLEtBQUs7YUFDMUIsV0FBVyxFQUFFLE1BQU07SUFBL0MsWUFBNEIsV0FBVyxFQUFFLE1BQU0sRUFHOUM7Q0FDRjtBQUVELDZHQUE2RztBQUM3RyxxQkFBYSwyQkFBNEIsU0FBUSxLQUFLO2FBRWxDLE9BQU8sRUFBRSxTQUFTLEdBQUcsUUFBUTthQUM3QixHQUFHLEVBQUUsTUFBTTthQUNYLGVBQWUsRUFBRSxNQUFNO2FBQ3ZCLGNBQWMsRUFBRSxNQUFNO0lBSnhDLFlBQ2tCLE9BQU8sRUFBRSxTQUFTLEdBQUcsUUFBUSxFQUM3QixHQUFHLEVBQUUsTUFBTSxFQUNYLGVBQWUsRUFBRSxNQUFNLEVBQ3ZCLGNBQWMsRUFBRSxNQUFNLEVBT3ZDO0NBQ0Y7QUFFRCw4R0FBOEc7QUFDOUcscUJBQWEsMkJBQTRCLFNBQVEsS0FBSzthQUVsQyxnQkFBZ0IsRUFBRSxNQUFNO2FBQ3hCLG1CQUFtQixFQUFFLE1BQU07SUFGN0MsWUFDa0IsZ0JBQWdCLEVBQUUsTUFBTSxFQUN4QixtQkFBbUIsRUFBRSxNQUFNLEVBTzVDO0NBQ0Y7QUFFRCw2RUFBNkU7QUFDN0UscUJBQWEsNEJBQTZCLFNBQVEsS0FBSzthQUVuQyx3QkFBd0IsRUFBRSxNQUFNO2FBQ2hDLHFCQUFxQixFQUFFLE1BQU07SUFGL0MsWUFDa0Isd0JBQXdCLEVBQUUsTUFBTSxFQUNoQyxxQkFBcUIsRUFBRSxNQUFNLEVBSTlDO0NBQ0Y7QUFFRCxrRkFBa0Y7QUFDbEYscUJBQWEsb0NBQXFDLFNBQVEsS0FBSzthQUUzQyx3QkFBd0IsRUFBRSxNQUFNO2FBQ2hDLHlCQUF5QixFQUFFLE1BQU07SUFGbkQsWUFDa0Isd0JBQXdCLEVBQUUsTUFBTSxFQUNoQyx5QkFBeUIsRUFBRSxNQUFNLEVBTWxEO0NBQ0Y7QUFFRCxxR0FBcUc7QUFDckcscUJBQWEscUNBQXNDLFNBQVEsS0FBSzthQUU1QyxXQUFXLEVBQUUsTUFBTTthQUNuQixxQkFBcUIsRUFBRSxNQUFNO0lBRi9DLFlBQ2tCLFdBQVcsRUFBRSxNQUFNLEVBQ25CLHFCQUFxQixFQUFFLE1BQU0sRUFNOUM7Q0FDRiJ9
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZXJyb3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3JGLE9BQU8sS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRXBELHFCQUFhLHNCQUF1QixTQUFRLEtBQUs7SUFDL0MsWUFBWSxVQUFVLEVBQUUsTUFBTSxFQUc3QjtDQUNGO0FBRUQscUJBQWEsNkJBQThCLFNBQVEsS0FBSztJQUN0RCxZQUFZLGNBQWMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sR0FBRyxTQUFTLEVBRy9EO0NBQ0Y7QUFFRCxxQkFBYSx5Q0FBMEMsU0FBUSxLQUFLO2FBRWhELG1CQUFtQixFQUFFLE1BQU07YUFDM0Isd0JBQXdCLEVBQUUsTUFBTSxHQUFHLFNBQVM7SUFGOUQsWUFDa0IsbUJBQW1CLEVBQUUsTUFBTSxFQUMzQix3QkFBd0IsRUFBRSxNQUFNLEdBQUcsU0FBUyxFQVE3RDtDQUNGO0FBRUQscUJBQWEsdUNBQXdDLFNBQVEsS0FBSztJQUNoRSxZQUNFLFdBQVcsRUFBRSxXQUFXLEVBQ3hCLHFCQUFxQixFQUFFLGdCQUFnQixFQUN2QyxRQUFRLEVBQUUsZ0JBQWdCLEdBQUcsU0FBUyxFQU12QztDQUNGO0FBRUQscUJBQWEsa0NBQW1DLFNBQVEsS0FBSztJQUMzRCxZQUFZLG1CQUFtQixFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsR0FBRyxTQUFTLEVBS3hGO0NBQ0Y7QUFFRCxxQkFBYSw0QkFBNkIsU0FBUSxLQUFLO0lBQ3JELFlBQVksYUFBYSxFQUFFLE1BQU0sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLEdBQUcsU0FBUyxFQUt4RTtDQUNGO0FBRUQscUJBQWEsOEJBQStCLFNBQVEsS0FBSztJQUN2RCxZQUNFLGNBQWMsRUFBRSxN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
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,2BAA2B,CAAC;AAEpD,qBAAa,sBAAuB,SAAQ,KAAK;IAC/C,YAAY,UAAU,EAAE,MAAM,EAE7B;CACF;AAED,qBAAa,6BAA8B,SAAQ,KAAK;IACtD,YAAY,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,EAE/D;CACF;AAED,qBAAa,yCAA0C,SAAQ,KAAK;aAEhD,mBAAmB,EAAE,MAAM;aAC3B,wBAAwB,EAAE,MAAM,GAAG,SAAS;IAF9D,YACkB,mBAAmB,EAAE,MAAM,EAC3B,wBAAwB,EAAE,MAAM,GAAG,SAAS,EAO7D;CACF;AAED,qBAAa,kCAAmC,SAAQ,KAAK;IAC3D,YACE,mBAAmB,EAAE,MAAM,EAC3B,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,MAAM,GAAE,WAAW,GAAG,UAAwB,EAK/C;CACF;AAED,qBAAa,4BAA6B,SAAQ,KAAK;IACrD,YAAY,aAAa,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,GAAG,SAAS,EAIxE;CACF;AAED,qBAAa,8BAA+B,SAAQ,KAAK;IACvD,YACE,cAAc,EAAE,MAAM,EACtB,mBAAmB,EAAE,MAAM,GAAG,SAAS,EACvC,eAAe,EAAE,EAAE,EACnB,oBAAoB,EAAE,EAAE,EAKzB;CACF;AAED,qBAAa,uBAAwB,SAAQ,KAAK;IAChD,YAAY,gBAAgB,EAAE,MAAM,EAEnC;CACF;AAED,qBAAa,kBAAmB,SAAQ,KAAK;IAC3C,YAAY,WAAW,EAAE,MAAM,EAE9B;CACF;AAED,uHAAuH;AACvH,qBAAa,6BAA8B,SAAQ,KAAK;aAC1B,WAAW,EAAE,MAAM;IAA/C,YAA4B,WAAW,EAAE,MAAM,EAG9C;CACF;AAED,6GAA6G;AAC7G,qBAAa,2BAA4B,SAAQ,KAAK;aAElC,OAAO,EAAE,SAAS,GAAG,QAAQ;aAC7B,GAAG,EAAE,MAAM;aACX,eAAe,EAAE,MAAM;aACvB,cAAc,EAAE,MAAM;IAJxC,YACkB,OAAO,EAAE,SAAS,GAAG,QAAQ,EAC7B,GAAG,EAAE,MAAM,EACX,eAAe,EAAE,MAAM,EACvB,cAAc,EAAE,MAAM,EAOvC;CACF;AAED,8GAA8G;AAC9G,qBAAa,2BAA4B,SAAQ,KAAK;aAElC,gBAAgB,EAAE,MAAM;aACxB,mBAAmB,EAAE,MAAM;IAF7C,YACkB,gBAAgB,EAAE,MAAM,EACxB,mBAAmB,EAAE,MAAM,EAO5C;CACF;AAED,6EAA6E;AAC7E,qBAAa,4BAA6B,SAAQ,KAAK;aAEnC,wBAAwB,EAAE,MAAM;aAChC,qBAAqB,EAAE,MAAM;IAF/C,YACkB,wBAAwB,EAAE,MAAM,EAChC,qBAAqB,EAAE,MAAM,EAI9C;CACF;AAED,kFAAkF;AAClF,qBAAa,oCAAqC,SAAQ,KAAK;aAE3C,wBAAwB,EAAE,MAAM;aAChC,yBAAyB,EAAE,MAAM;IAFnD,YACkB,wBAAwB,EAAE,MAAM,EAChC,yBAAyB,EAAE,MAAM,EAMlD;CACF;AAED,qGAAqG;AACrG,qBAAa,qCAAsC,SAAQ,KAAK;aAE5C,WAAW,EAAE,MAAM;aACnB,qBAAqB,EAAE,MAAM;IAF/C,YACkB,WAAW,EAAE,MAAM,EACnB,qBAAqB,EAAE,MAAM,EAM9C;CACF"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}