@aztec/archiver 0.24.0 → 0.26.1
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/dest/archiver/archiver.d.ts +15 -11
- package/dest/archiver/archiver.d.ts.map +1 -1
- package/dest/archiver/archiver.js +67 -72
- package/dest/archiver/archiver_store.d.ts +37 -15
- package/dest/archiver/archiver_store.d.ts.map +1 -1
- package/dest/archiver/archiver_store_test_suite.d.ts.map +1 -1
- package/dest/archiver/archiver_store_test_suite.js +70 -54
- package/dest/archiver/data_retrieval.d.ts +18 -8
- package/dest/archiver/data_retrieval.d.ts.map +1 -1
- package/dest/archiver/data_retrieval.js +39 -14
- package/dest/archiver/eth_log_handlers.d.ts +25 -23
- package/dest/archiver/eth_log_handlers.d.ts.map +1 -1
- package/dest/archiver/eth_log_handlers.js +98 -57
- package/dest/archiver/kv_archiver_store/block_body_store.d.ts +27 -0
- package/dest/archiver/kv_archiver_store/block_body_store.d.ts.map +1 -0
- package/dest/archiver/kv_archiver_store/block_body_store.js +47 -0
- package/dest/archiver/kv_archiver_store/block_store.d.ts +19 -11
- package/dest/archiver/kv_archiver_store/block_store.d.ts.map +1 -1
- package/dest/archiver/kv_archiver_store/block_store.js +58 -30
- package/dest/archiver/kv_archiver_store/contract_class_store.d.ts +1 -0
- package/dest/archiver/kv_archiver_store/contract_class_store.d.ts.map +1 -1
- package/dest/archiver/kv_archiver_store/contract_class_store.js +4 -1
- package/dest/archiver/kv_archiver_store/contract_store.d.ts.map +1 -1
- package/dest/archiver/kv_archiver_store/contract_store.js +6 -3
- package/dest/archiver/kv_archiver_store/kv_archiver_store.d.ts +36 -16
- package/dest/archiver/kv_archiver_store/kv_archiver_store.d.ts.map +1 -1
- package/dest/archiver/kv_archiver_store/kv_archiver_store.js +52 -22
- package/dest/archiver/kv_archiver_store/log_store.d.ts.map +1 -1
- package/dest/archiver/kv_archiver_store/log_store.js +4 -3
- package/dest/archiver/kv_archiver_store/message_store.d.ts +9 -9
- package/dest/archiver/kv_archiver_store/message_store.d.ts.map +1 -1
- package/dest/archiver/kv_archiver_store/message_store.js +34 -31
- package/dest/archiver/memory_archiver_store/l1_to_l2_message_store.d.ts +6 -6
- package/dest/archiver/memory_archiver_store/l1_to_l2_message_store.d.ts.map +1 -1
- package/dest/archiver/memory_archiver_store/l1_to_l2_message_store.js +18 -18
- package/dest/archiver/memory_archiver_store/memory_archiver_store.d.ts +41 -16
- package/dest/archiver/memory_archiver_store/memory_archiver_store.d.ts.map +1 -1
- package/dest/archiver/memory_archiver_store/memory_archiver_store.js +78 -29
- package/dest/index.js +2 -2
- package/dest/rpc/archiver_client.d.ts.map +1 -1
- package/dest/rpc/archiver_client.js +3 -3
- package/dest/rpc/archiver_server.d.ts.map +1 -1
- package/dest/rpc/archiver_server.js +4 -3
- package/package.json +10 -10
- package/src/archiver/archiver.ts +95 -92
- package/src/archiver/archiver_store.ts +42 -15
- package/src/archiver/archiver_store_test_suite.ts +73 -58
- package/src/archiver/data_retrieval.ts +61 -16
- package/src/archiver/eth_log_handlers.ts +142 -68
- package/src/archiver/kv_archiver_store/block_body_store.ts +54 -0
- package/src/archiver/kv_archiver_store/block_store.ts +71 -36
- package/src/archiver/kv_archiver_store/contract_class_store.ts +4 -0
- package/src/archiver/kv_archiver_store/contract_store.ts +7 -2
- package/src/archiver/kv_archiver_store/kv_archiver_store.ts +56 -20
- package/src/archiver/kv_archiver_store/log_store.ts +2 -2
- package/src/archiver/kv_archiver_store/message_store.ts +34 -30
- package/src/archiver/memory_archiver_store/l1_to_l2_message_store.ts +17 -17
- package/src/archiver/memory_archiver_store/memory_archiver_store.ts +91 -29
- package/src/index.ts +1 -0
- package/src/rpc/archiver_client.ts +3 -1
- package/src/rpc/archiver_server.ts +5 -1
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
var _KVArchiverDataStore_blockStore, _KVArchiverDataStore_logStore, _KVArchiverDataStore_contractStore, _KVArchiverDataStore_messageStore, _KVArchiverDataStore_contractClassStore, _KVArchiverDataStore_contractInstanceStore, _KVArchiverDataStore_log;
|
|
1
|
+
var _KVArchiverDataStore_blockStore, _KVArchiverDataStore_blockBodyStore, _KVArchiverDataStore_logStore, _KVArchiverDataStore_contractStore, _KVArchiverDataStore_messageStore, _KVArchiverDataStore_contractClassStore, _KVArchiverDataStore_contractInstanceStore, _KVArchiverDataStore_log;
|
|
2
2
|
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
|
3
3
|
import { createDebugLogger } from '@aztec/foundation/log';
|
|
4
|
+
import { BlockBodyStore } from './block_body_store.js';
|
|
4
5
|
import { BlockStore } from './block_store.js';
|
|
5
6
|
import { ContractClassStore } from './contract_class_store.js';
|
|
6
7
|
import { ContractInstanceStore } from './contract_instance_store.js';
|
|
@@ -13,13 +14,15 @@ import { MessageStore } from './message_store.js';
|
|
|
13
14
|
export class KVArchiverDataStore {
|
|
14
15
|
constructor(db, logsMaxPageSize = 1000) {
|
|
15
16
|
_KVArchiverDataStore_blockStore.set(this, void 0);
|
|
17
|
+
_KVArchiverDataStore_blockBodyStore.set(this, void 0);
|
|
16
18
|
_KVArchiverDataStore_logStore.set(this, void 0);
|
|
17
19
|
_KVArchiverDataStore_contractStore.set(this, void 0);
|
|
18
20
|
_KVArchiverDataStore_messageStore.set(this, void 0);
|
|
19
21
|
_KVArchiverDataStore_contractClassStore.set(this, void 0);
|
|
20
22
|
_KVArchiverDataStore_contractInstanceStore.set(this, void 0);
|
|
21
23
|
_KVArchiverDataStore_log.set(this, createDebugLogger('aztec:archiver:data-store'));
|
|
22
|
-
__classPrivateFieldSet(this,
|
|
24
|
+
__classPrivateFieldSet(this, _KVArchiverDataStore_blockBodyStore, new BlockBodyStore(db), "f");
|
|
25
|
+
__classPrivateFieldSet(this, _KVArchiverDataStore_blockStore, new BlockStore(db, __classPrivateFieldGet(this, _KVArchiverDataStore_blockBodyStore, "f")), "f");
|
|
23
26
|
__classPrivateFieldSet(this, _KVArchiverDataStore_logStore, new LogStore(db, __classPrivateFieldGet(this, _KVArchiverDataStore_blockStore, "f"), logsMaxPageSize), "f");
|
|
24
27
|
__classPrivateFieldSet(this, _KVArchiverDataStore_contractStore, new ContractStore(db, __classPrivateFieldGet(this, _KVArchiverDataStore_blockStore, "f")), "f");
|
|
25
28
|
__classPrivateFieldSet(this, _KVArchiverDataStore_messageStore, new MessageStore(db), "f");
|
|
@@ -29,6 +32,9 @@ export class KVArchiverDataStore {
|
|
|
29
32
|
getContractClass(id) {
|
|
30
33
|
return Promise.resolve(__classPrivateFieldGet(this, _KVArchiverDataStore_contractClassStore, "f").getContractClass(id));
|
|
31
34
|
}
|
|
35
|
+
getContractClassIds() {
|
|
36
|
+
return Promise.resolve(__classPrivateFieldGet(this, _KVArchiverDataStore_contractClassStore, "f").getContractClassIds());
|
|
37
|
+
}
|
|
32
38
|
getContractInstance(address) {
|
|
33
39
|
return Promise.resolve(__classPrivateFieldGet(this, _KVArchiverDataStore_contractInstanceStore, "f").getContractInstance(address));
|
|
34
40
|
}
|
|
@@ -38,6 +44,23 @@ export class KVArchiverDataStore {
|
|
|
38
44
|
async addContractInstances(data, _blockNumber) {
|
|
39
45
|
return (await Promise.all(data.map(c => __classPrivateFieldGet(this, _KVArchiverDataStore_contractInstanceStore, "f").addContractInstance(c)))).every(Boolean);
|
|
40
46
|
}
|
|
47
|
+
/**
|
|
48
|
+
* Append new block bodies to the store's list.
|
|
49
|
+
* @param blockBodies - The L2 block bodies to be added to the store.
|
|
50
|
+
* @returns True if the operation is successful.
|
|
51
|
+
*/
|
|
52
|
+
addBlockBodies(blockBodies) {
|
|
53
|
+
return __classPrivateFieldGet(this, _KVArchiverDataStore_blockBodyStore, "f").addBlockBodies(blockBodies);
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Gets block bodies that have the same txHashes as we supply.
|
|
57
|
+
*
|
|
58
|
+
* @param txsHashes - A list of txsHashes (body hashes).
|
|
59
|
+
* @returns The requested L2 block bodies
|
|
60
|
+
*/
|
|
61
|
+
getBlockBodies(txsHashes) {
|
|
62
|
+
return __classPrivateFieldGet(this, _KVArchiverDataStore_blockBodyStore, "f").getBlockBodies(txsHashes);
|
|
63
|
+
}
|
|
41
64
|
/**
|
|
42
65
|
* Append new blocks to the store's list.
|
|
43
66
|
* @param blocks - The L2 blocks to be added to the store.
|
|
@@ -48,11 +71,10 @@ export class KVArchiverDataStore {
|
|
|
48
71
|
}
|
|
49
72
|
/**
|
|
50
73
|
* Gets up to `limit` amount of L2 blocks starting from `from`.
|
|
51
|
-
* The blocks returned do not contain any logs.
|
|
52
74
|
*
|
|
53
75
|
* @param start - Number of the first block to return (inclusive).
|
|
54
76
|
* @param limit - The number of blocks to return.
|
|
55
|
-
* @returns The requested L2 blocks
|
|
77
|
+
* @returns The requested L2 blocks
|
|
56
78
|
*/
|
|
57
79
|
getBlocks(start, limit) {
|
|
58
80
|
try {
|
|
@@ -64,12 +86,20 @@ export class KVArchiverDataStore {
|
|
|
64
86
|
}
|
|
65
87
|
}
|
|
66
88
|
/**
|
|
67
|
-
* Gets
|
|
68
|
-
* @param txHash - The txHash of the
|
|
69
|
-
* @returns The requested
|
|
89
|
+
* Gets a tx effect.
|
|
90
|
+
* @param txHash - The txHash of the tx corresponding to the tx effect.
|
|
91
|
+
* @returns The requested tx effect (or undefined if not found).
|
|
92
|
+
*/
|
|
93
|
+
getTxEffect(txHash) {
|
|
94
|
+
return Promise.resolve(__classPrivateFieldGet(this, _KVArchiverDataStore_blockStore, "f").getTxEffect(txHash));
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Gets a receipt of a settled tx.
|
|
98
|
+
* @param txHash - The hash of a tx we try to get the receipt for.
|
|
99
|
+
* @returns The requested tx receipt (or undefined if not found).
|
|
70
100
|
*/
|
|
71
|
-
|
|
72
|
-
return Promise.resolve(__classPrivateFieldGet(this, _KVArchiverDataStore_blockStore, "f").
|
|
101
|
+
getSettledTxReceipt(txHash) {
|
|
102
|
+
return Promise.resolve(__classPrivateFieldGet(this, _KVArchiverDataStore_blockStore, "f").getSettledTxReceipt(txHash));
|
|
73
103
|
}
|
|
74
104
|
/**
|
|
75
105
|
* Append new logs to the store's list.
|
|
@@ -92,39 +122,39 @@ export class KVArchiverDataStore {
|
|
|
92
122
|
}
|
|
93
123
|
/**
|
|
94
124
|
* Remove pending L1 to L2 messages from the store (if they were cancelled).
|
|
95
|
-
* @param messages - The
|
|
125
|
+
* @param messages - The entry keys to be removed from the store.
|
|
96
126
|
* @param l1BlockNumber - The L1 block number for which to remove the messages.
|
|
97
127
|
* @returns True if the operation is successful.
|
|
98
128
|
*/
|
|
99
|
-
|
|
129
|
+
cancelPendingL1ToL2EntryKeys(messages, l1BlockNumber) {
|
|
100
130
|
return Promise.resolve(__classPrivateFieldGet(this, _KVArchiverDataStore_messageStore, "f").cancelPendingMessages(messages, l1BlockNumber));
|
|
101
131
|
}
|
|
102
132
|
/**
|
|
103
133
|
* Messages that have been published in an L2 block are confirmed.
|
|
104
134
|
* Add them to the confirmed store, also remove them from the pending store.
|
|
105
|
-
* @param entryKeys - The
|
|
135
|
+
* @param entryKeys - The entry keys to be removed from the store.
|
|
106
136
|
* @param blockNumber - The block for which to add the messages.
|
|
107
137
|
* @returns True if the operation is successful.
|
|
108
138
|
*/
|
|
109
|
-
|
|
139
|
+
confirmL1ToL2EntryKeys(entryKeys) {
|
|
110
140
|
return __classPrivateFieldGet(this, _KVArchiverDataStore_messageStore, "f").confirmPendingMessages(entryKeys);
|
|
111
141
|
}
|
|
112
142
|
/**
|
|
113
143
|
* Gets up to `limit` amount of pending L1 to L2 messages, sorted by fee
|
|
114
144
|
* @param limit - The number of messages to return (by default NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP).
|
|
115
|
-
* @returns The requested L1 to L2
|
|
145
|
+
* @returns The requested L1 to L2 entry keys.
|
|
116
146
|
*/
|
|
117
|
-
|
|
118
|
-
return Promise.resolve(__classPrivateFieldGet(this, _KVArchiverDataStore_messageStore, "f").
|
|
147
|
+
getPendingL1ToL2EntryKeys(limit) {
|
|
148
|
+
return Promise.resolve(__classPrivateFieldGet(this, _KVArchiverDataStore_messageStore, "f").getPendingEntryKeysByFee(limit));
|
|
119
149
|
}
|
|
120
150
|
/**
|
|
121
|
-
* Gets the confirmed L1 to L2 message corresponding to the given
|
|
122
|
-
* @param
|
|
151
|
+
* Gets the confirmed L1 to L2 message corresponding to the given entry key.
|
|
152
|
+
* @param entryKey - The entry key to look up.
|
|
123
153
|
* @returns The requested L1 to L2 message or throws if not found.
|
|
124
154
|
*/
|
|
125
|
-
getConfirmedL1ToL2Message(
|
|
155
|
+
getConfirmedL1ToL2Message(entryKey) {
|
|
126
156
|
try {
|
|
127
|
-
return Promise.resolve(__classPrivateFieldGet(this, _KVArchiverDataStore_messageStore, "f").getConfirmedMessage(
|
|
157
|
+
return Promise.resolve(__classPrivateFieldGet(this, _KVArchiverDataStore_messageStore, "f").getConfirmedMessage(entryKey));
|
|
128
158
|
}
|
|
129
159
|
catch (err) {
|
|
130
160
|
return Promise.reject(err);
|
|
@@ -221,5 +251,5 @@ export class KVArchiverDataStore {
|
|
|
221
251
|
});
|
|
222
252
|
}
|
|
223
253
|
}
|
|
224
|
-
_KVArchiverDataStore_blockStore = new WeakMap(), _KVArchiverDataStore_logStore = new WeakMap(), _KVArchiverDataStore_contractStore = new WeakMap(), _KVArchiverDataStore_messageStore = new WeakMap(), _KVArchiverDataStore_contractClassStore = new WeakMap(), _KVArchiverDataStore_contractInstanceStore = new WeakMap(), _KVArchiverDataStore_log = new WeakMap();
|
|
225
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
254
|
+
_KVArchiverDataStore_blockStore = new WeakMap(), _KVArchiverDataStore_blockBodyStore = new WeakMap(), _KVArchiverDataStore_logStore = new WeakMap(), _KVArchiverDataStore_contractStore = new WeakMap(), _KVArchiverDataStore_messageStore = new WeakMap(), _KVArchiverDataStore_contractClassStore = new WeakMap(), _KVArchiverDataStore_contractInstanceStore = new WeakMap(), _KVArchiverDataStore_log = new WeakMap();
|
|
255
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3ZfYXJjaGl2ZXJfc3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXJjaGl2ZXIva3ZfYXJjaGl2ZXJfc3RvcmUva3ZfYXJjaGl2ZXJfc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFnQkEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFLMUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMvRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVsRDs7R0FFRztBQUNILE1BQU0sT0FBTyxtQkFBbUI7SUFXOUIsWUFBWSxFQUFnQixFQUFFLGtCQUEwQixJQUFJO1FBVjVELGtEQUF3QjtRQUN4QixzREFBZ0M7UUFDaEMsZ0RBQW9CO1FBQ3BCLHFEQUE4QjtRQUM5QixvREFBNEI7UUFDNUIsMERBQXdDO1FBQ3hDLDZEQUE4QztRQUU5QyxtQ0FBTyxpQkFBaUIsQ0FBQywyQkFBMkIsQ0FBQyxFQUFDO1FBR3BELHVCQUFBLElBQUksdUNBQW1CLElBQUksY0FBYyxDQUFDLEVBQUUsQ0FBQyxNQUFBLENBQUM7UUFDOUMsdUJBQUEsSUFBSSxtQ0FBZSxJQUFJLFVBQVUsQ0FBQyxFQUFFLEVBQUUsdUJBQUEsSUFBSSwyQ0FBZ0IsQ0FBQyxNQUFBLENBQUM7UUFDNUQsdUJBQUEsSUFBSSxpQ0FBYSxJQUFJLFFBQVEsQ0FBQyxFQUFFLEVBQUUsdUJB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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"log_store.d.ts","sourceRoot":"","sources":["../../../src/archiver/kv_archiver_store/log_store.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,0BAA0B,
|
|
1
|
+
{"version":3,"file":"log_store.d.ts","sourceRoot":"","sources":["../../../src/archiver/kv_archiver_store/log_store.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,0BAA0B,EAC1B,aAAa,EACb,SAAS,EAET,OAAO,EAER,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,YAAY,EAAY,MAAM,iBAAiB,CAAC;AAEzD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C;;GAEG;AACH,qBAAa,QAAQ;;IAMP,OAAO,CAAC,EAAE;IAAgB,OAAO,CAAC,UAAU;gBAApC,EAAE,EAAE,YAAY,EAAU,UAAU,EAAE,UAAU,EAAE,eAAe,GAAE,MAAa;IAOpG;;;;;;OAMG;IACH,OAAO,CACL,aAAa,EAAE,aAAa,GAAG,SAAS,EACxC,eAAe,EAAE,aAAa,GAAG,SAAS,EAC1C,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,OAAO,CAAC;IAcnB;;;;;;OAMG;IACF,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,gBAAgB,CAAC,aAAa,CAAC;IAOzF;;;;OAIG;IACH,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,0BAA0B;CAkGlE"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
var _LogStore_instances, _LogStore_encryptedLogs, _LogStore_unencryptedLogs, _LogStore_logsMaxPageSize, _LogStore_log, _LogStore_filterUnencryptedLogsOfTx, _LogStore_filterUnencryptedLogsBetweenBlocks, _LogStore_accumulateLogs, _LogStore_getBlockLogs;
|
|
2
2
|
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
|
3
|
-
import { ExtendedUnencryptedL2Log,
|
|
3
|
+
import { ExtendedUnencryptedL2Log, L2BlockL2Logs, LogId, LogType, UnencryptedL2Log, } from '@aztec/circuit-types';
|
|
4
|
+
import { INITIAL_L2_BLOCK_NUM } from '@aztec/circuits.js/constants';
|
|
4
5
|
import { createDebugLogger } from '@aztec/foundation/log';
|
|
5
6
|
/**
|
|
6
7
|
* A store for logs
|
|
@@ -70,7 +71,7 @@ _LogStore_encryptedLogs = new WeakMap(), _LogStore_unencryptedLogs = new WeakMap
|
|
|
70
71
|
if (!filter.txHash) {
|
|
71
72
|
throw new Error('Missing txHash');
|
|
72
73
|
}
|
|
73
|
-
const [blockNumber, txIndex] = this.blockStore.
|
|
74
|
+
const [blockNumber, txIndex] = this.blockStore.getTxLocation(filter.txHash) ?? [];
|
|
74
75
|
if (typeof blockNumber !== 'number' || typeof txIndex !== 'number') {
|
|
75
76
|
return { logs: [], maxLogsHit: false };
|
|
76
77
|
}
|
|
@@ -128,4 +129,4 @@ _LogStore_encryptedLogs = new WeakMap(), _LogStore_unencryptedLogs = new WeakMap
|
|
|
128
129
|
}
|
|
129
130
|
return L2BlockL2Logs.fromBuffer(buffer);
|
|
130
131
|
};
|
|
131
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
132
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nX3N0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FyY2hpdmVyL2t2X2FyY2hpdmVyX3N0b3JlL2xvZ19zdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFDTCx3QkFBd0IsRUFFeEIsYUFBYSxFQUViLEtBQUssRUFDTCxPQUFPLEVBQ1AsZ0JBQWdCLEdBQ2pCLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFLMUQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sUUFBUTtJQU1uQixZQUFvQixFQUFnQixFQUFVLFVBQXNCLEVBQUUsa0JBQTBCLElBQUk7O1FBQWhGLE9BQUUsR0FBRixFQUFFLENBQWM7UUFBVSxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBTHBFLDBDQUF5QztRQUN6Qyw0Q0FBMkM7UUFDM0MsNENBQXlCO1FBQ3pCLHdCQUFPLGlCQUFpQixDQUFDLDBCQUEwQixDQUFDLEVBQUM7UUFHbkQsdUJBQUEsSUFBSSwyQkFBa0IsRUFBRSxDQUFDLE9BQU8sQ0FBQyx5QkFBeUIsQ0FBQyxNQUFBLENBQUM7UUFDNUQsdUJBQUEsSUFBSSw2QkFBb0IsRUFBRSxDQUFDLE9BQU8sQ0FBQywyQkFBMkIsQ0FBQyxNQUFBLENBQUM7UUFFaEUsdUJBQUEsSUFBSSw2QkFBb0IsZUFBZSxNQUFBLENBQUM7SUFDMUMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILE9BQU8sQ0FDTCxhQUF3QyxFQUN4QyxlQUEwQyxFQUMxQyxXQUFtQjtRQUVuQixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRTtZQUM5QixJQUFJLGFBQWEsRUFBRSxDQUFDO2dCQUNsQixLQUFLLHVCQUFBLElBQUksK0JBQWUsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1lBQ3RFLENBQUM7WUFFRCxJQUFJLGVBQWUsRUFBRSxDQUFDO2dCQUNwQixLQUFLLHVCQUFBLElBQUksaUNBQWlCLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxlQUFlLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztZQUMxRSxDQUFDO1lBRUQsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxDQUFDLE9BQU8sQ0FBQyxLQUFhLEVBQUUsS0FBYSxFQUFFLE9BQWdCO1FBQ3JELE1BQU0sTUFBTSxHQUFHLE9BQU8sS0FBSyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyx1QkFBQSxJQUFJLCtCQUFlLENBQUMsQ0FBQyxDQUFDLHVCQUFBLElBQUksaUNBQWlCLENBQUM7UUFDM0YsS0FBSyxNQUFNLE1BQU0sSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNyRCxNQUFNLGFBQWEsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDekMsQ0FBQztJQUNILENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsa0JBQWtCLENBQUMsTUFBaUI7UUFDbEMsSUFBSSxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDcEIsT0FBTyx1QkFBQSxJQUFJLHlFQUFvQyxNQUF4QyxJQUFJLEVBQXFDLE1BQU0sQ0FBQyxDQUFDO1FBQzFELENBQUM7YUFBTSxJQUFJLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUN6QixPQUFPLHVCQUFBLElBQUksZ0VBQTJCLE1BQS9CLElBQUksRUFBNEIsTUFBTSxDQUFDLENBQUM7UUFDakQsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLHVCQUFBLElBQUkseUVBQW9DLE1BQXhDLElBQUksRUFBcUMsTUFBTSxDQUFDLENBQUM7UUFDMUQsQ0FBQztJQUNILENBQUM7Q0EwRkY7c1JBeEY0QixNQUFpQjtJQUMxQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ25CLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsTUFBTSxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2xGLElBQUksT0FBTyxXQUFXLEtBQUssUUFBUSxJQUFJLE9BQU8sT0FBTyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQ25FLE9BQU8sRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRUQsTUFBTSxzQkFBc0IsR0FBRyx1QkFBQSxJQUFJLG1EQUFjLE1BQWxCLElBQUksRUFBZSxXQUFXLEVBQUUsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3BGLE1BQU0sTUFBTSxHQUFHLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUVoSCxNQUFNLElBQUksR0FBK0IsRUFBRSxDQUFDO0lBQzVDLE1BQU0sVUFBVSxHQUFHLHVCQUFBLElBQUkscURBQWdCLE1BQXBCLElBQUksRUFBaUIsSUFBSSxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBRXBGLE9BQU8sRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLENBQUM7QUFDOUIsQ0FBQyx1R0FFbUMsTUFBaUI7SUFDbkQsTUFBTSxLQUFLLEdBQ1QsTUFBTSxDQUFDLFFBQVEsRUFBRSxXQUFXLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsU0FBUyxJQUFJLG9CQUFvQixFQUFFLG9CQUFvQixDQUFDLENBQUM7SUFDM0csTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQztJQUUzQixJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVEsSUFBSSxHQUFHLEdBQUcsS0FBSyxFQUFFLENBQUM7UUFDM0MsT0FBTztZQUNMLElBQUksRUFBRSxFQUFFO1lBQ1IsVUFBVSxFQUFFLElBQUk7U0FDakIsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLElBQUksR0FBK0IsRUFBRSxDQUFDO0lBRTVDLElBQUksVUFBVSxHQUFHLEtBQUssQ0FBQztJQUN2QixjQUFjLEVBQUUsS0FBSyxNQUFNLENBQUMsV0FBVyxFQUFFLFNBQVMsQ0FBQyxJQUFJLHVCQUFBLElBQUksaUNBQWlCLENBQUMsT0FBTyxDQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQztRQUNyRyxNQUFNLHNCQUFzQixHQUFHLGFBQWEsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDbkUsS0FBSyxJQUFJLE9BQU8sR0FBRyxNQUFNLENBQUMsUUFBUSxFQUFFLE9BQU8sSUFBSSxDQUFDLEVBQUUsT0FBTyxHQUFHLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQztZQUM1RyxNQUFNLE1BQU0sR0FBRyxzQkFBc0IsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDaEgsVUFBVSxHQUFHLHVCQUFBLElBQUkscURBQWdCLE1BQXBCLElBQUksRUFBaUIsSUFBSSxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQzlFLElBQUksVUFBVSxFQUFFLENBQUM7Z0JBQ2YsdUJBQUEsSUFBSSxxQkFBSyxNQUFULElBQUksRUFBTSx5QkFBeUIsV0FBVyxFQUFFLENBQUMsQ0FBQztnQkFDbEQsTUFBTSxjQUFjLENBQUM7WUFDdkIsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsQ0FBQztBQUM5QixDQUFDLCtEQUdDLE9BQW1DLEVBQ25DLFdBQW1CLEVBQ25CLE9BQWUsRUFDZixNQUEwQixFQUMxQixNQUFpQjtJQUVqQixJQUFJLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFDdkIsSUFBSSxRQUFRLEdBQUcsT0FBTyxNQUFNLENBQUMsUUFBUSxFQUFFLFFBQVEsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2hHLE9BQU8sUUFBUSxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLEVBQUUsQ0FBQztRQUM1QyxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDN0IsSUFBSSxNQUFNLENBQUMsZUFBZSxJQUFJLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUM7WUFDbEYsU0FBUztRQUNYLENBQUM7UUFFRCxJQUFJLE1BQU0sQ0FBQyxRQUFRLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztZQUM3RCxTQUFTO1FBQ1gsQ0FBQztRQUVELE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSx3QkFBd0IsQ0FBQyxJQUFJLEtBQUssQ0FBQyxXQUFXLEVBQUUsT0FBTyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDM0YsSUFBSSxPQUFPLENBQUMsTUFBTSxJQUFJLHVCQUFBLElBQUksaUNBQWlCLEVBQUUsQ0FBQztZQUM1QyxVQUFVLEdBQUcsSUFBSSxDQUFDO1lBQ2xCLE1BQU07UUFDUixDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU8sVUFBVSxDQUFDO0FBQ3BCLENBQUMsMkRBRWEsV0FBbUIsRUFBRSxPQUFnQjtJQUNqRCxNQUFNLE1BQU0sR0FBRyxPQUFPLEtBQUssT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsdUJBQUEsSUFBSSwrQkFBZSxDQUFDLENBQUMsQ0FBQyx1QkFBQSxJQUFJLGlDQUFpQixDQUFDO0lBQzNGLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7SUFFdkMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1osT0FBTyxJQUFJLGFBQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsT0FBTyxhQUFhLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQzFDLENBQUMifQ==
|
|
@@ -25,29 +25,29 @@ export declare class MessageStore {
|
|
|
25
25
|
addPendingMessages(messages: L1ToL2Message[], l1BlockNumber: bigint): Promise<boolean>;
|
|
26
26
|
/**
|
|
27
27
|
* Remove pending L1 to L2 messages from the store (if they were cancelled).
|
|
28
|
-
* @param
|
|
28
|
+
* @param entryKeys - The entry keys to be removed from the store.
|
|
29
29
|
* @param l1BlockNumber - The L1 block number for which to remove the messages.
|
|
30
30
|
* @returns True if the operation is successful.
|
|
31
31
|
*/
|
|
32
|
-
cancelPendingMessages(
|
|
32
|
+
cancelPendingMessages(entryKeys: Fr[], l1BlockNumber: bigint): Promise<boolean>;
|
|
33
33
|
/**
|
|
34
34
|
* Messages that have been published in an L2 block are confirmed.
|
|
35
35
|
* Add them to the confirmed store, also remove them from the pending store.
|
|
36
|
-
* @param
|
|
36
|
+
* @param entryKeys - The entry keys to be removed from the store.
|
|
37
37
|
* @returns True if the operation is successful.
|
|
38
38
|
*/
|
|
39
|
-
confirmPendingMessages(
|
|
39
|
+
confirmPendingMessages(entryKeys: Fr[]): Promise<boolean>;
|
|
40
40
|
/**
|
|
41
|
-
* Gets the confirmed L1 to L2 message corresponding to the given
|
|
42
|
-
* @param
|
|
41
|
+
* Gets the confirmed L1 to L2 message corresponding to the given entry key.
|
|
42
|
+
* @param entryKey - The entry key to look up.
|
|
43
43
|
* @returns The requested L1 to L2 message or throws if not found.
|
|
44
44
|
*/
|
|
45
|
-
getConfirmedMessage(
|
|
45
|
+
getConfirmedMessage(entryKey: Fr): L1ToL2Message;
|
|
46
46
|
/**
|
|
47
47
|
* Gets up to `limit` amount of pending L1 to L2 messages, sorted by fee
|
|
48
48
|
* @param limit - The number of messages to return (by default NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP).
|
|
49
|
-
* @returns The requested L1 to L2
|
|
49
|
+
* @returns The requested L1 to L2 entry keys.
|
|
50
50
|
*/
|
|
51
|
-
|
|
51
|
+
getPendingEntryKeysByFee(limit: number): Fr[];
|
|
52
52
|
}
|
|
53
53
|
//# sourceMappingURL=message_store.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message_store.d.ts","sourceRoot":"","sources":["../../../src/archiver/kv_archiver_store/message_store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAExC,OAAO,EAAgB,YAAY,EAA4B,MAAM,iBAAiB,CAAC;AAcvF;;GAEG;AACH,qBAAa,YAAY;;IAQX,OAAO,CAAC,EAAE;gBAAF,EAAE,EAAE,YAAY;IAOpC;;;OAGG;IACH,gBAAgB;;;;IAOhB;;;;;OAKG;IACH,kBAAkB,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA4BtF;;;;;OAKG;IACH,qBAAqB,CAAC,
|
|
1
|
+
{"version":3,"file":"message_store.d.ts","sourceRoot":"","sources":["../../../src/archiver/kv_archiver_store/message_store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAExC,OAAO,EAAgB,YAAY,EAA4B,MAAM,iBAAiB,CAAC;AAcvF;;GAEG;AACH,qBAAa,YAAY;;IAQX,OAAO,CAAC,EAAE;gBAAF,EAAE,EAAE,YAAY;IAOpC;;;OAGG;IACH,gBAAgB;;;;IAOhB;;;;;OAKG;IACH,kBAAkB,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA4BtF;;;;;OAKG;IACH,qBAAqB,CAAC,SAAS,EAAE,EAAE,EAAE,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAsB/E;;;;;OAKG;IACH,sBAAsB,CAAC,SAAS,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAqBzD;;;;OAIG;IACH,mBAAmB,CAAC,QAAQ,EAAE,EAAE,GAAG,aAAa;IAahD;;;;OAIG;IACH,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,EAAE,EAAE;CAe9C"}
|
|
@@ -43,39 +43,39 @@ export class MessageStore {
|
|
|
43
43
|
}
|
|
44
44
|
void __classPrivateFieldGet(this, _MessageStore_lastL1BlockAddingMessages, "f").set(l1BlockNumber);
|
|
45
45
|
for (const message of messages) {
|
|
46
|
-
const
|
|
47
|
-
if (!
|
|
46
|
+
const entryKey = message.entryKey?.toString();
|
|
47
|
+
if (!entryKey) {
|
|
48
48
|
throw new Error('Message does not have an entry key');
|
|
49
49
|
}
|
|
50
|
-
void __classPrivateFieldGet(this, _MessageStore_messages, "f").setIfNotExists(
|
|
50
|
+
void __classPrivateFieldGet(this, _MessageStore_messages, "f").setIfNotExists(entryKey, {
|
|
51
51
|
message: message.toBuffer(),
|
|
52
52
|
fee: message.fee,
|
|
53
53
|
confirmed: false,
|
|
54
54
|
});
|
|
55
|
-
void __classPrivateFieldGet(this, _MessageStore_pendingMessagesByFee, "f").update([message.fee,
|
|
55
|
+
void __classPrivateFieldGet(this, _MessageStore_pendingMessagesByFee, "f").update([message.fee, entryKey], 1);
|
|
56
56
|
}
|
|
57
57
|
return true;
|
|
58
58
|
});
|
|
59
59
|
}
|
|
60
60
|
/**
|
|
61
61
|
* Remove pending L1 to L2 messages from the store (if they were cancelled).
|
|
62
|
-
* @param
|
|
62
|
+
* @param entryKeys - The entry keys to be removed from the store.
|
|
63
63
|
* @param l1BlockNumber - The L1 block number for which to remove the messages.
|
|
64
64
|
* @returns True if the operation is successful.
|
|
65
65
|
*/
|
|
66
|
-
cancelPendingMessages(
|
|
66
|
+
cancelPendingMessages(entryKeys, l1BlockNumber) {
|
|
67
67
|
return this.db.transaction(() => {
|
|
68
68
|
const lastL1BlockNumber = __classPrivateFieldGet(this, _MessageStore_lastL1BlockCancellingMessages, "f").get() ?? 0n;
|
|
69
69
|
if (lastL1BlockNumber >= l1BlockNumber) {
|
|
70
70
|
return false;
|
|
71
71
|
}
|
|
72
72
|
void __classPrivateFieldGet(this, _MessageStore_lastL1BlockCancellingMessages, "f").set(l1BlockNumber);
|
|
73
|
-
for (const
|
|
74
|
-
const messageCtx = __classPrivateFieldGet(this, _MessageStore_messages, "f").get(
|
|
73
|
+
for (const entryKey of entryKeys) {
|
|
74
|
+
const messageCtx = __classPrivateFieldGet(this, _MessageStore_messages, "f").get(entryKey.toString());
|
|
75
75
|
if (!messageCtx) {
|
|
76
|
-
throw new Error(`Message ${
|
|
76
|
+
throw new Error(`Message ${entryKey.toString()} not found`);
|
|
77
77
|
}
|
|
78
|
-
void __classPrivateFieldGet(this, _MessageStore_pendingMessagesByFee, "f").update([messageCtx.fee,
|
|
78
|
+
void __classPrivateFieldGet(this, _MessageStore_pendingMessagesByFee, "f").update([messageCtx.fee, entryKey.toString()], -1);
|
|
79
79
|
}
|
|
80
80
|
return true;
|
|
81
81
|
});
|
|
@@ -83,56 +83,59 @@ export class MessageStore {
|
|
|
83
83
|
/**
|
|
84
84
|
* Messages that have been published in an L2 block are confirmed.
|
|
85
85
|
* Add them to the confirmed store, also remove them from the pending store.
|
|
86
|
-
* @param
|
|
86
|
+
* @param entryKeys - The entry keys to be removed from the store.
|
|
87
87
|
* @returns True if the operation is successful.
|
|
88
88
|
*/
|
|
89
|
-
confirmPendingMessages(
|
|
89
|
+
confirmPendingMessages(entryKeys) {
|
|
90
90
|
return this.db.transaction(() => {
|
|
91
|
-
for (const
|
|
92
|
-
|
|
91
|
+
for (const entryKey of entryKeys) {
|
|
92
|
+
if (entryKey.equals(Fr.ZERO)) {
|
|
93
|
+
continue;
|
|
94
|
+
}
|
|
95
|
+
const messageCtx = __classPrivateFieldGet(this, _MessageStore_messages, "f").get(entryKey.toString());
|
|
93
96
|
if (!messageCtx) {
|
|
94
|
-
throw new Error(`Message ${
|
|
97
|
+
throw new Error(`Message ${entryKey.toString()} not found`);
|
|
95
98
|
}
|
|
96
99
|
messageCtx.confirmed = true;
|
|
97
|
-
void __classPrivateFieldGet(this, _MessageStore_messages, "f").set(
|
|
98
|
-
void __classPrivateFieldGet(this, _MessageStore_pendingMessagesByFee, "f").update([messageCtx.fee,
|
|
100
|
+
void __classPrivateFieldGet(this, _MessageStore_messages, "f").set(entryKey.toString(), messageCtx);
|
|
101
|
+
void __classPrivateFieldGet(this, _MessageStore_pendingMessagesByFee, "f").update([messageCtx.fee, entryKey.toString()], -1);
|
|
99
102
|
}
|
|
100
103
|
return true;
|
|
101
104
|
});
|
|
102
105
|
}
|
|
103
106
|
/**
|
|
104
|
-
* Gets the confirmed L1 to L2 message corresponding to the given
|
|
105
|
-
* @param
|
|
107
|
+
* Gets the confirmed L1 to L2 message corresponding to the given entry key.
|
|
108
|
+
* @param entryKey - The entry key to look up.
|
|
106
109
|
* @returns The requested L1 to L2 message or throws if not found.
|
|
107
110
|
*/
|
|
108
|
-
getConfirmedMessage(
|
|
109
|
-
const messageCtx = __classPrivateFieldGet(this, _MessageStore_messages, "f").get(
|
|
111
|
+
getConfirmedMessage(entryKey) {
|
|
112
|
+
const messageCtx = __classPrivateFieldGet(this, _MessageStore_messages, "f").get(entryKey.toString());
|
|
110
113
|
if (!messageCtx) {
|
|
111
|
-
throw new Error(`Message ${
|
|
114
|
+
throw new Error(`Message ${entryKey.toString()} not found`);
|
|
112
115
|
}
|
|
113
116
|
if (!messageCtx.confirmed) {
|
|
114
|
-
throw new Error(`Message ${
|
|
117
|
+
throw new Error(`Message ${entryKey.toString()} not confirmed`);
|
|
115
118
|
}
|
|
116
119
|
return L1ToL2Message.fromBuffer(messageCtx.message);
|
|
117
120
|
}
|
|
118
121
|
/**
|
|
119
122
|
* Gets up to `limit` amount of pending L1 to L2 messages, sorted by fee
|
|
120
123
|
* @param limit - The number of messages to return (by default NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP).
|
|
121
|
-
* @returns The requested L1 to L2
|
|
124
|
+
* @returns The requested L1 to L2 entry keys.
|
|
122
125
|
*/
|
|
123
|
-
|
|
124
|
-
const
|
|
125
|
-
for (const [[_,
|
|
126
|
+
getPendingEntryKeysByFee(limit) {
|
|
127
|
+
const entryKeys = [];
|
|
128
|
+
for (const [[_, entryKey], count] of __classPrivateFieldGet(this, _MessageStore_pendingMessagesByFee, "f").entries({
|
|
126
129
|
reverse: true,
|
|
127
130
|
})) {
|
|
128
131
|
// put `count` copies of this message in the result list
|
|
129
|
-
|
|
130
|
-
if (
|
|
132
|
+
entryKeys.push(...Array(count).fill(Fr.fromString(entryKey)));
|
|
133
|
+
if (entryKeys.length >= limit) {
|
|
131
134
|
break;
|
|
132
135
|
}
|
|
133
136
|
}
|
|
134
|
-
return
|
|
137
|
+
return entryKeys;
|
|
135
138
|
}
|
|
136
139
|
}
|
|
137
140
|
_MessageStore_messages = new WeakMap(), _MessageStore_pendingMessagesByFee = new WeakMap(), _MessageStore_lastL1BlockAddingMessages = new WeakMap(), _MessageStore_lastL1BlockCancellingMessages = new WeakMap(), _MessageStore_log = new WeakMap();
|
|
138
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
141
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZV9zdG9yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcmNoaXZlci9rdl9hcmNoaXZlcl9zdG9yZS9tZXNzYWdlX3N0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN4QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQWUxRDs7R0FFRztBQUNILE1BQU0sT0FBTyxZQUFZO0lBUXZCLFlBQW9CLEVBQWdCO1FBQWhCLE9BQUUsR0FBRixFQUFFLENBQWM7UUFQcEMseUNBQXFDO1FBQ3JDLHFEQUFzRDtRQUN0RCwwREFBbUQ7UUFDbkQsOERBQXVEO1FBRXZELDRCQUFPLGlCQUFpQixDQUFDLDhCQUE4QixDQUFDLEVBQUM7UUFHdkQsdUJBQUEsSUFBSSwwQkFBYSxFQUFFLENBQUMsT0FBTyxDQUFDLDRCQUE0QixDQUFDLE1BQUEsQ0FBQztRQUMxRCx1QkFBQSxJQUFJLHNDQUF5QixFQUFFLENBQUMsV0FBVyxDQUFDLDBCQUEwQixDQUFDLE1BQUEsQ0FBQztRQUN4RSx1QkFBQSxJQUFJLDJDQUE4QixFQUFFLENBQUMsYUFBYSxDQUFDLHdDQUF3QyxDQUFDLE1BQUEsQ0FBQztRQUM3Rix1QkFBQSxJQUFJLCtDQUFrQyxFQUFFLENBQUMsYUFBYSxDQUFDLDRDQUE0QyxDQUFDLE1BQUEsQ0FBQztJQUN2RyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsZ0JBQWdCO1FBQ2QsT0FBTztZQUNMLGFBQWEsRUFBRSx1QkFBQSxJQUFJLCtDQUEyQixDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUU7WUFDMUQsaUJBQWlCLEVBQUUsdUJBQUEsSUFBSSxtREFBK0IsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFO1NBQ25FLENBQUM7SUFDSixDQUFDO0lB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
|
|
@@ -6,22 +6,22 @@ import { Fr } from '@aztec/foundation/fields';
|
|
|
6
6
|
*/
|
|
7
7
|
export declare class L1ToL2MessageStore {
|
|
8
8
|
/**
|
|
9
|
-
* A map containing the
|
|
9
|
+
* A map containing the entry key to the corresponding L1 to L2
|
|
10
10
|
* messages (and the number of times the message has been seen).
|
|
11
11
|
*/
|
|
12
12
|
protected store: Map<bigint, L1ToL2MessageAndCount>;
|
|
13
13
|
constructor();
|
|
14
|
-
addMessage(
|
|
15
|
-
getMessage(
|
|
16
|
-
getMessageAndCount(
|
|
14
|
+
addMessage(entryKey: Fr, message: L1ToL2Message): void;
|
|
15
|
+
getMessage(entryKey: Fr): L1ToL2Message | undefined;
|
|
16
|
+
getMessageAndCount(entryKey: Fr): L1ToL2MessageAndCount | undefined;
|
|
17
17
|
}
|
|
18
18
|
/**
|
|
19
19
|
* Specifically for the store that will hold pending messages
|
|
20
20
|
* for removing messages or fetching multiple messages.
|
|
21
21
|
*/
|
|
22
22
|
export declare class PendingL1ToL2MessageStore extends L1ToL2MessageStore {
|
|
23
|
-
|
|
24
|
-
removeMessage(
|
|
23
|
+
getEntryKeys(limit: number): Fr[];
|
|
24
|
+
removeMessage(entryKey: Fr): void;
|
|
25
25
|
}
|
|
26
26
|
/**
|
|
27
27
|
* Useful to keep track of the number of times a message has been seen.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"l1_to_l2_message_store.d.ts","sourceRoot":"","sources":["../../../src/archiver/memory_archiver_store/l1_to_l2_message_store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C;;;GAGG;AACH,qBAAa,kBAAkB;IAC7B;;;OAGG;IACH,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAa;;IAIhE,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"l1_to_l2_message_store.d.ts","sourceRoot":"","sources":["../../../src/archiver/memory_archiver_store/l1_to_l2_message_store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C;;;GAGG;AACH,qBAAa,kBAAkB;IAC7B;;;OAGG;IACH,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAa;;IAIhE,UAAU,CAAC,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,aAAa;IAU/C,UAAU,CAAC,QAAQ,EAAE,EAAE,GAAG,aAAa,GAAG,SAAS;IAInD,kBAAkB,CAAC,QAAQ,EAAE,EAAE,GAAG,qBAAqB,GAAG,SAAS;CAGpE;AAED;;;GAGG;AACH,qBAAa,yBAA0B,SAAQ,kBAAkB;IAC/D,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,EAAE,EAAE;IAmBjC,aAAa,CAAC,QAAQ,EAAE,EAAE;CAiB3B;AAED;;GAEG;AACH,KAAK,qBAAqB,GAAG;IAC3B;;OAEG;IACH,OAAO,EAAE,aAAa,CAAC;IACvB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;CACf,CAAC"}
|
|
@@ -6,26 +6,26 @@ import { Fr } from '@aztec/foundation/fields';
|
|
|
6
6
|
export class L1ToL2MessageStore {
|
|
7
7
|
constructor() {
|
|
8
8
|
/**
|
|
9
|
-
* A map containing the
|
|
9
|
+
* A map containing the entry key to the corresponding L1 to L2
|
|
10
10
|
* messages (and the number of times the message has been seen).
|
|
11
11
|
*/
|
|
12
12
|
this.store = new Map();
|
|
13
13
|
}
|
|
14
|
-
addMessage(
|
|
15
|
-
const
|
|
16
|
-
const msgAndCount = this.store.get(
|
|
14
|
+
addMessage(entryKey, message) {
|
|
15
|
+
const entryKeyBigInt = entryKey.toBigInt();
|
|
16
|
+
const msgAndCount = this.store.get(entryKeyBigInt);
|
|
17
17
|
if (msgAndCount) {
|
|
18
18
|
msgAndCount.count++;
|
|
19
19
|
}
|
|
20
20
|
else {
|
|
21
|
-
this.store.set(
|
|
21
|
+
this.store.set(entryKeyBigInt, { message, count: 1 });
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
|
-
getMessage(
|
|
25
|
-
return this.store.get(
|
|
24
|
+
getMessage(entryKey) {
|
|
25
|
+
return this.store.get(entryKey.value)?.message;
|
|
26
26
|
}
|
|
27
|
-
getMessageAndCount(
|
|
28
|
-
return this.store.get(
|
|
27
|
+
getMessageAndCount(entryKey) {
|
|
28
|
+
return this.store.get(entryKey.value);
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
31
|
/**
|
|
@@ -33,7 +33,7 @@ export class L1ToL2MessageStore {
|
|
|
33
33
|
* for removing messages or fetching multiple messages.
|
|
34
34
|
*/
|
|
35
35
|
export class PendingL1ToL2MessageStore extends L1ToL2MessageStore {
|
|
36
|
-
|
|
36
|
+
getEntryKeys(limit) {
|
|
37
37
|
if (limit < 1) {
|
|
38
38
|
return [];
|
|
39
39
|
}
|
|
@@ -51,22 +51,22 @@ export class PendingL1ToL2MessageStore extends L1ToL2MessageStore {
|
|
|
51
51
|
}
|
|
52
52
|
return messages;
|
|
53
53
|
}
|
|
54
|
-
removeMessage(
|
|
55
|
-
// ignore 0 -
|
|
56
|
-
if (
|
|
54
|
+
removeMessage(entryKey) {
|
|
55
|
+
// ignore 0 - entryKey is a hash, so a 0 can probabilistically never occur. It is best to skip it.
|
|
56
|
+
if (entryKey.equals(Fr.ZERO)) {
|
|
57
57
|
return;
|
|
58
58
|
}
|
|
59
|
-
const
|
|
60
|
-
const msgAndCount = this.store.get(
|
|
59
|
+
const entryKeyBigInt = entryKey.value;
|
|
60
|
+
const msgAndCount = this.store.get(entryKeyBigInt);
|
|
61
61
|
if (!msgAndCount) {
|
|
62
|
-
throw new Error(`Unable to remove message: L1 to L2 Message with key ${
|
|
62
|
+
throw new Error(`Unable to remove message: L1 to L2 Message with key ${entryKeyBigInt} not found in store`);
|
|
63
63
|
}
|
|
64
64
|
if (msgAndCount.count > 1) {
|
|
65
65
|
msgAndCount.count--;
|
|
66
66
|
}
|
|
67
67
|
else {
|
|
68
|
-
this.store.delete(
|
|
68
|
+
this.store.delete(entryKeyBigInt);
|
|
69
69
|
}
|
|
70
70
|
}
|
|
71
71
|
}
|
|
72
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibDFfdG9fbDJfbWVzc2FnZV9zdG9yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcmNoaXZlci9tZW1vcnlfYXJjaGl2ZXJfc3RvcmUvbDFfdG9fbDJfbWVzc2FnZV9zdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFOUM7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLGtCQUFrQjtJQU83QjtRQU5BOzs7V0FHRztRQUNPLFVBQUssR0FBdUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUVqRCxDQUFDO0lBRWhCLFVBQVUsQ0FBQyxRQUFZLEVBQUUsT0FBc0I7UUFDN0MsTUFBTSxjQUFjLEdBQUcsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzNDLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ25ELElBQUksV0FBVyxFQUFFLENBQUM7WUFDaEIsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3RCLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsY0FBYyxFQUFFLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3hELENBQUM7SUFDSCxDQUFDO0lBRUQsVUFBVSxDQUFDLFFBQVk7UUFDckIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsT0FBTyxDQUFDO0lBQ2pELENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxRQUFZO1FBQzdCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hDLENBQUM7Q0FDRjtBQUVEOzs7R0FHRztBQUNILE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxrQkFBa0I7SUFDL0QsWUFBWSxDQUFDLEtBQWE7UUFDeEIsSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDZCxPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUM7UUFDRCx3RUFBd0U7UUFDeEUsb0hBQW9IO1FBQ3BILE1BQU0sUUFBUSxHQUFTLEVBQUUsQ0FBQztRQUMxQixNQUFNLGNBQWMsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3JHLEtBQUssTUFBTSxlQUFlLElBQUksY0FBYyxFQUFFLENBQUM7WUFDN0MsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLGVBQWUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztnQkFDL0MsUUFBUSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLFFBQVMsQ0FBQyxDQUFDO2dCQUNqRCxJQUFJLFFBQVEsQ0FBQyxNQUFNLEtBQUssS0FBSyxFQUFFLENBQUM7b0JBQzlCLE9BQU8sUUFBUSxDQUFDO2dCQUNsQixDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRUQsYUFBYSxDQUFDLFFBQVk7UUFDeEIsa0dBQWtHO1FBQ2xHLElBQUksUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUM3QixPQUFPO1FBQ1QsQ0FBQztRQUVELE1BQU0sY0FBYyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUM7UUFDdEMsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDbkQsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2pCLE1BQU0sSUFBSSxLQUFLLENBQUMsdURBQXVELGNBQWMscUJBQXFCLENBQUMsQ0FBQztRQUM5RyxDQUFDO1FBQ0QsSUFBSSxXQUFXLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzFCLFdBQVcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN0QixDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3BDLENBQUM7SUFDSCxDQUFDO0NBQ0YifQ==
|