@aztec/archiver 0.26.6 → 0.27.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/README.md +2 -3
- package/dest/archiver/archiver.d.ts +12 -16
- package/dest/archiver/archiver.d.ts.map +1 -1
- package/dest/archiver/archiver.js +38 -36
- package/dest/archiver/archiver_store.d.ts +18 -21
- 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 +46 -90
- package/dest/archiver/config.d.ts.map +1 -1
- package/dest/archiver/config.js +2 -5
- package/dest/archiver/data_retrieval.d.ts +10 -12
- package/dest/archiver/data_retrieval.d.ts.map +1 -1
- package/dest/archiver/data_retrieval.js +23 -22
- package/dest/archiver/eth_log_handlers.d.ts +17 -20
- package/dest/archiver/eth_log_handlers.d.ts.map +1 -1
- package/dest/archiver/eth_log_handlers.js +35 -52
- package/dest/archiver/kv_archiver_store/block_store.d.ts.map +1 -1
- package/dest/archiver/kv_archiver_store/block_store.js +1 -9
- package/dest/archiver/kv_archiver_store/contract_store.d.ts +1 -21
- package/dest/archiver/kv_archiver_store/contract_store.d.ts.map +1 -1
- package/dest/archiver/kv_archiver_store/contract_store.js +1 -36
- package/dest/archiver/kv_archiver_store/kv_archiver_store.d.ts +14 -21
- package/dest/archiver/kv_archiver_store/kv_archiver_store.d.ts.map +1 -1
- package/dest/archiver/kv_archiver_store/kv_archiver_store.js +25 -28
- package/dest/archiver/kv_archiver_store/message_store.d.ts +11 -1
- package/dest/archiver/kv_archiver_store/message_store.d.ts.map +1 -1
- package/dest/archiver/kv_archiver_store/message_store.js +57 -5
- package/dest/archiver/memory_archiver_store/l1_to_l2_message_store.d.ts +18 -1
- 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 +48 -1
- package/dest/archiver/memory_archiver_store/memory_archiver_store.d.ts +18 -21
- package/dest/archiver/memory_archiver_store/memory_archiver_store.d.ts.map +1 -1
- package/dest/archiver/memory_archiver_store/memory_archiver_store.js +32 -45
- package/dest/index.d.ts.map +1 -1
- package/dest/index.js +15 -3
- package/package.json +9 -9
- package/src/archiver/archiver.ts +46 -46
- package/src/archiver/archiver_store.ts +21 -24
- package/src/archiver/archiver_store_test_suite.ts +54 -115
- package/src/archiver/config.ts +0 -4
- package/src/archiver/data_retrieval.ts +30 -35
- package/src/archiver/eth_log_handlers.ts +42 -74
- package/src/archiver/kv_archiver_store/block_store.ts +0 -10
- package/src/archiver/kv_archiver_store/contract_store.ts +1 -44
- package/src/archiver/kv_archiver_store/kv_archiver_store.ts +26 -31
- package/src/archiver/kv_archiver_store/message_store.ts +60 -3
- package/src/archiver/memory_archiver_store/l1_to_l2_message_store.ts +48 -1
- package/src/archiver/memory_archiver_store/memory_archiver_store.ts +36 -48
- package/src/index.ts +15 -2
|
@@ -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;
|
|
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,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,EAAE,EAA+B,MAAM,oBAAoB,CAAC;AAErE,OAAO,EAAgB,YAAY,EAA4B,MAAM,iBAAiB,CAAC;AAcvF;;GAEG;AACH,qBAAa,YAAY;;IAaX,OAAO,CAAC,EAAE;gBAAF,EAAE,EAAE,YAAY;IASpC;;;OAGG;IACH,gBAAgB;;;;;IAShB;;;;;OAKG;IACH,oBAAoB,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAE,wBAAwB,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAqBlG;;;;;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;IAgB7C,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE;CAoBpD"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
var
|
|
1
|
+
var _MessageStore_newMessages, _MessageStore_lastL1BlockNewMessages, _MessageStore_pendingMessagesByFee, _MessageStore_messages, _MessageStore_lastL1BlockAddingMessages, _MessageStore_lastL1BlockCancellingMessages, _MessageStore_log, _MessageStore_l1ToL2MessagesSubtreeSize;
|
|
2
2
|
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
|
3
3
|
import { L1ToL2Message } from '@aztec/circuit-types';
|
|
4
|
-
import { Fr } from '@aztec/circuits.js';
|
|
4
|
+
import { Fr, L1_TO_L2_MSG_SUBTREE_HEIGHT } from '@aztec/circuits.js';
|
|
5
5
|
import { createDebugLogger } from '@aztec/foundation/log';
|
|
6
6
|
/**
|
|
7
7
|
* LMDB implementation of the ArchiverDataStore interface.
|
|
@@ -9,13 +9,19 @@ import { createDebugLogger } from '@aztec/foundation/log';
|
|
|
9
9
|
export class MessageStore {
|
|
10
10
|
constructor(db) {
|
|
11
11
|
this.db = db;
|
|
12
|
-
|
|
12
|
+
_MessageStore_newMessages.set(this, void 0);
|
|
13
|
+
_MessageStore_lastL1BlockNewMessages.set(this, void 0);
|
|
14
|
+
// TODO(#4492): Nuke the following when purging the old inbox
|
|
13
15
|
_MessageStore_pendingMessagesByFee.set(this, void 0);
|
|
16
|
+
_MessageStore_messages.set(this, void 0);
|
|
14
17
|
_MessageStore_lastL1BlockAddingMessages.set(this, void 0);
|
|
15
18
|
_MessageStore_lastL1BlockCancellingMessages.set(this, void 0);
|
|
16
19
|
_MessageStore_log.set(this, createDebugLogger('aztec:archiver:message_store'));
|
|
20
|
+
_MessageStore_l1ToL2MessagesSubtreeSize.set(this, 2 ** L1_TO_L2_MSG_SUBTREE_HEIGHT);
|
|
21
|
+
__classPrivateFieldSet(this, _MessageStore_newMessages, db.openMap('archiver_l1_to_l2_new_messages'), "f");
|
|
17
22
|
__classPrivateFieldSet(this, _MessageStore_messages, db.openMap('archiver_l1_to_l2_messages'), "f");
|
|
18
23
|
__classPrivateFieldSet(this, _MessageStore_pendingMessagesByFee, db.openCounter('archiver_messages_by_fee'), "f");
|
|
24
|
+
__classPrivateFieldSet(this, _MessageStore_lastL1BlockNewMessages, db.openSingleton('archiver_last_l1_block_new_messages'), "f");
|
|
19
25
|
__classPrivateFieldSet(this, _MessageStore_lastL1BlockAddingMessages, db.openSingleton('archiver_last_l1_block_adding_messages'), "f");
|
|
20
26
|
__classPrivateFieldSet(this, _MessageStore_lastL1BlockCancellingMessages, db.openSingleton('archiver_last_l1_block_cancelling_messages'), "f");
|
|
21
27
|
}
|
|
@@ -25,10 +31,35 @@ export class MessageStore {
|
|
|
25
31
|
*/
|
|
26
32
|
getL1BlockNumber() {
|
|
27
33
|
return {
|
|
34
|
+
newMessages: __classPrivateFieldGet(this, _MessageStore_lastL1BlockNewMessages, "f").get() ?? 0n,
|
|
35
|
+
// TODO(#4492): Nuke the following when purging the old inbox
|
|
28
36
|
addedMessages: __classPrivateFieldGet(this, _MessageStore_lastL1BlockAddingMessages, "f").get() ?? 0n,
|
|
29
37
|
cancelledMessages: __classPrivateFieldGet(this, _MessageStore_lastL1BlockCancellingMessages, "f").get() ?? 0n,
|
|
30
38
|
};
|
|
31
39
|
}
|
|
40
|
+
/**
|
|
41
|
+
* Append new L1 to L2 messages to the store.
|
|
42
|
+
* @param messages - The L1 to L2 messages to be added to the store.
|
|
43
|
+
* @param lastMessageL1BlockNumber - The L1 block number in which the last message was emitted.
|
|
44
|
+
* @returns True if the operation is successful.
|
|
45
|
+
*/
|
|
46
|
+
addNewL1ToL2Messages(messages, lastMessageL1BlockNumber) {
|
|
47
|
+
return this.db.transaction(() => {
|
|
48
|
+
const lastL1BlockNumber = __classPrivateFieldGet(this, _MessageStore_lastL1BlockNewMessages, "f").get() ?? 0n;
|
|
49
|
+
if (lastL1BlockNumber >= lastMessageL1BlockNumber) {
|
|
50
|
+
return false;
|
|
51
|
+
}
|
|
52
|
+
void __classPrivateFieldGet(this, _MessageStore_lastL1BlockNewMessages, "f").set(lastMessageL1BlockNumber);
|
|
53
|
+
for (const message of messages) {
|
|
54
|
+
if (message.index >= __classPrivateFieldGet(this, _MessageStore_l1ToL2MessagesSubtreeSize, "f")) {
|
|
55
|
+
throw new Error(`Message index ${message.index} out of subtree range`);
|
|
56
|
+
}
|
|
57
|
+
const key = `${message.blockNumber}-${message.index}`;
|
|
58
|
+
void __classPrivateFieldGet(this, _MessageStore_newMessages, "f").setIfNotExists(key, message.leaf);
|
|
59
|
+
}
|
|
60
|
+
return true;
|
|
61
|
+
});
|
|
62
|
+
}
|
|
32
63
|
/**
|
|
33
64
|
* Append new pending L1 to L2 messages to the store.
|
|
34
65
|
* @param messages - The L1 to L2 messages to be added to the store.
|
|
@@ -136,6 +167,27 @@ export class MessageStore {
|
|
|
136
167
|
}
|
|
137
168
|
return entryKeys;
|
|
138
169
|
}
|
|
170
|
+
getNewL1ToL2Messages(blockNumber) {
|
|
171
|
+
const messages = [];
|
|
172
|
+
let undefinedMessageFound = false;
|
|
173
|
+
for (let messageIndex = 0; messageIndex < __classPrivateFieldGet(this, _MessageStore_l1ToL2MessagesSubtreeSize, "f"); messageIndex++) {
|
|
174
|
+
// This is inefficient but probably fine for now.
|
|
175
|
+
const key = `${blockNumber}-${messageIndex}`;
|
|
176
|
+
const message = __classPrivateFieldGet(this, _MessageStore_newMessages, "f").get(key);
|
|
177
|
+
if (message) {
|
|
178
|
+
if (undefinedMessageFound) {
|
|
179
|
+
throw new Error(`L1 to L2 message gap found in block ${blockNumber}`);
|
|
180
|
+
}
|
|
181
|
+
messages.push(message);
|
|
182
|
+
}
|
|
183
|
+
else {
|
|
184
|
+
undefinedMessageFound = true;
|
|
185
|
+
// We continue iterating over messages here to verify that there are no more messages after the undefined one.
|
|
186
|
+
// --> If this was the case this would imply there is some issue with log fetching.
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
return messages;
|
|
190
|
+
}
|
|
139
191
|
}
|
|
140
|
-
|
|
141
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
192
|
+
_MessageStore_newMessages = new WeakMap(), _MessageStore_lastL1BlockNewMessages = new WeakMap(), _MessageStore_pendingMessagesByFee = new WeakMap(), _MessageStore_messages = new WeakMap(), _MessageStore_lastL1BlockAddingMessages = new WeakMap(), _MessageStore_lastL1BlockCancellingMessages = new WeakMap(), _MessageStore_log = new WeakMap(), _MessageStore_l1ToL2MessagesSubtreeSize = new WeakMap();
|
|
193
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZV9zdG9yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcmNoaXZlci9rdl9hcmNoaXZlcl9zdG9yZS9tZXNzYWdlX3N0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLGFBQWEsRUFBZ0IsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRSxPQUFPLEVBQUUsRUFBRSxFQUFFLDJCQUEyQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFlMUQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sWUFBWTtJQWF2QixZQUFvQixFQUFnQjtRQUFoQixPQUFFLEdBQUYsRUFBRSxDQUFjO1FBWnBDLDRDQUF1QztRQUN2Qyx1REFBZ0Q7UUFDaEQsNkRBQTZEO1FBQzdELHFEQUFzRDtRQUN0RCx5Q0FBcUM7UUFDckMsMERBQW1EO1FBQ25ELDhEQUF1RDtRQUV2RCw0QkFBTyxpQkFBaUIsQ0FBQyw4QkFBOEIsQ0FBQyxFQUFDO1FBRXpELGtEQUE2QixDQUFDLElBQUksMkJBQTJCLEVBQUM7UUFHNUQsdUJBQUEsSUFBSSw2QkFBZ0IsRUFBRSxDQUFDLE9BQU8sQ0FBQyxnQ0FBZ0MsQ0FBQyxNQUFBLENBQUM7UUFDakUsdUJBQUEsSUFBSSwwQkFBYSxFQUFFLENBQUMsT0FBTyxDQUFDLDRCQUE0QixDQUFDLE1BQUEsQ0FBQztRQUMxRCx1QkFBQSxJQUFJLHNDQUF5QixFQUFFLENBQUMsV0FBVyxDQUFDLDBCQUEwQixDQUFDLE1BQUEsQ0FBQztRQUN4RSx1QkFBQSxJQUFJLHdDQUEyQixFQUFFLENBQUMsYUFBYSxDQUFDLHFDQUFxQyxDQUFDLE1BQUEsQ0FBQztRQUN2Rix1QkFBQSxJQUFJLDJDQUE4QixFQUFFLENBQUMsYUFBYSxDQUFDLHdDQUF3QyxDQUFDLE1BQUEsQ0FBQztRQUM3Rix1QkFBQSxJQUFJLCtDQUFrQyxFQUFFLENBQUMs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
|
|
@@ -1,5 +1,22 @@
|
|
|
1
|
-
|
|
1
|
+
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
+
import { L1ToL2Message, NewInboxLeaf } from '@aztec/circuit-types';
|
|
2
3
|
import { Fr } from '@aztec/foundation/fields';
|
|
4
|
+
/**
|
|
5
|
+
* A simple in-memory implementation of an L1 to L2 message store
|
|
6
|
+
* that handles message duplication.
|
|
7
|
+
* TODO(#4492): Clean this up
|
|
8
|
+
*/
|
|
9
|
+
export declare class NewL1ToL2MessageStore {
|
|
10
|
+
#private;
|
|
11
|
+
/**
|
|
12
|
+
* A map containing the entry key to the corresponding L1 to L2
|
|
13
|
+
* messages (and the number of times the message has been seen).
|
|
14
|
+
*/
|
|
15
|
+
protected store: Map<string, Buffer>;
|
|
16
|
+
constructor();
|
|
17
|
+
addMessage(message: NewInboxLeaf): void;
|
|
18
|
+
getMessages(blockNumber: bigint): Buffer[];
|
|
19
|
+
}
|
|
3
20
|
/**
|
|
4
21
|
* A simple in-memory implementation of an L1 to L2 message store
|
|
5
22
|
* that handles message duplication.
|
|
@@ -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;
|
|
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,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEnE,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C;;;;GAIG;AACH,qBAAa,qBAAqB;;IAChC;;;OAGG;IACH,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAa;;IAMjD,UAAU,CAAC,OAAO,EAAE,YAAY;IAQhC,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE;CAoB3C;AAED;;;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"}
|
|
@@ -1,4 +1,51 @@
|
|
|
1
|
+
var _NewL1ToL2MessageStore_l1ToL2MessagesSubtreeSize;
|
|
2
|
+
import { __classPrivateFieldGet } from "tslib";
|
|
3
|
+
import { L1_TO_L2_MSG_SUBTREE_HEIGHT } from '@aztec/circuits.js/constants';
|
|
1
4
|
import { Fr } from '@aztec/foundation/fields';
|
|
5
|
+
/**
|
|
6
|
+
* A simple in-memory implementation of an L1 to L2 message store
|
|
7
|
+
* that handles message duplication.
|
|
8
|
+
* TODO(#4492): Clean this up
|
|
9
|
+
*/
|
|
10
|
+
export class NewL1ToL2MessageStore {
|
|
11
|
+
constructor() {
|
|
12
|
+
/**
|
|
13
|
+
* A map containing the entry key to the corresponding L1 to L2
|
|
14
|
+
* messages (and the number of times the message has been seen).
|
|
15
|
+
*/
|
|
16
|
+
this.store = new Map();
|
|
17
|
+
_NewL1ToL2MessageStore_l1ToL2MessagesSubtreeSize.set(this, 2 ** L1_TO_L2_MSG_SUBTREE_HEIGHT);
|
|
18
|
+
}
|
|
19
|
+
addMessage(message) {
|
|
20
|
+
if (message.index >= __classPrivateFieldGet(this, _NewL1ToL2MessageStore_l1ToL2MessagesSubtreeSize, "f")) {
|
|
21
|
+
throw new Error(`Message index ${message.index} out of subtree range`);
|
|
22
|
+
}
|
|
23
|
+
const key = `${message.blockNumber}-${message.index}`;
|
|
24
|
+
this.store.set(key, message.leaf);
|
|
25
|
+
}
|
|
26
|
+
getMessages(blockNumber) {
|
|
27
|
+
const messages = [];
|
|
28
|
+
let undefinedMessageFound = false;
|
|
29
|
+
for (let messageIndex = 0; messageIndex < __classPrivateFieldGet(this, _NewL1ToL2MessageStore_l1ToL2MessagesSubtreeSize, "f"); messageIndex++) {
|
|
30
|
+
// This is inefficient but probably fine for now.
|
|
31
|
+
const key = `${blockNumber}-${messageIndex}`;
|
|
32
|
+
const message = this.store.get(key);
|
|
33
|
+
if (message) {
|
|
34
|
+
if (undefinedMessageFound) {
|
|
35
|
+
throw new Error(`L1 to L2 message gap found in block ${blockNumber}`);
|
|
36
|
+
}
|
|
37
|
+
messages.push(message);
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
undefinedMessageFound = true;
|
|
41
|
+
// We continue iterating over messages here to verify that there are no more messages after the undefined one.
|
|
42
|
+
// --> If this was the case this would imply there is some issue with log fetching.
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return messages;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
_NewL1ToL2MessageStore_l1ToL2MessagesSubtreeSize = new WeakMap();
|
|
2
49
|
/**
|
|
3
50
|
* A simple in-memory implementation of an L1 to L2 message store
|
|
4
51
|
* that handles message duplication.
|
|
@@ -69,4 +116,4 @@ export class PendingL1ToL2MessageStore extends L1ToL2MessageStore {
|
|
|
69
116
|
}
|
|
70
117
|
}
|
|
71
118
|
}
|
|
72
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
119
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibDFfdG9fbDJfbWVzc2FnZV9zdG9yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcmNoaXZlci9tZW1vcnlfYXJjaGl2ZXJfc3RvcmUvbDFfdG9fbDJfbWVzc2FnZV9zdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUNBLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzNFLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUU5Qzs7OztHQUlHO0FBQ0gsTUFBTSxPQUFPLHFCQUFxQjtJQVNoQztRQVJBOzs7V0FHRztRQUNPLFVBQUssR0FBd0IsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUVqRCwyREFBNkIsQ0FBQyxJQUFJLDJCQUEyQixFQUFDO0lBRS9DLENBQUM7SUFFaEIsVUFBVSxDQUFDLE9BQXFCO1FBQzlCLElBQUksT0FBTyxDQUFDLEtBQUssSUFBSSx1QkFBQSxJQUFJLHdEQUEyQixFQUFFLENBQUM7WUFDckQsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQkFBaUIsT0FBTyxDQUFDLEtBQUssdUJBQXVCLENBQUMsQ0FBQztRQUN6RSxDQUFDO1FBQ0QsTUFBTSxHQUFHLEdBQUcsR0FBRyxPQUFPLENBQUMsV0FBVyxJQUFJLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN0RCxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxXQUFXLENBQUMsV0FBbUI7UUFDN0IsTUFBTSxRQUFRLEdBQWEsRUFBRSxDQUFDO1FBQzlCLElBQUkscUJBQXFCLEdBQUcsS0FBSyxDQUFDO1FBQ2xDLEtBQUssSUFBSSxZQUFZLEdBQUcsQ0FBQyxFQUFFLFlBQVksR0FBRyx1QkFBQSxJQUFJLHdEQUEyQixFQUFFLFlBQVksRUFBRSxFQUFFLENBQUM7WUFDMUYsaURBQWlEO1lBQ2pELE1B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
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
-
import { Body,
|
|
2
|
+
import { Body, ExtendedContractData, GetUnencryptedLogsResponse, L1ToL2Message, L2Block, L2BlockL2Logs, LogFilter, LogType, NewInboxLeaf, TxEffect, TxHash, TxReceipt } from '@aztec/circuit-types';
|
|
3
3
|
import { Fr } from '@aztec/circuits.js';
|
|
4
4
|
import { AztecAddress } from '@aztec/foundation/aztec-address';
|
|
5
5
|
import { ContractClassPublic, ContractInstanceWithAddress } from '@aztec/types/contracts';
|
|
@@ -40,6 +40,7 @@ export declare class MemoryArchiverStore implements ArchiverDataStore {
|
|
|
40
40
|
* A mapping of contract address to extended contract data.
|
|
41
41
|
*/
|
|
42
42
|
private extendedContractData;
|
|
43
|
+
private newL1ToL2Messages;
|
|
43
44
|
/**
|
|
44
45
|
* Contains all the confirmed L1 to L2 messages (i.e. messages that were consumed in an L2 block)
|
|
45
46
|
* It is a map of entryKey to the corresponding L1 to L2 message and the number of times it has appeared
|
|
@@ -51,6 +52,7 @@ export declare class MemoryArchiverStore implements ArchiverDataStore {
|
|
|
51
52
|
private pendingL1ToL2Messages;
|
|
52
53
|
private contractClasses;
|
|
53
54
|
private contractInstances;
|
|
55
|
+
private lastL1BlockNewMessages;
|
|
54
56
|
private lastL1BlockAddedMessages;
|
|
55
57
|
private lastL1BlockCancelledMessages;
|
|
56
58
|
constructor(
|
|
@@ -88,6 +90,13 @@ export declare class MemoryArchiverStore implements ArchiverDataStore {
|
|
|
88
90
|
* @returns True if the operation is successful.
|
|
89
91
|
*/
|
|
90
92
|
addLogs(encryptedLogs: L2BlockL2Logs, unencryptedLogs: L2BlockL2Logs, blockNumber: number): Promise<boolean>;
|
|
93
|
+
/**
|
|
94
|
+
* Append new L1 to L2 messages to the store.
|
|
95
|
+
* @param messages - The L1 to L2 messages to be added to the store.
|
|
96
|
+
* @param lastMessageL1BlockNumber - The L1 block number in which the last message was emitted.
|
|
97
|
+
* @returns True if the operation is successful.
|
|
98
|
+
*/
|
|
99
|
+
addNewL1ToL2Messages(messages: NewInboxLeaf[], lastMessageL1BlockNumber: bigint): Promise<boolean>;
|
|
91
100
|
/**
|
|
92
101
|
* Append new pending L1 to L2 messages to the store.
|
|
93
102
|
* @param messages - The L1 to L2 messages to be added to the store.
|
|
@@ -148,6 +157,12 @@ export declare class MemoryArchiverStore implements ArchiverDataStore {
|
|
|
148
157
|
* @returns The requested L1 to L2 message or throws if not found.
|
|
149
158
|
*/
|
|
150
159
|
getConfirmedL1ToL2Message(entryKey: Fr): Promise<L1ToL2Message>;
|
|
160
|
+
/**
|
|
161
|
+
* Gets new L1 to L2 message (to be) included in a given block.
|
|
162
|
+
* @param blockNumber - L2 block number to get messages for.
|
|
163
|
+
* @returns The L1 to L2 messages/leaves of the messages subtree (throws if not found).
|
|
164
|
+
*/
|
|
165
|
+
getNewL1ToL2Messages(blockNumber: bigint): Promise<Buffer[]>;
|
|
151
166
|
/**
|
|
152
167
|
* Gets up to `limit` amount of logs starting from `from`.
|
|
153
168
|
* @param from - Number of the L2 block to which corresponds the first logs to be returned.
|
|
@@ -165,30 +180,11 @@ export declare class MemoryArchiverStore implements ArchiverDataStore {
|
|
|
165
180
|
getUnencryptedLogs(filter: LogFilter): Promise<GetUnencryptedLogsResponse>;
|
|
166
181
|
/**
|
|
167
182
|
* Get the extended contract data for this contract.
|
|
183
|
+
* TODO(palla/purge-old-contract-deploy): Delete me?
|
|
168
184
|
* @param contractAddress - The contract data address.
|
|
169
185
|
* @returns The extended contract data or undefined if not found.
|
|
170
186
|
*/
|
|
171
187
|
getExtendedContractData(contractAddress: AztecAddress): Promise<ExtendedContractData | undefined>;
|
|
172
|
-
/**
|
|
173
|
-
* Lookup all contract data in an L2 block.
|
|
174
|
-
* @param blockNum - The block number to get all contract data from.
|
|
175
|
-
* @returns All extended contract data in the block (if found).
|
|
176
|
-
*/
|
|
177
|
-
getExtendedContractDataInBlock(blockNum: number): Promise<ExtendedContractData[]>;
|
|
178
|
-
/**
|
|
179
|
-
* Get basic info for an L2 contract.
|
|
180
|
-
* Contains contract address & the ethereum portal address.
|
|
181
|
-
* @param contractAddress - The contract data address.
|
|
182
|
-
* @returns ContractData with the portal address (if we didn't throw an error).
|
|
183
|
-
*/
|
|
184
|
-
getContractData(contractAddress: AztecAddress): Promise<ContractData | undefined>;
|
|
185
|
-
/**
|
|
186
|
-
* Get basic info for an all L2 contracts deployed in a block.
|
|
187
|
-
* Contains contract address & the ethereum portal address.
|
|
188
|
-
* @param l2BlockNum - Number of the L2 block where contracts were deployed.
|
|
189
|
-
* @returns ContractData with the portal address (if we didn't throw an error).
|
|
190
|
-
*/
|
|
191
|
-
getContractDataInBlock(l2BlockNum: number): Promise<ContractData[] | undefined>;
|
|
192
188
|
/**
|
|
193
189
|
* Gets the number of the latest L2 block processed.
|
|
194
190
|
* @returns The number of the latest L2 block processed.
|
|
@@ -196,6 +192,7 @@ export declare class MemoryArchiverStore implements ArchiverDataStore {
|
|
|
196
192
|
getBlockNumber(): Promise<number>;
|
|
197
193
|
getL1BlockNumber(): Promise<{
|
|
198
194
|
addedBlock: bigint;
|
|
195
|
+
newMessages: bigint;
|
|
199
196
|
addedMessages: bigint;
|
|
200
197
|
cancelledMessages: bigint;
|
|
201
198
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory_archiver_store.d.ts","sourceRoot":"","sources":["../../../src/archiver/memory_archiver_store/memory_archiver_store.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,IAAI,EACJ,
|
|
1
|
+
{"version":3,"file":"memory_archiver_store.d.ts","sourceRoot":"","sources":["../../../src/archiver/memory_archiver_store/memory_archiver_store.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ExtendedUnencryptedL2Log, L2BlockContext, LogId, LogType, TxReceipt, TxStatus, UnencryptedL2Log, } from '@aztec/circuit-types';
|
|
2
2
|
import { Fr, INITIAL_L2_BLOCK_NUM, NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP } from '@aztec/circuits.js';
|
|
3
|
-
import { L1ToL2MessageStore, PendingL1ToL2MessageStore } from './l1_to_l2_message_store.js';
|
|
3
|
+
import { L1ToL2MessageStore, NewL1ToL2MessageStore, PendingL1ToL2MessageStore } from './l1_to_l2_message_store.js';
|
|
4
4
|
/**
|
|
5
5
|
* Simple, in-memory implementation of an archiver data store.
|
|
6
6
|
*/
|
|
@@ -39,6 +39,8 @@ export class MemoryArchiverStore {
|
|
|
39
39
|
* A mapping of contract address to extended contract data.
|
|
40
40
|
*/
|
|
41
41
|
this.extendedContractData = new Map();
|
|
42
|
+
// TODO(#4492): Nuke the other message stores
|
|
43
|
+
this.newL1ToL2Messages = new NewL1ToL2MessageStore();
|
|
42
44
|
/**
|
|
43
45
|
* Contains all the confirmed L1 to L2 messages (i.e. messages that were consumed in an L2 block)
|
|
44
46
|
* It is a map of entryKey to the corresponding L1 to L2 message and the number of times it has appeared
|
|
@@ -50,6 +52,7 @@ export class MemoryArchiverStore {
|
|
|
50
52
|
this.pendingL1ToL2Messages = new PendingL1ToL2MessageStore();
|
|
51
53
|
this.contractClasses = new Map();
|
|
52
54
|
this.contractInstances = new Map();
|
|
55
|
+
this.lastL1BlockNewMessages = 0n;
|
|
53
56
|
this.lastL1BlockAddedMessages = 0n;
|
|
54
57
|
this.lastL1BlockCancelledMessages = 0n;
|
|
55
58
|
}
|
|
@@ -124,6 +127,22 @@ export class MemoryArchiverStore {
|
|
|
124
127
|
}
|
|
125
128
|
return Promise.resolve(true);
|
|
126
129
|
}
|
|
130
|
+
/**
|
|
131
|
+
* Append new L1 to L2 messages to the store.
|
|
132
|
+
* @param messages - The L1 to L2 messages to be added to the store.
|
|
133
|
+
* @param lastMessageL1BlockNumber - The L1 block number in which the last message was emitted.
|
|
134
|
+
* @returns True if the operation is successful.
|
|
135
|
+
*/
|
|
136
|
+
addNewL1ToL2Messages(messages, lastMessageL1BlockNumber) {
|
|
137
|
+
if (lastMessageL1BlockNumber <= this.lastL1BlockNewMessages) {
|
|
138
|
+
return Promise.resolve(false);
|
|
139
|
+
}
|
|
140
|
+
this.lastL1BlockNewMessages = lastMessageL1BlockNumber;
|
|
141
|
+
for (const message of messages) {
|
|
142
|
+
this.newL1ToL2Messages.addMessage(message);
|
|
143
|
+
}
|
|
144
|
+
return Promise.resolve(true);
|
|
145
|
+
}
|
|
127
146
|
/**
|
|
128
147
|
* Append new pending L1 to L2 messages to the store.
|
|
129
148
|
* @param messages - The L1 to L2 messages to be added to the store.
|
|
@@ -256,6 +275,14 @@ export class MemoryArchiverStore {
|
|
|
256
275
|
}
|
|
257
276
|
return Promise.resolve(message);
|
|
258
277
|
}
|
|
278
|
+
/**
|
|
279
|
+
* Gets new L1 to L2 message (to be) included in a given block.
|
|
280
|
+
* @param blockNumber - L2 block number to get messages for.
|
|
281
|
+
* @returns The L1 to L2 messages/leaves of the messages subtree (throws if not found).
|
|
282
|
+
*/
|
|
283
|
+
getNewL1ToL2Messages(blockNumber) {
|
|
284
|
+
return Promise.resolve(this.newL1ToL2Messages.getMessages(blockNumber));
|
|
285
|
+
}
|
|
259
286
|
/**
|
|
260
287
|
* Gets up to `limit` amount of logs starting from `from`.
|
|
261
288
|
* @param from - Number of the L2 block to which corresponds the first logs to be returned.
|
|
@@ -349,6 +376,7 @@ export class MemoryArchiverStore {
|
|
|
349
376
|
}
|
|
350
377
|
/**
|
|
351
378
|
* Get the extended contract data for this contract.
|
|
379
|
+
* TODO(palla/purge-old-contract-deploy): Delete me?
|
|
352
380
|
* @param contractAddress - The contract data address.
|
|
353
381
|
* @returns The extended contract data or undefined if not found.
|
|
354
382
|
*/
|
|
@@ -356,49 +384,6 @@ export class MemoryArchiverStore {
|
|
|
356
384
|
const result = this.extendedContractData.get(contractAddress.toString());
|
|
357
385
|
return Promise.resolve(result);
|
|
358
386
|
}
|
|
359
|
-
/**
|
|
360
|
-
* Lookup all contract data in an L2 block.
|
|
361
|
-
* @param blockNum - The block number to get all contract data from.
|
|
362
|
-
* @returns All extended contract data in the block (if found).
|
|
363
|
-
*/
|
|
364
|
-
getExtendedContractDataInBlock(blockNum) {
|
|
365
|
-
if (blockNum > this.l2BlockContexts.length) {
|
|
366
|
-
return Promise.resolve([]);
|
|
367
|
-
}
|
|
368
|
-
return Promise.resolve(this.extendedContractDataByBlock[blockNum] || []);
|
|
369
|
-
}
|
|
370
|
-
/**
|
|
371
|
-
* Get basic info for an L2 contract.
|
|
372
|
-
* Contains contract address & the ethereum portal address.
|
|
373
|
-
* @param contractAddress - The contract data address.
|
|
374
|
-
* @returns ContractData with the portal address (if we didn't throw an error).
|
|
375
|
-
*/
|
|
376
|
-
getContractData(contractAddress) {
|
|
377
|
-
if (contractAddress.isZero()) {
|
|
378
|
-
return Promise.resolve(undefined);
|
|
379
|
-
}
|
|
380
|
-
for (const blockContext of this.l2BlockContexts) {
|
|
381
|
-
for (const contractData of blockContext.block.body.txEffects.flatMap(txEffect => txEffect.contractData)) {
|
|
382
|
-
if (contractData.contractAddress.equals(contractAddress)) {
|
|
383
|
-
return Promise.resolve(contractData);
|
|
384
|
-
}
|
|
385
|
-
}
|
|
386
|
-
}
|
|
387
|
-
return Promise.resolve(undefined);
|
|
388
|
-
}
|
|
389
|
-
/**
|
|
390
|
-
* Get basic info for an all L2 contracts deployed in a block.
|
|
391
|
-
* Contains contract address & the ethereum portal address.
|
|
392
|
-
* @param l2BlockNum - Number of the L2 block where contracts were deployed.
|
|
393
|
-
* @returns ContractData with the portal address (if we didn't throw an error).
|
|
394
|
-
*/
|
|
395
|
-
getContractDataInBlock(l2BlockNum) {
|
|
396
|
-
if (l2BlockNum > this.l2BlockContexts.length) {
|
|
397
|
-
return Promise.resolve([]);
|
|
398
|
-
}
|
|
399
|
-
const block = this.l2BlockContexts[l2BlockNum - INITIAL_L2_BLOCK_NUM]?.block;
|
|
400
|
-
return Promise.resolve(block?.body.txEffects.flatMap(txEffect => txEffect.contractData));
|
|
401
|
-
}
|
|
402
387
|
/**
|
|
403
388
|
* Gets the number of the latest L2 block processed.
|
|
404
389
|
* @returns The number of the latest L2 block processed.
|
|
@@ -411,13 +396,15 @@ export class MemoryArchiverStore {
|
|
|
411
396
|
}
|
|
412
397
|
getL1BlockNumber() {
|
|
413
398
|
const addedBlock = this.l2BlockContexts[this.l2BlockContexts.length - 1]?.block?.getL1BlockNumber() ?? 0n;
|
|
399
|
+
const newMessages = this.lastL1BlockNewMessages;
|
|
414
400
|
const addedMessages = this.lastL1BlockAddedMessages;
|
|
415
401
|
const cancelledMessages = this.lastL1BlockCancelledMessages;
|
|
416
402
|
return Promise.resolve({
|
|
417
403
|
addedBlock,
|
|
404
|
+
newMessages,
|
|
418
405
|
addedMessages,
|
|
419
406
|
cancelledMessages,
|
|
420
407
|
});
|
|
421
408
|
}
|
|
422
409
|
}
|
|
423
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtb3J5X2FyY2hpdmVyX3N0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FyY2hpdmVyL21lbW9yeV9hcmNoaXZlcl9zdG9yZS9tZW1vcnlfYXJjaGl2ZXJfc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUlMLHdCQUF3QixFQUl4QixjQUFjLEVBR2QsS0FBSyxFQUNMLE9BQU8sRUFHUCxTQUFTLEVBQ1QsUUFBUSxFQUNSLGdCQUFnQixHQUNqQixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBRSxFQUFFLEVBQUUsb0JBQW9CLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUtuRyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUU1Rjs7R0FFRztBQUNILE1BQU0sT0FBTyxtQkFBbUI7SUF3RDlCO0lBQ0Usa0ZBQWtGO0lBQ2xFLE9BQWU7UUFBZixZQUFPLEdBQVAsT0FBTyxDQUFRO1FBekRqQzs7V0FFRztRQUNLLG9CQUFlLEdBQXFCLEVBQUUsQ0FBQztRQUUvQzs7V0FFRztRQUNLLGtCQUFhLEdBQXNCLElBQUksR0FBRyxFQUFFLENBQUM7UUFFckQ7O1dBRUc7UUFDSyxjQUFTLEdBQWUsRUFBRSxDQUFDO1FBRW5DOzs7V0FHRztRQUNLLDBCQUFxQixHQUFvQixFQUFFLENBQUM7UUFFcEQ7OztXQUdHO1FBQ0ssNEJBQXVCLEdBQW9CLEVBQUUsQ0FBQztRQUV0RDs7V0FFRztRQUNLLGdDQUEyQixHQUEyQyxFQUFFLENBQUM7UUFFakY7O1dBRUc7UUFDSyx5QkFBb0IsR0FBc0MsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUU1RTs7O1dBR0c7UUFDSyw0QkFBdUIsR0FBdUIsSUFBSSxrQkFBa0IsRUFBRSxDQUFDO1FBRS9FOztXQUVHO1FBQ0ssMEJBQXFCLEdBQThCLElBQUkseUJBQXlCLEVBQUUsQ0FBQztRQUVuRixv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
|
|
410
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtb3J5X2FyY2hpdmVyX3N0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FyY2hpdmVyL21lbW9yeV9hcmNoaXZlcl9zdG9yZS9tZW1vcnlfYXJjaGl2ZXJfc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUdMLHdCQUF3QixFQUl4QixjQUFjLEVBR2QsS0FBSyxFQUNMLE9BQU8sRUFJUCxTQUFTLEVBQ1QsUUFBUSxFQUNSLGdCQUFnQixHQUNqQixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBRSxFQUFFLEVBQUUsb0JBQW9CLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUtuRyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUscUJBQXFCLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUVuSDs7R0FFRztBQUNILE1BQU0sT0FBTyxtQkFBbUI7SUE0RDlCO0lBQ0Usa0ZBQWtGO0lBQ2xFLE9BQWU7UUFBZixZQUFPLEdBQVAsT0FBTyxDQUFRO1FBN0RqQzs7V0FFRztRQUNLLG9CQUFlLEdBQXFCLEVBQUUsQ0FBQztRQUUvQzs7V0FFRztRQUNLLGtCQUFhLEdBQXNCLElBQUksR0FBRyxFQUFFLENBQUM7UUFFckQ7O1dBRUc7UUFDSyxjQUFTLEdBQWUsRUFBRSxDQUFDO1FBRW5DOzs7V0FHRztRQUNLLDBCQUFxQixHQUFvQixFQUFFLENBQUM7UUFFcEQ7OztXQUdHO1FBQ0ssNEJBQXVCLEdBQW9CLEVBQUUsQ0FBQztRQUV0RDs7V0FFRztRQUNLLGdDQUEyQixHQUEyQyxFQUFFLENBQUM7UUFFakY7O1dBRUc7UUFDSyx5QkFBb0IsR0FBc0MsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUU1RSw2Q0FBNkM7UUFDckMsc0JBQWlCLEdBQUcsSUFBSSxxQkFBcUIsRUFBRSxDQUFDO1FBRXhEOzs7V0FHRztRQUNLLDRCQUF1QixHQUF1QixJQUFJLGtCQUFrQixFQUFF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
|
package/dest/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAWA,cAAc,qBAAqB,CAAC;AACpC,cAAc,gBAAgB,CAAC"}
|
package/dest/index.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
1
2
|
import { createDebugLogger } from '@aztec/foundation/log';
|
|
2
3
|
import { fileURLToPath } from '@aztec/foundation/url';
|
|
3
|
-
import {
|
|
4
|
+
import { RollupAbi } from '@aztec/l1-artifacts';
|
|
5
|
+
import { createPublicClient, getAddress, getContract, http } from 'viem';
|
|
4
6
|
import { localhost } from 'viem/chains';
|
|
5
7
|
import { Archiver, getConfigEnvVars } from './archiver/index.js';
|
|
6
8
|
import { MemoryArchiverStore } from './archiver/memory_archiver_store/memory_archiver_store.js';
|
|
@@ -19,7 +21,17 @@ async function main() {
|
|
|
19
21
|
transport: http(rpcUrl),
|
|
20
22
|
});
|
|
21
23
|
const archiverStore = new MemoryArchiverStore(1000);
|
|
22
|
-
|
|
24
|
+
// TODO(#4492): Nuke this once the old inbox is purged
|
|
25
|
+
let newInboxAddress;
|
|
26
|
+
{
|
|
27
|
+
const rollup = getContract({
|
|
28
|
+
address: getAddress(l1Contracts.rollupAddress.toString()),
|
|
29
|
+
abi: RollupAbi,
|
|
30
|
+
client: publicClient,
|
|
31
|
+
});
|
|
32
|
+
newInboxAddress = EthAddress.fromString(await rollup.read.NEW_INBOX());
|
|
33
|
+
}
|
|
34
|
+
const archiver = new Archiver(publicClient, l1Contracts.rollupAddress, l1Contracts.availabilityOracleAddress, l1Contracts.inboxAddress, newInboxAddress, l1Contracts.registryAddress, archiverStore);
|
|
23
35
|
const shutdown = async () => {
|
|
24
36
|
await archiver.stop();
|
|
25
37
|
process.exit(0);
|
|
@@ -35,4 +47,4 @@ if (process.argv[1] === fileURLToPath(import.meta.url).replace(/\/index\.js$/, '
|
|
|
35
47
|
process.exit(1);
|
|
36
48
|
});
|
|
37
49
|
}
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFaEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFeEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDJEQUEyRCxDQUFDO0FBRWhHLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxnQkFBZ0IsQ0FBQztBQUUvQixNQUFNLEdBQUcsR0FBRyxpQkFBaUIsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0FBRWhEOztHQUVHO0FBQ0gseUNBQXlDO0FBQ3pDLEtBQUssVUFBVSxJQUFJO0lBQ2pCLE1BQU0sTUFBTSxHQUFHLGdCQUFnQixFQUFFLENBQUM7SUFDbEMsTUFBTSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsR0FBRyxNQUFNLENBQUM7SUFFdkMsTUFBTSxZQUFZLEdBQUcsa0JBQWtCLENBQUM7UUFDdEMsS0FBSyxFQUFFLFNBQVM7UUFDaEIsU0FBUyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUM7S0FDeEIsQ0FBQyxDQUFDO0lBRUgsTUFBTSxhQUFhLEdBQUcsSUFBSSxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUVwRCxzREFBc0Q7SUFDdEQsSUFBSSxlQUE0QixDQUFDO0lBQ2pDLENBQUM7UUFDQyxNQUFNLE1BQU0sR0FBRyxXQUFXLENBQUM7WUFDekIsT0FBTyxFQUFFLFVBQVUsQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3pELEdBQUcsRUFBRSxTQUFTO1lBQ2QsTUFBTSxFQUFFLFlBQVk7U0FDckIsQ0FBQyxDQUFDO1FBQ0gsZUFBZSxHQUFHLFVBQVUsQ0FBQyxVQUFVLENBQUMsTUFBTSxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFDekUsQ0FBQztJQUVELE1BQU0sUUFBUSxHQUFHLElBQUksUUFBUSxDQUMzQixZQUFZLEVBQ1osV0FBVyxDQUFDLGFBQWEsRUFDekIsV0FBVyxDQUFDLHlCQUF5QixFQUNyQyxXQUFXLENBQUMsWUFBWSxFQUN4QixlQUFlLEVBQ2YsV0FBVyxDQUFDLGVBQWUsRUFDM0IsYUFBYSxDQUNkLENBQUM7SUFFRixNQUFNLFFBQVEsR0FBRyxLQUFLLElBQUksRUFBRTtRQUMxQixNQUFNLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN0QixPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUMsQ0FBQztJQUNGLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ2pDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0FBQ3BDLENBQUM7QUFFRCxpRUFBaUU7QUFDakUsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLGFBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUNuRixtRUFBbUU7SUFDbkUsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1FBQ2pCLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDZixPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyJ9
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/archiver",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.27.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": "./dest/index.js",
|
|
6
6
|
"typedocOptions": {
|
|
@@ -35,14 +35,14 @@
|
|
|
35
35
|
"workerThreads": true
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@aztec/circuit-types": "0.
|
|
39
|
-
"@aztec/circuits.js": "0.
|
|
40
|
-
"@aztec/ethereum": "0.
|
|
41
|
-
"@aztec/foundation": "0.
|
|
42
|
-
"@aztec/kv-store": "0.
|
|
43
|
-
"@aztec/l1-artifacts": "0.
|
|
44
|
-
"@aztec/protocol-contracts": "0.
|
|
45
|
-
"@aztec/types": "0.
|
|
38
|
+
"@aztec/circuit-types": "0.27.1",
|
|
39
|
+
"@aztec/circuits.js": "0.27.1",
|
|
40
|
+
"@aztec/ethereum": "0.27.1",
|
|
41
|
+
"@aztec/foundation": "0.27.1",
|
|
42
|
+
"@aztec/kv-store": "0.27.1",
|
|
43
|
+
"@aztec/l1-artifacts": "0.27.1",
|
|
44
|
+
"@aztec/protocol-contracts": "0.27.1",
|
|
45
|
+
"@aztec/types": "0.27.1",
|
|
46
46
|
"debug": "^4.3.4",
|
|
47
47
|
"lmdb": "^2.9.2",
|
|
48
48
|
"lodash.omit": "^4.5.0",
|