@aztec/archiver 0.0.1-commit.d431d1c → 0.0.1-commit.d6f2b3f94
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 +9 -0
- package/dest/archiver.d.ts +6 -5
- package/dest/archiver.d.ts.map +1 -1
- package/dest/archiver.js +34 -22
- package/dest/errors.d.ts +6 -1
- package/dest/errors.d.ts.map +1 -1
- package/dest/errors.js +8 -0
- package/dest/factory.d.ts +5 -2
- package/dest/factory.d.ts.map +1 -1
- package/dest/factory.js +11 -8
- package/dest/l1/bin/retrieve-calldata.js +17 -18
- package/dest/l1/data_retrieval.d.ts +1 -1
- package/dest/l1/data_retrieval.d.ts.map +1 -1
- package/dest/l1/data_retrieval.js +3 -3
- package/dest/l1/validate_trace.d.ts +6 -3
- package/dest/l1/validate_trace.d.ts.map +1 -1
- package/dest/l1/validate_trace.js +13 -9
- package/dest/modules/data_source_base.d.ts +17 -18
- package/dest/modules/data_source_base.d.ts.map +1 -1
- package/dest/modules/data_source_base.js +21 -52
- package/dest/modules/data_store_updater.d.ts +23 -19
- package/dest/modules/data_store_updater.d.ts.map +1 -1
- package/dest/modules/data_store_updater.js +47 -49
- package/dest/modules/instrumentation.d.ts +3 -3
- package/dest/modules/instrumentation.d.ts.map +1 -1
- package/dest/modules/instrumentation.js +17 -10
- package/dest/modules/l1_synchronizer.d.ts +1 -1
- package/dest/modules/l1_synchronizer.d.ts.map +1 -1
- package/dest/modules/l1_synchronizer.js +9 -10
- package/dest/store/block_store.d.ts +35 -21
- package/dest/store/block_store.d.ts.map +1 -1
- package/dest/store/block_store.js +81 -40
- package/dest/store/contract_class_store.d.ts +1 -1
- package/dest/store/contract_class_store.d.ts.map +1 -1
- package/dest/store/contract_class_store.js +11 -7
- package/dest/store/kv_archiver_store.d.ts +28 -24
- package/dest/store/kv_archiver_store.d.ts.map +1 -1
- package/dest/store/kv_archiver_store.js +20 -17
- package/dest/store/log_store.d.ts +4 -4
- package/dest/store/log_store.d.ts.map +1 -1
- package/dest/store/log_store.js +57 -37
- package/dest/test/fake_l1_state.d.ts +4 -4
- package/dest/test/fake_l1_state.d.ts.map +1 -1
- package/dest/test/index.js +3 -1
- package/dest/test/mock_archiver.js +1 -1
- package/dest/test/mock_l2_block_source.d.ts +20 -20
- package/dest/test/mock_l2_block_source.d.ts.map +1 -1
- package/dest/test/mock_l2_block_source.js +40 -41
- 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 +11 -9
- package/dest/test/noop_l1_archiver.d.ts +23 -0
- package/dest/test/noop_l1_archiver.d.ts.map +1 -0
- package/dest/test/noop_l1_archiver.js +68 -0
- package/package.json +14 -13
- package/src/archiver.ts +46 -28
- package/src/errors.ts +12 -0
- package/src/factory.ts +23 -13
- package/src/l1/bin/retrieve-calldata.ts +16 -17
- package/src/l1/data_retrieval.ts +4 -4
- package/src/l1/validate_trace.ts +24 -6
- package/src/modules/data_source_base.ts +26 -77
- package/src/modules/data_store_updater.ts +59 -55
- package/src/modules/instrumentation.ts +17 -12
- package/src/modules/l1_synchronizer.ts +11 -12
- package/src/store/block_store.ts +107 -60
- package/src/store/contract_class_store.ts +11 -7
- package/src/store/kv_archiver_store.ts +36 -28
- package/src/store/log_store.ts +105 -43
- package/src/test/fake_l1_state.ts +2 -2
- package/src/test/index.ts +3 -0
- package/src/test/mock_archiver.ts +1 -1
- package/src/test/mock_l2_block_source.ts +54 -64
- package/src/test/mock_structs.ts +26 -10
- package/src/test/noop_l1_archiver.ts +109 -0
|
@@ -15,17 +15,21 @@ import { Vector } from '@aztec/stdlib/types';
|
|
|
15
15
|
this.#bytecodeCommitments = db.openMap('archiver_bytecode_commitments');
|
|
16
16
|
}
|
|
17
17
|
async addContractClass(contractClass, bytecodeCommitment, blockNumber) {
|
|
18
|
-
await this
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
18
|
+
await this.db.transactionAsync(async ()=>{
|
|
19
|
+
await this.#contractClasses.setIfNotExists(contractClass.id.toString(), serializeContractClassPublic({
|
|
20
|
+
...contractClass,
|
|
21
|
+
l2BlockNumber: blockNumber
|
|
22
|
+
}));
|
|
23
|
+
await this.#bytecodeCommitments.setIfNotExists(contractClass.id.toString(), bytecodeCommitment.toBuffer());
|
|
24
|
+
});
|
|
23
25
|
}
|
|
24
26
|
async deleteContractClasses(contractClass, blockNumber) {
|
|
25
27
|
const restoredContractClass = await this.#contractClasses.getAsync(contractClass.id.toString());
|
|
26
28
|
if (restoredContractClass && deserializeContractClassPublic(restoredContractClass).l2BlockNumber >= blockNumber) {
|
|
27
|
-
await this
|
|
28
|
-
|
|
29
|
+
await this.db.transactionAsync(async ()=>{
|
|
30
|
+
await this.#contractClasses.delete(contractClass.id.toString());
|
|
31
|
+
await this.#bytecodeCommitments.delete(contractClass.id.toString());
|
|
32
|
+
});
|
|
29
33
|
}
|
|
30
34
|
}
|
|
31
35
|
async getContractClass(id) {
|
|
@@ -4,15 +4,16 @@ import type { Fr } from '@aztec/foundation/curves/bn254';
|
|
|
4
4
|
import type { AztecAsyncKVStore, CustomRange, StoreSize } from '@aztec/kv-store';
|
|
5
5
|
import { FunctionSelector } from '@aztec/stdlib/abi';
|
|
6
6
|
import type { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
7
|
-
import { CheckpointedL2Block,
|
|
7
|
+
import { BlockHash, CheckpointedL2Block, L2Block, type ValidateCheckpointResult } from '@aztec/stdlib/block';
|
|
8
8
|
import type { PublishedCheckpoint } from '@aztec/stdlib/checkpoint';
|
|
9
9
|
import type { ContractClassPublic, ContractDataSource, ContractInstanceUpdateWithAddress, ContractInstanceWithAddress, ExecutablePrivateFunctionWithMembershipProof, UtilityFunctionWithMembershipProof } from '@aztec/stdlib/contract';
|
|
10
|
+
import type { L1RollupConstants } from '@aztec/stdlib/epoch-helpers';
|
|
10
11
|
import type { GetContractClassLogsResponse, GetPublicLogsResponse } from '@aztec/stdlib/interfaces/client';
|
|
11
12
|
import type { LogFilter, SiloedTag, Tag, TxScopedL2Log } from '@aztec/stdlib/logs';
|
|
12
13
|
import type { BlockHeader, TxHash, TxReceipt } from '@aztec/stdlib/tx';
|
|
13
14
|
import type { UInt64 } from '@aztec/stdlib/types';
|
|
14
15
|
import type { InboxMessage } from '../structs/inbox_message.js';
|
|
15
|
-
import { type CheckpointData } from './block_store.js';
|
|
16
|
+
import { type CheckpointData, type RemoveCheckpointsResult } from './block_store.js';
|
|
16
17
|
export declare const ARCHIVER_DB_VERSION = 5;
|
|
17
18
|
export declare const MAX_FUNCTION_SIGNATURES = 1000;
|
|
18
19
|
export declare const MAX_FUNCTION_NAME_LEN = 256;
|
|
@@ -34,7 +35,7 @@ export declare class KVArchiverDataStore implements ContractDataSource {
|
|
|
34
35
|
private db;
|
|
35
36
|
static readonly SCHEMA_VERSION = 5;
|
|
36
37
|
private functionNames;
|
|
37
|
-
constructor(db: AztecAsyncKVStore, logsMaxPageSize
|
|
38
|
+
constructor(db: AztecAsyncKVStore, logsMaxPageSize: number | undefined, l1Constants: Pick<L1RollupConstants, 'epochDuration'>);
|
|
38
39
|
/** Opens a new transaction to the underlying store and runs all operations within it. */
|
|
39
40
|
transactionAsync<T>(callback: () => Promise<T>): Promise<T>;
|
|
40
41
|
getBlockNumber(): Promise<BlockNumber>;
|
|
@@ -43,6 +44,8 @@ export declare class KVArchiverDataStore implements ContractDataSource {
|
|
|
43
44
|
backupTo(path: string, compress?: boolean): Promise<string>;
|
|
44
45
|
/** Closes the underlying data store. */
|
|
45
46
|
close(): Promise<void>;
|
|
47
|
+
/** Computes the finalized block number based on the proven block number. */
|
|
48
|
+
getFinalizedL2BlockNumber(): Promise<BlockNumber>;
|
|
46
49
|
/** Looks up a public function name given a selector. */
|
|
47
50
|
getDebugFunctionName(_address: AztecAddress, selector: FunctionSelector): Promise<string | undefined>;
|
|
48
51
|
/** Register a public function signature, so it can be looked up by selector. */
|
|
@@ -91,11 +94,13 @@ export declare class KVArchiverDataStore implements ContractDataSource {
|
|
|
91
94
|
addContractInstanceUpdates(data: ContractInstanceUpdateWithAddress[], timestamp: UInt64): Promise<boolean>;
|
|
92
95
|
deleteContractInstanceUpdates(data: ContractInstanceUpdateWithAddress[], timestamp: UInt64): Promise<boolean>;
|
|
93
96
|
/**
|
|
94
|
-
* Append new blocks to the store's list.
|
|
95
|
-
*
|
|
97
|
+
* Append new proposed blocks to the store's list.
|
|
98
|
+
* These are uncheckpointed blocks that have been proposed by the sequencer but not yet included in a checkpoint on L1.
|
|
99
|
+
* For checkpointed blocks (already published to L1), use addCheckpoints() instead.
|
|
100
|
+
* @param blocks - The proposed L2 blocks to be added to the store.
|
|
96
101
|
* @returns True if the operation is successful.
|
|
97
102
|
*/
|
|
98
|
-
|
|
103
|
+
addProposedBlocks(blocks: L2Block[], opts?: {
|
|
99
104
|
force?: boolean;
|
|
100
105
|
checkpointNumber?: number;
|
|
101
106
|
}): Promise<boolean>;
|
|
@@ -112,13 +117,11 @@ export declare class KVArchiverDataStore implements ContractDataSource {
|
|
|
112
117
|
*/
|
|
113
118
|
getLatestBlockNumber(): Promise<BlockNumber>;
|
|
114
119
|
/**
|
|
115
|
-
*
|
|
116
|
-
*
|
|
117
|
-
*
|
|
118
|
-
* @param checkpointsToUnwind - The number of checkpoints we are to unwind
|
|
119
|
-
* @returns True if the operation is successful
|
|
120
|
+
* Removes all checkpoints with checkpoint number > checkpointNumber.
|
|
121
|
+
* Also removes ALL blocks (both checkpointed and uncheckpointed) after the last block of the given checkpoint.
|
|
122
|
+
* @param checkpointNumber - Remove all checkpoints strictly after this one.
|
|
120
123
|
*/
|
|
121
|
-
|
|
124
|
+
removeCheckpointsAfter(checkpointNumber: CheckpointNumber): Promise<RemoveCheckpointsResult>;
|
|
122
125
|
/**
|
|
123
126
|
* Appends new checkpoints, and their blocks to the store's collection
|
|
124
127
|
* @param checkpoints The collection of checkpoints to be added
|
|
@@ -134,7 +137,7 @@ export declare class KVArchiverDataStore implements ContractDataSource {
|
|
|
134
137
|
* Returns the block for the given hash, or undefined if not exists.
|
|
135
138
|
* @param blockHash - The block hash to return.
|
|
136
139
|
*/
|
|
137
|
-
getCheckpointedBlockByHash(blockHash:
|
|
140
|
+
getCheckpointedBlockByHash(blockHash: BlockHash): Promise<CheckpointedL2Block | undefined>;
|
|
138
141
|
/**
|
|
139
142
|
* Returns the block for the given archive root, or undefined if not exists.
|
|
140
143
|
* @param archive - The archive root to return.
|
|
@@ -144,24 +147,24 @@ export declare class KVArchiverDataStore implements ContractDataSource {
|
|
|
144
147
|
* Returns the block for the given number, or undefined if not exists.
|
|
145
148
|
* @param number - The block number to return.
|
|
146
149
|
*/
|
|
147
|
-
getBlock(number: BlockNumber): Promise<
|
|
150
|
+
getBlock(number: BlockNumber): Promise<L2Block | undefined>;
|
|
148
151
|
/**
|
|
149
152
|
* Returns the block for the given hash, or undefined if not exists.
|
|
150
153
|
* @param blockHash - The block hash to return.
|
|
151
154
|
*/
|
|
152
|
-
getBlockByHash(blockHash:
|
|
155
|
+
getBlockByHash(blockHash: BlockHash): Promise<L2Block | undefined>;
|
|
153
156
|
/**
|
|
154
157
|
* Returns the block for the given archive root, or undefined if not exists.
|
|
155
158
|
* @param archive - The archive root to return.
|
|
156
159
|
*/
|
|
157
|
-
getBlockByArchive(archive: Fr): Promise<
|
|
160
|
+
getBlockByArchive(archive: Fr): Promise<L2Block | undefined>;
|
|
158
161
|
/**
|
|
159
162
|
* Gets up to `limit` amount of published L2 blocks starting from `from`.
|
|
160
163
|
* @param from - Number of the first block to return (inclusive).
|
|
161
164
|
* @param limit - The number of blocks to return.
|
|
162
165
|
* @returns The requested L2 blocks.
|
|
163
166
|
*/
|
|
164
|
-
getBlocks(from: BlockNumber, limit: number): Promise<
|
|
167
|
+
getBlocks(from: BlockNumber, limit: number): Promise<L2Block[]>;
|
|
165
168
|
/**
|
|
166
169
|
* Gets up to `limit` amount of checkpointed L2 blocks starting from `from`.
|
|
167
170
|
* @param from - Number of the first block to return (inclusive).
|
|
@@ -180,7 +183,7 @@ export declare class KVArchiverDataStore implements ContractDataSource {
|
|
|
180
183
|
* Returns the block header for the given hash, or undefined if not exists.
|
|
181
184
|
* @param blockHash - The block hash to return.
|
|
182
185
|
*/
|
|
183
|
-
getBlockHeaderByHash(blockHash:
|
|
186
|
+
getBlockHeaderByHash(blockHash: BlockHash): Promise<BlockHeader | undefined>;
|
|
184
187
|
/**
|
|
185
188
|
* Returns the block header for the given archive root, or undefined if not exists.
|
|
186
189
|
* @param archive - The archive root to return.
|
|
@@ -203,8 +206,8 @@ export declare class KVArchiverDataStore implements ContractDataSource {
|
|
|
203
206
|
* @param blocks - The blocks for which to add the logs.
|
|
204
207
|
* @returns True if the operation is successful.
|
|
205
208
|
*/
|
|
206
|
-
addLogs(blocks:
|
|
207
|
-
deleteLogs(blocks:
|
|
209
|
+
addLogs(blocks: L2Block[]): Promise<boolean>;
|
|
210
|
+
deleteLogs(blocks: L2Block[]): Promise<boolean>;
|
|
208
211
|
/**
|
|
209
212
|
* Get the total number of L1 to L2 messages
|
|
210
213
|
* @returns The number of L1 to L2 messages in the store
|
|
@@ -313,7 +316,7 @@ export declare class KVArchiverDataStore implements ContractDataSource {
|
|
|
313
316
|
* @param checkpointNumber Retrieves all blocks for the given checkpoint
|
|
314
317
|
* @returns The collection of blocks for the requested checkpoint if available (undefined otherwise)
|
|
315
318
|
*/
|
|
316
|
-
getBlocksForCheckpoint(checkpointNumber: CheckpointNumber): Promise<
|
|
319
|
+
getBlocksForCheckpoint(checkpointNumber: CheckpointNumber): Promise<L2Block[] | undefined>;
|
|
317
320
|
/**
|
|
318
321
|
* Returns checkpoint data for the requested checkpoint number
|
|
319
322
|
* @param checkpointNumber - The checkpoint requested
|
|
@@ -325,12 +328,13 @@ export declare class KVArchiverDataStore implements ContractDataSource {
|
|
|
325
328
|
* @param slotNumber - The slot number to search for.
|
|
326
329
|
* @returns All blocks with the given slot number.
|
|
327
330
|
*/
|
|
328
|
-
getBlocksForSlot(slotNumber: SlotNumber): Promise<
|
|
331
|
+
getBlocksForSlot(slotNumber: SlotNumber): Promise<L2Block[]>;
|
|
329
332
|
/**
|
|
330
333
|
* Removes all blocks with block number > blockNumber.
|
|
334
|
+
* Does not remove any associated checkpoints.
|
|
331
335
|
* @param blockNumber - The block number to remove after.
|
|
332
336
|
* @returns The removed blocks (for event emission).
|
|
333
337
|
*/
|
|
334
|
-
removeBlocksAfter(blockNumber: BlockNumber): Promise<
|
|
338
|
+
removeBlocksAfter(blockNumber: BlockNumber): Promise<L2Block[]>;
|
|
335
339
|
}
|
|
336
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
340
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3ZfYXJjaGl2ZXJfc3RvcmUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdG9yZS9rdl9hcmNoaXZlcl9zdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDakcsT0FBTyxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFHekQsT0FBTyxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3JELE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsbUJBQW1CLEVBQUUsT0FBTyxFQUFFLEtBQUssd0JBQXdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM3RyxPQUFPLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3BFLE9BQU8sS0FBSyxFQUNWLG1CQUFtQixFQUNuQixrQkFBa0IsRUFDbEIsaUNBQWlDLEVBQ2pDLDJCQUEyQixFQUMzQiw0Q0FBNEMsRUFDNUMsa0NBQWtDLEVBQ25DLE1BQU0sd0JBQXdCLENBQUM7QUFDaEMsT0FBTyxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNyRSxPQUFPLEtBQUssRUFBRSw0QkFBNEIsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzNHLE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFD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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kv_archiver_store.d.ts","sourceRoot":"","sources":["../../src/store/kv_archiver_store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AACjG,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAGzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,mBAAmB,
|
|
1
|
+
{"version":3,"file":"kv_archiver_store.d.ts","sourceRoot":"","sources":["../../src/store/kv_archiver_store.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { toArray } from '@aztec/foundation/iterable';
|
|
2
2
|
import { createLogger } from '@aztec/foundation/log';
|
|
3
3
|
import { FunctionSelector } from '@aztec/stdlib/abi';
|
|
4
|
-
import { L2BlockHash } from '@aztec/stdlib/block';
|
|
5
4
|
import { join } from 'path';
|
|
6
5
|
import { BlockStore } from './block_store.js';
|
|
7
6
|
import { ContractClassStore } from './contract_class_store.js';
|
|
@@ -24,11 +23,11 @@ export const MAX_FUNCTION_NAME_LEN = 256;
|
|
|
24
23
|
#contractInstanceStore;
|
|
25
24
|
functionNames;
|
|
26
25
|
#log;
|
|
27
|
-
constructor(db, logsMaxPageSize = 1000){
|
|
26
|
+
constructor(db, logsMaxPageSize = 1000, l1Constants){
|
|
28
27
|
this.db = db;
|
|
29
28
|
this.functionNames = new Map();
|
|
30
29
|
this.#log = createLogger('archiver:data-store');
|
|
31
|
-
this.#blockStore = new BlockStore(db);
|
|
30
|
+
this.#blockStore = new BlockStore(db, l1Constants);
|
|
32
31
|
this.#logStore = new LogStore(db, this.#blockStore, logsMaxPageSize);
|
|
33
32
|
this.#messageStore = new MessageStore(db);
|
|
34
33
|
this.#contractClassStore = new ContractClassStore(db);
|
|
@@ -52,6 +51,9 @@ export const MAX_FUNCTION_NAME_LEN = 256;
|
|
|
52
51
|
/** Closes the underlying data store. */ close() {
|
|
53
52
|
return this.db.close();
|
|
54
53
|
}
|
|
54
|
+
/** Computes the finalized block number based on the proven block number. */ getFinalizedL2BlockNumber() {
|
|
55
|
+
return this.#blockStore.getFinalizedL2BlockNumber();
|
|
56
|
+
}
|
|
55
57
|
/** Looks up a public function name given a selector. */ getDebugFunctionName(_address, selector) {
|
|
56
58
|
return Promise.resolve(this.functionNames.get(selector.toString()));
|
|
57
59
|
}
|
|
@@ -129,11 +131,13 @@ export const MAX_FUNCTION_NAME_LEN = 256;
|
|
|
129
131
|
return (await Promise.all(data.map((update, logIndex)=>this.#contractInstanceStore.deleteContractInstanceUpdate(update, timestamp, logIndex)))).every(Boolean);
|
|
130
132
|
}
|
|
131
133
|
/**
|
|
132
|
-
* Append new blocks to the store's list.
|
|
133
|
-
*
|
|
134
|
+
* Append new proposed blocks to the store's list.
|
|
135
|
+
* These are uncheckpointed blocks that have been proposed by the sequencer but not yet included in a checkpoint on L1.
|
|
136
|
+
* For checkpointed blocks (already published to L1), use addCheckpoints() instead.
|
|
137
|
+
* @param blocks - The proposed L2 blocks to be added to the store.
|
|
134
138
|
* @returns True if the operation is successful.
|
|
135
|
-
*/
|
|
136
|
-
return this.#blockStore.
|
|
139
|
+
*/ addProposedBlocks(blocks, opts = {}) {
|
|
140
|
+
return this.#blockStore.addProposedBlocks(blocks, opts);
|
|
137
141
|
}
|
|
138
142
|
/**
|
|
139
143
|
* Returns an array of checkpoint objects
|
|
@@ -150,13 +154,11 @@ export const MAX_FUNCTION_NAME_LEN = 256;
|
|
|
150
154
|
return this.#blockStore.getLatestBlockNumber();
|
|
151
155
|
}
|
|
152
156
|
/**
|
|
153
|
-
*
|
|
154
|
-
*
|
|
155
|
-
*
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
*/ unwindCheckpoints(from, checkpointsToUnwind) {
|
|
159
|
-
return this.#blockStore.unwindCheckpoints(from, checkpointsToUnwind);
|
|
157
|
+
* Removes all checkpoints with checkpoint number > checkpointNumber.
|
|
158
|
+
* Also removes ALL blocks (both checkpointed and uncheckpointed) after the last block of the given checkpoint.
|
|
159
|
+
* @param checkpointNumber - Remove all checkpoints strictly after this one.
|
|
160
|
+
*/ removeCheckpointsAfter(checkpointNumber) {
|
|
161
|
+
return this.#blockStore.removeCheckpointsAfter(checkpointNumber);
|
|
160
162
|
}
|
|
161
163
|
/**
|
|
162
164
|
* Appends new checkpoints, and their blocks to the store's collection
|
|
@@ -193,7 +195,7 @@ export const MAX_FUNCTION_NAME_LEN = 256;
|
|
|
193
195
|
* Returns the block for the given hash, or undefined if not exists.
|
|
194
196
|
* @param blockHash - The block hash to return.
|
|
195
197
|
*/ getBlockByHash(blockHash) {
|
|
196
|
-
return this.#blockStore.getBlockByHash(
|
|
198
|
+
return this.#blockStore.getBlockByHash(blockHash);
|
|
197
199
|
}
|
|
198
200
|
/**
|
|
199
201
|
* Returns the block for the given archive root, or undefined if not exists.
|
|
@@ -229,7 +231,7 @@ export const MAX_FUNCTION_NAME_LEN = 256;
|
|
|
229
231
|
* Returns the block header for the given hash, or undefined if not exists.
|
|
230
232
|
* @param blockHash - The block hash to return.
|
|
231
233
|
*/ getBlockHeaderByHash(blockHash) {
|
|
232
|
-
return this.#blockStore.getBlockHeaderByHash(
|
|
234
|
+
return this.#blockStore.getBlockHeaderByHash(blockHash);
|
|
233
235
|
}
|
|
234
236
|
/**
|
|
235
237
|
* Returns the block header for the given archive root, or undefined if not exists.
|
|
@@ -435,9 +437,10 @@ export const MAX_FUNCTION_NAME_LEN = 256;
|
|
|
435
437
|
}
|
|
436
438
|
/**
|
|
437
439
|
* Removes all blocks with block number > blockNumber.
|
|
440
|
+
* Does not remove any associated checkpoints.
|
|
438
441
|
* @param blockNumber - The block number to remove after.
|
|
439
442
|
* @returns The removed blocks (for event emission).
|
|
440
443
|
*/ removeBlocksAfter(blockNumber) {
|
|
441
|
-
return this.#blockStore.
|
|
444
|
+
return this.#blockStore.removeBlocksAfter(blockNumber);
|
|
442
445
|
}
|
|
443
446
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { AztecAsyncKVStore } from '@aztec/kv-store';
|
|
2
2
|
import type { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
3
|
-
import {
|
|
3
|
+
import { L2Block } from '@aztec/stdlib/block';
|
|
4
4
|
import type { GetContractClassLogsResponse, GetPublicLogsResponse } from '@aztec/stdlib/interfaces/client';
|
|
5
5
|
import { type LogFilter, type SiloedTag, Tag, TxScopedL2Log } from '@aztec/stdlib/logs';
|
|
6
6
|
import type { BlockStore } from './block_store.js';
|
|
@@ -17,8 +17,8 @@ export declare class LogStore {
|
|
|
17
17
|
* @param blocks - The blocks for which to add the logs.
|
|
18
18
|
* @returns True if the operation is successful.
|
|
19
19
|
*/
|
|
20
|
-
addLogs(blocks:
|
|
21
|
-
deleteLogs(blocks:
|
|
20
|
+
addLogs(blocks: L2Block[]): Promise<boolean>;
|
|
21
|
+
deleteLogs(blocks: L2Block[]): Promise<boolean>;
|
|
22
22
|
/**
|
|
23
23
|
* Gets private logs that match any of the `tags`. For each tag, an array of matching logs is returned. An empty
|
|
24
24
|
* array implies no logs match that tag.
|
|
@@ -51,4 +51,4 @@ export declare class LogStore {
|
|
|
51
51
|
*/
|
|
52
52
|
getContractClassLogs(filter: LogFilter): Promise<GetContractClassLogsResponse>;
|
|
53
53
|
}
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nX3N0b3JlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RvcmUvbG9nX3N0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1BLE9BQU8sS0FBSyxFQUFFLGlCQUFpQixFQUFpQixNQUFNLGlCQUFpQixDQUFDO0FBQ3hFLE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2hFLE9BQU8sRUFBYSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV6RCxPQUFPLEtBQUssRUFBRSw0QkFBNEIsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzNHLE9BQU8sRUFJTCxLQUFLLFNBQVMsRUFHZCxLQUFLLFNBQVMsRUFDZCxHQUFHLEVBQ0gsYUFBYSxFQUNkLE1BQU0sb0JBQW9CLENBQUM7QUFHNUIsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFbkQ7O0dBRUc7QUFDSCxxQkFBYSxRQUFROztJQWFqQixPQUFPLENBQUMsRUFBRTtJQUNWLE9BQU8sQ0FBQyxVQUFVO0lBRnBCLFlBQ1UsRUFBRSxFQUFFLGlCQUFpQixFQUNyQixVQUFVLEVBQUUsVUFBVSxFQUM5QixlQUFlLEdBQUUsTUFBYSxFQVUvQjtJQThNRDs7OztPQUlHO0lBQ0gsT0FBTyxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLENBUzNDO0lBZ0JELFVBQVUsQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQTJCOUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0csb0JBQW9CLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxFQUFFLElBQUksR0FBRSxNQUFVLEdBQUcsT0FBTyxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUMsQ0FRMUY7SUFFRDs7Ozs7Ozs7T0FRRztJQUNHLCtCQUErQixDQUNuQyxlQUFlLEVBQUUsWUFBWSxFQUM3QixJQUFJLEVBQUUsR0FBRyxFQUFFLEVBQ1gsSUFBSSxHQUFFLE1BQVUsR0FDZixPQUFPLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQyxDQWE1QjtJQUVEOzs7O09BSUc7SUFDSCxhQUFhLENBQUMsTUFBTSxFQUFFLFNBQVMsR0FBRyxPQUFPLENBQUMscUJBQXFCLENBQUMsQ0FRL0Q7SUErRkQ7Ozs7T0FJRztJQUNILG9CQUFvQixDQUFDLE1BQU0sRUFBRSxTQUFTLEdBQUcsT0FBTyxDQUFDLDRCQUE0QixDQUFDLENBUTdFO0NBc0pGIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"log_store.d.ts","sourceRoot":"","sources":["../../src/store/log_store.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,iBAAiB,EAAiB,MAAM,iBAAiB,CAAC;AACxE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,
|
|
1
|
+
{"version":3,"file":"log_store.d.ts","sourceRoot":"","sources":["../../src/store/log_store.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,iBAAiB,EAAiB,MAAM,iBAAiB,CAAC;AACxE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAa,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,KAAK,EAAE,4BAA4B,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAC3G,OAAO,EAIL,KAAK,SAAS,EAGd,KAAK,SAAS,EACd,GAAG,EACH,aAAa,EACd,MAAM,oBAAoB,CAAC;AAG5B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD;;GAEG;AACH,qBAAa,QAAQ;;IAajB,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,UAAU;IAFpB,YACU,EAAE,EAAE,iBAAiB,EACrB,UAAU,EAAE,UAAU,EAC9B,eAAe,GAAE,MAAa,EAU/B;IA8MD;;;;OAIG;IACH,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAS3C;IAgBD,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CA2B9C;IAED;;;;;;;OAOG;IACG,oBAAoB,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,IAAI,GAAE,MAAU,GAAG,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAQ1F;IAED;;;;;;;;OAQG;IACG,+BAA+B,CACnC,eAAe,EAAE,YAAY,EAC7B,IAAI,EAAE,GAAG,EAAE,EACX,IAAI,GAAE,MAAU,GACf,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAa5B;IAED;;;;OAIG;IACH,aAAa,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAQ/D;IA+FD;;;;OAIG;IACH,oBAAoB,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,4BAA4B,CAAC,CAQ7E;CAsJF"}
|
package/dest/store/log_store.js
CHANGED
|
@@ -4,9 +4,10 @@ import { filterAsync } from '@aztec/foundation/collection';
|
|
|
4
4
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
5
5
|
import { createLogger } from '@aztec/foundation/log';
|
|
6
6
|
import { BufferReader, numToUInt32BE } from '@aztec/foundation/serialize';
|
|
7
|
-
import {
|
|
7
|
+
import { BlockHash } from '@aztec/stdlib/block';
|
|
8
8
|
import { MAX_LOGS_PER_TAG } from '@aztec/stdlib/interfaces/api-limit';
|
|
9
9
|
import { ContractClassLog, ExtendedContractClassLog, ExtendedPublicLog, LogId, PublicLog, TxScopedL2Log } from '@aztec/stdlib/logs';
|
|
10
|
+
import { TxHash } from '@aztec/stdlib/tx';
|
|
10
11
|
/**
|
|
11
12
|
* A store for logs
|
|
12
13
|
*/ export class LogStore {
|
|
@@ -142,6 +143,7 @@ import { ContractClassLog, ExtendedContractClassLog, ExtendedPublicLog, LogId, P
|
|
|
142
143
|
await this.#publicLogKeysByBlock.set(block.number, publicTagsInBlock);
|
|
143
144
|
const publicLogsInBlock = block.body.txEffects.map((txEffect, txIndex)=>[
|
|
144
145
|
numToUInt32BE(txIndex),
|
|
146
|
+
txEffect.txHash.toBuffer(),
|
|
145
147
|
numToUInt32BE(txEffect.publicLogs.length),
|
|
146
148
|
txEffect.publicLogs.map((log)=>log.toBuffer())
|
|
147
149
|
].flat()).flat();
|
|
@@ -154,6 +156,7 @@ import { ContractClassLog, ExtendedContractClassLog, ExtendedPublicLog, LogId, P
|
|
|
154
156
|
const blockHash = await block.hash();
|
|
155
157
|
const contractClassLogsInBlock = block.body.txEffects.map((txEffect, txIndex)=>[
|
|
156
158
|
numToUInt32BE(txIndex),
|
|
159
|
+
txEffect.txHash.toBuffer(),
|
|
157
160
|
numToUInt32BE(txEffect.contractClassLogs.length),
|
|
158
161
|
txEffect.contractClassLogs.map((log)=>log.toBuffer())
|
|
159
162
|
].flat()).flat();
|
|
@@ -185,7 +188,7 @@ import { ContractClassLog, ExtendedContractClassLog, ExtendedPublicLog, LogId, P
|
|
|
185
188
|
if (!blockHash) {
|
|
186
189
|
throw new Error('Failed to read block hash from log entry buffer');
|
|
187
190
|
}
|
|
188
|
-
return
|
|
191
|
+
return new BlockHash(blockHash);
|
|
189
192
|
}
|
|
190
193
|
deleteLogs(blocks) {
|
|
191
194
|
return this.db.transactionAsync(async ()=>{
|
|
@@ -261,22 +264,24 @@ import { ContractClassLog, ExtendedContractClassLog, ExtendedPublicLog, LogId, P
|
|
|
261
264
|
};
|
|
262
265
|
}
|
|
263
266
|
const buffer = await this.#publicLogsByBlock.getAsync(blockNumber) ?? Buffer.alloc(0);
|
|
264
|
-
const publicLogsInBlock = [
|
|
265
|
-
[]
|
|
266
|
-
];
|
|
267
|
+
const publicLogsInBlock = [];
|
|
267
268
|
const reader = new BufferReader(buffer);
|
|
268
269
|
const blockHash = this.#unpackBlockHash(reader);
|
|
269
270
|
while(reader.remainingBytes() > 0){
|
|
270
271
|
const indexOfTx = reader.readNumber();
|
|
272
|
+
const txHash = reader.readObject(TxHash);
|
|
271
273
|
const numLogsInTx = reader.readNumber();
|
|
272
|
-
publicLogsInBlock[indexOfTx] =
|
|
274
|
+
publicLogsInBlock[indexOfTx] = {
|
|
275
|
+
txHash,
|
|
276
|
+
logs: []
|
|
277
|
+
};
|
|
273
278
|
for(let i = 0; i < numLogsInTx; i++){
|
|
274
|
-
publicLogsInBlock[indexOfTx].push(reader.readObject(PublicLog));
|
|
279
|
+
publicLogsInBlock[indexOfTx].logs.push(reader.readObject(PublicLog));
|
|
275
280
|
}
|
|
276
281
|
}
|
|
277
|
-
const
|
|
282
|
+
const txData = publicLogsInBlock[txIndex];
|
|
278
283
|
const logs = [];
|
|
279
|
-
const maxLogsHit = this.#
|
|
284
|
+
const maxLogsHit = this.#accumulatePublicLogs(logs, blockNumber, blockHash, txIndex, txData.txHash, txData.logs, filter);
|
|
280
285
|
return {
|
|
281
286
|
logs,
|
|
282
287
|
maxLogsHit
|
|
@@ -297,22 +302,24 @@ import { ContractClassLog, ExtendedContractClassLog, ExtendedPublicLog, LogId, P
|
|
|
297
302
|
start,
|
|
298
303
|
end
|
|
299
304
|
})){
|
|
300
|
-
const publicLogsInBlock = [
|
|
301
|
-
[]
|
|
302
|
-
];
|
|
305
|
+
const publicLogsInBlock = [];
|
|
303
306
|
const reader = new BufferReader(logBuffer);
|
|
304
307
|
const blockHash = this.#unpackBlockHash(reader);
|
|
305
308
|
while(reader.remainingBytes() > 0){
|
|
306
309
|
const indexOfTx = reader.readNumber();
|
|
310
|
+
const txHash = reader.readObject(TxHash);
|
|
307
311
|
const numLogsInTx = reader.readNumber();
|
|
308
|
-
publicLogsInBlock[indexOfTx] =
|
|
312
|
+
publicLogsInBlock[indexOfTx] = {
|
|
313
|
+
txHash,
|
|
314
|
+
logs: []
|
|
315
|
+
};
|
|
309
316
|
for(let i = 0; i < numLogsInTx; i++){
|
|
310
|
-
publicLogsInBlock[indexOfTx].push(reader.readObject(PublicLog));
|
|
317
|
+
publicLogsInBlock[indexOfTx].logs.push(reader.readObject(PublicLog));
|
|
311
318
|
}
|
|
312
319
|
}
|
|
313
320
|
for(let txIndex = filter.afterLog?.txIndex ?? 0; txIndex < publicLogsInBlock.length; txIndex++){
|
|
314
|
-
const
|
|
315
|
-
maxLogsHit = this.#
|
|
321
|
+
const txData = publicLogsInBlock[txIndex];
|
|
322
|
+
maxLogsHit = this.#accumulatePublicLogs(logs, blockNumber, blockHash, txIndex, txData.txHash, txData.logs, filter);
|
|
316
323
|
if (maxLogsHit) {
|
|
317
324
|
this.#log.debug(`Max logs hit at block ${blockNumber}`);
|
|
318
325
|
break loopOverBlocks;
|
|
@@ -349,22 +356,24 @@ import { ContractClassLog, ExtendedContractClassLog, ExtendedPublicLog, LogId, P
|
|
|
349
356
|
};
|
|
350
357
|
}
|
|
351
358
|
const contractClassLogsBuffer = await this.#contractClassLogsByBlock.getAsync(blockNumber) ?? Buffer.alloc(0);
|
|
352
|
-
const contractClassLogsInBlock = [
|
|
353
|
-
[]
|
|
354
|
-
];
|
|
359
|
+
const contractClassLogsInBlock = [];
|
|
355
360
|
const reader = new BufferReader(contractClassLogsBuffer);
|
|
356
361
|
const blockHash = this.#unpackBlockHash(reader);
|
|
357
362
|
while(reader.remainingBytes() > 0){
|
|
358
363
|
const indexOfTx = reader.readNumber();
|
|
364
|
+
const txHash = reader.readObject(TxHash);
|
|
359
365
|
const numLogsInTx = reader.readNumber();
|
|
360
|
-
contractClassLogsInBlock[indexOfTx] =
|
|
366
|
+
contractClassLogsInBlock[indexOfTx] = {
|
|
367
|
+
txHash,
|
|
368
|
+
logs: []
|
|
369
|
+
};
|
|
361
370
|
for(let i = 0; i < numLogsInTx; i++){
|
|
362
|
-
contractClassLogsInBlock[indexOfTx].push(reader.readObject(ContractClassLog));
|
|
371
|
+
contractClassLogsInBlock[indexOfTx].logs.push(reader.readObject(ContractClassLog));
|
|
363
372
|
}
|
|
364
373
|
}
|
|
365
|
-
const
|
|
374
|
+
const txData = contractClassLogsInBlock[txIndex];
|
|
366
375
|
const logs = [];
|
|
367
|
-
const maxLogsHit = this.#
|
|
376
|
+
const maxLogsHit = this.#accumulateContractClassLogs(logs, blockNumber, blockHash, txIndex, txData.txHash, txData.logs, filter);
|
|
368
377
|
return {
|
|
369
378
|
logs,
|
|
370
379
|
maxLogsHit
|
|
@@ -385,22 +394,24 @@ import { ContractClassLog, ExtendedContractClassLog, ExtendedPublicLog, LogId, P
|
|
|
385
394
|
start,
|
|
386
395
|
end
|
|
387
396
|
})){
|
|
388
|
-
const contractClassLogsInBlock = [
|
|
389
|
-
[]
|
|
390
|
-
];
|
|
397
|
+
const contractClassLogsInBlock = [];
|
|
391
398
|
const reader = new BufferReader(logBuffer);
|
|
392
399
|
const blockHash = this.#unpackBlockHash(reader);
|
|
393
400
|
while(reader.remainingBytes() > 0){
|
|
394
401
|
const indexOfTx = reader.readNumber();
|
|
402
|
+
const txHash = reader.readObject(TxHash);
|
|
395
403
|
const numLogsInTx = reader.readNumber();
|
|
396
|
-
contractClassLogsInBlock[indexOfTx] =
|
|
404
|
+
contractClassLogsInBlock[indexOfTx] = {
|
|
405
|
+
txHash,
|
|
406
|
+
logs: []
|
|
407
|
+
};
|
|
397
408
|
for(let i = 0; i < numLogsInTx; i++){
|
|
398
|
-
contractClassLogsInBlock[indexOfTx].push(reader.readObject(ContractClassLog));
|
|
409
|
+
contractClassLogsInBlock[indexOfTx].logs.push(reader.readObject(ContractClassLog));
|
|
399
410
|
}
|
|
400
411
|
}
|
|
401
412
|
for(let txIndex = filter.afterLog?.txIndex ?? 0; txIndex < contractClassLogsInBlock.length; txIndex++){
|
|
402
|
-
const
|
|
403
|
-
maxLogsHit = this.#
|
|
413
|
+
const txData = contractClassLogsInBlock[txIndex];
|
|
414
|
+
maxLogsHit = this.#accumulateContractClassLogs(logs, blockNumber, blockHash, txIndex, txData.txHash, txData.logs, filter);
|
|
404
415
|
if (maxLogsHit) {
|
|
405
416
|
this.#log.debug(`Max logs hit at block ${blockNumber}`);
|
|
406
417
|
break loopOverBlocks;
|
|
@@ -412,19 +423,28 @@ import { ContractClassLog, ExtendedContractClassLog, ExtendedPublicLog, LogId, P
|
|
|
412
423
|
maxLogsHit
|
|
413
424
|
};
|
|
414
425
|
}
|
|
415
|
-
#
|
|
426
|
+
#accumulatePublicLogs(results, blockNumber, blockHash, txIndex, txHash, txLogs, filter = {}) {
|
|
416
427
|
let maxLogsHit = false;
|
|
417
428
|
let logIndex = typeof filter.afterLog?.logIndex === 'number' ? filter.afterLog.logIndex + 1 : 0;
|
|
418
429
|
for(; logIndex < txLogs.length; logIndex++){
|
|
419
430
|
const log = txLogs[logIndex];
|
|
420
431
|
if (!filter.contractAddress || log.contractAddress.equals(filter.contractAddress)) {
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
} else {
|
|
426
|
-
throw new Error('Unknown log type');
|
|
432
|
+
results.push(new ExtendedPublicLog(new LogId(BlockNumber(blockNumber), blockHash, txHash, txIndex, logIndex), log));
|
|
433
|
+
if (results.length >= this.#logsMaxPageSize) {
|
|
434
|
+
maxLogsHit = true;
|
|
435
|
+
break;
|
|
427
436
|
}
|
|
437
|
+
}
|
|
438
|
+
}
|
|
439
|
+
return maxLogsHit;
|
|
440
|
+
}
|
|
441
|
+
#accumulateContractClassLogs(results, blockNumber, blockHash, txIndex, txHash, txLogs, filter = {}) {
|
|
442
|
+
let maxLogsHit = false;
|
|
443
|
+
let logIndex = typeof filter.afterLog?.logIndex === 'number' ? filter.afterLog.logIndex + 1 : 0;
|
|
444
|
+
for(; logIndex < txLogs.length; logIndex++){
|
|
445
|
+
const log = txLogs[logIndex];
|
|
446
|
+
if (!filter.contractAddress || log.contractAddress.equals(filter.contractAddress)) {
|
|
447
|
+
results.push(new ExtendedContractClassLog(new LogId(BlockNumber(blockNumber), blockHash, txHash, txIndex, logIndex), log));
|
|
428
448
|
if (results.length >= this.#logsMaxPageSize) {
|
|
429
449
|
maxLogsHit = true;
|
|
430
450
|
break;
|