@aztec/stdlib 5.0.0-nightly.20260504 → 5.0.0-nightly.20260512
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/abi/abi.d.ts +18 -1
- package/dest/abi/abi.d.ts.map +1 -1
- package/dest/abi/abi.js +25 -10
- package/dest/abi/contract_artifact.d.ts +1 -1
- package/dest/abi/contract_artifact.d.ts.map +1 -1
- package/dest/abi/contract_artifact.js +14 -7
- package/dest/avm/avm.d.ts +4 -4
- package/dest/avm/avm_circuit_public_inputs.d.ts +1 -1
- package/dest/avm/avm_proving_request.d.ts +2 -2
- package/dest/aztec-address/index.d.ts +3 -1
- package/dest/aztec-address/index.d.ts.map +1 -1
- package/dest/aztec-address/index.js +2 -0
- package/dest/block/block_data.d.ts +1 -290
- package/dest/block/block_data.d.ts.map +1 -1
- package/dest/block/block_data.js +0 -14
- package/dest/block/block_parameter.d.ts +31 -25
- package/dest/block/block_parameter.d.ts.map +1 -1
- package/dest/block/block_parameter.js +31 -14
- package/dest/block/in_block.d.ts +4 -4
- package/dest/block/index.d.ts +1 -2
- package/dest/block/index.d.ts.map +1 -1
- package/dest/block/index.js +0 -1
- package/dest/block/l2_block_info.d.ts +1 -1
- package/dest/block/l2_block_source.d.ts +66 -117
- package/dest/block/l2_block_source.d.ts.map +1 -1
- package/dest/block/l2_block_source.js +29 -1
- package/dest/block/l2_block_stream/l2_block_stream.d.ts +2 -2
- package/dest/block/l2_block_stream/l2_block_stream.d.ts.map +1 -1
- package/dest/block/l2_block_stream/l2_block_stream.js +36 -15
- package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts +3 -1
- package/dest/block/l2_block_stream/l2_tips_memory_store.d.ts.map +1 -1
- package/dest/block/l2_block_stream/l2_tips_memory_store.js +3 -0
- package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +4 -1
- package/dest/block/l2_block_stream/l2_tips_store_base.d.ts.map +1 -1
- package/dest/block/l2_block_stream/l2_tips_store_base.js +9 -4
- package/dest/block/test/l2_tips_store_test_suite.js +1 -1
- package/dest/checkpoint/checkpoint_data.d.ts +2 -2
- package/dest/hash/hash.d.ts +1 -1
- package/dest/hash/hash.d.ts.map +1 -1
- package/dest/hash/hash.js +2 -2
- package/dest/interfaces/archiver.d.ts +2 -2
- package/dest/interfaces/archiver.d.ts.map +1 -1
- package/dest/interfaces/archiver.js +8 -27
- package/dest/interfaces/aztec-node.d.ts +7 -5
- package/dest/interfaces/aztec-node.d.ts.map +1 -1
- package/dest/interfaces/aztec-node.js +3 -4
- package/dest/interfaces/block_response.d.ts +1 -1
- package/dest/interfaces/chain_tips.d.ts +5 -5
- package/dest/interfaces/checkpoint_parameter.d.ts +5 -5
- package/dest/interfaces/checkpoint_parameter.d.ts.map +1 -1
- package/dest/interfaces/checkpoint_parameter.js +5 -5
- package/dest/interfaces/checkpoint_response.d.ts +2 -2
- package/dest/interfaces/client.d.ts +2 -1
- package/dest/interfaces/client.d.ts.map +1 -1
- package/dest/interfaces/client.js +1 -0
- package/dest/interfaces/get_logs_response.d.ts +1 -1
- package/dest/interfaces/p2p.d.ts +8 -5
- package/dest/interfaces/p2p.d.ts.map +1 -1
- package/dest/interfaces/p2p.js +1 -1
- package/dest/interfaces/proving-job.d.ts +2 -2
- package/dest/interfaces/public_storage_override.d.ts +30 -0
- package/dest/interfaces/public_storage_override.d.ts.map +1 -0
- package/dest/interfaces/public_storage_override.js +7 -0
- package/dest/logs/extended_public_log.d.ts +1 -1
- package/dest/logs/log_id.d.ts +1 -1
- package/dest/logs/tx_scoped_l2_log.d.ts +1 -1
- package/dest/noir/index.d.ts +3 -1
- package/dest/noir/index.d.ts.map +1 -1
- package/dest/p2p/block_proposal.d.ts +12 -3
- package/dest/p2p/block_proposal.d.ts.map +1 -1
- package/dest/p2p/block_proposal.js +14 -1
- package/dest/p2p/checkpoint_attestation.d.ts +8 -4
- package/dest/p2p/checkpoint_attestation.d.ts.map +1 -1
- package/dest/p2p/checkpoint_attestation.js +9 -3
- package/dest/p2p/checkpoint_proposal.d.ts +16 -3
- package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
- package/dest/p2p/checkpoint_proposal.js +17 -2
- package/dest/p2p/consensus_payload.d.ts +6 -1
- package/dest/p2p/consensus_payload.d.ts.map +1 -1
- package/dest/p2p/consensus_payload.js +7 -0
- package/dest/tests/mocks.d.ts +2 -5
- package/dest/tests/mocks.d.ts.map +1 -1
- package/dest/tests/mocks.js +3 -24
- package/dest/tx/global_variables.d.ts +1 -1
- package/dest/tx/in_tx.d.ts +1 -1
- package/dest/tx/indexed_tx_effect.d.ts +1 -1
- package/dest/tx/proven_tx.d.ts +3 -1
- package/dest/tx/proven_tx.d.ts.map +1 -1
- package/dest/tx/proven_tx.js +6 -0
- package/dest/tx/simulated_tx.d.ts +35 -1142
- package/dest/tx/simulated_tx.d.ts.map +1 -1
- package/dest/tx/simulated_tx.js +12 -10
- package/dest/update-checker/dev_version.d.ts +3 -0
- package/dest/update-checker/dev_version.d.ts.map +1 -0
- package/dest/update-checker/dev_version.js +1 -0
- package/dest/update-checker/index.d.ts +2 -1
- package/dest/update-checker/index.d.ts.map +1 -1
- package/dest/update-checker/index.js +1 -0
- package/dest/update-checker/package_version.d.ts +6 -3
- package/dest/update-checker/package_version.d.ts.map +1 -1
- package/dest/update-checker/package_version.js +8 -19
- package/dest/world-state/genesis_data.d.ts +3 -1
- package/dest/world-state/genesis_data.d.ts.map +1 -1
- package/dest/world-state/genesis_data.js +3 -0
- package/package.json +10 -9
- package/src/abi/abi.ts +47 -14
- package/src/abi/contract_artifact.ts +11 -6
- package/src/aztec-address/index.ts +4 -0
- package/src/block/block_data.ts +0 -17
- package/src/block/block_parameter.ts +47 -12
- package/src/block/index.ts +0 -1
- package/src/block/l2_block_source.ts +73 -127
- package/src/block/l2_block_stream/l2_block_stream.ts +34 -26
- package/src/block/l2_block_stream/l2_tips_memory_store.ts +5 -0
- package/src/block/l2_block_stream/l2_tips_store_base.ts +7 -4
- package/src/block/test/l2_tips_store_test_suite.ts +1 -1
- package/src/hash/hash.ts +2 -2
- package/src/interfaces/archiver.ts +8 -33
- package/src/interfaces/aztec-node.ts +15 -5
- package/src/interfaces/checkpoint_parameter.ts +3 -3
- package/src/interfaces/client.ts +1 -0
- package/src/interfaces/p2p.ts +14 -5
- package/src/interfaces/public_storage_override.ts +26 -0
- package/src/noir/index.ts +2 -0
- package/src/p2p/block_proposal.ts +17 -2
- package/src/p2p/checkpoint_attestation.ts +11 -6
- package/src/p2p/checkpoint_proposal.ts +21 -3
- package/src/p2p/consensus_payload.ts +9 -0
- package/src/tests/mocks.ts +3 -31
- package/src/tx/proven_tx.ts +6 -0
- package/src/tx/simulated_tx.ts +18 -21
- package/src/update-checker/dev_version.ts +2 -0
- package/src/update-checker/index.ts +1 -0
- package/src/update-checker/package_version.ts +10 -23
- package/src/world-state/genesis_data.ts +12 -0
- package/dest/block/checkpointed_l2_block.d.ts +0 -150
- package/dest/block/checkpointed_l2_block.d.ts.map +0 -1
- package/dest/block/checkpointed_l2_block.js +0 -46
- package/src/block/checkpointed_l2_block.ts +0 -70
|
@@ -5,25 +5,35 @@ import type { TypedEventEmitter } from '@aztec/foundation/types';
|
|
|
5
5
|
import { z } from 'zod';
|
|
6
6
|
import type { Checkpoint } from '../checkpoint/checkpoint.js';
|
|
7
7
|
import type { CheckpointData, CommonCheckpointData, ProposedCheckpointData } from '../checkpoint/checkpoint_data.js';
|
|
8
|
-
import type {
|
|
8
|
+
import type { PublishedCheckpoint } from '../checkpoint/published_checkpoint.js';
|
|
9
9
|
import type { L1RollupConstants } from '../epoch-helpers/index.js';
|
|
10
|
-
import type { BlockHeader } from '../tx/block_header.js';
|
|
11
10
|
import type { IndexedTxEffect } from '../tx/indexed_tx_effect.js';
|
|
12
11
|
import type { TxHash } from '../tx/tx_hash.js';
|
|
13
12
|
import type { TxReceipt } from '../tx/tx_receipt.js';
|
|
14
13
|
import type { BlockData } from './block_data.js';
|
|
15
|
-
import
|
|
16
|
-
import type
|
|
14
|
+
import { BlockHash } from './block_hash.js';
|
|
15
|
+
import { type NormalizedBlockParameter } from './block_parameter.js';
|
|
17
16
|
import type { L2Block } from './l2_block.js';
|
|
18
|
-
import type { CommitteeAttestation } from './proposal/committee_attestation.js';
|
|
19
17
|
import type { ValidateCheckpointNegativeResult, ValidateCheckpointResult } from './validate_block_result.js';
|
|
20
|
-
/**
|
|
21
|
-
export type
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
18
|
+
/** Lookup a single block by block number, hash, archive root, or chain-tip tag. */
|
|
19
|
+
export type BlockQuery = NormalizedBlockParameter;
|
|
20
|
+
/**
|
|
21
|
+
* Query a range of blocks by start/limit or by epoch.
|
|
22
|
+
*
|
|
23
|
+
* The `epoch` variant requires `onlyCheckpointed: true` because epoch boundaries are only
|
|
24
|
+
* meaningful for the checkpointed chain — the proposed chain may include uncheckpointed
|
|
25
|
+
* blocks past the epoch boundary that callers should not receive.
|
|
26
|
+
*/
|
|
27
|
+
export type BlocksQuery = {
|
|
28
|
+
from: BlockNumber;
|
|
29
|
+
limit: number;
|
|
30
|
+
onlyCheckpointed?: boolean;
|
|
31
|
+
} | {
|
|
32
|
+
epoch: EpochNumber;
|
|
33
|
+
onlyCheckpointed: true;
|
|
26
34
|
};
|
|
35
|
+
export declare const BlockQuerySchema: z.ZodType<BlockQuery, z.ZodTypeDef, unknown>;
|
|
36
|
+
export declare const BlocksQuerySchema: z.ZodType<BlocksQuery, z.ZodTypeDef, unknown>;
|
|
27
37
|
/**
|
|
28
38
|
* Interface of classes allowing for the retrieval of L2 blocks.
|
|
29
39
|
*/
|
|
@@ -43,6 +53,13 @@ export interface L2BlockSource {
|
|
|
43
53
|
* @returns The number of the latest L2 block processed by the block source implementation.
|
|
44
54
|
*/
|
|
45
55
|
getBlockNumber(): Promise<BlockNumber>;
|
|
56
|
+
/**
|
|
57
|
+
* Resolves a {@link BlockQuery} to its concrete L2 block number.
|
|
58
|
+
* @param query - Lookup by block number, hash, archive root, or chain-tip tag.
|
|
59
|
+
* @returns The block number, or undefined if no block matches the query.
|
|
60
|
+
*/
|
|
61
|
+
getBlockNumber(query: BlockQuery): Promise<BlockNumber | undefined>;
|
|
62
|
+
getBlockNumber(query?: BlockQuery): Promise<BlockNumber | undefined>;
|
|
46
63
|
/**
|
|
47
64
|
* Gets the number of the latest L2 checkpoint processed by the block source implementation.
|
|
48
65
|
* @returns The number of the latest L2 checkpoint processed by the block source implementation.
|
|
@@ -64,20 +81,6 @@ export interface L2BlockSource {
|
|
|
64
81
|
* @returns The finalized block number.
|
|
65
82
|
*/
|
|
66
83
|
getFinalizedL2BlockNumber(): Promise<BlockNumber>;
|
|
67
|
-
/**
|
|
68
|
-
* Gets an l2 block header.
|
|
69
|
-
* @param number - The block number to return or 'latest' for the most recent one.
|
|
70
|
-
* @returns The requested L2 block header.
|
|
71
|
-
*/
|
|
72
|
-
getBlockHeader(number: BlockNumber | 'latest'): Promise<BlockHeader | undefined>;
|
|
73
|
-
/**
|
|
74
|
-
* Gets a checkpointed L2 block by block number.
|
|
75
|
-
* Returns undefined if the block doesn't exist or hasn't been checkpointed yet.
|
|
76
|
-
* @param number - The block number to retrieve.
|
|
77
|
-
* @returns The requested checkpointed L2 block (or undefined if not found or not checkpointed).
|
|
78
|
-
*/
|
|
79
|
-
getCheckpointedBlock(number: BlockNumber): Promise<CheckpointedL2Block | undefined>;
|
|
80
|
-
getCheckpointedBlocks(from: BlockNumber, limit: number): Promise<CheckpointedL2Block[]>;
|
|
81
84
|
/**
|
|
82
85
|
* Retrieves a collection of checkpoints.
|
|
83
86
|
* @param checkpointNumber The first checkpoint to be retrieved.
|
|
@@ -115,55 +118,6 @@ export interface L2BlockSource {
|
|
|
115
118
|
* @returns The checkpoint number (or undefined if not found).
|
|
116
119
|
*/
|
|
117
120
|
getCheckpointNumberBySlot(slot: SlotNumber): Promise<CheckpointNumber | undefined>;
|
|
118
|
-
/**
|
|
119
|
-
* Gets block metadata plus checkpoint-derived context (L1 publish info, attestations)
|
|
120
|
-
* without deserializing tx bodies. Uses checkpoint-level values when the block is
|
|
121
|
-
* checkpointed; otherwise returns `l1: undefined` and empty attestations.
|
|
122
|
-
* @param number - The block number to retrieve.
|
|
123
|
-
*/
|
|
124
|
-
getBlockDataWithCheckpointContext(number: BlockNumber): Promise<BlockDataWithCheckpointContext | undefined>;
|
|
125
|
-
/**
|
|
126
|
-
* Gets a block header by its hash.
|
|
127
|
-
* @param blockHash - The block hash to retrieve.
|
|
128
|
-
* @returns The requested block header (or undefined if not found).
|
|
129
|
-
*/
|
|
130
|
-
getBlockHeaderByHash(blockHash: BlockHash): Promise<BlockHeader | undefined>;
|
|
131
|
-
/**
|
|
132
|
-
* Gets a block header by its archive root.
|
|
133
|
-
* @param archive - The archive root to retrieve.
|
|
134
|
-
* @returns The requested block header (or undefined if not found).
|
|
135
|
-
*/
|
|
136
|
-
getBlockHeaderByArchive(archive: Fr): Promise<BlockHeader | undefined>;
|
|
137
|
-
/**
|
|
138
|
-
* Gets block metadata (without tx data) by block number.
|
|
139
|
-
* @param number - The block number to retrieve.
|
|
140
|
-
* @returns The requested block data (or undefined if not found).
|
|
141
|
-
*/
|
|
142
|
-
getBlockData(number: BlockNumber): Promise<BlockData | undefined>;
|
|
143
|
-
/**
|
|
144
|
-
* Gets block metadata (without tx data) by archive root.
|
|
145
|
-
* @param archive - The archive root to retrieve.
|
|
146
|
-
* @returns The requested block data (or undefined if not found).
|
|
147
|
-
*/
|
|
148
|
-
getBlockDataByArchive(archive: Fr): Promise<BlockData | undefined>;
|
|
149
|
-
/**
|
|
150
|
-
* Gets an L2 block by block number.
|
|
151
|
-
* @param number - The block number to return.
|
|
152
|
-
* @returns The requested L2 block (or undefined if not found).
|
|
153
|
-
*/
|
|
154
|
-
getL2Block(number: BlockNumber): Promise<L2Block | undefined>;
|
|
155
|
-
/**
|
|
156
|
-
* Gets an L2 block by its hash.
|
|
157
|
-
* @param blockHash - The block hash to retrieve.
|
|
158
|
-
* @returns The requested L2 block (or undefined if not found).
|
|
159
|
-
*/
|
|
160
|
-
getL2BlockByHash(blockHash: BlockHash): Promise<L2Block | undefined>;
|
|
161
|
-
/**
|
|
162
|
-
* Gets an L2 block by its archive root.
|
|
163
|
-
* @param archive - The archive root to retrieve.
|
|
164
|
-
* @returns The requested L2 block (or undefined if not found).
|
|
165
|
-
*/
|
|
166
|
-
getL2BlockByArchive(archive: Fr): Promise<L2Block | undefined>;
|
|
167
121
|
/**
|
|
168
122
|
* Gets a tx effect.
|
|
169
123
|
* @param txHash - The hash of the tx corresponding to the tx effect.
|
|
@@ -188,12 +142,6 @@ export interface L2BlockSource {
|
|
|
188
142
|
* An epoch is fully synced when all its L2 slots have been fully synced.
|
|
189
143
|
*/
|
|
190
144
|
getSyncedL2EpochNumber(): Promise<EpochNumber | undefined>;
|
|
191
|
-
/**
|
|
192
|
-
* Returns all checkpointed block headers for a given epoch.
|
|
193
|
-
* @dev Use this method only with recent epochs, since it walks the block list backwards.
|
|
194
|
-
* @param epochNumber - The epoch number to return headers for.
|
|
195
|
-
*/
|
|
196
|
-
getCheckpointedBlockHeadersForEpoch(epochNumber: EpochNumber): Promise<BlockHeader[]>;
|
|
197
145
|
/**
|
|
198
146
|
* Returns whether the given epoch is completed on L1, based on the current L1 and L2 block numbers.
|
|
199
147
|
* @param epochNumber - The epoch number to check.
|
|
@@ -211,6 +159,11 @@ export interface L2BlockSource {
|
|
|
211
159
|
getGenesisValues(): Promise<{
|
|
212
160
|
genesisArchiveRoot: Fr;
|
|
213
161
|
}>;
|
|
162
|
+
/**
|
|
163
|
+
* Returns the precomputed hash of the genesis block header. Synchronous because the hash
|
|
164
|
+
* is derived from the initial block header at construction time and cached by implementers.
|
|
165
|
+
*/
|
|
166
|
+
getGenesisBlockHash(): BlockHash;
|
|
214
167
|
/** Latest synced L1 timestamp. */
|
|
215
168
|
getL1Timestamp(): Promise<bigint | undefined>;
|
|
216
169
|
/**
|
|
@@ -230,42 +183,31 @@ export interface L2BlockSource {
|
|
|
230
183
|
/** Force a sync. */
|
|
231
184
|
syncImmediate(): Promise<void>;
|
|
232
185
|
/**
|
|
233
|
-
* Gets an
|
|
234
|
-
* @param
|
|
235
|
-
* @returns The requested L2 block.
|
|
186
|
+
* Gets an L2 block matching the given query.
|
|
187
|
+
* @param query - Lookup by block number, hash, or archive root.
|
|
236
188
|
*/
|
|
237
|
-
getBlock(
|
|
189
|
+
getBlock(query: BlockQuery): Promise<L2Block | undefined>;
|
|
238
190
|
/**
|
|
239
|
-
*
|
|
240
|
-
* @
|
|
241
|
-
* @param epochNumber - The epoch number to return blocks for.
|
|
191
|
+
* Gets a collection of L2 blocks matching the given query.
|
|
192
|
+
* @param query - Range by start/limit or by epoch; optionally restricted to checkpointed blocks.
|
|
242
193
|
*/
|
|
243
|
-
|
|
194
|
+
getBlocks(query: BlocksQuery): Promise<L2Block[]>;
|
|
244
195
|
/**
|
|
245
|
-
*
|
|
246
|
-
* @
|
|
247
|
-
* @param slotNumber - The slot number to return blocks for.
|
|
248
|
-
*/
|
|
249
|
-
getBlocksForSlot(slotNumber: SlotNumber): Promise<L2Block[]>;
|
|
250
|
-
/**
|
|
251
|
-
* Gets a checkpointed block by its block hash.
|
|
252
|
-
* @param blockHash - The block hash to retrieve.
|
|
253
|
-
* @returns The requested block (or undefined if not found).
|
|
196
|
+
* Gets block metadata (without tx data) matching the given query.
|
|
197
|
+
* @param query - Lookup by block number, hash, or archive root.
|
|
254
198
|
*/
|
|
255
|
-
|
|
199
|
+
getBlockData(query: BlockQuery): Promise<BlockData | undefined>;
|
|
256
200
|
/**
|
|
257
|
-
* Gets a
|
|
258
|
-
* @param
|
|
259
|
-
* @returns The requested block (or undefined if not found).
|
|
201
|
+
* Gets a collection of block metadata entries matching the given query.
|
|
202
|
+
* @param query - Range by start/limit or by epoch; optionally restricted to checkpointed blocks.
|
|
260
203
|
*/
|
|
261
|
-
|
|
204
|
+
getBlocksData(query: BlocksQuery): Promise<BlockData[]>;
|
|
262
205
|
/**
|
|
263
|
-
*
|
|
264
|
-
* @
|
|
265
|
-
* @param
|
|
266
|
-
* @returns The requested L2 blocks.
|
|
206
|
+
* Returns all blocks for a given slot.
|
|
207
|
+
* @dev Use this method only with recent slots, since it walks the block list backwards.
|
|
208
|
+
* @param slotNumber - The slot number to return blocks for.
|
|
267
209
|
*/
|
|
268
|
-
|
|
210
|
+
getBlocksForSlot(slotNumber: SlotNumber): Promise<L2Block[]>;
|
|
269
211
|
}
|
|
270
212
|
/**
|
|
271
213
|
* Interface for classes that can receive and store L2 blocks.
|
|
@@ -293,11 +235,18 @@ export interface L2BlockSourceEventEmitter extends L2BlockSource {
|
|
|
293
235
|
events: ArchiverEmitter;
|
|
294
236
|
}
|
|
295
237
|
/**
|
|
296
|
-
* Identifier for L2 block tags.
|
|
238
|
+
* Identifier for L2 block tags. Internal counterpart to {@link BlockTag} that exposes
|
|
239
|
+
* the additional `proposedCheckpoint` value (used for the optimistic chain tip on the
|
|
240
|
+
* archiver side) and omits `latest` (which is an alias for `proposed` accepted only at
|
|
241
|
+
* the public RPC surface).
|
|
242
|
+
*
|
|
297
243
|
* - proposed: Latest block proposed on L2.
|
|
298
|
-
* -
|
|
299
|
-
* -
|
|
300
|
-
* -
|
|
244
|
+
* - proposedCheckpoint: Latest block in the most recent proposed checkpoint (archiver-internal).
|
|
245
|
+
* - checkpointed: Latest block whose enclosing checkpoint has been published on L1.
|
|
246
|
+
* - proven: Latest block whose enclosing checkpoint has been proven on L1.
|
|
247
|
+
* - finalized: Latest block whose proving L1 transaction has reached L1 finality.
|
|
248
|
+
*
|
|
249
|
+
* TODO(palla): Remove `proposedCheckpoint` and unify with `proposed`.
|
|
301
250
|
*/
|
|
302
251
|
export type L2BlockTag = 'proposed' | 'proposedCheckpoint' | 'checkpointed' | 'proven' | 'finalized';
|
|
303
252
|
/** Tips of the L2 chain. */
|
|
@@ -328,7 +277,7 @@ export declare function makeL2BlockId(number: BlockNumber, hash?: string): L2Blo
|
|
|
328
277
|
export declare function makeL2CheckpointId(number: CheckpointNumber, hash: string): CheckpointId;
|
|
329
278
|
export declare const L2TipsSchema: z.ZodObject<{
|
|
330
279
|
proposed: z.ZodObject<{
|
|
331
|
-
number: z.ZodEffects<z.
|
|
280
|
+
number: z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodEffects<z.ZodBigInt, number, bigint>, z.ZodEffects<z.ZodString, number, string>]>, BlockNumber, string | number | bigint>;
|
|
332
281
|
hash: z.ZodString;
|
|
333
282
|
}, "strip", z.ZodTypeAny, {
|
|
334
283
|
number: number & {
|
|
@@ -341,7 +290,7 @@ export declare const L2TipsSchema: z.ZodObject<{
|
|
|
341
290
|
}>;
|
|
342
291
|
checkpointed: z.ZodObject<{
|
|
343
292
|
block: z.ZodObject<{
|
|
344
|
-
number: z.ZodEffects<z.
|
|
293
|
+
number: z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodEffects<z.ZodBigInt, number, bigint>, z.ZodEffects<z.ZodString, number, string>]>, BlockNumber, string | number | bigint>;
|
|
345
294
|
hash: z.ZodString;
|
|
346
295
|
}, "strip", z.ZodTypeAny, {
|
|
347
296
|
number: number & {
|
|
@@ -389,7 +338,7 @@ export declare const L2TipsSchema: z.ZodObject<{
|
|
|
389
338
|
}>;
|
|
390
339
|
proposedCheckpoint: z.ZodObject<{
|
|
391
340
|
block: z.ZodObject<{
|
|
392
|
-
number: z.ZodEffects<z.
|
|
341
|
+
number: z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodEffects<z.ZodBigInt, number, bigint>, z.ZodEffects<z.ZodString, number, string>]>, BlockNumber, string | number | bigint>;
|
|
393
342
|
hash: z.ZodString;
|
|
394
343
|
}, "strip", z.ZodTypeAny, {
|
|
395
344
|
number: number & {
|
|
@@ -437,7 +386,7 @@ export declare const L2TipsSchema: z.ZodObject<{
|
|
|
437
386
|
}>;
|
|
438
387
|
proven: z.ZodObject<{
|
|
439
388
|
block: z.ZodObject<{
|
|
440
|
-
number: z.ZodEffects<z.
|
|
389
|
+
number: z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodEffects<z.ZodBigInt, number, bigint>, z.ZodEffects<z.ZodString, number, string>]>, BlockNumber, string | number | bigint>;
|
|
441
390
|
hash: z.ZodString;
|
|
442
391
|
}, "strip", z.ZodTypeAny, {
|
|
443
392
|
number: number & {
|
|
@@ -485,7 +434,7 @@ export declare const L2TipsSchema: z.ZodObject<{
|
|
|
485
434
|
}>;
|
|
486
435
|
finalized: z.ZodObject<{
|
|
487
436
|
block: z.ZodObject<{
|
|
488
|
-
number: z.ZodEffects<z.
|
|
437
|
+
number: z.ZodEffects<z.ZodUnion<[z.ZodNumber, z.ZodEffects<z.ZodBigInt, number, bigint>, z.ZodEffects<z.ZodString, number, string>]>, BlockNumber, string | number | bigint>;
|
|
489
438
|
hash: z.ZodString;
|
|
490
439
|
}, "strip", z.ZodTypeAny, {
|
|
491
440
|
number: number & {
|
|
@@ -671,4 +620,4 @@ export type InvalidCheckpointDetectedEvent = {
|
|
|
671
620
|
type: 'invalidCheckpointDetected';
|
|
672
621
|
validationResult: ValidateCheckpointNegativeResult;
|
|
673
622
|
};
|
|
674
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
623
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibDJfYmxvY2tfc291cmNlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYmxvY2svbDJfYmxvY2tfc291cmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxXQUFXLEVBRVgsZ0JBQWdCLEVBRWhCLEtBQUssV0FBVyxFQUVoQixLQUFLLFVBQVUsRUFDaEIsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6QyxPQUFPLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN6RCxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUVoRSxPQUFPLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRWpFLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFeEIsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDOUQsT0FBTyxLQUFLLEVBQUUsY0FBYyxFQUFFLG9CQUFvQixFQUFFLHNCQUFzQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDckgsT0FBTyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNqRixPQUFPLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRW5FLE9BQU8sS0FBSyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2xFLE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQy9DLE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1QyxPQUFPLEVBQStCLEtBQUssd0JBQXdCLEVBQUUsTUFBTSxz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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"l2_block_source.d.ts","sourceRoot":"","sources":["../../src/block/l2_block_source.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EAEX,gBAAgB,EAEhB,KAAK,WAAW,
|
|
1
|
+
{"version":3,"file":"l2_block_source.d.ts","sourceRoot":"","sources":["../../src/block/l2_block_source.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,34 @@
|
|
|
1
|
-
import { BlockNumberSchema, CheckpointNumberSchema } from '@aztec/foundation/branded-types';
|
|
1
|
+
import { BlockNumberSchema, CheckpointNumberSchema, EpochNumberSchema } from '@aztec/foundation/branded-types';
|
|
2
|
+
import { schemas } from '@aztec/foundation/schemas';
|
|
2
3
|
import { z } from 'zod';
|
|
3
4
|
import { CheckpointHeader } from '../rollup/checkpoint_header.js';
|
|
5
|
+
import { BlockHash } from './block_hash.js';
|
|
6
|
+
import { BlockTagWithoutLatestSchema } from './block_parameter.js';
|
|
7
|
+
export const BlockQuerySchema = z.union([
|
|
8
|
+
z.object({
|
|
9
|
+
number: BlockNumberSchema
|
|
10
|
+
}).strict(),
|
|
11
|
+
z.object({
|
|
12
|
+
hash: BlockHash.schema
|
|
13
|
+
}).strict(),
|
|
14
|
+
z.object({
|
|
15
|
+
archive: schemas.Fr
|
|
16
|
+
}).strict(),
|
|
17
|
+
z.object({
|
|
18
|
+
tag: BlockTagWithoutLatestSchema
|
|
19
|
+
}).strict()
|
|
20
|
+
]);
|
|
21
|
+
export const BlocksQuerySchema = z.union([
|
|
22
|
+
z.object({
|
|
23
|
+
from: BlockNumberSchema,
|
|
24
|
+
limit: z.number().int().min(1),
|
|
25
|
+
onlyCheckpointed: z.boolean().optional()
|
|
26
|
+
}).strict(),
|
|
27
|
+
z.object({
|
|
28
|
+
epoch: EpochNumberSchema,
|
|
29
|
+
onlyCheckpointed: z.literal(true)
|
|
30
|
+
}).strict()
|
|
31
|
+
]);
|
|
4
32
|
export const GENESIS_CHECKPOINT_HEADER_HASH = CheckpointHeader.empty().hash();
|
|
5
33
|
/** Creates an L2 block id */ export function makeL2BlockId(number, hash) {
|
|
6
34
|
if (number !== 0 && !hash) {
|
|
@@ -12,7 +12,7 @@ export declare class L2BlockStream {
|
|
|
12
12
|
private readonly runningPromise;
|
|
13
13
|
private isSyncing;
|
|
14
14
|
private hasStarted;
|
|
15
|
-
constructor(l2BlockSource: Pick<L2BlockSource, 'getBlocks' | '
|
|
15
|
+
constructor(l2BlockSource: Pick<L2BlockSource, 'getBlocks' | 'getBlockData' | 'getL2Tips' | 'getCheckpoints'>, localData: L2BlockStreamLocalDataProvider, handler: L2BlockStreamEventHandler, log?: import("@aztec/foundation/log").Logger, opts?: {
|
|
16
16
|
pollIntervalMS?: number;
|
|
17
17
|
batchSize?: number;
|
|
18
18
|
startingBlock?: number;
|
|
@@ -37,4 +37,4 @@ export declare class L2BlockStream {
|
|
|
37
37
|
private getBlockHashFromSource;
|
|
38
38
|
private emitEvent;
|
|
39
39
|
}
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibDJfYmxvY2tfc3RyZWFtLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmxvY2svbDJfYmxvY2tfc3RyZWFtL2wyX2Jsb2NrX3N0cmVhbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxPQUFPLEVBQWtCLEtBQUssYUFBYSxFQUFpQixNQUFNLHVCQUF1QixDQUFDO0FBQzFGLE9BQU8sS0FBSyxFQUFzQix5QkFBeUIsRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXJILHNHQUFzRztBQUN0RyxlQUFPLE1BQU0seUJBQXlCLEtBQUssQ0FBQztBQUU1Qyx1SEFBdUg7QUFDdkgscUJBQWEsYUFBYTtJQU10QixPQUFPLENBQUMsYUFBYTtJQUNyQixPQUFPLENBQUMsU0FBUztJQUNqQixPQUFPLENBQUMsT0FBTztJQUNmLE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBRztJQUNwQixPQUFPLENBQUMsSUFBSTtJQVRkLE9BQU8sQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFpQjtJQUNoRCxPQUFPLENBQUMsU0FBUyxDQUFTO0lBQzFCLE9BQU8sQ0FBQyxVQUFVLENBQVM7SUFFM0IsWUFDVSxhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRSxXQUFXLEdBQUcsY0FBYyxHQUFHLFdBQVcsR0FBRyxnQkFBZ0IsQ0FBQyxFQUNqRyxTQUFTLEVBQUUsOEJBQThCLEVBQ3pDLE9BQU8sRUFBRSx5QkFBeUIsRUFDekIsR0FBRyx5Q0FBcUMsRUFDakQsSUFBSSxHQUFFO1FBQ1osY0FBYyxDQUFDLEVBQUUsTUFBTSxDQUFDO1FBQ3hCLFNBQVMsQ0FBQyxFQUFFLE1BQU0sQ0FBQztRQUNuQixhQUFhLENBQUMsRUFBRSxNQUFNLENBQUM7UUFDdkIsa0hBQWtIO1FBQ2xILGFBQWEsQ0FBQyxFQUFFLE9BQU8sQ0FBQztRQUN4QiwySUFBMkk7UUFDM0ksaUJBQWlCLENBQUMsRUFBRSxPQUFPLENBQUM7UUFDNUIsaUhBQWlIO1FBQ2pILHVCQUF1QixDQUFDLEVBQUUsTUFBTSxDQUFDO0tBQzdCLEVBT1A7SUFFTSxLQUFLLFNBR1g7SUFFWSxJQUFJLGtCQUVoQjtJQUVNLFNBQVMsWUFFZjtJQUVEOzs7O09BSUc7SUFDVSxJQUFJLGtCQUloQjtJQUVELFVBQWdCLElBQUksa0JBNk1uQjtZQU9hLHFCQUFxQjtJQXFCbkMsT0FBTyxDQUFDLHNCQUFzQjtZQU9oQixTQUFTO0NBU3hCIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"l2_block_stream.d.ts","sourceRoot":"","sources":["../../../src/block/l2_block_stream/l2_block_stream.ts"],"names":[],"mappings":"AAMA,OAAO,EAAkB,KAAK,aAAa,EAAiB,MAAM,uBAAuB,CAAC;AAC1F,OAAO,KAAK,EAAsB,yBAAyB,EAAE,8BAA8B,EAAE,MAAM,iBAAiB,CAAC;AAErH,sGAAsG;AACtG,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAE5C,uHAAuH;AACvH,qBAAa,aAAa;IAMtB,OAAO,CAAC,aAAa;
|
|
1
|
+
{"version":3,"file":"l2_block_stream.d.ts","sourceRoot":"","sources":["../../../src/block/l2_block_stream/l2_block_stream.ts"],"names":[],"mappings":"AAMA,OAAO,EAAkB,KAAK,aAAa,EAAiB,MAAM,uBAAuB,CAAC;AAC1F,OAAO,KAAK,EAAsB,yBAAyB,EAAE,8BAA8B,EAAE,MAAM,iBAAiB,CAAC;AAErH,sGAAsG;AACtG,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAE5C,uHAAuH;AACvH,qBAAa,aAAa;IAMtB,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,IAAI;IATd,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAChD,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,UAAU,CAAS;IAE3B,YACU,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,WAAW,GAAG,cAAc,GAAG,WAAW,GAAG,gBAAgB,CAAC,EACjG,SAAS,EAAE,8BAA8B,EACzC,OAAO,EAAE,yBAAyB,EACzB,GAAG,yCAAqC,EACjD,IAAI,GAAE;QACZ,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,kHAAkH;QAClH,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,2IAA2I;QAC3I,iBAAiB,CAAC,EAAE,OAAO,CAAC;QAC5B,iHAAiH;QACjH,uBAAuB,CAAC,EAAE,MAAM,CAAC;KAC7B,EAOP;IAEM,KAAK,SAGX;IAEY,IAAI,kBAEhB;IAEM,SAAS,YAEf;IAED;;;;OAIG;IACU,IAAI,kBAIhB;IAED,UAAgB,IAAI,kBA6MnB;YAOa,qBAAqB;IAqBnC,OAAO,CAAC,sBAAsB;YAOhB,SAAS;CASxB"}
|
|
@@ -62,6 +62,18 @@ import { makeL2BlockId } from '../l2_block_source.js';
|
|
|
62
62
|
while(!await this.areBlockHashesEqualAt(latestBlockNumber, {
|
|
63
63
|
sourceCache
|
|
64
64
|
})){
|
|
65
|
+
if (latestBlockNumber === 0) {
|
|
66
|
+
// We walked all the way back to genesis and the hashes still differ. This means the
|
|
67
|
+
// local store and the source disagree on the genesis block itself — typically because
|
|
68
|
+
// they were configured with different `genesisTimestamp`/prefilled state. Continuing
|
|
69
|
+
// would underflow into negative block numbers and surface as "block hash not found
|
|
70
|
+
// for -1" further down. Fail loudly with a meaningful error instead.
|
|
71
|
+
this.log.error(`Genesis block hash mismatch between local store and source`, {
|
|
72
|
+
localBlockHash: await this.localData.getL2BlockHash(BlockNumber.ZERO),
|
|
73
|
+
sourceBlockHash: sourceCache.get(0) ?? await this.getBlockHashFromSource(BlockNumber.ZERO)
|
|
74
|
+
});
|
|
75
|
+
throw new Error('Genesis block hash mismatch between local store and source: refusing to walk past block 0. ' + 'This usually indicates the two sides were configured with different genesis values ' + '(e.g. genesisTimestamp or prefilled public data).');
|
|
76
|
+
}
|
|
65
77
|
latestBlockNumber--;
|
|
66
78
|
}
|
|
67
79
|
if (latestBlockNumber < localTips.proposed.number) {
|
|
@@ -78,8 +90,9 @@ import { makeL2BlockId } from '../l2_block_source.js';
|
|
|
78
90
|
});
|
|
79
91
|
}
|
|
80
92
|
// If we are just starting, use the starting block number from the options.
|
|
81
|
-
|
|
82
|
-
|
|
93
|
+
const startingBlock = this.opts.startingBlock !== undefined ? BlockNumber(this.opts.startingBlock) : undefined;
|
|
94
|
+
if (latestBlockNumber === 0 && startingBlock !== undefined) {
|
|
95
|
+
latestBlockNumber = BlockNumber(Math.max(startingBlock - 1, 0));
|
|
83
96
|
}
|
|
84
97
|
// Only log this entry once (for sanity)
|
|
85
98
|
if (!this.hasStarted) {
|
|
@@ -89,13 +102,17 @@ import { makeL2BlockId } from '../l2_block_source.js';
|
|
|
89
102
|
let nextBlockNumber = latestBlockNumber + 1;
|
|
90
103
|
let nextCheckpointToEmit = CheckpointNumber(localTips.checkpointed.checkpoint.number + 1);
|
|
91
104
|
// When startingBlock is set, also skip ahead for checkpoints.
|
|
92
|
-
if (
|
|
93
|
-
|
|
94
|
-
if (startingBlockCheckpoints.length > 0) {
|
|
95
|
-
nextCheckpointToEmit = CheckpointNumber(Math.max(nextCheckpointToEmit, startingBlockCheckpoints[0].checkpointNumber));
|
|
96
|
-
} else {
|
|
105
|
+
if (startingBlock !== undefined && startingBlock >= 1 && nextCheckpointToEmit <= sourceTips.checkpointed.checkpoint.number) {
|
|
106
|
+
if (startingBlock > sourceTips.checkpointed.block.number) {
|
|
97
107
|
// startingBlock is past all checkpointed blocks; skip Loop 1 entirely.
|
|
98
108
|
nextCheckpointToEmit = CheckpointNumber(sourceTips.checkpointed.checkpoint.number + 1);
|
|
109
|
+
} else {
|
|
110
|
+
const startingBlockData = await this.l2BlockSource.getBlockData({
|
|
111
|
+
number: startingBlock
|
|
112
|
+
});
|
|
113
|
+
if (startingBlockData) {
|
|
114
|
+
nextCheckpointToEmit = CheckpointNumber(Math.max(nextCheckpointToEmit, startingBlockData.checkpointNumber));
|
|
115
|
+
}
|
|
99
116
|
}
|
|
100
117
|
}
|
|
101
118
|
if (this.opts.skipFinalized) {
|
|
@@ -146,9 +163,11 @@ import { makeL2BlockId } from '../l2_block_source.js';
|
|
|
146
163
|
let nextCheckpointNumber;
|
|
147
164
|
// Find the starting checkpoint number
|
|
148
165
|
if (nextBlockNumber <= sourceTips.checkpointed.block.number) {
|
|
149
|
-
const
|
|
150
|
-
|
|
151
|
-
|
|
166
|
+
const blockData = await this.l2BlockSource.getBlockData({
|
|
167
|
+
number: BlockNumber(nextBlockNumber)
|
|
168
|
+
});
|
|
169
|
+
if (blockData) {
|
|
170
|
+
nextCheckpointNumber = blockData.checkpointNumber;
|
|
152
171
|
}
|
|
153
172
|
}
|
|
154
173
|
while(nextBlockNumber <= sourceTips.checkpointed.block.number && nextCheckpointNumber !== undefined){
|
|
@@ -192,7 +211,10 @@ import { makeL2BlockId } from '../l2_block_source.js';
|
|
|
192
211
|
while(nextBlockNumber <= sourceTips.proposed.number){
|
|
193
212
|
const limit = Math.min(this.opts.batchSize ?? 50, sourceTips.proposed.number - nextBlockNumber + 1);
|
|
194
213
|
this.log.trace(`Requesting blocks from ${nextBlockNumber} limit ${limit}`);
|
|
195
|
-
const blocks = await this.l2BlockSource.getBlocks(
|
|
214
|
+
const blocks = await this.l2BlockSource.getBlocks({
|
|
215
|
+
from: BlockNumber(nextBlockNumber),
|
|
216
|
+
limit
|
|
217
|
+
});
|
|
196
218
|
if (blocks.length === 0) {
|
|
197
219
|
break;
|
|
198
220
|
}
|
|
@@ -227,9 +249,6 @@ import { makeL2BlockId } from '../l2_block_source.js';
|
|
|
227
249
|
* @param blockNumber - The block number to test.
|
|
228
250
|
* @param args - A cache of data already requested from source, to avoid re-requesting it.
|
|
229
251
|
*/ async areBlockHashesEqualAt(blockNumber, args) {
|
|
230
|
-
if (blockNumber === 0) {
|
|
231
|
-
return true;
|
|
232
|
-
}
|
|
233
252
|
const localBlockHash = await this.localData.getL2BlockHash(blockNumber);
|
|
234
253
|
if (!localBlockHash && this.opts.skipFinalized) {
|
|
235
254
|
// Failing to find a block hash when skipping finalized blocks can be highly problematic as we'd potentially need
|
|
@@ -254,7 +273,9 @@ import { makeL2BlockId } from '../l2_block_source.js';
|
|
|
254
273
|
return localBlockHash === sourceBlockHash;
|
|
255
274
|
}
|
|
256
275
|
getBlockHashFromSource(blockNumber) {
|
|
257
|
-
return this.l2BlockSource.
|
|
276
|
+
return this.l2BlockSource.getBlockData({
|
|
277
|
+
number: blockNumber
|
|
278
|
+
}).then((d)=>d?.header.hash()).then((hash)=>hash?.toString());
|
|
258
279
|
}
|
|
259
280
|
async emitEvent(event) {
|
|
260
281
|
this.log.debug(`Emitting ${event.type} (${event.type === 'blocks-added' ? event.blocks.length : event.type === 'chain-checkpointed' ? event.checkpoint.checkpoint.number : event.block.number})`);
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { BlockNumber, CheckpointNumber } from '@aztec/foundation/branded-types';
|
|
2
2
|
import type { PublishedCheckpoint } from '../../checkpoint/published_checkpoint.js';
|
|
3
|
+
import type { BlockHash } from '../block_hash.js';
|
|
3
4
|
import type { L2BlockTag } from '../l2_block_source.js';
|
|
4
5
|
import { L2TipsStoreBase } from './l2_tips_store_base.js';
|
|
5
6
|
/**
|
|
@@ -7,6 +8,7 @@ import { L2TipsStoreBase } from './l2_tips_store_base.js';
|
|
|
7
8
|
* @dev Tests in kv-store/src/stores/l2_tips_memory_store.test.ts
|
|
8
9
|
*/
|
|
9
10
|
export declare class L2TipsMemoryStore extends L2TipsStoreBase {
|
|
11
|
+
constructor(initialBlockHash: BlockHash);
|
|
10
12
|
private readonly tips;
|
|
11
13
|
private readonly blockHashes;
|
|
12
14
|
private readonly blockToCheckpoint;
|
|
@@ -24,4 +26,4 @@ export declare class L2TipsMemoryStore extends L2TipsStoreBase {
|
|
|
24
26
|
protected deleteCheckpointsBefore(checkpointNumber: CheckpointNumber): Promise<void>;
|
|
25
27
|
protected runInTransaction<T>(fn: () => Promise<T>): Promise<T>;
|
|
26
28
|
}
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibDJfdGlwc19tZW1vcnlfc3RvcmUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ibG9jay9sMl9ibG9ja19zdHJlYW0vbDJfdGlwc19tZW1vcnlfc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRWhGLE9BQU8sS0FBSyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDcEYsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRTFEOzs7R0FHRztBQUNILHFCQUFhLGlCQUFrQixTQUFRLGVBQWU7SUFDcEQsWUFBWSxnQkFBZ0IsRUFBRSxTQUFTLEVBRXRDO0lBRUQsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQXNDO0lBQzNELE9BQU8sQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUE2QjtJQUN6RCxPQUFPLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUF1QztJQUN6RSxPQUFPLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBMEM7SUFFdEUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsVUFBVSxHQUFHLE9BQU8sQ0FBQyxXQUFXLEdBQUcsU0FBUyxDQUFDLENBRWxFO0lBRUQsU0FBUyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxXQUFXLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUd6RTtJQUVELFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLEVBQUUsV0FBVyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDLENBRWxGO0lBRUQsU0FBUyxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUc1RTtJQUVELFNBQVMsQ0FBQyx1QkFBdUIsQ0FBQyxXQUFXLEVBQUUsV0FBVyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FPekU7SUFFRCxTQUFTLENBQUMsMkJBQTJCLENBQUMsV0FBVyxFQUFFLFdBQVcsR0FBRyxPQUFPLENBQUMsZ0JBQWdCLEdBQUcsU0FBUyxDQUFDLENBRXJHO0lBRUQsU0FBUyxDQUFDLDJCQUEyQixDQUFDLFdBQVcsRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUdqSDtJQUVELFNBQVMsQ0FBQyw2QkFBNkIsQ0FBQyxXQUFXLEVBQUUsV0FBVyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FPL0U7SUFFRCxTQUFTLENBQUMsYUFBYSxDQUFDLGdCQUFnQixFQUFFLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyxtQkFBbUIsR0FBRyxTQUFTLENBQUMsQ0FFcEc7SUFFRCxTQUFTLENBQUMsa0JBQWtCLENBQUMsVUFBVSxFQUFFLG1CQUFtQixHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FHM0U7SUFFRCxTQUFTLENBQUMsdUJBQXVCLENBQUMsZ0JBQWdCLEVBQUUsZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQU9uRjtJQUVELFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLE1BQU0sT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FHOUQ7Q0FDRiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"l2_tips_memory_store.d.ts","sourceRoot":"","sources":["../../../src/block/l2_block_stream/l2_tips_memory_store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAEhF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AACpF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D;;;GAGG;AACH,qBAAa,iBAAkB,SAAQ,eAAe;IACpD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAsC;IAC3D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA6B;IACzD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAuC;IACzE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA0C;IAEtE,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAElE;IAED,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAGzE;IAED,SAAS,CAAC,kBAAkB,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAElF;IAED,SAAS,CAAC,YAAY,CAAC,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAG5E;IAED,SAAS,CAAC,uBAAuB,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAOzE;IAED,SAAS,CAAC,2BAA2B,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAErG;IAED,SAAS,CAAC,2BAA2B,CAAC,WAAW,EAAE,WAAW,EAAE,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAGjH;IAED,SAAS,CAAC,6BAA6B,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAO/E;IAED,SAAS,CAAC,aAAa,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC,CAEpG;IAED,SAAS,CAAC,kBAAkB,CAAC,UAAU,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAG3E;IAED,SAAS,CAAC,uBAAuB,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAOnF;IAED,SAAS,CAAC,gBAAgB,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAG9D;CACF"}
|
|
1
|
+
{"version":3,"file":"l2_tips_memory_store.d.ts","sourceRoot":"","sources":["../../../src/block/l2_block_stream/l2_tips_memory_store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAEhF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AACpF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D;;;GAGG;AACH,qBAAa,iBAAkB,SAAQ,eAAe;IACpD,YAAY,gBAAgB,EAAE,SAAS,EAEtC;IAED,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAsC;IAC3D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA6B;IACzD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAuC;IACzE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA0C;IAEtE,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAElE;IAED,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAGzE;IAED,SAAS,CAAC,kBAAkB,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAElF;IAED,SAAS,CAAC,YAAY,CAAC,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAG5E;IAED,SAAS,CAAC,uBAAuB,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAOzE;IAED,SAAS,CAAC,2BAA2B,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAErG;IAED,SAAS,CAAC,2BAA2B,CAAC,WAAW,EAAE,WAAW,EAAE,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAGjH;IAED,SAAS,CAAC,6BAA6B,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAO/E;IAED,SAAS,CAAC,aAAa,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC,CAEpG;IAED,SAAS,CAAC,kBAAkB,CAAC,UAAU,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAG3E;IAED,SAAS,CAAC,uBAAuB,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAOnF;IAED,SAAS,CAAC,gBAAgB,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAG9D;CACF"}
|
|
@@ -3,6 +3,9 @@ import { L2TipsStoreBase } from './l2_tips_store_base.js';
|
|
|
3
3
|
* In-memory implementation of L2 tips store. Useful for testing and lightweight clients.
|
|
4
4
|
* @dev Tests in kv-store/src/stores/l2_tips_memory_store.test.ts
|
|
5
5
|
*/ export class L2TipsMemoryStore extends L2TipsStoreBase {
|
|
6
|
+
constructor(initialBlockHash){
|
|
7
|
+
super(initialBlockHash);
|
|
8
|
+
}
|
|
6
9
|
tips = new Map();
|
|
7
10
|
blockHashes = new Map();
|
|
8
11
|
blockToCheckpoint = new Map();
|