@aztec/archiver 4.0.0-nightly.20250907 → 4.0.0-nightly.20260108
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/README.md +27 -6
- package/dest/archiver/archiver.d.ts +127 -84
- package/dest/archiver/archiver.d.ts.map +1 -1
- package/dest/archiver/archiver.js +1150 -382
- package/dest/archiver/archiver_store.d.ts +122 -45
- package/dest/archiver/archiver_store.d.ts.map +1 -1
- package/dest/archiver/archiver_store_test_suite.d.ts +1 -1
- package/dest/archiver/archiver_store_test_suite.d.ts.map +1 -1
- package/dest/archiver/archiver_store_test_suite.js +2013 -343
- package/dest/archiver/config.d.ts +7 -20
- package/dest/archiver/config.d.ts.map +1 -1
- package/dest/archiver/config.js +21 -5
- package/dest/archiver/errors.d.ts +25 -1
- package/dest/archiver/errors.d.ts.map +1 -1
- package/dest/archiver/errors.js +37 -0
- package/dest/archiver/index.d.ts +2 -2
- package/dest/archiver/index.d.ts.map +1 -1
- package/dest/archiver/instrumentation.d.ts +5 -3
- package/dest/archiver/instrumentation.d.ts.map +1 -1
- package/dest/archiver/instrumentation.js +14 -0
- package/dest/archiver/kv_archiver_store/block_store.d.ts +83 -15
- package/dest/archiver/kv_archiver_store/block_store.d.ts.map +1 -1
- package/dest/archiver/kv_archiver_store/block_store.js +396 -73
- package/dest/archiver/kv_archiver_store/contract_class_store.d.ts +2 -2
- package/dest/archiver/kv_archiver_store/contract_class_store.d.ts.map +1 -1
- package/dest/archiver/kv_archiver_store/contract_class_store.js +1 -1
- package/dest/archiver/kv_archiver_store/contract_instance_store.d.ts +2 -2
- package/dest/archiver/kv_archiver_store/contract_instance_store.d.ts.map +1 -1
- package/dest/archiver/kv_archiver_store/kv_archiver_store.d.ts +51 -55
- package/dest/archiver/kv_archiver_store/kv_archiver_store.d.ts.map +1 -1
- package/dest/archiver/kv_archiver_store/kv_archiver_store.js +82 -46
- package/dest/archiver/kv_archiver_store/log_store.d.ts +12 -16
- package/dest/archiver/kv_archiver_store/log_store.d.ts.map +1 -1
- package/dest/archiver/kv_archiver_store/log_store.js +149 -84
- package/dest/archiver/kv_archiver_store/message_store.d.ts +6 -5
- package/dest/archiver/kv_archiver_store/message_store.d.ts.map +1 -1
- package/dest/archiver/kv_archiver_store/message_store.js +15 -14
- package/dest/archiver/l1/bin/retrieve-calldata.d.ts +3 -0
- package/dest/archiver/l1/bin/retrieve-calldata.d.ts.map +1 -0
- package/dest/archiver/l1/bin/retrieve-calldata.js +149 -0
- package/dest/archiver/l1/calldata_retriever.d.ts +112 -0
- package/dest/archiver/l1/calldata_retriever.d.ts.map +1 -0
- package/dest/archiver/l1/calldata_retriever.js +471 -0
- package/dest/archiver/l1/data_retrieval.d.ts +90 -0
- package/dest/archiver/l1/data_retrieval.d.ts.map +1 -0
- package/dest/archiver/l1/data_retrieval.js +331 -0
- package/dest/archiver/l1/debug_tx.d.ts +19 -0
- package/dest/archiver/l1/debug_tx.d.ts.map +1 -0
- package/dest/archiver/l1/debug_tx.js +73 -0
- package/dest/archiver/l1/spire_proposer.d.ts +70 -0
- package/dest/archiver/l1/spire_proposer.d.ts.map +1 -0
- package/dest/archiver/l1/spire_proposer.js +157 -0
- package/dest/archiver/l1/trace_tx.d.ts +97 -0
- package/dest/archiver/l1/trace_tx.d.ts.map +1 -0
- package/dest/archiver/l1/trace_tx.js +91 -0
- package/dest/archiver/l1/types.d.ts +12 -0
- package/dest/archiver/l1/types.d.ts.map +1 -0
- package/dest/archiver/l1/types.js +3 -0
- package/dest/archiver/l1/validate_trace.d.ts +29 -0
- package/dest/archiver/l1/validate_trace.d.ts.map +1 -0
- package/dest/archiver/l1/validate_trace.js +150 -0
- package/dest/archiver/structs/data_retrieval.d.ts +1 -1
- package/dest/archiver/structs/inbox_message.d.ts +4 -4
- package/dest/archiver/structs/inbox_message.d.ts.map +1 -1
- package/dest/archiver/structs/inbox_message.js +6 -5
- package/dest/archiver/structs/published.d.ts +2 -2
- package/dest/archiver/structs/published.d.ts.map +1 -1
- package/dest/archiver/validation.d.ts +10 -4
- package/dest/archiver/validation.d.ts.map +1 -1
- package/dest/archiver/validation.js +66 -44
- package/dest/factory.d.ts +4 -6
- package/dest/factory.d.ts.map +1 -1
- package/dest/factory.js +5 -4
- package/dest/index.d.ts +2 -2
- package/dest/index.d.ts.map +1 -1
- package/dest/index.js +1 -1
- package/dest/rpc/index.d.ts +2 -2
- package/dest/test/index.d.ts +1 -1
- package/dest/test/mock_archiver.d.ts +16 -8
- package/dest/test/mock_archiver.d.ts.map +1 -1
- package/dest/test/mock_archiver.js +19 -14
- package/dest/test/mock_l1_to_l2_message_source.d.ts +7 -6
- package/dest/test/mock_l1_to_l2_message_source.d.ts.map +1 -1
- package/dest/test/mock_l1_to_l2_message_source.js +10 -9
- package/dest/test/mock_l2_block_source.d.ts +31 -20
- package/dest/test/mock_l2_block_source.d.ts.map +1 -1
- package/dest/test/mock_l2_block_source.js +85 -18
- package/dest/test/mock_structs.d.ts +3 -2
- package/dest/test/mock_structs.d.ts.map +1 -1
- package/dest/test/mock_structs.js +9 -8
- package/package.json +18 -17
- package/src/archiver/archiver.ts +990 -481
- package/src/archiver/archiver_store.ts +141 -44
- package/src/archiver/archiver_store_test_suite.ts +2114 -331
- package/src/archiver/config.ts +30 -35
- package/src/archiver/errors.ts +64 -0
- package/src/archiver/index.ts +1 -1
- package/src/archiver/instrumentation.ts +19 -2
- package/src/archiver/kv_archiver_store/block_store.ts +541 -83
- package/src/archiver/kv_archiver_store/contract_class_store.ts +1 -1
- package/src/archiver/kv_archiver_store/contract_instance_store.ts +1 -1
- package/src/archiver/kv_archiver_store/kv_archiver_store.ts +107 -67
- package/src/archiver/kv_archiver_store/log_store.ts +209 -99
- package/src/archiver/kv_archiver_store/message_store.ts +21 -18
- package/src/archiver/l1/README.md +98 -0
- package/src/archiver/l1/bin/retrieve-calldata.ts +182 -0
- package/src/archiver/l1/calldata_retriever.ts +641 -0
- package/src/archiver/l1/data_retrieval.ts +512 -0
- package/src/archiver/l1/debug_tx.ts +99 -0
- package/src/archiver/l1/spire_proposer.ts +160 -0
- package/src/archiver/l1/trace_tx.ts +128 -0
- package/src/archiver/l1/types.ts +13 -0
- package/src/archiver/l1/validate_trace.ts +211 -0
- package/src/archiver/structs/inbox_message.ts +8 -8
- package/src/archiver/structs/published.ts +1 -1
- package/src/archiver/validation.ts +86 -32
- package/src/factory.ts +6 -7
- package/src/index.ts +1 -1
- package/src/test/fixtures/debug_traceTransaction-multicall3.json +88 -0
- package/src/test/fixtures/debug_traceTransaction-multiplePropose.json +153 -0
- package/src/test/fixtures/debug_traceTransaction-proxied.json +122 -0
- package/src/test/fixtures/trace_transaction-multicall3.json +65 -0
- package/src/test/fixtures/trace_transaction-multiplePropose.json +319 -0
- package/src/test/fixtures/trace_transaction-proxied.json +128 -0
- package/src/test/fixtures/trace_transaction-randomRevert.json +216 -0
- package/src/test/mock_archiver.ts +22 -16
- package/src/test/mock_l1_to_l2_message_source.ts +10 -9
- package/src/test/mock_l2_block_source.ts +114 -27
- package/src/test/mock_structs.ts +10 -9
- package/dest/archiver/data_retrieval.d.ts +0 -78
- package/dest/archiver/data_retrieval.d.ts.map +0 -1
- package/dest/archiver/data_retrieval.js +0 -354
- package/src/archiver/data_retrieval.ts +0 -535
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
import type { L1BlockId } from '@aztec/ethereum';
|
|
2
|
-
import type {
|
|
1
|
+
import type { L1BlockId } from '@aztec/ethereum/l1-types';
|
|
2
|
+
import type { BlockNumber, CheckpointNumber } from '@aztec/foundation/branded-types';
|
|
3
|
+
import type { Fr } from '@aztec/foundation/curves/bn254';
|
|
3
4
|
import type { CustomRange } from '@aztec/kv-store';
|
|
4
5
|
import type { FunctionSelector } from '@aztec/stdlib/abi';
|
|
5
6
|
import type { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
6
|
-
import type {
|
|
7
|
+
import type { CheckpointedL2Block, L2BlockNew, ValidateBlockResult } from '@aztec/stdlib/block';
|
|
8
|
+
import type { PublishedCheckpoint } from '@aztec/stdlib/checkpoint';
|
|
7
9
|
import type {
|
|
8
10
|
ContractClassPublic,
|
|
9
11
|
ContractInstanceUpdateWithAddress,
|
|
@@ -12,18 +14,18 @@ import type {
|
|
|
12
14
|
UtilityFunctionWithMembershipProof,
|
|
13
15
|
} from '@aztec/stdlib/contract';
|
|
14
16
|
import type { GetContractClassLogsResponse, GetPublicLogsResponse } from '@aztec/stdlib/interfaces/client';
|
|
15
|
-
import type { LogFilter,
|
|
17
|
+
import type { LogFilter, SiloedTag, Tag, TxScopedL2Log } from '@aztec/stdlib/logs';
|
|
16
18
|
import { BlockHeader, type IndexedTxEffect, type TxHash, type TxReceipt } from '@aztec/stdlib/tx';
|
|
17
19
|
import type { UInt64 } from '@aztec/stdlib/types';
|
|
18
20
|
|
|
21
|
+
import type { CheckpointData } from './kv_archiver_store/block_store.js';
|
|
19
22
|
import type { InboxMessage } from './structs/inbox_message.js';
|
|
20
|
-
import type { PublishedL2Block } from './structs/published.js';
|
|
21
23
|
|
|
22
24
|
/**
|
|
23
25
|
* Represents the latest L1 block processed by the archiver for various objects in L2.
|
|
24
26
|
*/
|
|
25
27
|
export type ArchiverL1SynchPoint = {
|
|
26
|
-
/** Number of the last L1 block that added a new L2
|
|
28
|
+
/** Number of the last L1 block that added a new L2 checkpoint metadata. */
|
|
27
29
|
blocksSynchedTo?: bigint;
|
|
28
30
|
/** Last L1 block checked for L1 to L2 messages. */
|
|
29
31
|
messagesSynchedTo?: L1BlockId;
|
|
@@ -44,22 +46,87 @@ export interface ArchiverDataStore {
|
|
|
44
46
|
* @param opts.force - If true, the blocks will be added even if they have gaps.
|
|
45
47
|
* @returns True if the operation is successful.
|
|
46
48
|
*/
|
|
47
|
-
addBlocks(blocks:
|
|
49
|
+
addBlocks(blocks: L2BlockNew[], opts?: { force?: boolean }): Promise<boolean>;
|
|
48
50
|
|
|
49
51
|
/**
|
|
50
|
-
*
|
|
52
|
+
* Appends new checkpoints, and their blocks to the store's collection
|
|
53
|
+
* @param checkpoints The collectionn of checkpoints to be added
|
|
54
|
+
* @returns True if the operation is successful
|
|
55
|
+
*/
|
|
56
|
+
addCheckpoints(checkpoints: PublishedCheckpoint[]): Promise<boolean>;
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Retrieves all blocks for the requested chackpoint
|
|
60
|
+
* @param checkpointNumber Retreieves all blocks for the given checkpoint
|
|
61
|
+
* @returns The collection of blocks for the requested checkpoint if available (undefined otherwise)
|
|
62
|
+
*/
|
|
63
|
+
getBlocksForCheckpoint(checkpointNumber: CheckpointNumber): Promise<L2BlockNew[] | undefined>;
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* Returns an array of checkpoint objects
|
|
67
|
+
* @param from The first checkpoint number to be retrieved
|
|
68
|
+
* @param limit The maximum number of chackpoints to retrieve
|
|
69
|
+
* @returns The array of requested checkpoint data objects
|
|
70
|
+
*/
|
|
71
|
+
getRangeOfCheckpoints(from: CheckpointNumber, limit: number): Promise<CheckpointData[]>;
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* Unwinds checkpoints from the database
|
|
51
75
|
* @param from - The tip of the chain, passed for verification purposes,
|
|
52
76
|
* ensuring that we don't end up deleting something we did not intend
|
|
53
|
-
* @param
|
|
77
|
+
* @param checkpointsToUnwind - The number of checkpoints we are to unwind
|
|
54
78
|
* @returns True if the operation is successful
|
|
55
79
|
*/
|
|
56
|
-
|
|
80
|
+
unwindCheckpoints(from: CheckpointNumber, checkpointsToUnwind: number): Promise<boolean>;
|
|
57
81
|
|
|
58
82
|
/**
|
|
59
83
|
* Returns the block for the given number, or undefined if not exists.
|
|
60
84
|
* @param number - The block number to return.
|
|
61
85
|
*/
|
|
62
|
-
|
|
86
|
+
getCheckpointedBlock(number: number): Promise<CheckpointedL2Block | undefined>;
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* Returns the block for the given hash, or undefined if not exists.
|
|
90
|
+
* @param blockHash - The block hash to return.
|
|
91
|
+
*/
|
|
92
|
+
getCheckpointedBlockByHash(blockHash: Fr): Promise<CheckpointedL2Block | undefined>;
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* Returns the block for the given archive root, or undefined if not exists.
|
|
96
|
+
* @param archive - The archive root to return.
|
|
97
|
+
*/
|
|
98
|
+
getCheckpointedBlockByArchive(archive: Fr): Promise<CheckpointedL2Block | undefined>;
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* Returns checkpoint data for the requested checkpoint number
|
|
102
|
+
* @param checkpointNumber - The checkpoint requested
|
|
103
|
+
* @returns The checkpoint data or undefined if not found
|
|
104
|
+
*/
|
|
105
|
+
getCheckpointData(checkpointNumber: CheckpointNumber): Promise<CheckpointData | undefined>;
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* Returns the number of the latest block
|
|
109
|
+
* @returns The number of the latest block
|
|
110
|
+
*/
|
|
111
|
+
getLatestBlockNumber(): Promise<BlockNumber>;
|
|
112
|
+
|
|
113
|
+
/**
|
|
114
|
+
* Returns the block for the given number, or undefined if not exists.
|
|
115
|
+
* @param number - The block number to return.
|
|
116
|
+
*/
|
|
117
|
+
getBlock(number: number): Promise<L2BlockNew | undefined>;
|
|
118
|
+
|
|
119
|
+
/**
|
|
120
|
+
* Returns the block for the given hash, or undefined if not exists.
|
|
121
|
+
* @param blockHash - The block hash to return.
|
|
122
|
+
*/
|
|
123
|
+
getBlockByHash(blockHash: Fr): Promise<L2BlockNew | undefined>;
|
|
124
|
+
|
|
125
|
+
/**
|
|
126
|
+
* Returns the block for the given archive root, or undefined if not exists.
|
|
127
|
+
* @param archive - The archive root to return.
|
|
128
|
+
*/
|
|
129
|
+
getBlockByArchive(archive: Fr): Promise<L2BlockNew | undefined>;
|
|
63
130
|
|
|
64
131
|
/**
|
|
65
132
|
* Gets up to `limit` amount of published L2 blocks starting from `from`.
|
|
@@ -67,7 +134,7 @@ export interface ArchiverDataStore {
|
|
|
67
134
|
* @param limit - The number of blocks to return.
|
|
68
135
|
* @returns The requested L2 blocks.
|
|
69
136
|
*/
|
|
70
|
-
|
|
137
|
+
getBlocks(from: number, limit: number): Promise<L2BlockNew[]>;
|
|
71
138
|
|
|
72
139
|
/**
|
|
73
140
|
* Gets up to `limit` amount of L2 block headers starting from `from`.
|
|
@@ -75,7 +142,19 @@ export interface ArchiverDataStore {
|
|
|
75
142
|
* @param limit - The number of blocks to return.
|
|
76
143
|
* @returns The requested L2 block headers.
|
|
77
144
|
*/
|
|
78
|
-
getBlockHeaders(from:
|
|
145
|
+
getBlockHeaders(from: BlockNumber, limit: number): Promise<BlockHeader[]>;
|
|
146
|
+
|
|
147
|
+
/**
|
|
148
|
+
* Returns the block header for the given hash, or undefined if not exists.
|
|
149
|
+
* @param blockHash - The block hash to return.
|
|
150
|
+
*/
|
|
151
|
+
getBlockHeaderByHash(blockHash: Fr): Promise<BlockHeader | undefined>;
|
|
152
|
+
|
|
153
|
+
/**
|
|
154
|
+
* Returns the block header for the given archive root, or undefined if not exists.
|
|
155
|
+
* @param archive - The archive root to return.
|
|
156
|
+
*/
|
|
157
|
+
getBlockHeaderByArchive(archive: Fr): Promise<BlockHeader | undefined>;
|
|
79
158
|
|
|
80
159
|
/**
|
|
81
160
|
* Gets a tx effect.
|
|
@@ -96,8 +175,8 @@ export interface ArchiverDataStore {
|
|
|
96
175
|
* @param blocks - The blocks for which to add the logs.
|
|
97
176
|
* @returns True if the operation is successful.
|
|
98
177
|
*/
|
|
99
|
-
addLogs(blocks:
|
|
100
|
-
deleteLogs(blocks:
|
|
178
|
+
addLogs(blocks: L2BlockNew[]): Promise<boolean>;
|
|
179
|
+
deleteLogs(blocks: L2BlockNew[]): Promise<boolean>;
|
|
101
180
|
|
|
102
181
|
/**
|
|
103
182
|
* Append L1 to L2 messages to the store.
|
|
@@ -107,11 +186,11 @@ export interface ArchiverDataStore {
|
|
|
107
186
|
addL1ToL2Messages(messages: InboxMessage[]): Promise<void>;
|
|
108
187
|
|
|
109
188
|
/**
|
|
110
|
-
* Gets L1 to L2 message (to be) included in a given
|
|
111
|
-
* @param
|
|
189
|
+
* Gets L1 to L2 message (to be) included in a given checkpoint.
|
|
190
|
+
* @param checkpointNumber - Checkpoint number to get messages for.
|
|
112
191
|
* @returns The L1 to L2 messages/leaves of the messages subtree (throws if not found).
|
|
113
192
|
*/
|
|
114
|
-
getL1ToL2Messages(
|
|
193
|
+
getL1ToL2Messages(checkpointNumber: CheckpointNumber): Promise<Fr[]>;
|
|
115
194
|
|
|
116
195
|
/**
|
|
117
196
|
* Gets the L1 to L2 message index in the L1 to L2 message tree.
|
|
@@ -127,21 +206,17 @@ export interface ArchiverDataStore {
|
|
|
127
206
|
getTotalL1ToL2MessageCount(): Promise<bigint>;
|
|
128
207
|
|
|
129
208
|
/**
|
|
130
|
-
|
|
131
|
-
*
|
|
132
|
-
*
|
|
133
|
-
* @returns An array of private logs from the specified range of blocks.
|
|
209
|
+
/**
|
|
210
|
+
* Gets all private logs that match any of the `tags`. For each tag, an array of matching logs is returned. An empty
|
|
211
|
+
* array implies no logs match that tag.
|
|
134
212
|
*/
|
|
135
|
-
|
|
213
|
+
getPrivateLogsByTags(tags: SiloedTag[]): Promise<TxScopedL2Log[][]>;
|
|
136
214
|
|
|
137
215
|
/**
|
|
138
|
-
* Gets all logs that match any of the
|
|
139
|
-
*
|
|
140
|
-
* @param logsPerTag - The number of logs to return per tag. Defaults to everything
|
|
141
|
-
* @returns For each received tag, an array of matching logs is returned. An empty array implies no logs match
|
|
142
|
-
* that tag.
|
|
216
|
+
* Gets all public logs that match any of the `tags` from the specified contract. For each tag, an array of matching
|
|
217
|
+
* logs is returned. An empty array implies no logs match that tag.
|
|
143
218
|
*/
|
|
144
|
-
|
|
219
|
+
getPublicLogsByTagsFromContract(contractAddress: AztecAddress, tags: Tag[]): Promise<TxScopedL2Log[][]>;
|
|
145
220
|
|
|
146
221
|
/**
|
|
147
222
|
* Gets public logs based on the provided filter.
|
|
@@ -161,25 +236,37 @@ export interface ArchiverDataStore {
|
|
|
161
236
|
* Gets the number of the latest L2 block processed.
|
|
162
237
|
* @returns The number of the latest L2 block processed.
|
|
163
238
|
*/
|
|
164
|
-
|
|
239
|
+
getCheckpointedL2BlockNumber(): Promise<BlockNumber>;
|
|
240
|
+
|
|
241
|
+
/**
|
|
242
|
+
* Gets the number of the latest published checkpoint processed.
|
|
243
|
+
* @returns The number of the latest published checkpoint processed
|
|
244
|
+
*/
|
|
245
|
+
getSynchedCheckpointNumber(): Promise<CheckpointNumber>;
|
|
165
246
|
|
|
166
247
|
/**
|
|
167
|
-
* Gets the number of the latest proven
|
|
168
|
-
* @returns The number of the latest proven
|
|
248
|
+
* Gets the number of the latest proven checkpoint processed.
|
|
249
|
+
* @returns The number of the latest proven checkpoint processed.
|
|
169
250
|
*/
|
|
170
|
-
|
|
251
|
+
getProvenCheckpointNumber(): Promise<CheckpointNumber>;
|
|
171
252
|
|
|
172
253
|
/**
|
|
173
|
-
*
|
|
174
|
-
* @
|
|
254
|
+
* Returns the number of the most recent proven block
|
|
255
|
+
* @returns The number of the most recent proven block
|
|
175
256
|
*/
|
|
176
|
-
|
|
257
|
+
getProvenBlockNumber(): Promise<BlockNumber>;
|
|
177
258
|
|
|
178
259
|
/**
|
|
179
|
-
* Stores the
|
|
260
|
+
* Stores the number of the latest proven checkpoint processed.
|
|
261
|
+
* @param checkpointNumber - The number of the latest proven checkpoint processed.
|
|
262
|
+
*/
|
|
263
|
+
setProvenCheckpointNumber(checkpointNumber: CheckpointNumber): Promise<void>;
|
|
264
|
+
|
|
265
|
+
/**
|
|
266
|
+
* Stores the l1 block number that checkpoints have been synched until
|
|
180
267
|
* @param l1BlockNumber - The l1 block number
|
|
181
268
|
*/
|
|
182
|
-
|
|
269
|
+
setCheckpointSynchedL1BlockNumber(l1BlockNumber: bigint): Promise<void>;
|
|
183
270
|
|
|
184
271
|
/**
|
|
185
272
|
* Stores the l1 block that messages have been synched until
|
|
@@ -197,9 +284,13 @@ export interface ArchiverDataStore {
|
|
|
197
284
|
* @param blockNumber - Number of the L2 block the contracts were registered in.
|
|
198
285
|
* @returns True if the operation is successful.
|
|
199
286
|
*/
|
|
200
|
-
addContractClasses(
|
|
287
|
+
addContractClasses(
|
|
288
|
+
data: ContractClassPublic[],
|
|
289
|
+
bytecodeCommitments: Fr[],
|
|
290
|
+
blockNumber: BlockNumber,
|
|
291
|
+
): Promise<boolean>;
|
|
201
292
|
|
|
202
|
-
deleteContractClasses(data: ContractClassPublic[], blockNumber:
|
|
293
|
+
deleteContractClasses(data: ContractClassPublic[], blockNumber: BlockNumber): Promise<boolean>;
|
|
203
294
|
|
|
204
295
|
getBytecodeCommitment(contractClassId: Fr): Promise<Fr | undefined>;
|
|
205
296
|
|
|
@@ -215,8 +306,8 @@ export interface ArchiverDataStore {
|
|
|
215
306
|
* @param blockNumber - Number of the L2 block the instances were deployed in.
|
|
216
307
|
* @returns True if the operation is successful.
|
|
217
308
|
*/
|
|
218
|
-
addContractInstances(data: ContractInstanceWithAddress[], blockNumber:
|
|
219
|
-
deleteContractInstances(data: ContractInstanceWithAddress[], blockNumber:
|
|
309
|
+
addContractInstances(data: ContractInstanceWithAddress[], blockNumber: BlockNumber): Promise<boolean>;
|
|
310
|
+
deleteContractInstances(data: ContractInstanceWithAddress[], blockNumber: BlockNumber): Promise<boolean>;
|
|
220
311
|
|
|
221
312
|
/**
|
|
222
313
|
* Add new contract instance updates
|
|
@@ -261,8 +352,8 @@ export interface ArchiverDataStore {
|
|
|
261
352
|
/** Closes the underlying data store. */
|
|
262
353
|
close(): Promise<void>;
|
|
263
354
|
|
|
264
|
-
/** Deletes all L1 to L2 messages up until (excluding) the target
|
|
265
|
-
|
|
355
|
+
/** Deletes all L1 to L2 messages up until (excluding) the target checkpoint number. */
|
|
356
|
+
rollbackL1ToL2MessagesToCheckpoint(targetCheckpointNumber: CheckpointNumber): Promise<void>;
|
|
266
357
|
|
|
267
358
|
/** Returns an async iterator to all L1 to L2 messages on the range. */
|
|
268
359
|
iterateL1ToL2Messages(range?: CustomRange<bigint>): AsyncIterableIterator<InboxMessage>;
|
|
@@ -272,4 +363,10 @@ export interface ArchiverDataStore {
|
|
|
272
363
|
|
|
273
364
|
/** Returns the last L1 to L2 message stored. */
|
|
274
365
|
getLastL1ToL2Message(): Promise<InboxMessage | undefined>;
|
|
366
|
+
|
|
367
|
+
/** Returns the last synced validation status of the pending chain. */
|
|
368
|
+
getPendingChainValidationStatus(): Promise<ValidateBlockResult | undefined>;
|
|
369
|
+
|
|
370
|
+
/** Sets the last synced validation status of the pending chain. */
|
|
371
|
+
setPendingChainValidationStatus(status: ValidateBlockResult | undefined): Promise<void>;
|
|
275
372
|
}
|