@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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"archiver_store.d.ts","sourceRoot":"","sources":["../../src/archiver/archiver_store.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"archiver_store.d.ts","sourceRoot":"","sources":["../../src/archiver/archiver_store.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { INITIAL_L2_BLOCK_NUM, LogType, } from '@aztec/types';
|
|
2
1
|
import { NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP } from '@aztec/circuits.js';
|
|
2
|
+
import { INITIAL_L2_BLOCK_NUM, LogType, } from '@aztec/types';
|
|
3
3
|
import { L1ToL2MessageStore, PendingL1ToL2MessageStore } from './l1_to_l2_message_store.js';
|
|
4
4
|
/**
|
|
5
5
|
* Simple, in-memory implementation of an archiver data store.
|
|
@@ -21,9 +21,13 @@ export class MemoryArchiverStore {
|
|
|
21
21
|
*/
|
|
22
22
|
this.unencryptedLogs = [];
|
|
23
23
|
/**
|
|
24
|
-
* A sparse array containing all the contract data that have been fetched so far.
|
|
24
|
+
* A sparse array containing all the contract data and bytecode that have been fetched so far.
|
|
25
|
+
*/
|
|
26
|
+
this.contractDataAndBytecodeByBlock = [];
|
|
27
|
+
/**
|
|
28
|
+
* A mapping of contract address to contract data and bytecode.
|
|
25
29
|
*/
|
|
26
|
-
this.
|
|
30
|
+
this.contractDataAndBytecode = new Map();
|
|
27
31
|
/**
|
|
28
32
|
* Contains all the confirmed L1 to L2 messages (i.e. messages that were consumed in an L2 block)
|
|
29
33
|
* It is a map of entryKey to the corresponding L1 to L2 message and the number of times it has appeared
|
|
@@ -89,44 +93,51 @@ export class MemoryArchiverStore {
|
|
|
89
93
|
return Promise.resolve(true);
|
|
90
94
|
}
|
|
91
95
|
/**
|
|
92
|
-
* Store new Contract
|
|
96
|
+
* Store new Contract data and bytecode from an L2 block to the store's list.
|
|
93
97
|
* @param data - List of contracts' data to be added.
|
|
94
98
|
* @param blockNum - Number of the L2 block the contract data was deployed in.
|
|
95
99
|
* @returns True if the operation is successful (always in this implementation).
|
|
96
100
|
*/
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
101
|
+
addContractDataAndBytecode(data, blockNum) {
|
|
102
|
+
// Add to the contracts mapping
|
|
103
|
+
for (const contractData of data) {
|
|
104
|
+
const key = contractData.contractData.contractAddress.toString();
|
|
105
|
+
this.contractDataAndBytecode.set(key, contractData);
|
|
106
|
+
}
|
|
107
|
+
// Add the index per block
|
|
108
|
+
if (this.contractDataAndBytecodeByBlock[blockNum]?.length) {
|
|
109
|
+
this.contractDataAndBytecodeByBlock[blockNum]?.push(...data);
|
|
100
110
|
}
|
|
101
111
|
else {
|
|
102
|
-
this.
|
|
112
|
+
this.contractDataAndBytecodeByBlock[blockNum] = [...data];
|
|
103
113
|
}
|
|
104
114
|
return Promise.resolve(true);
|
|
105
115
|
}
|
|
106
116
|
/**
|
|
107
|
-
* Gets
|
|
117
|
+
* Gets up to `limit` amount of L2 blocks starting from `from`.
|
|
108
118
|
* @param from - Number of the first block to return (inclusive).
|
|
109
|
-
* @param
|
|
119
|
+
* @param limit - The number of blocks to return.
|
|
110
120
|
* @returns The requested L2 blocks.
|
|
111
121
|
*/
|
|
112
|
-
getL2Blocks(from,
|
|
113
|
-
if
|
|
114
|
-
|
|
122
|
+
getL2Blocks(from, limit) {
|
|
123
|
+
// Return an empty array if we are outside of range
|
|
124
|
+
if (limit < 1) {
|
|
125
|
+
throw new Error(`Invalid block range from: ${from}, limit: ${limit}`);
|
|
115
126
|
}
|
|
116
|
-
if (from > this.l2Blocks.length) {
|
|
127
|
+
if (from < INITIAL_L2_BLOCK_NUM || from > this.l2Blocks.length) {
|
|
117
128
|
return Promise.resolve([]);
|
|
118
129
|
}
|
|
119
130
|
const startIndex = from - INITIAL_L2_BLOCK_NUM;
|
|
120
|
-
const endIndex =
|
|
131
|
+
const endIndex = startIndex + limit;
|
|
121
132
|
return Promise.resolve(this.l2Blocks.slice(startIndex, endIndex));
|
|
122
133
|
}
|
|
123
134
|
/**
|
|
124
|
-
* Gets
|
|
125
|
-
* @param
|
|
135
|
+
* Gets up to `limit` amount of pending L1 to L2 messages, sorted by fee
|
|
136
|
+
* @param limit - The number of messages to return (by default NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP).
|
|
126
137
|
* @returns The requested L1 to L2 message keys.
|
|
127
138
|
*/
|
|
128
|
-
getPendingL1ToL2MessageKeys(
|
|
129
|
-
return Promise.resolve(this.pendingL1ToL2Messages.getMessageKeys(
|
|
139
|
+
getPendingL1ToL2MessageKeys(limit = NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP) {
|
|
140
|
+
return Promise.resolve(this.pendingL1ToL2Messages.getMessageKeys(limit));
|
|
130
141
|
}
|
|
131
142
|
/**
|
|
132
143
|
* Gets the confirmed L1 to L2 message corresponding to the given message key.
|
|
@@ -136,27 +147,27 @@ export class MemoryArchiverStore {
|
|
|
136
147
|
getConfirmedL1ToL2Message(messageKey) {
|
|
137
148
|
const message = this.confirmedL1ToL2Messages.getMessage(messageKey);
|
|
138
149
|
if (!message) {
|
|
139
|
-
throw new Error(`Message with key ${messageKey.toString()} not found`);
|
|
150
|
+
throw new Error(`L1 to L2 Message with key ${messageKey.toString()} not found in the confirmed messages store`);
|
|
140
151
|
}
|
|
141
152
|
return Promise.resolve(message);
|
|
142
153
|
}
|
|
143
154
|
/**
|
|
144
|
-
* Gets
|
|
155
|
+
* Gets up to `limit` amount of logs starting from `from`.
|
|
145
156
|
* @param from - Number of the L2 block to which corresponds the first logs to be returned.
|
|
146
|
-
* @param
|
|
157
|
+
* @param limit - The number of logs to return.
|
|
147
158
|
* @param logType - Specifies whether to return encrypted or unencrypted logs.
|
|
148
159
|
* @returns The requested logs.
|
|
149
160
|
*/
|
|
150
|
-
getLogs(from,
|
|
151
|
-
if (from < INITIAL_L2_BLOCK_NUM) {
|
|
152
|
-
throw new Error(`Invalid block range ${from}`);
|
|
161
|
+
getLogs(from, limit, logType) {
|
|
162
|
+
if (from < INITIAL_L2_BLOCK_NUM || limit < 1) {
|
|
163
|
+
throw new Error(`Invalid block range from: ${from}, limit: ${limit}`);
|
|
153
164
|
}
|
|
154
165
|
const logs = logType === LogType.ENCRYPTED ? this.encryptedLogs : this.unencryptedLogs;
|
|
155
166
|
if (from > logs.length) {
|
|
156
167
|
return Promise.resolve([]);
|
|
157
168
|
}
|
|
158
169
|
const startIndex = from - INITIAL_L2_BLOCK_NUM;
|
|
159
|
-
const endIndex =
|
|
170
|
+
const endIndex = startIndex + limit;
|
|
160
171
|
return Promise.resolve(logs.slice(startIndex, endIndex));
|
|
161
172
|
}
|
|
162
173
|
/**
|
|
@@ -164,28 +175,20 @@ export class MemoryArchiverStore {
|
|
|
164
175
|
* @param contractAddress - The contract data address.
|
|
165
176
|
* @returns The contract's public data.
|
|
166
177
|
*/
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
for (let i = INITIAL_L2_BLOCK_NUM; i < this.contractPublicData.length; i++) {
|
|
170
|
-
const contracts = this.contractPublicData[i];
|
|
171
|
-
const contract = contracts?.find(c => c.contractData.contractAddress.equals(contractAddress));
|
|
172
|
-
if (contract) {
|
|
173
|
-
result = contract;
|
|
174
|
-
break;
|
|
175
|
-
}
|
|
176
|
-
}
|
|
178
|
+
getContractDataAndBytecode(contractAddress) {
|
|
179
|
+
const result = this.contractDataAndBytecode.get(contractAddress.toString());
|
|
177
180
|
return Promise.resolve(result);
|
|
178
181
|
}
|
|
179
182
|
/**
|
|
180
183
|
* Lookup all contract data in an L2 block.
|
|
181
184
|
* @param blockNum - The block number to get all contract data from.
|
|
182
|
-
* @returns All contract
|
|
185
|
+
* @returns All contract data and bytecode in the block (if found).
|
|
183
186
|
*/
|
|
184
|
-
|
|
187
|
+
getContractDataAndBytecodeInBlock(blockNum) {
|
|
185
188
|
if (blockNum > this.l2Blocks.length) {
|
|
186
189
|
return Promise.resolve([]);
|
|
187
190
|
}
|
|
188
|
-
return Promise.resolve(this.
|
|
191
|
+
return Promise.resolve(this.contractDataAndBytecodeByBlock[blockNum] || []);
|
|
189
192
|
}
|
|
190
193
|
/**
|
|
191
194
|
* Get basic info for an L2 contract.
|
|
@@ -193,7 +196,10 @@ export class MemoryArchiverStore {
|
|
|
193
196
|
* @param contractAddress - The contract data address.
|
|
194
197
|
* @returns ContractData with the portal address (if we didn't throw an error).
|
|
195
198
|
*/
|
|
196
|
-
|
|
199
|
+
getContractData(contractAddress) {
|
|
200
|
+
if (contractAddress.isZero()) {
|
|
201
|
+
return Promise.resolve(undefined);
|
|
202
|
+
}
|
|
197
203
|
for (const block of this.l2Blocks) {
|
|
198
204
|
for (const contractData of block.newContractData) {
|
|
199
205
|
if (contractData.contractAddress.equals(contractAddress)) {
|
|
@@ -209,7 +215,7 @@ export class MemoryArchiverStore {
|
|
|
209
215
|
* @param l2BlockNum - Number of the L2 block where contracts were deployed.
|
|
210
216
|
* @returns ContractData with the portal address (if we didn't throw an error).
|
|
211
217
|
*/
|
|
212
|
-
|
|
218
|
+
getContractDataInBlock(l2BlockNum) {
|
|
213
219
|
if (l2BlockNum > this.l2Blocks.length) {
|
|
214
220
|
return Promise.resolve([]);
|
|
215
221
|
}
|
|
@@ -233,4 +239,4 @@ export class MemoryArchiverStore {
|
|
|
233
239
|
return this.l2Blocks.length;
|
|
234
240
|
}
|
|
235
241
|
}
|
|
236
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
242
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJjaGl2ZXJfc3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXJjaGl2ZXIvYXJjaGl2ZXJfc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFNLG1DQUFtQyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFN0UsT0FBTyxFQUdMLG9CQUFvQixFQUlwQixPQUFPLEdBQ1IsTUFBTSxjQUFjLENBQUM7QUFFdEIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLHlCQUF5QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUE4SDVGOztHQUVHO0FBQ0gsTUFBTSxPQUFPLG1CQUFtQjtJQXVDOUI7UUF0Q0E7O1dBRUc7UUFDSyxhQUFRLEdBQWMsRUFBRSxDQUFDO1FBRWpDOzs7V0FHRztRQUNLLGtCQUFhLEdBQW9CLEVBQUUsQ0FBQztRQUU1Qzs7O1dBR0c7UUFDSyxvQkFBZSxHQUFvQixFQUFFLENBQUM7UUFFOUM7O1dBRUc7UUFDSyxtQ0FBOEIsR0FBOEMsRUFBRSxDQUFDO1FBRXZGOztXQUVHO1FBQ0ssNEJBQXVCLEdBQXlDLElBQUksR0FBRyxFQUFFLENBQUM7UUFFbEY7OztXQUdHO1FBQ0ssNEJBQXVCLEdBQXVCLElBQUksa0JBQWtCLEVBQUUsQ0FBQztRQUUvRTs7V0FFRztRQUNLLDBCQUFxQixHQUE4QixJQUFJLHlCQUF5QixFQUFFLENBQUM7SUFFNUUsQ0FBQztJQUVoQjs7OztPQUlHO0lBQ0ksV0FBVyxDQUFDLE1BQWlCO1FBQ2xDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUM7UUFDOUIsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILE9BQU8sQ0FBQyxJQUFxQixFQUFFLE9BQWdCO1FBQzdDLE9BQU8sS0FBSyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMs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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"archiver_store.test.d.ts","sourceRoot":"","sources":["../../src/archiver/archiver_store.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { INITIAL_L2_BLOCK_NUM, L2Block, L2BlockL2Logs, LogType } from '@aztec/types';
|
|
2
|
+
import { MemoryArchiverStore } from './archiver_store.js';
|
|
3
|
+
describe('Archiver Memory Store', () => {
|
|
4
|
+
let archiverStore;
|
|
5
|
+
beforeEach(() => {
|
|
6
|
+
archiverStore = new MemoryArchiverStore();
|
|
7
|
+
});
|
|
8
|
+
it('can store and retrieve blocks', async () => {
|
|
9
|
+
const blocks = Array(10)
|
|
10
|
+
.fill(0)
|
|
11
|
+
.map((_, index) => L2Block.random(index));
|
|
12
|
+
await archiverStore.addL2Blocks(blocks);
|
|
13
|
+
// Offset indices by INTIAL_L2_BLOCK_NUM to ensure we are correctly aligned
|
|
14
|
+
for (const [from, limit] of [
|
|
15
|
+
[0 + INITIAL_L2_BLOCK_NUM, 10],
|
|
16
|
+
[3 + INITIAL_L2_BLOCK_NUM, 3],
|
|
17
|
+
[1 + INITIAL_L2_BLOCK_NUM, 7],
|
|
18
|
+
[5 + INITIAL_L2_BLOCK_NUM, 8],
|
|
19
|
+
[10 + INITIAL_L2_BLOCK_NUM, 1],
|
|
20
|
+
[11 + INITIAL_L2_BLOCK_NUM, 1],
|
|
21
|
+
]) {
|
|
22
|
+
const expected = blocks.slice(from - INITIAL_L2_BLOCK_NUM, from - INITIAL_L2_BLOCK_NUM + limit);
|
|
23
|
+
const actual = await archiverStore.getL2Blocks(from, limit);
|
|
24
|
+
expect(expected).toEqual(actual);
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
test.each([LogType.ENCRYPTED, LogType.UNENCRYPTED])('can store and retrieve logs', async (logType) => {
|
|
28
|
+
const logs = Array(10)
|
|
29
|
+
.fill(0)
|
|
30
|
+
.map(_ => L2BlockL2Logs.random(6, 3, 2));
|
|
31
|
+
await archiverStore.addLogs(logs, logType);
|
|
32
|
+
// Offset indices by INTIAL_L2_BLOCK_NUM to ensure we are correctly aligned
|
|
33
|
+
for (const [from, limit] of [
|
|
34
|
+
[0 + INITIAL_L2_BLOCK_NUM, 10],
|
|
35
|
+
[3 + INITIAL_L2_BLOCK_NUM, 3],
|
|
36
|
+
[1 + INITIAL_L2_BLOCK_NUM, 7],
|
|
37
|
+
[5 + INITIAL_L2_BLOCK_NUM, 8],
|
|
38
|
+
[10 + INITIAL_L2_BLOCK_NUM, 1],
|
|
39
|
+
[11 + INITIAL_L2_BLOCK_NUM, 1],
|
|
40
|
+
]) {
|
|
41
|
+
const expected = logs.slice(from - INITIAL_L2_BLOCK_NUM, from - INITIAL_L2_BLOCK_NUM + limit);
|
|
42
|
+
const actual = await archiverStore.getLogs(from, limit, logType);
|
|
43
|
+
expect(expected).toEqual(actual);
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
it('throws if we try and request less than 1 block', async () => {
|
|
47
|
+
const blocks = Array(10)
|
|
48
|
+
.fill(0)
|
|
49
|
+
.map((_, index) => L2Block.random(index));
|
|
50
|
+
await archiverStore.addL2Blocks(blocks);
|
|
51
|
+
await expect(async () => await archiverStore.getL2Blocks(1, 0)).rejects.toThrow(`Invalid block range from: 1, limit: 0`);
|
|
52
|
+
});
|
|
53
|
+
test.each([LogType.ENCRYPTED, LogType.UNENCRYPTED])('throws if we try and request less than 1 log', async (logType) => {
|
|
54
|
+
const logs = Array(10)
|
|
55
|
+
.fill(0)
|
|
56
|
+
.map(_ => L2BlockL2Logs.random(6, 3, 2));
|
|
57
|
+
await archiverStore.addLogs(logs, logType);
|
|
58
|
+
await expect(async () => await archiverStore.getLogs(1, 0, logType)).rejects.toThrow(`Invalid block range from: 1, limit: 0`);
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJjaGl2ZXJfc3RvcmUudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hcmNoaXZlci9hcmNoaXZlcl9zdG9yZS50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE9BQU8sRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUVyRixPQUFPLEVBQXFCLG1CQUFtQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFN0UsUUFBUSxDQUFDLHVCQUF1QixFQUFFLEdBQUcsRUFBRTtJQUNyQyxJQUFJLGFBQWdDLENBQUM7SUFFckMsVUFBVSxDQUFDLEdBQUcsRUFBRTtRQUNkLGFBQWEsR0FBRyxJQUFJLG1CQUFtQixFQUFFLENBQUM7SUFDNUMsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsK0JBQStCLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDN0MsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQzthQUNyQixJQUFJLENBQUMsQ0FBQyxDQUFDO2FBQ1AsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQzVDLE1BQU0sYUFBYSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN4QywyRUFBMkU7UUFDM0UsS0FBSyxNQUFNLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJO1lBQzFCLENBQUMsQ0FBQyxHQUFHLG9CQUFvQixFQUFFLEVBQUUsQ0FBQztZQUM5QixDQUFDLENBQUMsR0FBRyxvQkFBb0IsRUFBRSxDQUFDLENBQUM7WUFDN0IsQ0FBQyxDQUFDLEdBQUcsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDO1lBQzdCLENBQUMsQ0FBQyxHQUFHLG9CQUFvQixFQUFFLENBQUMsQ0FBQztZQUM3QixDQUFDLEVBQUUsR0FBRyxv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
|
|
@@ -1,4 +1,10 @@
|
|
|
1
1
|
import { L1Addresses } from '@aztec/types';
|
|
2
|
+
/**
|
|
3
|
+
* There are 2 polling intervals used in this configuration. The first is the archiver polling interval, archiverPollingIntervalMS.
|
|
4
|
+
* This is the interval between successive calls to eth_blockNumber via viem.
|
|
5
|
+
* Results of calls to eth_blockNumber are cached by viem with this cache being updated periodically at the interval specified by viemPollingIntervalMS.
|
|
6
|
+
* As a result the maximum observed polling time for new blocks will be viemPollingIntervalMS + archiverPollingIntervalMS.
|
|
7
|
+
*/
|
|
2
8
|
/**
|
|
3
9
|
* The archiver configuration.
|
|
4
10
|
*/
|
|
@@ -14,7 +20,11 @@ export interface ArchiverConfig extends L1Addresses {
|
|
|
14
20
|
/**
|
|
15
21
|
* The polling interval in ms for retrieving new L2 blocks and encrypted logs.
|
|
16
22
|
*/
|
|
17
|
-
|
|
23
|
+
archiverPollingIntervalMS?: number;
|
|
24
|
+
/**
|
|
25
|
+
* The polling interval viem uses in ms
|
|
26
|
+
*/
|
|
27
|
+
viemPollingIntervalMS?: number;
|
|
18
28
|
/**
|
|
19
29
|
* Eth block from which we start scanning for L2Blocks.
|
|
20
30
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/archiver/config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,WAAW;IACjD;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/archiver/config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C;;;;;GAKG;AAEH;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,WAAW;IACjD;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,yBAAyB,CAAC,EAAE,MAAM,CAAC;IAEnC;;OAEG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAE/B;;OAEG;IACH,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,cAAc,CAuBjD"}
|
package/dest/archiver/config.js
CHANGED
|
@@ -5,10 +5,11 @@ import { EthAddress } from '@aztec/foundation/eth-address';
|
|
|
5
5
|
* @returns The archiver configuration.
|
|
6
6
|
*/
|
|
7
7
|
export function getConfigEnvVars() {
|
|
8
|
-
const { ETHEREUM_HOST,
|
|
8
|
+
const { ETHEREUM_HOST, ARCHIVER_POLLING_INTERVAL_MS, ARCHIVER_VIEM_POLLING_INTERVAL_MS, ROLLUP_CONTRACT_ADDRESS, CONTRACT_DEPLOYMENT_EMITTER_ADDRESS, SEARCH_START_BLOCK, API_KEY, INBOX_CONTRACT_ADDRESS, } = process.env;
|
|
9
9
|
return {
|
|
10
10
|
rpcUrl: ETHEREUM_HOST || 'http://127.0.0.1:8545/',
|
|
11
|
-
|
|
11
|
+
archiverPollingIntervalMS: ARCHIVER_POLLING_INTERVAL_MS ? +ARCHIVER_POLLING_INTERVAL_MS : 1000,
|
|
12
|
+
viemPollingIntervalMS: ARCHIVER_VIEM_POLLING_INTERVAL_MS ? +ARCHIVER_VIEM_POLLING_INTERVAL_MS : 1000,
|
|
12
13
|
rollupContract: ROLLUP_CONTRACT_ADDRESS ? EthAddress.fromString(ROLLUP_CONTRACT_ADDRESS) : EthAddress.ZERO,
|
|
13
14
|
inboxContract: INBOX_CONTRACT_ADDRESS ? EthAddress.fromString(INBOX_CONTRACT_ADDRESS) : EthAddress.ZERO,
|
|
14
15
|
contractDeploymentEmitterContract: CONTRACT_DEPLOYMENT_EMITTER_ADDRESS
|
|
@@ -18,4 +19,4 @@ export function getConfigEnvVars() {
|
|
|
18
19
|
apiKey: API_KEY,
|
|
19
20
|
};
|
|
20
21
|
}
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FyY2hpdmVyL2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUF3QzNEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsZ0JBQWdCO0lBQzlCLE1BQU0sRUFDSixhQUFhLEVBQ2IsNEJBQTRCLEVBQzVCLGlDQUFpQyxFQUNqQyx1QkFBdUIsRUFDdkIsbUNBQW1DLEVBQ25DLGtCQUFrQixFQUNsQixPQUFPLEVBQ1Asc0JBQXNCLEdBQ3ZCLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQztJQUNoQixPQUFPO1FBQ0wsTUFBTSxFQUFFLGFBQWEsSUFBSSx3QkFBd0I7UUFDakQseUJBQXlCLEVBQUUsNEJBQTRCLENBQUMsQ0FBQyxDQUFDLENBQUMsNEJBQTRCLENBQUMsQ0FBQyxDQUFDLElBQUs7UUFDL0YscUJBQXFCLEVBQUUsaUNBQWlDLENBQUMsQ0FBQyxDQUFDLENBQUMsaUNBQWlDLENBQUMsQ0FBQyxDQUFDLElBQUs7UUFDckcsY0FBYyxFQUFFLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJO1FBQzFHLGFBQWEsRUFBRSxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSTtRQUN2RyxpQ0FBaUMsRUFBRSxtQ0FBbUM7WUFDcEUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsbUNBQW1DLENBQUM7WUFDNUQsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJO1FBQ25CLGdCQUFnQixFQUFFLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzlELE1BQU0sRUFBRSxPQUFPO0tBQ2hCLENBQUM7QUFDSixDQUFDIn0=
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
-
import { PublicClient } from 'viem';
|
|
3
2
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
4
|
-
import { ContractPublicData, L1ToL2Message, L2Block } from '@aztec/types';
|
|
5
3
|
import { Fr } from '@aztec/foundation/fields';
|
|
4
|
+
import { ContractDataAndBytecode, L1ToL2Message, L2Block } from '@aztec/types';
|
|
5
|
+
import { PublicClient } from 'viem';
|
|
6
6
|
/**
|
|
7
7
|
* Data retrieved from logs
|
|
8
8
|
*/
|
|
@@ -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 ContractDataAndBytecode 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<[ContractDataAndBytecode[], 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,
|
|
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,uBAAuB,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAE/E,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,uBAAuB,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAmB7D;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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { getContractDeploymentLogs, getL2BlockProcessedLogs, getPendingL1ToL2MessageLogs,
|
|
1
|
+
import { getContractDeploymentLogs, getL1ToL2MessageCancelledLogs, getL2BlockProcessedLogs, getPendingL1ToL2MessageLogs, processBlockLogs, processCancelledL1ToL2MessagesLogs, processContractDeploymentLogs, processPendingL1ToL2MessageAddedLogs, } from './eth_log_handlers.js';
|
|
2
2
|
/**
|
|
3
3
|
* Fetches new L2 Blocks.
|
|
4
4
|
* @param publicClient - The viem public client to use for transaction retrieval.
|
|
@@ -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 ContractDataAndBytecode 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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
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
-
import { Log, PublicClient } from 'viem';
|
|
3
|
-
import { InboxAbi, RollupAbi, ContractDeploymentEmitterAbi } from '@aztec/l1-artifacts';
|
|
4
|
-
import { Fr } from '@aztec/foundation/fields';
|
|
5
|
-
import { L1ToL2Message, L2Block, ContractPublicData } from '@aztec/types';
|
|
6
2
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
3
|
+
import { Fr } from '@aztec/foundation/fields';
|
|
4
|
+
import { ContractDeploymentEmitterAbi, InboxAbi, RollupAbi } from '@aztec/l1-artifacts';
|
|
5
|
+
import { ContractDataAndBytecode, L1ToL2Message, L2Block } from '@aztec/types';
|
|
6
|
+
import { Log, PublicClient } from 'viem';
|
|
7
7
|
/**
|
|
8
8
|
* Processes newly received MessageAdded (L1 to L2) logs.
|
|
9
9
|
* @param logs - MessageAdded logs.
|
|
@@ -53,11 +53,11 @@ export declare function getContractDeploymentLogs(publicClient: PublicClient, co
|
|
|
53
53
|
* Processes newly received ContractDeployment logs.
|
|
54
54
|
* @param blockHashMapping - A mapping from block number to relevant block hash.
|
|
55
55
|
* @param logs - ContractDeployment logs.
|
|
56
|
-
* @returns The set of retrieved contract
|
|
56
|
+
* @returns The set of retrieved contract data and bytecode items.
|
|
57
57
|
*/
|
|
58
58
|
export declare function processContractDeploymentLogs(blockHashMapping: {
|
|
59
59
|
[key: number]: Buffer | undefined;
|
|
60
|
-
}, logs: Log<bigint, number, undefined, true, typeof ContractDeploymentEmitterAbi, 'ContractDeployment'>[]): [
|
|
60
|
+
}, logs: Log<bigint, number, undefined, true, typeof ContractDeploymentEmitterAbi, 'ContractDeployment'>[]): [ContractDataAndBytecode[], number][];
|
|
61
61
|
/**
|
|
62
62
|
* Get relevant `MessageAdded` logs emitted by Inbox on chain.
|
|
63
63
|
* @param publicClient - The viem public client to use for transaction retrieval.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eth_log_handlers.d.ts","sourceRoot":"","sources":["../../src/archiver/eth_log_handlers.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"eth_log_handlers.d.ts","sourceRoot":"","sources":["../../src/archiver/eth_log_handlers.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAE,4BAA4B,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACxF,OAAO,EAGL,uBAAuB,EAGvB,aAAa,EAEb,OAAO,EACR,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAO,GAAG,EAAE,YAAY,EAA0D,MAAM,MAAM,CAAC;AAEtG;;;;GAIG;AACH,wBAAgB,oCAAoC,CAClD,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,QAAQ,EAAE,cAAc,CAAC,EAAE,GAC5E,aAAa,EAAE,CAkBjB;AAED;;;;GAIG;AACH,wBAAgB,kCAAkC,CAChD,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,QAAQ,EAAE,wBAAwB,CAAC,EAAE,GACtF,EAAE,EAAE,CAMN;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CACpC,YAAY,EAAE,YAAY,EAC1B,qBAAqB,EAAE,MAAM,EAC7B,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,SAAS,EAAE,kBAAkB,CAAC,EAAE,sBAcnF;AA+BD;;;;;;GAMG;AACH,wBAAsB,uBAAuB,CAC3C,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAE,UAAU,EACzB,SAAS,EAAE,MAAM;;;;;;;;;;UAalB;AAED;;;;;;GAMG;AACH,wBAAsB,yBAAyB,CAC7C,YAAY,EAAE,YAAY,EAC1B,gCAAgC,EAAE,UAAU,EAC5C,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,4BAA4B,EAAE,oBAAoB,CAAC,EAAE,CAAC,CAU5G;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAC3C,gBAAgB,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;CAAE,EACvD,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,4BAA4B,EAAE,oBAAoB,CAAC,EAAE,GACtG,CAAC,uBAAuB,EAAE,EAAE,MAAM,CAAC,EAAE,CAsBvC;AAED;;;;;;GAMG;AACH,wBAAsB,2BAA2B,CAC/C,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,UAAU,EACxB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,QAAQ,EAAE,cAAc,CAAC,EAAE,CAAC,CAUlF;AAED;;;;;;GAMG;AACH,wBAAsB,6BAA6B,CACjD,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,UAAU,EACxB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,QAAQ,EAAE,wBAAwB,CAAC,EAAE,CAAC,CAU5F"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { decodeFunctionData, getAbiItem, getAddress, hexToBytes } from 'viem';
|
|
2
|
-
import { InboxAbi, RollupAbi, ContractDeploymentEmitterAbi } from '@aztec/l1-artifacts';
|
|
3
|
-
import { Fr } from '@aztec/foundation/fields';
|
|
4
|
-
import { L1ToL2Message, L1Actor, L2Actor, L2Block, ContractPublicData, BufferReader, ContractData, EncodedContractFunction, } from '@aztec/types';
|
|
5
|
-
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
6
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 { ContractDeploymentEmitterAbi, InboxAbi, RollupAbi } from '@aztec/l1-artifacts';
|
|
5
|
+
import { BufferReader, ContractData, ContractDataAndBytecode, EncodedContractFunction, L1Actor, L1ToL2Message, L2Actor, L2Block, } from '@aztec/types';
|
|
6
|
+
import { decodeFunctionData, getAbiItem, getAddress, hexToBytes } from 'viem';
|
|
7
7
|
/**
|
|
8
8
|
* Processes newly received MessageAdded (L1 to L2) logs.
|
|
9
9
|
* @param logs - MessageAdded logs.
|
|
@@ -116,10 +116,10 @@ export async function getContractDeploymentLogs(publicClient, contractDeployment
|
|
|
116
116
|
* Processes newly received ContractDeployment logs.
|
|
117
117
|
* @param blockHashMapping - A mapping from block number to relevant block hash.
|
|
118
118
|
* @param logs - ContractDeployment logs.
|
|
119
|
-
* @returns The set of retrieved contract
|
|
119
|
+
* @returns The set of retrieved contract data and bytecode items.
|
|
120
120
|
*/
|
|
121
121
|
export function processContractDeploymentLogs(blockHashMapping, logs) {
|
|
122
|
-
const
|
|
122
|
+
const contractDataAndBytecode = [];
|
|
123
123
|
for (let i = 0; i < logs.length; i++) {
|
|
124
124
|
const log = logs[i];
|
|
125
125
|
const l2BlockNum = Number(log.args.l2BlockNum);
|
|
@@ -129,15 +129,15 @@ export function processContractDeploymentLogs(blockHashMapping, logs) {
|
|
|
129
129
|
continue;
|
|
130
130
|
}
|
|
131
131
|
const publicFnsReader = BufferReader.asReader(Buffer.from(log.args.acir.slice(2), 'hex'));
|
|
132
|
-
const contractData = new
|
|
133
|
-
if (
|
|
134
|
-
|
|
132
|
+
const contractData = new ContractDataAndBytecode(new ContractData(AztecAddress.fromString(log.args.aztecAddress), EthAddress.fromString(log.args.portalAddress)), publicFnsReader.readVector(EncodedContractFunction));
|
|
133
|
+
if (contractDataAndBytecode[i]) {
|
|
134
|
+
contractDataAndBytecode[i][0].push(contractData);
|
|
135
135
|
}
|
|
136
136
|
else {
|
|
137
|
-
|
|
137
|
+
contractDataAndBytecode[i] = [[contractData], l2BlockNum];
|
|
138
138
|
}
|
|
139
139
|
}
|
|
140
|
-
return
|
|
140
|
+
return contractDataAndBytecode;
|
|
141
141
|
}
|
|
142
142
|
/**
|
|
143
143
|
* Get relevant `MessageAdded` logs emitted by Inbox on chain.
|
|
@@ -175,4 +175,4 @@ export async function getL1ToL2MessageCancelledLogs(publicClient, inboxAddress,
|
|
|
175
175
|
fromBlock,
|
|
176
176
|
});
|
|
177
177
|
}
|
|
178
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
178
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXRoX2xvZ19oYW5kbGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hcmNoaXZlci9ldGhfbG9nX2hhbmRsZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMvRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDM0QsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzlDLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDeEYsT0FBTyxFQUNMLFlBQVksRUFDWixZQUFZLEVBQ1osdUJBQXVCLEVBQ3ZCLHVCQUF1QixFQUN2QixPQUFPLEVBQ1AsYUFBYSxFQUNiLE9BQU8sRUFDUCxPQUFPLEdBQ1IsTUFBTSxjQUFjLENBQUM7QUFFdEIsT0FBTyxFQUEwQixrQkFBa0IsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV0Rzs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLG9DQUFvQyxDQUNsRCxJQUE2RTtJQUU3RSxNQUFNLGNBQWMsR0FBb0IsRUFBRSxDQUFDO0lBQzNDLEtBQUssTUFBTSxHQUFHLElBQUksSUFBSSxFQUFFO1FBQ3RCLE1BQU0sRUFBRSxNQUFNLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLEdBQ3hHLEdBQUcsQ0FBQyxJQUFJLENBQUM7UUFDWCxjQUFjLENBQUMsSUFBSSxDQUNqQixJQUFJLGFBQWEsQ0FDZixJQUFJLE9BQU8sQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxFQUNqRSxJQUFJLE9BQU8s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
|
|
@@ -20,7 +20,7 @@ export declare class L1ToL2MessageStore {
|
|
|
20
20
|
* for removing messages or fetching multiple messages.
|
|
21
21
|
*/
|
|
22
22
|
export declare class PendingL1ToL2MessageStore extends L1ToL2MessageStore {
|
|
23
|
-
getMessageKeys(
|
|
23
|
+
getMessageKeys(limit: number): Fr[];
|
|
24
24
|
removeMessage(messageKey: Fr): void;
|
|
25
25
|
}
|
|
26
26
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"l1_to_l2_message_store.d.ts","sourceRoot":"","sources":["../../src/archiver/l1_to_l2_message_store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C;;;GAGG;AACH,qBAAa,kBAAkB;IAC7B;;;OAGG;IACH,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAa;;IAIhE,UAAU,CAAC,UAAU,EAAE,EAAE,EAAE,GAAG,EAAE,aAAa;IAU7C,UAAU,CAAC,UAAU,EAAE,EAAE,GAAG,aAAa,GAAG,SAAS;IAIrD,kBAAkB,CAAC,UAAU,EAAE,EAAE,GAAG,qBAAqB,GAAG,SAAS;CAGtE;AAED;;;GAGG;AACH,qBAAa,yBAA0B,SAAQ,kBAAkB;IAC/D,cAAc,CAAC,
|
|
1
|
+
{"version":3,"file":"l1_to_l2_message_store.d.ts","sourceRoot":"","sources":["../../src/archiver/l1_to_l2_message_store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C;;;GAGG;AACH,qBAAa,kBAAkB;IAC7B;;;OAGG;IACH,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAa;;IAIhE,UAAU,CAAC,UAAU,EAAE,EAAE,EAAE,GAAG,EAAE,aAAa;IAU7C,UAAU,CAAC,UAAU,EAAE,EAAE,GAAG,aAAa,GAAG,SAAS;IAIrD,kBAAkB,CAAC,UAAU,EAAE,EAAE,GAAG,qBAAqB,GAAG,SAAS;CAGtE;AAED;;;GAGG;AACH,qBAAa,yBAA0B,SAAQ,kBAAkB;IAC/D,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,EAAE,EAAE;IAmBnC,aAAa,CAAC,UAAU,EAAE,EAAE;CAc7B;AAED;;GAEG;AACH,KAAK,qBAAqB,GAAG;IAC3B;;OAEG;IACH,OAAO,EAAE,aAAa,CAAC;IACvB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;CACf,CAAC"}
|