@aztec/archiver 0.1.0-alpha23 → 0.1.0-alpha40
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 +27 -21
- package/dest/archiver/archiver.d.ts.map +1 -1
- package/dest/archiver/archiver.js +50 -35
- package/dest/archiver/archiver.test.js +9 -10
- package/dest/archiver/archiver_store.d.ts +41 -37
- package/dest/archiver/archiver_store.d.ts.map +1 -1
- package/dest/archiver/archiver_store.js +48 -42
- package/dest/archiver/archiver_store.test.d.ts +2 -0
- package/dest/archiver/archiver_store.test.d.ts.map +1 -0
- package/dest/archiver/archiver_store.test.js +61 -0
- package/dest/archiver/config.d.ts +11 -1
- package/dest/archiver/config.d.ts.map +1 -1
- package/dest/archiver/config.js +4 -3
- package/dest/archiver/data_retrieval.d.ts +4 -4
- package/dest/archiver/data_retrieval.d.ts.map +1 -1
- package/dest/archiver/data_retrieval.js +3 -3
- package/dest/archiver/eth_log_handlers.d.ts +6 -6
- package/dest/archiver/eth_log_handlers.d.ts.map +1 -1
- package/dest/archiver/eth_log_handlers.js +13 -13
- package/dest/archiver/l1_to_l2_message_store.d.ts +1 -1
- package/dest/archiver/l1_to_l2_message_store.d.ts.map +1 -1
- package/dest/archiver/l1_to_l2_message_store.js +6 -6
- package/dest/archiver/l1_to_l2_message_store.test.js +4 -4
- package/dest/index.d.ts.map +1 -1
- package/dest/index.js +5 -5
- package/package.json +7 -6
- package/src/archiver/archiver.test.ts +11 -10
- package/src/archiver/archiver.ts +61 -38
- package/src/archiver/archiver_store.test.ts +74 -0
- package/src/archiver/archiver_store.ts +72 -63
- package/src/archiver/config.ts +17 -3
- package/src/archiver/data_retrieval.ts +10 -8
- package/src/archiver/eth_log_handlers.ts +18 -17
- package/src/archiver/l1_to_l2_message_store.test.ts +4 -3
- package/src/archiver/l1_to_l2_message_store.ts +5 -5
- package/src/index.ts +6 -4
- package/tsconfig.json +3 -0
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
-
import { DebugLogger } from '@aztec/foundation/log';
|
|
3
|
-
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
4
2
|
import { AztecAddress } from '@aztec/foundation/aztec-address';
|
|
5
|
-
import {
|
|
6
|
-
import { ContractData, ContractPublicData, ContractDataSource, EncodedContractFunction, L2Block, L2BlockSource, L2LogsSource } from '@aztec/types';
|
|
7
|
-
import { Chain, HttpTransport, PublicClient } from 'viem';
|
|
3
|
+
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
8
4
|
import { Fr } from '@aztec/foundation/fields';
|
|
9
|
-
import {
|
|
5
|
+
import { DebugLogger } from '@aztec/foundation/log';
|
|
6
|
+
import { ContractData, ContractDataAndBytecode, ContractDataSource, EncodedContractFunction, L1ToL2Message, L1ToL2MessageSource, L2Block, L2BlockL2Logs, L2BlockSource, L2LogsSource, LogType } from '@aztec/types';
|
|
7
|
+
import { Chain, HttpTransport, PublicClient } from 'viem';
|
|
10
8
|
import { ArchiverDataStore } from './archiver_store.js';
|
|
9
|
+
import { ArchiverConfig } from './config.js';
|
|
11
10
|
/**
|
|
12
11
|
* Pulls L2 blocks in a non-blocking manner and provides interface for their retrieval.
|
|
13
12
|
* Responsible for handling robust L1 polling so that other components do not need to
|
|
@@ -71,40 +70,47 @@ export declare class Archiver implements L2BlockSource, L2LogsSource, ContractDa
|
|
|
71
70
|
* @returns A promise signalling completion of the stop process.
|
|
72
71
|
*/
|
|
73
72
|
stop(): Promise<void>;
|
|
73
|
+
getRollupAddress(): Promise<EthAddress>;
|
|
74
74
|
/**
|
|
75
|
-
* Gets
|
|
75
|
+
* Gets up to `limit` amount of L2 blocks starting from `from`.
|
|
76
76
|
* @param from - Number of the first block to return (inclusive).
|
|
77
|
-
* @param
|
|
77
|
+
* @param limit - The number of blocks to return.
|
|
78
78
|
* @returns The requested L2 blocks.
|
|
79
79
|
*/
|
|
80
|
-
getL2Blocks(from: number,
|
|
80
|
+
getL2Blocks(from: number, limit: number): Promise<L2Block[]>;
|
|
81
|
+
/**
|
|
82
|
+
* Gets an l2 block.
|
|
83
|
+
* @param number - The block number to return (inclusive).
|
|
84
|
+
* @returns The requested L2 block.
|
|
85
|
+
*/
|
|
86
|
+
getL2Block(number: number): Promise<L2Block | undefined>;
|
|
81
87
|
/**
|
|
82
88
|
* Lookup the L2 contract data for this contract.
|
|
83
89
|
* Contains the contract's public function bytecode.
|
|
84
90
|
* @param contractAddress - The contract data address.
|
|
85
91
|
* @returns The contract data.
|
|
86
92
|
*/
|
|
87
|
-
|
|
93
|
+
getContractDataAndBytecode(contractAddress: AztecAddress): Promise<ContractDataAndBytecode | undefined>;
|
|
88
94
|
/**
|
|
89
95
|
* Lookup all contract data in an L2 block.
|
|
90
96
|
* @param blockNum - The block number to get all contract data from.
|
|
91
97
|
* @returns All new contract data in the block (if found).
|
|
92
98
|
*/
|
|
93
|
-
|
|
99
|
+
getContractDataAndBytecodeInBlock(blockNum: number): Promise<ContractDataAndBytecode[]>;
|
|
94
100
|
/**
|
|
95
|
-
* Lookup the
|
|
101
|
+
* Lookup the contract data for this contract.
|
|
96
102
|
* Contains contract address & the ethereum portal address.
|
|
97
103
|
* @param contractAddress - The contract data address.
|
|
98
104
|
* @returns ContractData with the portal address (if we didn't throw an error).
|
|
99
105
|
*/
|
|
100
|
-
|
|
106
|
+
getContractData(contractAddress: AztecAddress): Promise<ContractData | undefined>;
|
|
101
107
|
/**
|
|
102
|
-
* Lookup the L2 contract
|
|
108
|
+
* Lookup the L2 contract data inside a block.
|
|
103
109
|
* Contains contract address & the ethereum portal address.
|
|
104
110
|
* @param l2BlockNum - The L2 block number to get the contract data from.
|
|
105
111
|
* @returns ContractData with the portal address (if we didn't throw an error).
|
|
106
112
|
*/
|
|
107
|
-
|
|
113
|
+
getContractDataInBlock(l2BlockNum: number): Promise<ContractData[] | undefined>;
|
|
108
114
|
/**
|
|
109
115
|
* Gets the public function data for a contract.
|
|
110
116
|
* @param contractAddress - The contract address containing the function to fetch.
|
|
@@ -113,24 +119,24 @@ export declare class Archiver implements L2BlockSource, L2LogsSource, ContractDa
|
|
|
113
119
|
*/
|
|
114
120
|
getPublicFunction(contractAddress: AztecAddress, functionSelector: Buffer): Promise<EncodedContractFunction | undefined>;
|
|
115
121
|
/**
|
|
116
|
-
* Gets
|
|
122
|
+
* Gets up to `limit` amount of logs starting from `from`.
|
|
117
123
|
* @param from - Number of the L2 block to which corresponds the first logs to be returned.
|
|
118
|
-
* @param
|
|
124
|
+
* @param limit - The number of logs to return.
|
|
119
125
|
* @param logType - Specifies whether to return encrypted or unencrypted logs.
|
|
120
126
|
* @returns The requested logs.
|
|
121
127
|
*/
|
|
122
|
-
getLogs(from: number,
|
|
128
|
+
getLogs(from: number, limit: number, logType: LogType): Promise<L2BlockL2Logs[]>;
|
|
123
129
|
/**
|
|
124
130
|
* Gets the number of the latest L2 block processed by the block source implementation.
|
|
125
131
|
* @returns The number of the latest L2 block processed by the block source implementation.
|
|
126
132
|
*/
|
|
127
133
|
getBlockHeight(): Promise<number>;
|
|
128
134
|
/**
|
|
129
|
-
* Gets
|
|
130
|
-
* @param
|
|
135
|
+
* Gets up to `limit` amount of pending L1 to L2 messages.
|
|
136
|
+
* @param limit - The number of messages to return.
|
|
131
137
|
* @returns The requested L1 to L2 messages' keys.
|
|
132
138
|
*/
|
|
133
|
-
getPendingL1ToL2Messages(
|
|
139
|
+
getPendingL1ToL2Messages(limit: number): Promise<Fr[]>;
|
|
134
140
|
/**
|
|
135
141
|
* Gets the confirmed/consumed L1 to L2 message associated with the given message key
|
|
136
142
|
* @param messageKey - The message key.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"archiver.d.ts","sourceRoot":"","sources":["../../src/archiver/archiver.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"archiver.d.ts","sourceRoot":"","sources":["../../src/archiver/archiver.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,11 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { createEthereumChain } from '@aztec/ethereum';
|
|
2
2
|
import { createDebugLogger } from '@aztec/foundation/log';
|
|
3
3
|
import { RunningPromise } from '@aztec/foundation/running-promise';
|
|
4
|
-
import { INITIAL_L2_BLOCK_NUM, LogType } from '@aztec/types';
|
|
5
|
-
import
|
|
4
|
+
import { INITIAL_L2_BLOCK_NUM, L2Block, LogType, } from '@aztec/types';
|
|
5
|
+
import omit from 'lodash.omit';
|
|
6
6
|
import { createPublicClient, http } from 'viem';
|
|
7
|
-
import { createEthereumChain } from '@aztec/ethereum';
|
|
8
|
-
import { retrieveBlocks, retrieveNewContractData, retrieveNewPendingL1ToL2Messages, retrieveNewCancelledL1ToL2Messages, } from './data_retrieval.js';
|
|
9
7
|
import { MemoryArchiverStore } from './archiver_store.js';
|
|
8
|
+
import { retrieveBlocks, retrieveNewCancelledL1ToL2Messages, retrieveNewContractData, retrieveNewPendingL1ToL2Messages, } from './data_retrieval.js';
|
|
10
9
|
/**
|
|
11
10
|
* Pulls L2 blocks in a non-blocking manner and provides interface for their retrieval.
|
|
12
11
|
* Responsible for handling robust L1 polling so that other components do not need to
|
|
@@ -58,9 +57,10 @@ export class Archiver {
|
|
|
58
57
|
const publicClient = createPublicClient({
|
|
59
58
|
chain: chain.chainInfo,
|
|
60
59
|
transport: http(chain.rpcUrl),
|
|
60
|
+
pollingInterval: config.viemPollingIntervalMS,
|
|
61
61
|
});
|
|
62
62
|
const archiverStore = new MemoryArchiverStore();
|
|
63
|
-
const archiver = new Archiver(publicClient, config.rollupContract, config.inboxContract, config.contractDeploymentEmitterContract, config.searchStartBlock, archiverStore, config.
|
|
63
|
+
const archiver = new Archiver(publicClient, config.rollupContract, config.inboxContract, config.contractDeploymentEmitterContract, config.searchStartBlock, archiverStore, config.archiverPollingIntervalMS);
|
|
64
64
|
await archiver.start(blockUntilSynced);
|
|
65
65
|
return archiver;
|
|
66
66
|
}
|
|
@@ -93,7 +93,7 @@ export class Archiver {
|
|
|
93
93
|
}
|
|
94
94
|
return;
|
|
95
95
|
}
|
|
96
|
-
// ********** Events that are processed
|
|
96
|
+
// ********** Events that are processed in between blocks **********
|
|
97
97
|
// Process l1ToL2Messages, these are consumed as time passes, not each block
|
|
98
98
|
const retrievedPendingL1ToL2Messages = await retrieveNewPendingL1ToL2Messages(this.publicClient, this.inboxAddress, blockUntilSynced, currentBlockNumber, this.lastProcessedBlockNumber + 1n);
|
|
99
99
|
const retrievedCancelledL1ToL2Messages = await retrieveNewCancelledL1ToL2Messages(this.publicClient, this.inboxAddress, blockUntilSynced, currentBlockNumber, this.lastProcessedBlockNumber + 1n);
|
|
@@ -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
|
|
137
|
+
this.log(`Retrieved contract data and bytecode for l2 block number: ${index}`);
|
|
138
138
|
if (l2BlockNum <= lastKnownL2BlockNum) {
|
|
139
|
-
await this.store.
|
|
139
|
+
await this.store.addContractDataAndBytecode(contracts, l2BlockNum);
|
|
140
140
|
}
|
|
141
141
|
});
|
|
142
142
|
// from retrieved L2Blocks, confirm L1 to L2 messages that have been published
|
|
@@ -160,14 +160,30 @@ export class Archiver {
|
|
|
160
160
|
this.log('Stopped.');
|
|
161
161
|
return Promise.resolve();
|
|
162
162
|
}
|
|
163
|
+
getRollupAddress() {
|
|
164
|
+
return Promise.resolve(this.rollupAddress);
|
|
165
|
+
}
|
|
163
166
|
/**
|
|
164
|
-
* Gets
|
|
167
|
+
* Gets up to `limit` amount of L2 blocks starting from `from`.
|
|
165
168
|
* @param from - Number of the first block to return (inclusive).
|
|
166
|
-
* @param
|
|
169
|
+
* @param limit - The number of blocks to return.
|
|
167
170
|
* @returns The requested L2 blocks.
|
|
168
171
|
*/
|
|
169
|
-
getL2Blocks(from,
|
|
170
|
-
return this.store.getL2Blocks(from,
|
|
172
|
+
getL2Blocks(from, limit) {
|
|
173
|
+
return this.store.getL2Blocks(from, limit);
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Gets an l2 block.
|
|
177
|
+
* @param number - The block number to return (inclusive).
|
|
178
|
+
* @returns The requested L2 block.
|
|
179
|
+
*/
|
|
180
|
+
async getL2Block(number) {
|
|
181
|
+
// If the number provided is -ve, then return the latest block.
|
|
182
|
+
if (number < 0) {
|
|
183
|
+
number = this.store.getBlocksLength();
|
|
184
|
+
}
|
|
185
|
+
const blocks = await this.store.getL2Blocks(number, 1);
|
|
186
|
+
return blocks.length === 0 ? undefined : blocks[0];
|
|
171
187
|
}
|
|
172
188
|
/**
|
|
173
189
|
* Lookup the L2 contract data for this contract.
|
|
@@ -175,34 +191,34 @@ export class Archiver {
|
|
|
175
191
|
* @param contractAddress - The contract data address.
|
|
176
192
|
* @returns The contract data.
|
|
177
193
|
*/
|
|
178
|
-
|
|
179
|
-
return this.store.
|
|
194
|
+
getContractDataAndBytecode(contractAddress) {
|
|
195
|
+
return this.store.getContractDataAndBytecode(contractAddress);
|
|
180
196
|
}
|
|
181
197
|
/**
|
|
182
198
|
* Lookup all contract data in an L2 block.
|
|
183
199
|
* @param blockNum - The block number to get all contract data from.
|
|
184
200
|
* @returns All new contract data in the block (if found).
|
|
185
201
|
*/
|
|
186
|
-
|
|
187
|
-
return this.store.
|
|
202
|
+
getContractDataAndBytecodeInBlock(blockNum) {
|
|
203
|
+
return this.store.getContractDataAndBytecodeInBlock(blockNum);
|
|
188
204
|
}
|
|
189
205
|
/**
|
|
190
|
-
* Lookup the
|
|
206
|
+
* Lookup the contract data for this contract.
|
|
191
207
|
* Contains contract address & the ethereum portal address.
|
|
192
208
|
* @param contractAddress - The contract data address.
|
|
193
209
|
* @returns ContractData with the portal address (if we didn't throw an error).
|
|
194
210
|
*/
|
|
195
|
-
|
|
196
|
-
return this.store.
|
|
211
|
+
getContractData(contractAddress) {
|
|
212
|
+
return this.store.getContractData(contractAddress);
|
|
197
213
|
}
|
|
198
214
|
/**
|
|
199
|
-
* Lookup the L2 contract
|
|
215
|
+
* Lookup the L2 contract data inside a block.
|
|
200
216
|
* Contains contract address & the ethereum portal address.
|
|
201
217
|
* @param l2BlockNum - The L2 block number to get the contract data from.
|
|
202
218
|
* @returns ContractData with the portal address (if we didn't throw an error).
|
|
203
219
|
*/
|
|
204
|
-
|
|
205
|
-
return this.store.
|
|
220
|
+
getContractDataInBlock(l2BlockNum) {
|
|
221
|
+
return this.store.getContractDataInBlock(l2BlockNum);
|
|
206
222
|
}
|
|
207
223
|
/**
|
|
208
224
|
* Gets the public function data for a contract.
|
|
@@ -211,19 +227,18 @@ export class Archiver {
|
|
|
211
227
|
* @returns The public function data (if found).
|
|
212
228
|
*/
|
|
213
229
|
async getPublicFunction(contractAddress, functionSelector) {
|
|
214
|
-
const contractData = await this.
|
|
215
|
-
|
|
216
|
-
return result;
|
|
230
|
+
const contractData = await this.getContractDataAndBytecode(contractAddress);
|
|
231
|
+
return contractData?.getPublicFunction(functionSelector);
|
|
217
232
|
}
|
|
218
233
|
/**
|
|
219
|
-
* Gets
|
|
234
|
+
* Gets up to `limit` amount of logs starting from `from`.
|
|
220
235
|
* @param from - Number of the L2 block to which corresponds the first logs to be returned.
|
|
221
|
-
* @param
|
|
236
|
+
* @param limit - The number of logs to return.
|
|
222
237
|
* @param logType - Specifies whether to return encrypted or unencrypted logs.
|
|
223
238
|
* @returns The requested logs.
|
|
224
239
|
*/
|
|
225
|
-
getLogs(from,
|
|
226
|
-
return this.store.getLogs(from,
|
|
240
|
+
getLogs(from, limit, logType) {
|
|
241
|
+
return this.store.getLogs(from, limit, logType);
|
|
227
242
|
}
|
|
228
243
|
/**
|
|
229
244
|
* Gets the number of the latest L2 block processed by the block source implementation.
|
|
@@ -233,12 +248,12 @@ export class Archiver {
|
|
|
233
248
|
return this.store.getBlockHeight();
|
|
234
249
|
}
|
|
235
250
|
/**
|
|
236
|
-
* Gets
|
|
237
|
-
* @param
|
|
251
|
+
* Gets up to `limit` amount of pending L1 to L2 messages.
|
|
252
|
+
* @param limit - The number of messages to return.
|
|
238
253
|
* @returns The requested L1 to L2 messages' keys.
|
|
239
254
|
*/
|
|
240
|
-
getPendingL1ToL2Messages(
|
|
241
|
-
return this.store.getPendingL1ToL2MessageKeys(
|
|
255
|
+
getPendingL1ToL2Messages(limit) {
|
|
256
|
+
return this.store.getPendingL1ToL2MessageKeys(limit);
|
|
242
257
|
}
|
|
243
258
|
/**
|
|
244
259
|
* Gets the confirmed/consumed L1 to L2 message associated with the given message key
|
|
@@ -249,4 +264,4 @@ export class Archiver {
|
|
|
249
264
|
return this.store.getConfirmedL1ToL2Message(messageKey);
|
|
250
265
|
}
|
|
251
266
|
}
|
|
252
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
267
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJjaGl2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXJjaGl2ZXIvYXJjaGl2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFJdEQsT0FBTyxFQUFlLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ25FLE9BQU8sRUFLTCxvQkFBb0IsRUFHcEIsT0FBTyxFQUlQLE9BQU8sR0FDUixNQUFNLGNBQWMsQ0FBQztBQUV0QixPQUFPLElBQUksTUFBTSxhQUFhLENBQUM7QUFDL0IsT0FBTyxFQUFzQyxrQkFBa0IsRUFBRSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFcEYsT0FBTyxFQUFxQixtQkFBbUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRTdFLE9BQU8sRUFDTCxjQUFjLEVBQ2Qsa0NBQWtDLEVBQ2xDLHVCQUF1QixFQUN2QixnQ0FBZ0MsR0FDakMsTUFBTSxxQkFBcUIsQ0FBQztBQUU3Qjs7OztHQUlHO0FBQ0gsTUFBTSxPQUFPLFFBQVE7SUFxQm5COzs7Ozs7Ozs7O09BVUc7SUFDSCxZQUNtQixZQUFnRCxFQUNoRCxhQUF5QixFQUN6QixZQUF3QixFQUN4QixnQ0FBNEMsRUFDN0QsZ0JBQXdCLEVBQ1AsS0FBd0IsRUFDeEIsb0JBQW9CLEtBQU0sRUFDMUIsTUFBbUIsaUJBQWlCLENBQUMsZ0JBQWdCLENBQUM7UUFQdEQsaUJBQVksR0FBWixZQUFZLENBQW9DO1FBQ2hELGtCQUFhLEdBQWIsYUFBYSxDQUFZO1FBQ3pCLGlCQUFZLEdBQVosWUFBWSxDQUFZO1FBQ3hCLHFDQUFnQyxHQUFoQyxnQ0FBZ0MsQ0FBWTtRQUU1QyxVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQUN4QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQVM7UUFDMUIsUUFBRyxHQUFI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
|
|
@@ -1,14 +1,13 @@
|
|
|
1
|
+
import { AztecAddress } from '@aztec/foundation/aztec-address';
|
|
2
|
+
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
3
|
+
import { Fr } from '@aztec/foundation/fields';
|
|
4
|
+
import { sleep } from '@aztec/foundation/sleep';
|
|
1
5
|
import { RollupAbi } from '@aztec/l1-artifacts';
|
|
2
|
-
import { ContractData,
|
|
6
|
+
import { ContractData, ContractDataAndBytecode, EncodedContractFunction, L2Block, L2BlockL2Logs, LogType, } from '@aztec/types';
|
|
3
7
|
import { mock } from 'jest-mock-extended';
|
|
4
8
|
import { encodeFunctionData, toHex } from 'viem';
|
|
5
9
|
import { Archiver } from './archiver.js';
|
|
6
|
-
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
7
|
-
import { sleep } from '@aztec/foundation/sleep';
|
|
8
|
-
import { AztecAddress } from '@aztec/foundation/aztec-address';
|
|
9
|
-
import { randomBytes } from '@aztec/foundation/crypto';
|
|
10
10
|
import { MemoryArchiverStore } from './archiver_store.js';
|
|
11
|
-
import { Fr } from '@aztec/foundation/fields';
|
|
12
11
|
describe('Archiver', () => {
|
|
13
12
|
const rollupAddress = '0x0000000000000000000000000000000000000000';
|
|
14
13
|
const inboxAddress = '0x0000000000000000000000000000000000000000';
|
|
@@ -115,7 +114,7 @@ function makeContractDeploymentEvent(l1BlockNum, l2Block) {
|
|
|
115
114
|
// const contractData = ContractData.random();
|
|
116
115
|
const aztecAddress = AztecAddress.random();
|
|
117
116
|
const portalAddress = EthAddress.random();
|
|
118
|
-
const contractData = new
|
|
117
|
+
const contractData = new ContractDataAndBytecode(new ContractData(aztecAddress, portalAddress), [
|
|
119
118
|
EncodedContractFunction.random(),
|
|
120
119
|
EncodedContractFunction.random(),
|
|
121
120
|
]);
|
|
@@ -147,8 +146,8 @@ function makeL1ToL2MessageAddedEvents(l1BlockNum, entryKeys) {
|
|
|
147
146
|
senderChainId: 1n,
|
|
148
147
|
recipient: AztecAddress.random().toString(),
|
|
149
148
|
recipientVersion: 1n,
|
|
150
|
-
content:
|
|
151
|
-
secretHash:
|
|
149
|
+
content: Fr.random().toString(true),
|
|
150
|
+
secretHash: Fr.random().toString(true),
|
|
152
151
|
deadline: 100,
|
|
153
152
|
fee: 1n,
|
|
154
153
|
entryKey: entryKey,
|
|
@@ -185,4 +184,4 @@ function makeRollupTx(l2Block) {
|
|
|
185
184
|
const input = encodeFunctionData({ abi: RollupAbi, functionName: 'process', args: [proof, block] });
|
|
186
185
|
return { input };
|
|
187
186
|
}
|
|
188
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
187
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJjaGl2ZXIudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hcmNoaXZlci9hcmNoaXZlci50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMvRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDM0QsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNoRCxPQUFPLEVBQTBDLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3hGLE9BQU8sRUFDTCxZQUFZLEVBQ1osdUJBQXVCLEVBQ3ZCLHVCQUF1QixFQUN2QixPQUFPLEVBQ1AsYUFBYSxFQUNiLE9BQU8sR0FDUixNQUFNLGNBQWMsQ0FBQztBQUV0QixPQUFPLEVBQWEsSUFBSSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxFQUF3RCxrQkFBa0IsRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdkcsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQXFCLG1CQUFtQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFN0UsUUFBUSxDQUFDLFVBQVUsRUFBRSxHQUFHLEVBQUU7SUFDeEIsTUFBTSxhQUFhLEdBQUcsNENBQTRDLENBQUM7SUFDbkUsTUFBTSxZQUFZLEdBQUcsNENBQTRDLENBQUM7SUFDbEUsTUFBTSxnQ0FBZ0MsR0FBRyw0Q0FBNEMsQ0FBQztJQUN0RixNQUFNLFNBQVMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDNUIsSUFBSSxZQUEyRCxDQUFDO0lBQ2hFLElBQUksYUFBZ0MsQ0FBQztJQUVyQyxVQUFVLENBQUMsR0FBRyxFQUFFO1FBQ2QsWUFB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
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { ContractPublicData, L2Block, ContractData, L1ToL2Message, L2BlockL2Logs, LogType } from '@aztec/types';
|
|
2
1
|
import { Fr } from '@aztec/circuits.js';
|
|
3
2
|
import { AztecAddress } from '@aztec/foundation/aztec-address';
|
|
3
|
+
import { ContractData, ContractDataAndBytecode, L1ToL2Message, L2Block, L2BlockL2Logs, LogType } 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
|
|
6
|
+
* (blocks, encrypted logs, aztec contract data and bytecode).
|
|
7
7
|
*/
|
|
8
8
|
export interface ArchiverDataStore {
|
|
9
9
|
/**
|
|
@@ -13,12 +13,12 @@ export interface ArchiverDataStore {
|
|
|
13
13
|
*/
|
|
14
14
|
addL2Blocks(blocks: L2Block[]): Promise<boolean>;
|
|
15
15
|
/**
|
|
16
|
-
* Gets
|
|
16
|
+
* Gets up to `limit` amount of L2 blocks starting from `from`.
|
|
17
17
|
* @param from - Number of the first block to return (inclusive).
|
|
18
|
-
* @param
|
|
18
|
+
* @param limit - The number of blocks to return.
|
|
19
19
|
* @returns The requested L2 blocks.
|
|
20
20
|
*/
|
|
21
|
-
getL2Blocks(from: number,
|
|
21
|
+
getL2Blocks(from: number, limit: number): Promise<L2Block[]>;
|
|
22
22
|
/**
|
|
23
23
|
* Append new logs to the store's list.
|
|
24
24
|
* @param data - The logs to be added to the store.
|
|
@@ -46,11 +46,11 @@ export interface ArchiverDataStore {
|
|
|
46
46
|
*/
|
|
47
47
|
confirmL1ToL2Messages(messageKeys: Fr[]): Promise<boolean>;
|
|
48
48
|
/**
|
|
49
|
-
* Gets
|
|
50
|
-
* @param
|
|
49
|
+
* Gets up to `limit` amount of pending L1 to L2 messages, sorted by fee
|
|
50
|
+
* @param limit - The number of messages to return (by default NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP).
|
|
51
51
|
* @returns The requested L1 to L2 message keys.
|
|
52
52
|
*/
|
|
53
|
-
getPendingL1ToL2MessageKeys(
|
|
53
|
+
getPendingL1ToL2MessageKeys(limit: number): Promise<Fr[]>;
|
|
54
54
|
/**
|
|
55
55
|
* Gets the confirmed L1 to L2 message corresponding to the given message key.
|
|
56
56
|
* @param messageKey - The message key to look up.
|
|
@@ -58,46 +58,46 @@ export interface ArchiverDataStore {
|
|
|
58
58
|
*/
|
|
59
59
|
getConfirmedL1ToL2Message(messageKey: Fr): Promise<L1ToL2Message>;
|
|
60
60
|
/**
|
|
61
|
-
* Gets
|
|
61
|
+
* Gets up to `limit` amount of logs starting from `from`.
|
|
62
62
|
* @param from - Number of the L2 block to which corresponds the first logs to be returned.
|
|
63
|
-
* @param
|
|
63
|
+
* @param limit - The number of logs to return.
|
|
64
64
|
* @param logType - Specifies whether to return encrypted or unencrypted logs.
|
|
65
65
|
* @returns The requested logs.
|
|
66
66
|
*/
|
|
67
|
-
getLogs(from: number,
|
|
67
|
+
getLogs(from: number, limit: number, logType: LogType): Promise<L2BlockL2Logs[]>;
|
|
68
68
|
/**
|
|
69
|
-
* Store new Contract
|
|
69
|
+
* Store new Contract data and bytecode from an L2 block to the store's list.
|
|
70
70
|
* @param data - List of contracts' data to be added.
|
|
71
71
|
* @param blockNum - Number of the L2 block the contract data was deployed in.
|
|
72
72
|
* @returns True if the operation is successful.
|
|
73
73
|
*/
|
|
74
|
-
|
|
74
|
+
addContractDataAndBytecode(data: ContractDataAndBytecode[], blockNum: number): Promise<boolean>;
|
|
75
75
|
/**
|
|
76
76
|
* Lookup the L2 contract data for a contract address.
|
|
77
77
|
* @param contractAddress - The contract data address.
|
|
78
78
|
* @returns The contract's public data.
|
|
79
79
|
*/
|
|
80
|
-
|
|
80
|
+
getContractDataAndBytecode(contractAddress: AztecAddress): Promise<ContractDataAndBytecode | undefined>;
|
|
81
81
|
/**
|
|
82
|
-
* Lookup all contract data in an L2 block.
|
|
82
|
+
* Lookup all contract data and bytecode in an L2 block.
|
|
83
83
|
* @param blockNum - The block number to get all contract data from.
|
|
84
|
-
* @returns All contract
|
|
84
|
+
* @returns All contract data and bytecode in the block (if found).
|
|
85
85
|
*/
|
|
86
|
-
|
|
86
|
+
getContractDataAndBytecodeInBlock(blockNum: number): Promise<ContractDataAndBytecode[]>;
|
|
87
87
|
/**
|
|
88
88
|
* Get basic info for an L2 contract.
|
|
89
89
|
* Contains contract address & the ethereum portal address.
|
|
90
90
|
* @param contractAddress - The contract data address.
|
|
91
91
|
* @returns ContractData with the portal address (if we didn't throw an error).
|
|
92
92
|
*/
|
|
93
|
-
|
|
93
|
+
getContractData(contractAddress: AztecAddress): Promise<ContractData | undefined>;
|
|
94
94
|
/**
|
|
95
95
|
* Get basic info for an all L2 contracts deployed in a block.
|
|
96
96
|
* Contains contract address & the ethereum portal address.
|
|
97
97
|
* @param l2BlockNum - Number of the L2 block where contracts were deployed.
|
|
98
98
|
* @returns ContractData with the portal address (if we didn't throw an error).
|
|
99
99
|
*/
|
|
100
|
-
|
|
100
|
+
getContractDataInBlock(l2BlockNum: number): Promise<ContractData[] | undefined>;
|
|
101
101
|
/**
|
|
102
102
|
* Gets the number of the latest L2 block processed.
|
|
103
103
|
* @returns The number of the latest L2 block processed.
|
|
@@ -128,9 +128,13 @@ export declare class MemoryArchiverStore implements ArchiverDataStore {
|
|
|
128
128
|
*/
|
|
129
129
|
private unencryptedLogs;
|
|
130
130
|
/**
|
|
131
|
-
* A sparse array containing all the contract data that have been fetched so far.
|
|
131
|
+
* A sparse array containing all the contract data and bytecode that have been fetched so far.
|
|
132
|
+
*/
|
|
133
|
+
private contractDataAndBytecodeByBlock;
|
|
134
|
+
/**
|
|
135
|
+
* A mapping of contract address to contract data and bytecode.
|
|
132
136
|
*/
|
|
133
|
-
private
|
|
137
|
+
private contractDataAndBytecode;
|
|
134
138
|
/**
|
|
135
139
|
* Contains all the confirmed L1 to L2 messages (i.e. messages that were consumed in an L2 block)
|
|
136
140
|
* It is a map of entryKey to the corresponding L1 to L2 message and the number of times it has appeared
|
|
@@ -174,25 +178,25 @@ export declare class MemoryArchiverStore implements ArchiverDataStore {
|
|
|
174
178
|
*/
|
|
175
179
|
confirmL1ToL2Messages(messageKeys: Fr[]): Promise<boolean>;
|
|
176
180
|
/**
|
|
177
|
-
* Store new Contract
|
|
181
|
+
* Store new Contract data and bytecode from an L2 block to the store's list.
|
|
178
182
|
* @param data - List of contracts' data to be added.
|
|
179
183
|
* @param blockNum - Number of the L2 block the contract data was deployed in.
|
|
180
184
|
* @returns True if the operation is successful (always in this implementation).
|
|
181
185
|
*/
|
|
182
|
-
|
|
186
|
+
addContractDataAndBytecode(data: ContractDataAndBytecode[], blockNum: number): Promise<boolean>;
|
|
183
187
|
/**
|
|
184
|
-
* Gets
|
|
188
|
+
* Gets up to `limit` amount of L2 blocks starting from `from`.
|
|
185
189
|
* @param from - Number of the first block to return (inclusive).
|
|
186
|
-
* @param
|
|
190
|
+
* @param limit - The number of blocks to return.
|
|
187
191
|
* @returns The requested L2 blocks.
|
|
188
192
|
*/
|
|
189
|
-
getL2Blocks(from: number,
|
|
193
|
+
getL2Blocks(from: number, limit: number): Promise<L2Block[]>;
|
|
190
194
|
/**
|
|
191
|
-
* Gets
|
|
192
|
-
* @param
|
|
195
|
+
* Gets up to `limit` amount of pending L1 to L2 messages, sorted by fee
|
|
196
|
+
* @param limit - The number of messages to return (by default NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP).
|
|
193
197
|
* @returns The requested L1 to L2 message keys.
|
|
194
198
|
*/
|
|
195
|
-
getPendingL1ToL2MessageKeys(
|
|
199
|
+
getPendingL1ToL2MessageKeys(limit?: number): Promise<Fr[]>;
|
|
196
200
|
/**
|
|
197
201
|
* Gets the confirmed L1 to L2 message corresponding to the given message key.
|
|
198
202
|
* @param messageKey - The message key to look up.
|
|
@@ -200,39 +204,39 @@ export declare class MemoryArchiverStore implements ArchiverDataStore {
|
|
|
200
204
|
*/
|
|
201
205
|
getConfirmedL1ToL2Message(messageKey: Fr): Promise<L1ToL2Message>;
|
|
202
206
|
/**
|
|
203
|
-
* Gets
|
|
207
|
+
* Gets up to `limit` amount of logs starting from `from`.
|
|
204
208
|
* @param from - Number of the L2 block to which corresponds the first logs to be returned.
|
|
205
|
-
* @param
|
|
209
|
+
* @param limit - The number of logs to return.
|
|
206
210
|
* @param logType - Specifies whether to return encrypted or unencrypted logs.
|
|
207
211
|
* @returns The requested logs.
|
|
208
212
|
*/
|
|
209
|
-
getLogs(from: number,
|
|
213
|
+
getLogs(from: number, limit: number, logType: LogType): Promise<L2BlockL2Logs[]>;
|
|
210
214
|
/**
|
|
211
215
|
* Lookup the L2 contract data for a contract address.
|
|
212
216
|
* @param contractAddress - The contract data address.
|
|
213
217
|
* @returns The contract's public data.
|
|
214
218
|
*/
|
|
215
|
-
|
|
219
|
+
getContractDataAndBytecode(contractAddress: AztecAddress): Promise<ContractDataAndBytecode | undefined>;
|
|
216
220
|
/**
|
|
217
221
|
* Lookup all contract data in an L2 block.
|
|
218
222
|
* @param blockNum - The block number to get all contract data from.
|
|
219
|
-
* @returns All contract
|
|
223
|
+
* @returns All contract data and bytecode in the block (if found).
|
|
220
224
|
*/
|
|
221
|
-
|
|
225
|
+
getContractDataAndBytecodeInBlock(blockNum: number): Promise<ContractDataAndBytecode[]>;
|
|
222
226
|
/**
|
|
223
227
|
* Get basic info for an L2 contract.
|
|
224
228
|
* Contains contract address & the ethereum portal address.
|
|
225
229
|
* @param contractAddress - The contract data address.
|
|
226
230
|
* @returns ContractData with the portal address (if we didn't throw an error).
|
|
227
231
|
*/
|
|
228
|
-
|
|
232
|
+
getContractData(contractAddress: AztecAddress): Promise<ContractData | undefined>;
|
|
229
233
|
/**
|
|
230
234
|
* Get basic info for an all L2 contracts deployed in a block.
|
|
231
235
|
* Contains contract address & the ethereum portal address.
|
|
232
236
|
* @param l2BlockNum - Number of the L2 block where contracts were deployed.
|
|
233
237
|
* @returns ContractData with the portal address (if we didn't throw an error).
|
|
234
238
|
*/
|
|
235
|
-
|
|
239
|
+
getContractDataInBlock(l2BlockNum: number): Promise<ContractData[] | undefined>;
|
|
236
240
|
/**
|
|
237
241
|
* Gets the number of the latest L2 block processed.
|
|
238
242
|
* @returns The number of the latest L2 block processed.
|