@aztec/archiver 0.1.0-alpha47 → 0.1.0-alpha49
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/.tsbuildinfo +1 -1
- package/dest/archiver/archiver.d.ts +6 -6
- package/dest/archiver/archiver.d.ts.map +1 -1
- package/dest/archiver/archiver.js +14 -12
- package/dest/archiver/archiver.test.js +9 -12
- package/dest/archiver/archiver_store.d.ts +37 -21
- package/dest/archiver/archiver_store.d.ts.map +1 -1
- package/dest/archiver/archiver_store.js +32 -18
- package/dest/archiver/data_retrieval.d.ts +3 -3
- package/dest/archiver/data_retrieval.d.ts.map +1 -1
- package/dest/archiver/data_retrieval.js +2 -2
- package/dest/archiver/eth_log_handlers.d.ts +3 -3
- package/dest/archiver/eth_log_handlers.d.ts.map +1 -1
- package/dest/archiver/eth_log_handlers.js +12 -10
- package/dest/index.js +1 -1
- package/package.json +6 -6
- package/src/archiver/archiver.test.ts +8 -18
- package/src/archiver/archiver.ts +17 -12
- package/src/archiver/archiver_store.ts +52 -27
- package/src/archiver/data_retrieval.ts +4 -4
- package/src/archiver/eth_log_handlers.ts +18 -10
- package/src/index.ts +1 -1
|
@@ -3,7 +3,7 @@ import { AztecAddress } from '@aztec/foundation/aztec-address';
|
|
|
3
3
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
4
4
|
import { Fr } from '@aztec/foundation/fields';
|
|
5
5
|
import { DebugLogger } from '@aztec/foundation/log';
|
|
6
|
-
import { ContractData,
|
|
6
|
+
import { ContractData, ContractDataSource, EncodedContractFunction, ExtendedContractData, L1ToL2Message, L1ToL2MessageSource, L2Block, L2BlockL2Logs, L2BlockSource, L2LogsSource, L2Tx, LogType, TxHash } from '@aztec/types';
|
|
7
7
|
import { Chain, HttpTransport, PublicClient } from 'viem';
|
|
8
8
|
import { ArchiverDataStore } from './archiver_store.js';
|
|
9
9
|
import { ArchiverConfig } from './config.js';
|
|
@@ -84,19 +84,19 @@ export declare class Archiver implements L2BlockSource, L2LogsSource, ContractDa
|
|
|
84
84
|
* @returns The requested L2 block.
|
|
85
85
|
*/
|
|
86
86
|
getL2Block(number: number): Promise<L2Block | undefined>;
|
|
87
|
+
getL2Tx(txHash: TxHash): Promise<L2Tx | undefined>;
|
|
87
88
|
/**
|
|
88
|
-
*
|
|
89
|
-
* Contains the contract's public function bytecode.
|
|
89
|
+
* Get the extended contract data for this contract.
|
|
90
90
|
* @param contractAddress - The contract data address.
|
|
91
|
-
* @returns The contract data.
|
|
91
|
+
* @returns The extended contract data or undefined if not found.
|
|
92
92
|
*/
|
|
93
|
-
|
|
93
|
+
getExtendedContractData(contractAddress: AztecAddress): Promise<ExtendedContractData | undefined>;
|
|
94
94
|
/**
|
|
95
95
|
* Lookup all contract data in an L2 block.
|
|
96
96
|
* @param blockNum - The block number to get all contract data from.
|
|
97
97
|
* @returns All new contract data in the block (if found).
|
|
98
98
|
*/
|
|
99
|
-
|
|
99
|
+
getExtendedContractDataInBlock(blockNum: number): Promise<ExtendedContractData[]>;
|
|
100
100
|
/**
|
|
101
101
|
* Lookup the contract data for this contract.
|
|
102
102
|
* Contains contract address & the ethereum portal address.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"archiver.d.ts","sourceRoot":"","sources":["../../src/archiver/archiver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAqB,MAAM,uBAAuB,CAAC;AAEvE,OAAO,EACL,YAAY,EACZ,
|
|
1
|
+
{"version":3,"file":"archiver.d.ts","sourceRoot":"","sources":["../../src/archiver/archiver.ts"],"names":[],"mappings":"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"}
|
|
@@ -134,9 +134,9 @@ export class Archiver {
|
|
|
134
134
|
// store contracts for which we have retrieved L2 blocks
|
|
135
135
|
const lastKnownL2BlockNum = retrievedBlocks.retrievedData[retrievedBlocks.retrievedData.length - 1].number;
|
|
136
136
|
retrievedContracts.retrievedData.forEach(async ([contracts, l2BlockNum], index) => {
|
|
137
|
-
this.log(`Retrieved contract data
|
|
137
|
+
this.log(`Retrieved extended contract data for l2 block number: ${index}`);
|
|
138
138
|
if (l2BlockNum <= lastKnownL2BlockNum) {
|
|
139
|
-
await this.store.
|
|
139
|
+
await this.store.addExtendedContractData(contracts, l2BlockNum);
|
|
140
140
|
}
|
|
141
141
|
});
|
|
142
142
|
// from retrieved L2Blocks, confirm L1 to L2 messages that have been published
|
|
@@ -146,7 +146,7 @@ export class Archiver {
|
|
|
146
146
|
await this.store.confirmL1ToL2Messages(messageKeysToRemove);
|
|
147
147
|
// store retrieved L2 blocks after removing new logs information.
|
|
148
148
|
// remove logs to serve "lightweight" block information. Logs can be fetched separately if needed.
|
|
149
|
-
await this.store.addL2Blocks(retrievedBlocks.retrievedData.map(block => L2Block.fromFields(omit(block, ['newEncryptedLogs', 'newUnencryptedLogs']))));
|
|
149
|
+
await this.store.addL2Blocks(retrievedBlocks.retrievedData.map(block => L2Block.fromFields(omit(block, ['newEncryptedLogs', 'newUnencryptedLogs']), block.getBlockHash())));
|
|
150
150
|
// set the L1 block for the next search
|
|
151
151
|
this.nextL2BlockFromBlock = retrievedBlocks.nextEthBlockNumber;
|
|
152
152
|
}
|
|
@@ -185,22 +185,24 @@ export class Archiver {
|
|
|
185
185
|
const blocks = await this.store.getL2Blocks(number, 1);
|
|
186
186
|
return blocks.length === 0 ? undefined : blocks[0];
|
|
187
187
|
}
|
|
188
|
+
getL2Tx(txHash) {
|
|
189
|
+
return this.store.getL2Tx(txHash);
|
|
190
|
+
}
|
|
188
191
|
/**
|
|
189
|
-
*
|
|
190
|
-
* Contains the contract's public function bytecode.
|
|
192
|
+
* Get the extended contract data for this contract.
|
|
191
193
|
* @param contractAddress - The contract data address.
|
|
192
|
-
* @returns The contract data.
|
|
194
|
+
* @returns The extended contract data or undefined if not found.
|
|
193
195
|
*/
|
|
194
|
-
|
|
195
|
-
return this.store.
|
|
196
|
+
getExtendedContractData(contractAddress) {
|
|
197
|
+
return this.store.getExtendedContractData(contractAddress);
|
|
196
198
|
}
|
|
197
199
|
/**
|
|
198
200
|
* Lookup all contract data in an L2 block.
|
|
199
201
|
* @param blockNum - The block number to get all contract data from.
|
|
200
202
|
* @returns All new contract data in the block (if found).
|
|
201
203
|
*/
|
|
202
|
-
|
|
203
|
-
return this.store.
|
|
204
|
+
getExtendedContractDataInBlock(blockNum) {
|
|
205
|
+
return this.store.getExtendedContractDataInBlock(blockNum);
|
|
204
206
|
}
|
|
205
207
|
/**
|
|
206
208
|
* Lookup the contract data for this contract.
|
|
@@ -227,7 +229,7 @@ export class Archiver {
|
|
|
227
229
|
* @returns The public function data (if found).
|
|
228
230
|
*/
|
|
229
231
|
async getPublicFunction(contractAddress, selector) {
|
|
230
|
-
const contractData = await this.
|
|
232
|
+
const contractData = await this.getExtendedContractData(contractAddress);
|
|
231
233
|
return contractData?.getPublicFunction(selector);
|
|
232
234
|
}
|
|
233
235
|
/**
|
|
@@ -264,4 +266,4 @@ export class Archiver {
|
|
|
264
266
|
return this.store.getConfirmedL1ToL2Message(messageKey);
|
|
265
267
|
}
|
|
266
268
|
}
|
|
267
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
269
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJjaGl2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXJjaGl2ZXIvYXJjaGl2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFJdEQsT0FBTyxFQUFlLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ25FLE9BQU8sRUFLTCxvQkFBb0IsRUFHcEIsT0FBTyxFQUtQLE9BQU8sR0FFUixNQUFNLGNBQWMsQ0FBQztBQUV0QixPQUFPLElBQUksTUFBTSxhQUFhLENBQUM7QUFDL0IsT0FBTyxFQUFzQyxrQkFBa0IsRUFBRSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFcEYsT0FBTyxFQUFxQixtQkFBbUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRTdFLE9BQU8sRUFDTCxjQUFjLEVBQ2Qsa0NBQWtDLEVBQ2xDLHVCQUF1QixFQUN2QixnQ0FBZ0MsR0FDakMsTUFBTSxxQkFBcUIsQ0FBQztBQUU3Qjs7OztHQUlHO0FBQ0gsTUFBTSxPQUFPLFFBQVE7SUFxQm5COzs7Ozs7Ozs7O09BVUc7SUFDSCxZQUNtQixZQUFnRCxFQUNoRCxhQUF5QixFQUN6QixZQUF3QixFQUN4QixnQ0FBNEMsRUFDN0QsZ0JBQXdCLEVBQ1AsS0FBd0IsRUFDeEIsb0JBQW9CLEtBQU0sRUFDMUIsTUFBbUIsaUJBQWlCLENBQUMsZ0JBQWdCLENBQUM7UUFQdEQsaUJBQVksR0FBWixZQUFZLENBQW9DO1FBQ2hELGtCQUFhLEdBQWIsYUFBYSxDQUFZO1FBQ3pCLGlCQUFZLEdBQVosWUFBWSxDQUFZO1FBQ3hCLHFDQUFnQyxHQUFoQyxnQ0FBZ0MsQ0FBWTtRQUU1QyxVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQUN4QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQVM7UUFDMUIsUUFBRyxHQUFI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
|
|
@@ -3,7 +3,7 @@ import { EthAddress } from '@aztec/foundation/eth-address';
|
|
|
3
3
|
import { Fr } from '@aztec/foundation/fields';
|
|
4
4
|
import { sleep } from '@aztec/foundation/sleep';
|
|
5
5
|
import { RollupAbi } from '@aztec/l1-artifacts';
|
|
6
|
-
import {
|
|
6
|
+
import { ExtendedContractData, L2Block, L2BlockL2Logs, LogType } from '@aztec/types';
|
|
7
7
|
import { mock } from 'jest-mock-extended';
|
|
8
8
|
import { encodeFunctionData, toHex } from 'viem';
|
|
9
9
|
import { Archiver } from './archiver.js';
|
|
@@ -111,21 +111,18 @@ function makeL2BlockProcessedEvent(l1BlockNum, l2BlockNum) {
|
|
|
111
111
|
* @returns An ContractDeployment event.
|
|
112
112
|
*/
|
|
113
113
|
function makeContractDeploymentEvent(l1BlockNum, l2Block) {
|
|
114
|
-
|
|
115
|
-
const
|
|
116
|
-
const portalAddress = EthAddress.random();
|
|
117
|
-
const contractData = new ContractDataAndBytecode(new ContractData(aztecAddress, portalAddress), [
|
|
118
|
-
EncodedContractFunction.random(),
|
|
119
|
-
EncodedContractFunction.random(),
|
|
120
|
-
]);
|
|
121
|
-
const acir = contractData.bytecode?.toString('hex');
|
|
114
|
+
const extendedContractData = ExtendedContractData.random();
|
|
115
|
+
const acir = extendedContractData.bytecode?.toString('hex');
|
|
122
116
|
return {
|
|
123
117
|
blockNumber: l1BlockNum,
|
|
124
118
|
args: {
|
|
125
119
|
l2BlockNum: BigInt(l2Block.number),
|
|
126
|
-
aztecAddress:
|
|
127
|
-
portalAddress:
|
|
120
|
+
aztecAddress: extendedContractData.contractData.contractAddress.toString(),
|
|
121
|
+
portalAddress: extendedContractData.contractData.portalContractAddress.toString(),
|
|
128
122
|
l2BlockHash: `0x${l2Block.getCalldataHash().toString('hex')}`,
|
|
123
|
+
partialAddress: extendedContractData.partialAddress.toString(true),
|
|
124
|
+
pubKeyX: extendedContractData.publicKey.x.toString(true),
|
|
125
|
+
pubKeyY: extendedContractData.publicKey.y.toString(true),
|
|
129
126
|
acir: '0x' + acir,
|
|
130
127
|
},
|
|
131
128
|
transactionHash: `0x${l2Block.number}`,
|
|
@@ -184,4 +181,4 @@ function makeRollupTx(l2Block) {
|
|
|
184
181
|
const input = encodeFunctionData({ abi: RollupAbi, functionName: 'process', args: [proof, block] });
|
|
185
182
|
return { input };
|
|
186
183
|
}
|
|
187
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
184
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJjaGl2ZXIudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hcmNoaXZlci9hcmNoaXZlci50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMvRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDM0QsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNoRCxPQUFPLEVBQTBDLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3hGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE9BQU8sRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUVyRixPQUFPLEVBQWEsSUFBSSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxFQUF3RCxrQkFBa0IsRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdkcsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQXFCLG1CQUFtQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFN0UsUUFBUSxDQUFDLFVBQVUsRUFBRSxHQUFHLEVBQUU7SUFDeEIsTUFBTSxhQUFhLEdBQUcsNENBQTRDLENBQUM7SUFDbkUsTUFBTSxZQUFZLEdBQUcsNENBQTRDLENBQUM7SUFDbEUsTUFBTSxnQ0FBZ0MsR0FBRyw0Q0FBNEMsQ0FBQztJQUN0RixNQUFNLFNBQVMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDNUIsSUFBSSxZQUEyRCxDQUFDO0lBQ2hFLElBQUksYUFBZ0MsQ0FBQztJQUVyQyxVQUFVLENBQUMsR0FBRyxFQUFFO1FBQ2QsWUFBWSxHQUFHLElBQUksRUFBc0MsQ0FBQztR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
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Fr } from '@aztec/circuits.js';
|
|
2
2
|
import { AztecAddress } from '@aztec/foundation/aztec-address';
|
|
3
|
-
import { ContractData,
|
|
3
|
+
import { ContractData, ExtendedContractData, L1ToL2Message, L2Block, L2BlockL2Logs, L2Tx, LogType, TxHash } from '@aztec/types';
|
|
4
4
|
/**
|
|
5
5
|
* Interface describing a data store to be used by the archiver to store all its relevant data
|
|
6
|
-
* (blocks, encrypted logs, aztec contract data
|
|
6
|
+
* (blocks, encrypted logs, aztec contract data extended contract data).
|
|
7
7
|
*/
|
|
8
8
|
export interface ArchiverDataStore {
|
|
9
9
|
/**
|
|
@@ -19,6 +19,12 @@ export interface ArchiverDataStore {
|
|
|
19
19
|
* @returns The requested L2 blocks.
|
|
20
20
|
*/
|
|
21
21
|
getL2Blocks(from: number, limit: number): Promise<L2Block[]>;
|
|
22
|
+
/**
|
|
23
|
+
* Gets an l2 tx.
|
|
24
|
+
* @param txHash - The txHash of the l2 tx.
|
|
25
|
+
* @returns The requested L2 tx.
|
|
26
|
+
*/
|
|
27
|
+
getL2Tx(txHash: TxHash): Promise<L2Tx | undefined>;
|
|
22
28
|
/**
|
|
23
29
|
* Append new logs to the store's list.
|
|
24
30
|
* @param data - The logs to be added to the store.
|
|
@@ -66,24 +72,24 @@ export interface ArchiverDataStore {
|
|
|
66
72
|
*/
|
|
67
73
|
getLogs(from: number, limit: number, logType: LogType): Promise<L2BlockL2Logs[]>;
|
|
68
74
|
/**
|
|
69
|
-
*
|
|
75
|
+
* Add new extended contract data from an L2 block to the store's list.
|
|
70
76
|
* @param data - List of contracts' data to be added.
|
|
71
77
|
* @param blockNum - Number of the L2 block the contract data was deployed in.
|
|
72
78
|
* @returns True if the operation is successful.
|
|
73
79
|
*/
|
|
74
|
-
|
|
80
|
+
addExtendedContractData(data: ExtendedContractData[], blockNum: number): Promise<boolean>;
|
|
75
81
|
/**
|
|
76
|
-
*
|
|
82
|
+
* Get the extended contract data for this contract.
|
|
77
83
|
* @param contractAddress - The contract data address.
|
|
78
|
-
* @returns The contract
|
|
84
|
+
* @returns The extended contract data or undefined if not found.
|
|
79
85
|
*/
|
|
80
|
-
|
|
86
|
+
getExtendedContractData(contractAddress: AztecAddress): Promise<ExtendedContractData | undefined>;
|
|
81
87
|
/**
|
|
82
|
-
* Lookup all contract data
|
|
88
|
+
* Lookup all extended contract data in an L2 block.
|
|
83
89
|
* @param blockNum - The block number to get all contract data from.
|
|
84
|
-
* @returns All contract data
|
|
90
|
+
* @returns All extended contract data in the block (if found).
|
|
85
91
|
*/
|
|
86
|
-
|
|
92
|
+
getExtendedContractDataInBlock(blockNum: number): Promise<ExtendedContractData[]>;
|
|
87
93
|
/**
|
|
88
94
|
* Get basic info for an L2 contract.
|
|
89
95
|
* Contains contract address & the ethereum portal address.
|
|
@@ -117,6 +123,10 @@ export declare class MemoryArchiverStore implements ArchiverDataStore {
|
|
|
117
123
|
* An array containing all the L2 blocks that have been fetched so far.
|
|
118
124
|
*/
|
|
119
125
|
private l2Blocks;
|
|
126
|
+
/**
|
|
127
|
+
* An array containing all the L2 Txs in the L2 blocks that have been fetched so far.
|
|
128
|
+
*/
|
|
129
|
+
private l2Txs;
|
|
120
130
|
/**
|
|
121
131
|
* An array containing all the encrypted logs that have been fetched so far.
|
|
122
132
|
* Note: Index in the "outer" array equals to (corresponding L2 block's number - INITIAL_L2_BLOCK_NUM).
|
|
@@ -128,13 +138,13 @@ export declare class MemoryArchiverStore implements ArchiverDataStore {
|
|
|
128
138
|
*/
|
|
129
139
|
private unencryptedLogs;
|
|
130
140
|
/**
|
|
131
|
-
* A sparse array containing all the contract data
|
|
141
|
+
* A sparse array containing all the extended contract data that have been fetched so far.
|
|
132
142
|
*/
|
|
133
|
-
private
|
|
143
|
+
private extendedContractDataByBlock;
|
|
134
144
|
/**
|
|
135
|
-
* A mapping of contract address to contract data
|
|
145
|
+
* A mapping of contract address to extended contract data.
|
|
136
146
|
*/
|
|
137
|
-
private
|
|
147
|
+
private extendedContractData;
|
|
138
148
|
/**
|
|
139
149
|
* Contains all the confirmed L1 to L2 messages (i.e. messages that were consumed in an L2 block)
|
|
140
150
|
* It is a map of entryKey to the corresponding L1 to L2 message and the number of times it has appeared
|
|
@@ -178,12 +188,12 @@ export declare class MemoryArchiverStore implements ArchiverDataStore {
|
|
|
178
188
|
*/
|
|
179
189
|
confirmL1ToL2Messages(messageKeys: Fr[]): Promise<boolean>;
|
|
180
190
|
/**
|
|
181
|
-
* Store new
|
|
191
|
+
* Store new extended contract data from an L2 block to the store's list.
|
|
182
192
|
* @param data - List of contracts' data to be added.
|
|
183
193
|
* @param blockNum - Number of the L2 block the contract data was deployed in.
|
|
184
194
|
* @returns True if the operation is successful (always in this implementation).
|
|
185
195
|
*/
|
|
186
|
-
|
|
196
|
+
addExtendedContractData(data: ExtendedContractData[], blockNum: number): Promise<boolean>;
|
|
187
197
|
/**
|
|
188
198
|
* Gets up to `limit` amount of L2 blocks starting from `from`.
|
|
189
199
|
* @param from - Number of the first block to return (inclusive).
|
|
@@ -191,6 +201,12 @@ export declare class MemoryArchiverStore implements ArchiverDataStore {
|
|
|
191
201
|
* @returns The requested L2 blocks.
|
|
192
202
|
*/
|
|
193
203
|
getL2Blocks(from: number, limit: number): Promise<L2Block[]>;
|
|
204
|
+
/**
|
|
205
|
+
* Gets an l2 tx.
|
|
206
|
+
* @param txHash - The txHash of the l2 tx.
|
|
207
|
+
* @returns The requested L2 tx.
|
|
208
|
+
*/
|
|
209
|
+
getL2Tx(txHash: TxHash): Promise<L2Tx | undefined>;
|
|
194
210
|
/**
|
|
195
211
|
* Gets up to `limit` amount of pending L1 to L2 messages, sorted by fee
|
|
196
212
|
* @param limit - The number of messages to return (by default NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP).
|
|
@@ -212,17 +228,17 @@ export declare class MemoryArchiverStore implements ArchiverDataStore {
|
|
|
212
228
|
*/
|
|
213
229
|
getLogs(from: number, limit: number, logType: LogType): Promise<L2BlockL2Logs[]>;
|
|
214
230
|
/**
|
|
215
|
-
*
|
|
231
|
+
* Get the extended contract data for this contract.
|
|
216
232
|
* @param contractAddress - The contract data address.
|
|
217
|
-
* @returns The contract
|
|
233
|
+
* @returns The extended contract data or undefined if not found.
|
|
218
234
|
*/
|
|
219
|
-
|
|
235
|
+
getExtendedContractData(contractAddress: AztecAddress): Promise<ExtendedContractData | undefined>;
|
|
220
236
|
/**
|
|
221
237
|
* Lookup all contract data in an L2 block.
|
|
222
238
|
* @param blockNum - The block number to get all contract data from.
|
|
223
|
-
* @returns All contract data
|
|
239
|
+
* @returns All extended contract data in the block (if found).
|
|
224
240
|
*/
|
|
225
|
-
|
|
241
|
+
getExtendedContractDataInBlock(blockNum: number): Promise<ExtendedContractData[]>;
|
|
226
242
|
/**
|
|
227
243
|
* Get basic info for an L2 contract.
|
|
228
244
|
* Contains contract address & the ethereum portal address.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"archiver_store.d.ts","sourceRoot":"","sources":["../../src/archiver/archiver_store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAuC,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EACL,YAAY,EACZ,
|
|
1
|
+
{"version":3,"file":"archiver_store.d.ts","sourceRoot":"","sources":["../../src/archiver/archiver_store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAuC,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EACL,YAAY,EACZ,oBAAoB,EAEpB,aAAa,EACb,OAAO,EACP,aAAa,EACb,IAAI,EACJ,OAAO,EACP,MAAM,EACP,MAAM,cAAc,CAAC;AAItB;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;OAIG;IACH,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEjD;;;;;OAKG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAE7D;;;;OAIG;IACH,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC;IAEnD;;;;;OAKG;IACH,OAAO,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEnE;;;;OAIG;IACH,wBAAwB,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEtE;;;;OAIG;IACH,2BAA2B,CAAC,WAAW,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEjE;;;;;OAKG;IACH,qBAAqB,CAAC,WAAW,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE3D;;;;OAIG;IACH,2BAA2B,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;IAE1D;;;;OAIG;IACH,yBAAyB,CAAC,UAAU,EAAE,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAElE;;;;;;OAMG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;IAEjF;;;;;OAKG;IACH,uBAAuB,CAAC,IAAI,EAAE,oBAAoB,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE1F;;;;OAIG;IACH,uBAAuB,CAAC,eAAe,EAAE,YAAY,GAAG,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC,CAAC;IAElG;;;;OAIG;IACH,8BAA8B,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAAC;IAElF;;;;;OAKG;IACH,eAAe,CAAC,eAAe,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CAAC;IAElF;;;;;OAKG;IACH,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,GAAG,SAAS,CAAC,CAAC;IAEhF;;;OAGG;IACH,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAElC;;;OAGG;IACH,eAAe,IAAI,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,qBAAa,mBAAoB,YAAW,iBAAiB;IAC3D;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAiB;IAEjC;;OAEG;IACH,OAAO,CAAC,KAAK,CAAc;IAE3B;;;OAGG;IACH,OAAO,CAAC,aAAa,CAAuB;IAE5C;;;OAGG;IACH,OAAO,CAAC,eAAe,CAAuB;IAE9C;;OAEG;IACH,OAAO,CAAC,2BAA2B,CAA8C;IAEjF;;OAEG;IACH,OAAO,CAAC,oBAAoB,CAAgD;IAE5E;;;OAGG;IACH,OAAO,CAAC,uBAAuB,CAAgD;IAE/E;;OAEG;IACH,OAAO,CAAC,qBAAqB,CAA8D;;IAI3F;;;;OAIG;IACI,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAMvD;;;;;OAKG;IACH,OAAO,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAKlE;;;;OAIG;IACI,wBAAwB,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAO5E;;;;OAIG;IACI,2BAA2B,CAAC,WAAW,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAOvE;;;;;OAKG;IACI,qBAAqB,CAAC,WAAW,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAQjE;;;;;OAKG;IACI,uBAAuB,CAAC,IAAI,EAAE,oBAAoB,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAgBhG;;;;;OAKG;IACI,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAanE;;;;OAIG;IACI,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC;IAKzD;;;;OAIG;IACI,2BAA2B,CAAC,KAAK,GAAE,MAA4C,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC;IAItG;;;;OAIG;IACI,yBAAyB,CAAC,UAAU,EAAE,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC;IAQxE;;;;;;OAMG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAahF;;;;OAIG;IACH,uBAAuB,CAAC,eAAe,EAAE,YAAY,GAAG,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC;IAKjG;;;;OAIG;IACI,8BAA8B,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAOxF;;;;;OAKG;IACI,eAAe,CAAC,eAAe,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IAcxF;;;;;OAKG;IACI,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,GAAG,SAAS,CAAC;IAQtF;;;OAGG;IACI,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC;IAKxC;;;OAGG;IACI,eAAe,IAAI,MAAM;CAGjC"}
|
|
@@ -10,6 +10,10 @@ export class MemoryArchiverStore {
|
|
|
10
10
|
* An array containing all the L2 blocks that have been fetched so far.
|
|
11
11
|
*/
|
|
12
12
|
this.l2Blocks = [];
|
|
13
|
+
/**
|
|
14
|
+
* An array containing all the L2 Txs in the L2 blocks that have been fetched so far.
|
|
15
|
+
*/
|
|
16
|
+
this.l2Txs = [];
|
|
13
17
|
/**
|
|
14
18
|
* An array containing all the encrypted logs that have been fetched so far.
|
|
15
19
|
* Note: Index in the "outer" array equals to (corresponding L2 block's number - INITIAL_L2_BLOCK_NUM).
|
|
@@ -21,13 +25,13 @@ export class MemoryArchiverStore {
|
|
|
21
25
|
*/
|
|
22
26
|
this.unencryptedLogs = [];
|
|
23
27
|
/**
|
|
24
|
-
* A sparse array containing all the contract data
|
|
28
|
+
* A sparse array containing all the extended contract data that have been fetched so far.
|
|
25
29
|
*/
|
|
26
|
-
this.
|
|
30
|
+
this.extendedContractDataByBlock = [];
|
|
27
31
|
/**
|
|
28
|
-
* A mapping of contract address to contract data
|
|
32
|
+
* A mapping of contract address to extended contract data.
|
|
29
33
|
*/
|
|
30
|
-
this.
|
|
34
|
+
this.extendedContractData = new Map();
|
|
31
35
|
/**
|
|
32
36
|
* Contains all the confirmed L1 to L2 messages (i.e. messages that were consumed in an L2 block)
|
|
33
37
|
* It is a map of entryKey to the corresponding L1 to L2 message and the number of times it has appeared
|
|
@@ -45,6 +49,7 @@ export class MemoryArchiverStore {
|
|
|
45
49
|
*/
|
|
46
50
|
addL2Blocks(blocks) {
|
|
47
51
|
this.l2Blocks.push(...blocks);
|
|
52
|
+
this.l2Txs.push(...blocks.flatMap(b => b.getTxs()));
|
|
48
53
|
return Promise.resolve(true);
|
|
49
54
|
}
|
|
50
55
|
/**
|
|
@@ -93,23 +98,23 @@ export class MemoryArchiverStore {
|
|
|
93
98
|
return Promise.resolve(true);
|
|
94
99
|
}
|
|
95
100
|
/**
|
|
96
|
-
* Store new
|
|
101
|
+
* Store new extended contract data from an L2 block to the store's list.
|
|
97
102
|
* @param data - List of contracts' data to be added.
|
|
98
103
|
* @param blockNum - Number of the L2 block the contract data was deployed in.
|
|
99
104
|
* @returns True if the operation is successful (always in this implementation).
|
|
100
105
|
*/
|
|
101
|
-
|
|
106
|
+
addExtendedContractData(data, blockNum) {
|
|
102
107
|
// Add to the contracts mapping
|
|
103
108
|
for (const contractData of data) {
|
|
104
109
|
const key = contractData.contractData.contractAddress.toString();
|
|
105
|
-
this.
|
|
110
|
+
this.extendedContractData.set(key, contractData);
|
|
106
111
|
}
|
|
107
112
|
// Add the index per block
|
|
108
|
-
if (this.
|
|
109
|
-
this.
|
|
113
|
+
if (this.extendedContractDataByBlock[blockNum]?.length) {
|
|
114
|
+
this.extendedContractDataByBlock[blockNum]?.push(...data);
|
|
110
115
|
}
|
|
111
116
|
else {
|
|
112
|
-
this.
|
|
117
|
+
this.extendedContractDataByBlock[blockNum] = [...data];
|
|
113
118
|
}
|
|
114
119
|
return Promise.resolve(true);
|
|
115
120
|
}
|
|
@@ -131,6 +136,15 @@ export class MemoryArchiverStore {
|
|
|
131
136
|
const endIndex = startIndex + limit;
|
|
132
137
|
return Promise.resolve(this.l2Blocks.slice(startIndex, endIndex));
|
|
133
138
|
}
|
|
139
|
+
/**
|
|
140
|
+
* Gets an l2 tx.
|
|
141
|
+
* @param txHash - The txHash of the l2 tx.
|
|
142
|
+
* @returns The requested L2 tx.
|
|
143
|
+
*/
|
|
144
|
+
getL2Tx(txHash) {
|
|
145
|
+
const l2Tx = this.l2Txs.find(tx => tx.txHash.equals(txHash));
|
|
146
|
+
return Promise.resolve(l2Tx);
|
|
147
|
+
}
|
|
134
148
|
/**
|
|
135
149
|
* Gets up to `limit` amount of pending L1 to L2 messages, sorted by fee
|
|
136
150
|
* @param limit - The number of messages to return (by default NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP).
|
|
@@ -171,24 +185,24 @@ export class MemoryArchiverStore {
|
|
|
171
185
|
return Promise.resolve(logs.slice(startIndex, endIndex));
|
|
172
186
|
}
|
|
173
187
|
/**
|
|
174
|
-
*
|
|
188
|
+
* Get the extended contract data for this contract.
|
|
175
189
|
* @param contractAddress - The contract data address.
|
|
176
|
-
* @returns The contract
|
|
190
|
+
* @returns The extended contract data or undefined if not found.
|
|
177
191
|
*/
|
|
178
|
-
|
|
179
|
-
const result = this.
|
|
192
|
+
getExtendedContractData(contractAddress) {
|
|
193
|
+
const result = this.extendedContractData.get(contractAddress.toString());
|
|
180
194
|
return Promise.resolve(result);
|
|
181
195
|
}
|
|
182
196
|
/**
|
|
183
197
|
* Lookup all contract data in an L2 block.
|
|
184
198
|
* @param blockNum - The block number to get all contract data from.
|
|
185
|
-
* @returns All contract data
|
|
199
|
+
* @returns All extended contract data in the block (if found).
|
|
186
200
|
*/
|
|
187
|
-
|
|
201
|
+
getExtendedContractDataInBlock(blockNum) {
|
|
188
202
|
if (blockNum > this.l2Blocks.length) {
|
|
189
203
|
return Promise.resolve([]);
|
|
190
204
|
}
|
|
191
|
-
return Promise.resolve(this.
|
|
205
|
+
return Promise.resolve(this.extendedContractDataByBlock[blockNum] || []);
|
|
192
206
|
}
|
|
193
207
|
/**
|
|
194
208
|
* Get basic info for an L2 contract.
|
|
@@ -239,4 +253,4 @@ export class MemoryArchiverStore {
|
|
|
239
253
|
return this.l2Blocks.length;
|
|
240
254
|
}
|
|
241
255
|
}
|
|
242
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
256
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJjaGl2ZXJfc3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXJjaGl2ZXIvYXJjaGl2ZXJfc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFNLG1DQUFtQyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFN0UsT0FBTyxFQUdMLG9CQUFvQixFQUtwQixPQUFPLEdBRVIsTUFBTSxjQUFjLENBQUM7QUFFdEIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLHlCQUF5QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFxSTVGOztHQUVHO0FBQ0gsTUFBTSxPQUFPLG1CQUFtQjtJQTRDOUI7UUEzQ0E7O1dBRUc7UUFDSyxhQUFRLEdBQWMsRUFBRSxDQUFDO1FBRWpDOztXQUVHO1FBQ0ssVUFBSyxHQUFXLEVBQUUsQ0FBQztRQUUzQjs7O1dBR0c7UUFDSyxrQkFBYSxHQUFvQixFQUFFLENBQUM7UUFFNUM7OztXQUdHO1FBQ0ssb0JBQWUsR0FBb0IsRUFBRSxDQUFDO1FBRTlDOztXQUVHO1FBQ0ssZ0NBQTJCLEdBQTJDLEVBQUUsQ0FBQztRQUVqRjs7V0FFRztRQUNLLHlCQUFvQixHQUFzQyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBRTVFOzs7V0FHRztRQUNLLDRCQUF1QixHQUF1QixJQUFJLGtCQUFrQixFQUFFLENBQUM7UUFFL0U7O1dBRUc7UUFDSywwQkFBcUIsR0FBOEIsSUFBSSx5QkFBeUIsRUFBRSxDQUFDO0lBRTVFLENBQUM7SUFFaEI7Ozs7T0FJRztJQUNJLFdBQVcsQ0FBQyxNQUFpQjtRQUNsQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDO1FBQzlCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDcEQs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
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="node" resolution-mode="require"/>
|
|
2
2
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
3
3
|
import { Fr } from '@aztec/foundation/fields';
|
|
4
|
-
import {
|
|
4
|
+
import { ExtendedContractData, L1ToL2Message, L2Block } from '@aztec/types';
|
|
5
5
|
import { PublicClient } from 'viem';
|
|
6
6
|
/**
|
|
7
7
|
* Data retrieved from logs
|
|
@@ -35,11 +35,11 @@ export declare function retrieveBlocks(publicClient: PublicClient, rollupAddress
|
|
|
35
35
|
* @param currentBlockNumber - Latest available block number in the ETH node.
|
|
36
36
|
* @param searchStartBlock - The block number to use for starting the search.
|
|
37
37
|
* @param blockHashMapping - A mapping from block number to relevant block hash.
|
|
38
|
-
* @returns An array of
|
|
38
|
+
* @returns An array of ExtendedContractData and their equivalent L2 Block number along with the next eth block to search from..
|
|
39
39
|
*/
|
|
40
40
|
export declare function retrieveNewContractData(publicClient: PublicClient, contractDeploymentEmitterAddress: EthAddress, blockUntilSynced: boolean, currentBlockNumber: bigint, searchStartBlock: bigint, blockHashMapping: {
|
|
41
41
|
[key: number]: Buffer | undefined;
|
|
42
|
-
}): Promise<DataRetrieval<[
|
|
42
|
+
}): Promise<DataRetrieval<[ExtendedContractData[], number]>>;
|
|
43
43
|
/**
|
|
44
44
|
* Fetch new pending L1 to L2 messages.
|
|
45
45
|
* @param publicClient - The viem public client to use for transaction retrieval.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data_retrieval.d.ts","sourceRoot":"","sources":["../../src/archiver/data_retrieval.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"data_retrieval.d.ts","sourceRoot":"","sources":["../../src/archiver/data_retrieval.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAE5E,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AAapC;;GAEG;AACH,KAAK,aAAa,CAAC,CAAC,IAAI;IACtB;;OAEG;IACH,kBAAkB,EAAE,MAAM,CAAC;IAC3B;;OAEG;IACH,aAAa,EAAE,CAAC,EAAE,CAAC;CACpB,CAAC;AAEF;;;;;;;;;GASG;AACH,wBAAsB,cAAc,CAClC,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAE,UAAU,EACzB,gBAAgB,EAAE,OAAO,EACzB,iBAAiB,EAAE,MAAM,EACzB,gBAAgB,EAAE,MAAM,EACxB,sBAAsB,EAAE,MAAM,GAC7B,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAiBjC;AAED;;;;;;;;;GASG;AACH,wBAAsB,uBAAuB,CAC3C,YAAY,EAAE,YAAY,EAC1B,gCAAgC,EAAE,UAAU,EAC5C,gBAAgB,EAAE,OAAO,EACzB,kBAAkB,EAAE,MAAM,EAC1B,gBAAgB,EAAE,MAAM,EACxB,gBAAgB,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;CAAE,GACtD,OAAO,CAAC,aAAa,CAAC,CAAC,oBAAoB,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAmB1D;AAED;;;;;;;;GAQG;AACH,wBAAsB,gCAAgC,CACpD,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,UAAU,EACxB,gBAAgB,EAAE,OAAO,EACzB,kBAAkB,EAAE,MAAM,EAC1B,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAavC;AAED;;;;;;;;GAQG;AACH,wBAAsB,kCAAkC,CACtD,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,UAAU,EACxB,gBAAgB,EAAE,OAAO,EACzB,kBAAkB,EAAE,MAAM,EAC1B,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAkB5B"}
|
|
@@ -34,7 +34,7 @@ export async function retrieveBlocks(publicClient, rollupAddress, blockUntilSync
|
|
|
34
34
|
* @param currentBlockNumber - Latest available block number in the ETH node.
|
|
35
35
|
* @param searchStartBlock - The block number to use for starting the search.
|
|
36
36
|
* @param blockHashMapping - A mapping from block number to relevant block hash.
|
|
37
|
-
* @returns An array of
|
|
37
|
+
* @returns An array of ExtendedContractData and their equivalent L2 Block number along with the next eth block to search from..
|
|
38
38
|
*/
|
|
39
39
|
export async function retrieveNewContractData(publicClient, contractDeploymentEmitterAddress, blockUntilSynced, currentBlockNumber, searchStartBlock, blockHashMapping) {
|
|
40
40
|
let retrievedNewContracts = [];
|
|
@@ -99,4 +99,4 @@ export async function retrieveNewCancelledL1ToL2Messages(publicClient, inboxAddr
|
|
|
99
99
|
} while (blockUntilSynced && searchStartBlock <= currentBlockNumber);
|
|
100
100
|
return { nextEthBlockNumber: searchStartBlock, retrievedData: retrievedNewCancelledL1ToL2Messages };
|
|
101
101
|
}
|
|
102
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
102
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YV9yZXRyaWV2YWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXJjaGl2ZXIvZGF0YV9yZXRyaWV2YWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTUEsT0FBTyxFQUNMLHlCQUF5QixFQUN6Qiw2QkFBNkIsRUFDN0IsdUJBQXVCLEVBQ3ZCLDJCQUEyQixFQUMzQixnQkFBZ0IsRUFDaEIsa0NBQWtDLEVBQ2xDLDZCQUE2QixFQUM3QixvQ0FBb0MsR0FDckMsTUFBTSx1QkFBdUIsQ0FBQztBQWdCL0I7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBTSxDQUFDLEtBQUssVUFBVSxjQUFjLENBQ2xDLFlBQTBCLEVBQzFCLGFBQXlCLEVBQ3pCLGdCQUF5QixFQUN6QixpQkFBeUIsRUFDekIsZ0JBQXdCLEVBQ3hCLHNCQUE4QjtJQUU5QixNQUFNLGVBQWUsR0FBYyxFQUFFLENBQUM7SUFDdEMsR0FBRztRQUNELElBQUksZ0JBQWdCLEdBQUcsaUJBQWlCLEVBQUU7WUFDeEMsTUFBTTtTQUNQO1FBQ0QsTUFBTSxvQkFBb0IsR0FBRyxNQUFNLHVCQUF1QixDQUFDLFlBQVksRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUMxRyxJQUFJLG9CQUFvQixDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDckMsTUFBTTtTQUNQO1FBRUQsTUFBTSxTQUFTLEdBQUcsTUFBTSxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsc0JBQXNCLEVBQUUsb0JBQW9CLENBQUMsQ0FBQztRQUNyRyxlQUFlLENBQUMsSUFBSSxDQUFDLEdBQUcsU0FBUyxDQUFDLENBQUM7UUFDbkMsZ0JBQWdCLEdBQUcsb0JBQW9CLENBQUMsb0JBQW9CLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLFdBQVksR0FBRyxFQUFFLENBQUM7UUFDM0Ysc0JBQXNCLElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztLQUNwRCxRQUFRLGdCQUFnQixJ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
|