@aztec/archiver 0.30.0 → 0.31.0
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 +4 -6
- package/dest/archiver/archiver.d.ts.map +1 -1
- package/dest/archiver/archiver.js +48 -18
- package/dest/archiver/archiver_store.d.ts +13 -8
- 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 +48 -12
- package/dest/archiver/data_retrieval.js +6 -6
- package/dest/archiver/eth_log_handlers.d.ts +7 -7
- package/dest/archiver/eth_log_handlers.d.ts.map +1 -1
- package/dest/archiver/eth_log_handlers.js +11 -11
- package/dest/archiver/kv_archiver_store/block_store.d.ts.map +1 -1
- package/dest/archiver/kv_archiver_store/block_store.js +3 -2
- package/dest/archiver/kv_archiver_store/contract_class_store.d.ts +3 -4
- package/dest/archiver/kv_archiver_store/contract_class_store.d.ts.map +1 -1
- package/dest/archiver/kv_archiver_store/contract_class_store.js +64 -13
- package/dest/archiver/kv_archiver_store/kv_archiver_store.d.ts +6 -4
- package/dest/archiver/kv_archiver_store/kv_archiver_store.d.ts.map +1 -1
- package/dest/archiver/kv_archiver_store/kv_archiver_store.js +11 -9
- package/dest/archiver/kv_archiver_store/message_store.d.ts +3 -2
- package/dest/archiver/kv_archiver_store/message_store.d.ts.map +1 -1
- package/dest/archiver/kv_archiver_store/message_store.js +10 -6
- package/dest/archiver/memory_archiver_store/l1_to_l2_message_store.d.ts +4 -4
- 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 +11 -8
- package/dest/archiver/memory_archiver_store/memory_archiver_store.d.ts +8 -4
- package/dest/archiver/memory_archiver_store/memory_archiver_store.d.ts.map +1 -1
- package/dest/archiver/memory_archiver_store/memory_archiver_store.js +31 -8
- package/package.json +11 -9
- package/src/archiver/archiver.ts +72 -19
- package/src/archiver/archiver_store.ts +23 -8
- package/src/archiver/archiver_store_test_suite.ts +60 -11
- package/src/archiver/data_retrieval.ts +6 -6
- package/src/archiver/eth_log_handlers.ts +13 -13
- package/src/archiver/kv_archiver_store/block_store.ts +9 -1
- package/src/archiver/kv_archiver_store/contract_class_store.ts +106 -18
- package/src/archiver/kv_archiver_store/kv_archiver_store.ts +21 -9
- package/src/archiver/kv_archiver_store/message_store.ts +10 -5
- package/src/archiver/memory_archiver_store/l1_to_l2_message_store.ts +10 -7
- package/src/archiver/memory_archiver_store/memory_archiver_store.ts +47 -8
|
@@ -5,11 +5,11 @@ import { EthAddress } from '@aztec/foundation/eth-address';
|
|
|
5
5
|
import { AvailabilityOracleAbi, InboxAbi, RollupAbi } from '@aztec/l1-artifacts';
|
|
6
6
|
import { Log, PublicClient } from 'viem';
|
|
7
7
|
/**
|
|
8
|
-
* Processes newly received
|
|
9
|
-
* @param logs -
|
|
10
|
-
* @returns Array of all processed
|
|
8
|
+
* Processes newly received MessageSent (L1 to L2) logs.
|
|
9
|
+
* @param logs - MessageSent logs.
|
|
10
|
+
* @returns Array of all processed MessageSent logs
|
|
11
11
|
*/
|
|
12
|
-
export declare function
|
|
12
|
+
export declare function processMessageSentLogs(logs: Log<bigint, number, false, undefined, true, typeof InboxAbi, 'MessageSent'>[]): InboxLeaf[];
|
|
13
13
|
/**
|
|
14
14
|
* Processes newly received L2BlockProcessed logs.
|
|
15
15
|
* @param publicClient - The viem public client to use for transaction retrieval.
|
|
@@ -38,12 +38,12 @@ export declare function getL2BlockProcessedLogs(publicClient: PublicClient, roll
|
|
|
38
38
|
*/
|
|
39
39
|
export declare function getTxsPublishedLogs(publicClient: PublicClient, dataAvailabilityOracleAddress: EthAddress, fromBlock: bigint, toBlock: bigint): Promise<Log<bigint, number, false, undefined, true, typeof AvailabilityOracleAbi, 'TxsPublished'>[]>;
|
|
40
40
|
/**
|
|
41
|
-
* Get relevant `
|
|
41
|
+
* Get relevant `MessageSent` logs emitted by Inbox on chain.
|
|
42
42
|
* @param publicClient - The viem public client to use for transaction retrieval.
|
|
43
43
|
* @param inboxAddress - The address of the inbox contract.
|
|
44
44
|
* @param fromBlock - First block to get logs from (inclusive).
|
|
45
45
|
* @param toBlock - Last block to get logs from (inclusive).
|
|
46
|
-
* @returns An array of `
|
|
46
|
+
* @returns An array of `MessageSent` logs.
|
|
47
47
|
*/
|
|
48
|
-
export declare function
|
|
48
|
+
export declare function getMessageSentLogs(publicClient: PublicClient, inboxAddress: EthAddress, fromBlock: bigint, toBlock: bigint): Promise<Log<bigint, number, false, undefined, true, typeof InboxAbi, 'MessageSent'>[]>;
|
|
49
49
|
//# sourceMappingURL=eth_log_handlers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eth_log_handlers.d.ts","sourceRoot":"","sources":["../../src/archiver/eth_log_handlers.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAG3D,OAAO,EAAE,qBAAqB,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEjF,OAAO,EAAO,GAAG,EAAE,YAAY,EAA0D,MAAM,MAAM,CAAC;AAEtG;;;;GAIG;AACH,wBAAgB,
|
|
1
|
+
{"version":3,"file":"eth_log_handlers.d.ts","sourceRoot":"","sources":["../../src/archiver/eth_log_handlers.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAG3D,OAAO,EAAE,qBAAqB,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEjF,OAAO,EAAO,GAAG,EAAE,YAAY,EAA0D,MAAM,MAAM,CAAC;AAEtG;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,QAAQ,EAAE,aAAa,CAAC,EAAE,GAClF,SAAS,EAAE,CAOb;AAED;;;;;;GAMG;AACH,wBAAsB,2BAA2B,CAC/C,YAAY,EAAE,YAAY,EAC1B,qBAAqB,EAAE,MAAM,EAC7B,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,SAAS,EAAE,kBAAkB,CAAC,EAAE,GACxF,OAAO,CAAC,CAAC,MAAM,EAAE,sBAAsB,CAAC,EAAE,CAAC,CAmB7C;AAED,wBAAsB,uBAAuB,CAC3C,YAAY,EAAE,YAAY,EAC1B,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,qBAAqB,EAAE,cAAc,CAAC,EAAE,GAChG,OAAO,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,CAQ3B;AA0ED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CACrC,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAE,UAAU,EACzB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,SAAS,EAAE,kBAAkB,CAAC,EAAE,CAAC,CAU9F;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,YAAY,EAAE,YAAY,EAC1B,6BAA6B,EAAE,UAAU,EACzC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,qBAAqB,EAAE,cAAc,CAAC,EAAE,CAAC,CAUtG;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,UAAU,EACxB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,QAAQ,EAAE,aAAa,CAAC,EAAE,CAAC,CAUxF"}
|
|
@@ -5,15 +5,15 @@ import { numToUInt32BE } from '@aztec/foundation/serialize';
|
|
|
5
5
|
import { AvailabilityOracleAbi, InboxAbi, RollupAbi } from '@aztec/l1-artifacts';
|
|
6
6
|
import { decodeFunctionData, getAbiItem, getAddress, hexToBytes } from 'viem';
|
|
7
7
|
/**
|
|
8
|
-
* Processes newly received
|
|
9
|
-
* @param logs -
|
|
10
|
-
* @returns Array of all processed
|
|
8
|
+
* Processes newly received MessageSent (L1 to L2) logs.
|
|
9
|
+
* @param logs - MessageSent logs.
|
|
10
|
+
* @returns Array of all processed MessageSent logs
|
|
11
11
|
*/
|
|
12
|
-
export function
|
|
12
|
+
export function processMessageSentLogs(logs) {
|
|
13
13
|
const leaves = [];
|
|
14
14
|
for (const log of logs) {
|
|
15
|
-
const {
|
|
16
|
-
leaves.push(new InboxLeaf(
|
|
15
|
+
const { l2BlockNumber, index, hash } = log.args;
|
|
16
|
+
leaves.push(new InboxLeaf(l2BlockNumber, index, Fr.fromString(hash)));
|
|
17
17
|
}
|
|
18
18
|
return leaves;
|
|
19
19
|
}
|
|
@@ -136,22 +136,22 @@ export function getTxsPublishedLogs(publicClient, dataAvailabilityOracleAddress,
|
|
|
136
136
|
});
|
|
137
137
|
}
|
|
138
138
|
/**
|
|
139
|
-
* Get relevant `
|
|
139
|
+
* Get relevant `MessageSent` logs emitted by Inbox on chain.
|
|
140
140
|
* @param publicClient - The viem public client to use for transaction retrieval.
|
|
141
141
|
* @param inboxAddress - The address of the inbox contract.
|
|
142
142
|
* @param fromBlock - First block to get logs from (inclusive).
|
|
143
143
|
* @param toBlock - Last block to get logs from (inclusive).
|
|
144
|
-
* @returns An array of `
|
|
144
|
+
* @returns An array of `MessageSent` logs.
|
|
145
145
|
*/
|
|
146
|
-
export function
|
|
146
|
+
export function getMessageSentLogs(publicClient, inboxAddress, fromBlock, toBlock) {
|
|
147
147
|
return publicClient.getLogs({
|
|
148
148
|
address: getAddress(inboxAddress.toString()),
|
|
149
149
|
event: getAbiItem({
|
|
150
150
|
abi: InboxAbi,
|
|
151
|
-
name: '
|
|
151
|
+
name: 'MessageSent',
|
|
152
152
|
}),
|
|
153
153
|
fromBlock,
|
|
154
154
|
toBlock: toBlock + 1n, // the toBlock argument in getLogs is exclusive
|
|
155
155
|
});
|
|
156
156
|
}
|
|
157
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
157
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXRoX2xvZ19oYW5kbGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hcmNoaXZlci9ldGhfbG9nX2hhbmRsZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXBFLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDNUQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVqRixPQUFPLEVBQTBCLGtCQUFrQixFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXRHOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsc0JBQXNCLENBQ3BDLElBQW1GO0lBRW5GLE1BQU0sTUFBTSxHQUFnQixFQUFFLENBQUM7SUFDL0IsS0FBSyxNQUFNLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUN2QixNQUFNLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDO1FBQ2hELE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxTQUFTLENBQUMsYUFBYSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBQ0QsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQztBQUVEOzs7Ozs7R0FNRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsMkJBQTJCLENBQy9DLFlBQTBCLEVBQzFCLHFCQUE2QixFQUM3QixJQUF5RjtJQUV6RixNQUFN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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"block_store.d.ts","sourceRoot":"","sources":["../../../src/archiver/kv_archiver_store/block_store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAY,MAAM,sBAAsB,CAAC;AACtF,OAAO,EAA0B,YAAY,EAAgC,MAAM,oBAAoB,CAAC;AAExG,OAAO,EAAE,YAAY,EAAmC,MAAM,iBAAiB,CAAC;AAEhF,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AASvD;;GAEG;AACH,qBAAa,UAAU;;IAgBT,OAAO,CAAC,EAAE;gBAAF,EAAE,EAAE,YAAY,EAAE,cAAc,EAAE,cAAc;IASpE;;;;OAIG;IACH,SAAS,CAAC,MAAM,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAmB3D;;;;;OAKG;IACF,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAAC;IAMnE;;;;OAIG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IASlD,OAAO,CAAC,wBAAwB;IAgBhC;;;;OAIG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;IAUjD;;;;OAIG;IACH,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;
|
|
1
|
+
{"version":3,"file":"block_store.d.ts","sourceRoot":"","sources":["../../../src/archiver/kv_archiver_store/block_store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAY,MAAM,sBAAsB,CAAC;AACtF,OAAO,EAA0B,YAAY,EAAgC,MAAM,oBAAoB,CAAC;AAExG,OAAO,EAAE,YAAY,EAAmC,MAAM,iBAAiB,CAAC;AAEhF,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AASvD;;GAEG;AACH,qBAAa,UAAU;;IAgBT,OAAO,CAAC,EAAE;gBAAF,EAAE,EAAE,YAAY,EAAE,cAAc,EAAE,cAAc;IASpE;;;;OAIG;IACH,SAAS,CAAC,MAAM,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAmB3D;;;;;OAKG;IACF,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAAC;IAMnE;;;;OAIG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IASlD,OAAO,CAAC,wBAAwB;IAgBhC;;;;OAIG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;IAUjD;;;;OAIG;IACH,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAkB1D;;;;OAIG;IACH,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,SAAS;IAIjF;;;;OAIG;IACH,mBAAmB,CAAC,eAAe,EAAE,YAAY,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,SAAS;IAIpG;;;OAGG;IACH,uBAAuB,IAAI,MAAM;IAKjC;;;OAGG;IACH,uBAAuB,IAAI,MAAM;CAiBlC"}
|
|
@@ -106,7 +106,8 @@ export class BlockStore {
|
|
|
106
106
|
return undefined;
|
|
107
107
|
}
|
|
108
108
|
const block = this.getBlock(blockNumber);
|
|
109
|
-
|
|
109
|
+
const tx = block.getTx(txIndex);
|
|
110
|
+
return new TxReceipt(txHash, tx.revertCode.isOK() ? TxStatus.MINED : TxStatus.REVERTED, '', block.hash().toBuffer(), block.number);
|
|
110
111
|
}
|
|
111
112
|
/**
|
|
112
113
|
* Looks up which block included the requested tx effect.
|
|
@@ -151,4 +152,4 @@ _BlockStore_blocks = new WeakMap(), _BlockStore_lastSynchedL1Block = new WeakMap
|
|
|
151
152
|
const end = start + limit;
|
|
152
153
|
return { start, end };
|
|
153
154
|
};
|
|
154
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
155
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2tfc3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXJjaGl2ZXIva3ZfYXJjaGl2ZXJfc3RvcmUvYmxvY2tfc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFvQixTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEYsT0FBTyxFQUFFLHNCQUFzQixFQUFnQixNQUFNLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN4RyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQWExRDs7R0FFRztBQUNILE1BQU0sT0FBTyxVQUFVO0lBZ0JyQixZQUFvQixFQUFnQixFQUFFLGNBQThCOztRQUFoRCxPQUFFLEdBQUYsRUFBRSxDQUFjO1FBZnBDLHFDQUFxQztRQUNyQyxxQ0FBd0M7UUFDeEMsK0VBQStFO1FBQy9FLGlEQUE0QztRQUU1Qyw4RUFBOEU7UUFDOUUsc0NBQTRDO1FBRTVDLGtGQUFrRjtRQUNsRiw0Q0FBa0Q7UUFFbEQsMEJBQU8saUJBQWlCLENBQUMsNEJBQTRCLENBQUMsRUFBQztRQUV2RCw2Q0FBZ0M7UUFHOUIsdUJBQUEsSUFBSSw4QkFBbUIsY0FBYyxNQUFBLENBQUM7UUFFdEMsdUJBQUEsSUFBSSxzQkFBVyxFQUFFLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLE1BQUEsQ0FBQztRQUM3Qyx1QkFBQSxJQUFJLHVCQUFZLEVBQUUsQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsTUFBQSxDQUFDO1FBQ2hELHVCQUFBLElBQUksNkJBQWtCLEVBQUUsQ0FBQyxPQUFPLENBQUMseUJBQXlCLENBQUMsTUFBQSxDQUFDO1FBQzVELHVCQUFBLElBQUksa0NBQXVCLEVBQUUsQ0FBQyxhQUFhLENBQUMsZ0NBQWdDLENBQUMsTUFBQSxDQUFDO0lBQ2hGLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gs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
|
|
@@ -1,17 +1,16 @@
|
|
|
1
|
-
/// <reference types="node" resolution-mode="require"/>
|
|
2
1
|
import { Fr } from '@aztec/circuits.js';
|
|
3
2
|
import { AztecKVStore } from '@aztec/kv-store';
|
|
4
|
-
import { ContractClassPublic } from '@aztec/types/contracts';
|
|
3
|
+
import { ContractClassPublic, ExecutablePrivateFunctionWithMembershipProof, UnconstrainedFunctionWithMembershipProof } from '@aztec/types/contracts';
|
|
5
4
|
/**
|
|
6
5
|
* LMDB implementation of the ArchiverDataStore interface.
|
|
7
6
|
*/
|
|
8
7
|
export declare class ContractClassStore {
|
|
9
8
|
#private;
|
|
9
|
+
private db;
|
|
10
10
|
constructor(db: AztecKVStore);
|
|
11
11
|
addContractClass(contractClass: ContractClassPublic): Promise<boolean>;
|
|
12
12
|
getContractClass(id: Fr): ContractClassPublic | undefined;
|
|
13
13
|
getContractClassIds(): Fr[];
|
|
14
|
+
addFunctions(contractClassId: Fr, newPrivateFunctions: ExecutablePrivateFunctionWithMembershipProof[], newUnconstrainedFunctions: UnconstrainedFunctionWithMembershipProof[]): Promise<boolean>;
|
|
14
15
|
}
|
|
15
|
-
export declare function serializeContractClassPublic(contractClass: ContractClassPublic): Buffer;
|
|
16
|
-
export declare function deserializeContractClassPublic(buffer: Buffer): Omit<ContractClassPublic, 'id'>;
|
|
17
16
|
//# sourceMappingURL=contract_class_store.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract_class_store.d.ts","sourceRoot":"","sources":["../../../src/archiver/kv_archiver_store/contract_class_store.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"contract_class_store.d.ts","sourceRoot":"","sources":["../../../src/archiver/kv_archiver_store/contract_class_store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAA4B,MAAM,oBAAoB,CAAC;AAElE,OAAO,EAAE,YAAY,EAAY,MAAM,iBAAiB,CAAC;AACzD,OAAO,EACL,mBAAmB,EACnB,4CAA4C,EAC5C,wCAAwC,EACzC,MAAM,wBAAwB,CAAC;AAEhC;;GAEG;AACH,qBAAa,kBAAkB;;IAGjB,OAAO,CAAC,EAAE;gBAAF,EAAE,EAAE,YAAY;IAIpC,gBAAgB,CAAC,aAAa,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC;IAItE,gBAAgB,CAAC,EAAE,EAAE,EAAE,GAAG,mBAAmB,GAAG,SAAS;IAKzD,mBAAmB,IAAI,EAAE,EAAE;IAIrB,YAAY,CAChB,eAAe,EAAE,EAAE,EACnB,mBAAmB,EAAE,4CAA4C,EAAE,EACnE,yBAAyB,EAAE,wCAAwC,EAAE,GACpE,OAAO,CAAC,OAAO,CAAC;CA2BpB"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
var _ContractClassStore_contractClasses;
|
|
2
2
|
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
|
3
|
-
import { Fr, FunctionSelector } from '@aztec/circuits.js';
|
|
3
|
+
import { Fr, FunctionSelector, Vector } from '@aztec/circuits.js';
|
|
4
4
|
import { BufferReader, numToUInt8, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
5
5
|
/**
|
|
6
6
|
* LMDB implementation of the ArchiverDataStore interface.
|
|
7
7
|
*/
|
|
8
8
|
export class ContractClassStore {
|
|
9
9
|
constructor(db) {
|
|
10
|
+
this.db = db;
|
|
10
11
|
_ContractClassStore_contractClasses.set(this, void 0);
|
|
11
12
|
__classPrivateFieldSet(this, _ContractClassStore_contractClasses, db.openMap('archiver_contract_classes'), "f");
|
|
12
13
|
}
|
|
@@ -20,32 +21,82 @@ export class ContractClassStore {
|
|
|
20
21
|
getContractClassIds() {
|
|
21
22
|
return Array.from(__classPrivateFieldGet(this, _ContractClassStore_contractClasses, "f").keys()).map(key => Fr.fromString(key));
|
|
22
23
|
}
|
|
24
|
+
async addFunctions(contractClassId, newPrivateFunctions, newUnconstrainedFunctions) {
|
|
25
|
+
await this.db.transaction(() => {
|
|
26
|
+
const existingClassBuffer = __classPrivateFieldGet(this, _ContractClassStore_contractClasses, "f").get(contractClassId.toString());
|
|
27
|
+
if (!existingClassBuffer) {
|
|
28
|
+
throw new Error(`Unknown contract class ${contractClassId} when adding private functions to store`);
|
|
29
|
+
}
|
|
30
|
+
const existingClass = deserializeContractClassPublic(existingClassBuffer);
|
|
31
|
+
const { privateFunctions: existingPrivateFns, unconstrainedFunctions: existingUnconstrainedFns } = existingClass;
|
|
32
|
+
const updatedClass = {
|
|
33
|
+
...existingClass,
|
|
34
|
+
privateFunctions: [
|
|
35
|
+
...existingPrivateFns,
|
|
36
|
+
...newPrivateFunctions.filter(newFn => !existingPrivateFns.some(f => f.selector.equals(newFn.selector))),
|
|
37
|
+
],
|
|
38
|
+
unconstrainedFunctions: [
|
|
39
|
+
...existingUnconstrainedFns,
|
|
40
|
+
...newUnconstrainedFunctions.filter(newFn => !existingUnconstrainedFns.some(f => f.selector.equals(newFn.selector))),
|
|
41
|
+
],
|
|
42
|
+
};
|
|
43
|
+
void __classPrivateFieldGet(this, _ContractClassStore_contractClasses, "f").set(contractClassId.toString(), serializeContractClassPublic(updatedClass));
|
|
44
|
+
});
|
|
45
|
+
return Promise.resolve(true);
|
|
46
|
+
}
|
|
23
47
|
}
|
|
24
48
|
_ContractClassStore_contractClasses = new WeakMap();
|
|
25
|
-
|
|
26
|
-
return serializeToBuffer(numToUInt8(contractClass.version), contractClass.artifactHash, contractClass.
|
|
49
|
+
function serializeContractClassPublic(contractClass) {
|
|
50
|
+
return serializeToBuffer(numToUInt8(contractClass.version), contractClass.artifactHash, contractClass.publicFunctions.length, contractClass.publicFunctions?.map(f => serializeToBuffer(f.selector, f.bytecode.length, f.bytecode)) ?? [], contractClass.privateFunctions.length, contractClass.privateFunctions.map(serializePrivateFunction), contractClass.unconstrainedFunctions.length, contractClass.unconstrainedFunctions.map(serializeUnconstrainedFunction), contractClass.packedBytecode.length, contractClass.packedBytecode, contractClass.privateFunctionsRoot);
|
|
51
|
+
}
|
|
52
|
+
function serializePrivateFunction(fn) {
|
|
53
|
+
return serializeToBuffer(fn.selector, fn.vkHash, fn.bytecode.length, fn.bytecode, fn.functionMetadataHash, fn.artifactMetadataHash, fn.unconstrainedFunctionsArtifactTreeRoot, new Vector(fn.privateFunctionTreeSiblingPath), fn.privateFunctionTreeLeafIndex, new Vector(fn.artifactTreeSiblingPath), fn.artifactTreeLeafIndex);
|
|
27
54
|
}
|
|
28
|
-
|
|
55
|
+
function serializeUnconstrainedFunction(fn) {
|
|
56
|
+
return serializeToBuffer(fn.selector, fn.bytecode.length, fn.bytecode, fn.functionMetadataHash, fn.artifactMetadataHash, fn.privateFunctionsArtifactTreeRoot, new Vector(fn.artifactTreeSiblingPath), fn.artifactTreeLeafIndex);
|
|
57
|
+
}
|
|
58
|
+
function deserializeContractClassPublic(buffer) {
|
|
29
59
|
const reader = BufferReader.asReader(buffer);
|
|
30
60
|
return {
|
|
31
61
|
version: reader.readUInt8(),
|
|
32
62
|
artifactHash: reader.readObject(Fr),
|
|
33
|
-
privateFunctions: reader.readVector({
|
|
34
|
-
fromBuffer: reader => ({
|
|
35
|
-
selector: reader.readObject(FunctionSelector),
|
|
36
|
-
vkHash: reader.readObject(Fr),
|
|
37
|
-
isInternal: reader.readBoolean(),
|
|
38
|
-
}),
|
|
39
|
-
}),
|
|
40
63
|
publicFunctions: reader.readVector({
|
|
41
64
|
fromBuffer: reader => ({
|
|
42
65
|
selector: reader.readObject(FunctionSelector),
|
|
43
66
|
bytecode: reader.readBuffer(),
|
|
44
|
-
isInternal: reader.readBoolean(),
|
|
45
67
|
}),
|
|
46
68
|
}),
|
|
69
|
+
privateFunctions: reader.readVector({ fromBuffer: deserializePrivateFunction }),
|
|
70
|
+
unconstrainedFunctions: reader.readVector({ fromBuffer: deserializeUnconstrainedFunction }),
|
|
47
71
|
packedBytecode: reader.readBuffer(),
|
|
48
72
|
privateFunctionsRoot: reader.readObject(Fr),
|
|
49
73
|
};
|
|
50
74
|
}
|
|
51
|
-
|
|
75
|
+
function deserializePrivateFunction(buffer) {
|
|
76
|
+
const reader = BufferReader.asReader(buffer);
|
|
77
|
+
return {
|
|
78
|
+
selector: reader.readObject(FunctionSelector),
|
|
79
|
+
vkHash: reader.readObject(Fr),
|
|
80
|
+
bytecode: reader.readBuffer(),
|
|
81
|
+
functionMetadataHash: reader.readObject(Fr),
|
|
82
|
+
artifactMetadataHash: reader.readObject(Fr),
|
|
83
|
+
unconstrainedFunctionsArtifactTreeRoot: reader.readObject(Fr),
|
|
84
|
+
privateFunctionTreeSiblingPath: reader.readVector(Fr),
|
|
85
|
+
privateFunctionTreeLeafIndex: reader.readNumber(),
|
|
86
|
+
artifactTreeSiblingPath: reader.readVector(Fr),
|
|
87
|
+
artifactTreeLeafIndex: reader.readNumber(),
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
function deserializeUnconstrainedFunction(buffer) {
|
|
91
|
+
const reader = BufferReader.asReader(buffer);
|
|
92
|
+
return {
|
|
93
|
+
selector: reader.readObject(FunctionSelector),
|
|
94
|
+
bytecode: reader.readBuffer(),
|
|
95
|
+
functionMetadataHash: reader.readObject(Fr),
|
|
96
|
+
artifactMetadataHash: reader.readObject(Fr),
|
|
97
|
+
privateFunctionsArtifactTreeRoot: reader.readObject(Fr),
|
|
98
|
+
artifactTreeSiblingPath: reader.readVector(Fr),
|
|
99
|
+
artifactTreeLeafIndex: reader.readNumber(),
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RfY2xhc3Nfc3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXJjaGl2ZXIva3ZfYXJjaGl2ZXJfc3RvcmUvY29udHJhY3RfY2xhc3Nfc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQUUsRUFBRSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFRMUY7O0dBRUc7QUFDSCxNQUFNLE9BQU8sa0JBQWtCO0lBRzdCLFlBQW9CLEVBQWdCO1FBQWhCLE9BQUUsR0FBRixFQUFFLENBQWM7UUFGcEMsc0RBQTJDO1FBR3pDLHVCQUFBLElBQUksdUNBQW9CLEVBQUUsQ0FBQyxPQUFPLENBQUMsMkJBQTJCLENBQUMsTUFBQSxDQUFDO0lBQ2xFLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxhQUFrQztRQUNqRCxPQUFPLHVCQUFBLElBQUksMkNBQWlCLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLEVBQUUsNEJBQTRCLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztJQUM3RyxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsRUFBTTtRQUNyQixNQUFNLGFBQWEsR0FBRyx1QkFBQSxJQUFJLDJDQUFpQixDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUMvRCxPQUFPLGFBQWEsSUFBSSxFQUFFLEdBQUcsOEJBQThCLENBQUMsYUFBYSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUM7SUFDbkYsQ0FBQztJQUVELG1CQUFtQjtRQUNqQixPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsdUJBQUEsSUFBSSwyQ0FBaUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENB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
|
|
@@ -3,7 +3,7 @@ import { Body, GetUnencryptedLogsResponse, InboxLeaf, L2Block, L2BlockL2Logs, Lo
|
|
|
3
3
|
import { Fr } from '@aztec/circuits.js';
|
|
4
4
|
import { AztecAddress } from '@aztec/foundation/aztec-address';
|
|
5
5
|
import { AztecKVStore } from '@aztec/kv-store';
|
|
6
|
-
import { ContractClassPublic, ContractInstanceWithAddress } from '@aztec/types/contracts';
|
|
6
|
+
import { ContractClassPublic, ContractInstanceWithAddress, ExecutablePrivateFunctionWithMembershipProof, UnconstrainedFunctionWithMembershipProof } from '@aztec/types/contracts';
|
|
7
7
|
import { ArchiverDataStore, ArchiverL1SynchPoint } from '../archiver_store.js';
|
|
8
8
|
import { DataRetrieval } from '../data_retrieval.js';
|
|
9
9
|
/**
|
|
@@ -16,6 +16,7 @@ export declare class KVArchiverDataStore implements ArchiverDataStore {
|
|
|
16
16
|
getContractClassIds(): Promise<Fr[]>;
|
|
17
17
|
getContractInstance(address: AztecAddress): Promise<ContractInstanceWithAddress | undefined>;
|
|
18
18
|
addContractClasses(data: ContractClassPublic[], _blockNumber: number): Promise<boolean>;
|
|
19
|
+
addFunctions(contractClassId: Fr, privateFunctions: ExecutablePrivateFunctionWithMembershipProof[], unconstrainedFunctions: UnconstrainedFunctionWithMembershipProof[]): Promise<boolean>;
|
|
19
20
|
addContractInstances(data: ContractInstanceWithAddress[], _blockNumber: number): Promise<boolean>;
|
|
20
21
|
/**
|
|
21
22
|
* Append new block bodies to the store's list.
|
|
@@ -71,11 +72,12 @@ export declare class KVArchiverDataStore implements ArchiverDataStore {
|
|
|
71
72
|
*/
|
|
72
73
|
addL1ToL2Messages(messages: DataRetrieval<InboxLeaf>): Promise<boolean>;
|
|
73
74
|
/**
|
|
74
|
-
* Gets the L1 to L2 message index in the L1 to L2 message tree
|
|
75
|
+
* Gets the first L1 to L2 message index in the L1 to L2 message tree which is greater than or equal to `startIndex`.
|
|
75
76
|
* @param l1ToL2Message - The L1 to L2 message.
|
|
77
|
+
* @param startIndex - The index to start searching from.
|
|
76
78
|
* @returns The index of the L1 to L2 message in the L1 to L2 message tree (undefined if not found).
|
|
77
79
|
*/
|
|
78
|
-
getL1ToL2MessageIndex(l1ToL2Message: Fr): Promise<bigint | undefined>;
|
|
80
|
+
getL1ToL2MessageIndex(l1ToL2Message: Fr, startIndex: bigint): Promise<bigint | undefined>;
|
|
79
81
|
/**
|
|
80
82
|
* Gets L1 to L2 message (to be) included in a given block.
|
|
81
83
|
* @param blockNumber - L2 block number to get messages for.
|
|
@@ -104,6 +106,6 @@ export declare class KVArchiverDataStore implements ArchiverDataStore {
|
|
|
104
106
|
/**
|
|
105
107
|
* Gets the last L1 block number processed by the archiver
|
|
106
108
|
*/
|
|
107
|
-
|
|
109
|
+
getSynchPoint(): Promise<ArchiverL1SynchPoint>;
|
|
108
110
|
}
|
|
109
111
|
//# sourceMappingURL=kv_archiver_store.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kv_archiver_store.d.ts","sourceRoot":"","sources":["../../../src/archiver/kv_archiver_store/kv_archiver_store.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,IAAI,EACJ,0BAA0B,EAC1B,SAAS,EACT,OAAO,EACP,aAAa,EACb,SAAS,EACT,OAAO,EACP,QAAQ,EACR,MAAM,EACN,SAAS,EACV,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAE/D,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,
|
|
1
|
+
{"version":3,"file":"kv_archiver_store.d.ts","sourceRoot":"","sources":["../../../src/archiver/kv_archiver_store/kv_archiver_store.ts"],"names":[],"mappings":"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"}
|
|
@@ -38,6 +38,9 @@ export class KVArchiverDataStore {
|
|
|
38
38
|
async addContractClasses(data, _blockNumber) {
|
|
39
39
|
return (await Promise.all(data.map(c => __classPrivateFieldGet(this, _KVArchiverDataStore_contractClassStore, "f").addContractClass(c)))).every(Boolean);
|
|
40
40
|
}
|
|
41
|
+
addFunctions(contractClassId, privateFunctions, unconstrainedFunctions) {
|
|
42
|
+
return __classPrivateFieldGet(this, _KVArchiverDataStore_contractClassStore, "f").addFunctions(contractClassId, privateFunctions, unconstrainedFunctions);
|
|
43
|
+
}
|
|
41
44
|
async addContractInstances(data, _blockNumber) {
|
|
42
45
|
return (await Promise.all(data.map(c => __classPrivateFieldGet(this, _KVArchiverDataStore_contractInstanceStore, "f").addContractInstance(c)))).every(Boolean);
|
|
43
46
|
}
|
|
@@ -117,12 +120,13 @@ export class KVArchiverDataStore {
|
|
|
117
120
|
return Promise.resolve(__classPrivateFieldGet(this, _KVArchiverDataStore_messageStore, "f").addL1ToL2Messages(messages));
|
|
118
121
|
}
|
|
119
122
|
/**
|
|
120
|
-
* Gets the L1 to L2 message index in the L1 to L2 message tree
|
|
123
|
+
* Gets the first L1 to L2 message index in the L1 to L2 message tree which is greater than or equal to `startIndex`.
|
|
121
124
|
* @param l1ToL2Message - The L1 to L2 message.
|
|
125
|
+
* @param startIndex - The index to start searching from.
|
|
122
126
|
* @returns The index of the L1 to L2 message in the L1 to L2 message tree (undefined if not found).
|
|
123
127
|
*/
|
|
124
|
-
getL1ToL2MessageIndex(l1ToL2Message) {
|
|
125
|
-
return Promise.resolve(__classPrivateFieldGet(this, _KVArchiverDataStore_messageStore, "f").getL1ToL2MessageIndex(l1ToL2Message));
|
|
128
|
+
getL1ToL2MessageIndex(l1ToL2Message, startIndex) {
|
|
129
|
+
return Promise.resolve(__classPrivateFieldGet(this, _KVArchiverDataStore_messageStore, "f").getL1ToL2MessageIndex(l1ToL2Message, startIndex));
|
|
126
130
|
}
|
|
127
131
|
/**
|
|
128
132
|
* Gets L1 to L2 message (to be) included in a given block.
|
|
@@ -175,14 +179,12 @@ export class KVArchiverDataStore {
|
|
|
175
179
|
/**
|
|
176
180
|
* Gets the last L1 block number processed by the archiver
|
|
177
181
|
*/
|
|
178
|
-
|
|
179
|
-
const blocks = __classPrivateFieldGet(this, _KVArchiverDataStore_blockStore, "f").getSynchedL1BlockNumber();
|
|
180
|
-
const messages = __classPrivateFieldGet(this, _KVArchiverDataStore_messageStore, "f").getSynchedL1BlockNumber();
|
|
182
|
+
getSynchPoint() {
|
|
181
183
|
return Promise.resolve({
|
|
182
|
-
|
|
183
|
-
|
|
184
|
+
blocksSynchedTo: __classPrivateFieldGet(this, _KVArchiverDataStore_blockStore, "f").getSynchedL1BlockNumber(),
|
|
185
|
+
messagesSynchedTo: __classPrivateFieldGet(this, _KVArchiverDataStore_messageStore, "f").getSynchedL1BlockNumber(),
|
|
184
186
|
});
|
|
185
187
|
}
|
|
186
188
|
}
|
|
187
189
|
_KVArchiverDataStore_blockStore = new WeakMap(), _KVArchiverDataStore_blockBodyStore = new WeakMap(), _KVArchiverDataStore_logStore = new WeakMap(), _KVArchiverDataStore_messageStore = new WeakMap(), _KVArchiverDataStore_contractClassStore = new WeakMap(), _KVArchiverDataStore_contractInstanceStore = new WeakMap(), _KVArchiverDataStore_log = new WeakMap();
|
|
188
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
190
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3ZfYXJjaGl2ZXJfc3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXJjaGl2ZXIva3ZfYXJjaGl2ZXJfc3RvcmUva3ZfYXJjaGl2ZXJfc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFjQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQVcxRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFbEQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sbUJBQW1CO0lBVTlCLFlBQVksRUFBZ0IsRUFBRSxrQkFBMEIsSUFBSTtRQVQ1RCxrREFBd0I7UUFDeEIsc0RBQWdDO1FBQ2hDLGdEQUFvQjtRQUNwQixvREFBNEI7UUFDNUIsMERBQXdDO1FBQ3hDLDZEQUE4QztRQUU5QyxtQ0FBTyxpQkFBaUIsQ0FBQywyQkFBMkIsQ0FBQyxFQUFDO1FBR3BELHVCQUFBLElBQUksdUNBQW1CLElBQUksY0FBYyxDQUFDLEVBQUUsQ0FBQyxNQUFBLENBQUM7UUFDOUMsdUJBQUEsSUFBSSxtQ0FBZSxJQUFJLFVBQVUsQ0FBQyxFQUFFLEVBQUUsdUJBQUEsSUFBSSwyQ0FBZ0IsQ0FBQyxNQUFBLENBQUM7UUFDNUQsdUJBQUEsSUFBSSxpQ0FBYSxJQUFJLFFBQVEsQ0FBQyxFQUFFLEVBQUUsdUJBQUEsSUFBSSx1Q0FBWSxFQUFFLGVBQWUsQ0FBQyxNQUFBLENBQUM7UUFDckUsdUJBQUEsSUFBSSxx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
|
|
@@ -21,11 +21,12 @@ export declare class MessageStore {
|
|
|
21
21
|
*/
|
|
22
22
|
addL1ToL2Messages(messages: DataRetrieval<InboxLeaf>): Promise<boolean>;
|
|
23
23
|
/**
|
|
24
|
-
* Gets the L1 to L2 message index in the L1 to L2 message tree
|
|
24
|
+
* Gets the first L1 to L2 message index in the L1 to L2 message tree which is greater than or equal to `startIndex`.
|
|
25
25
|
* @param l1ToL2Message - The L1 to L2 message.
|
|
26
|
+
* @param startIndex - The index to start searching from.
|
|
26
27
|
* @returns The index of the L1 to L2 message in the L1 to L2 message tree (undefined if not found).
|
|
27
28
|
*/
|
|
28
|
-
getL1ToL2MessageIndex(l1ToL2Message: Fr): Promise<bigint | undefined>;
|
|
29
|
+
getL1ToL2MessageIndex(l1ToL2Message: Fr, startIndex: bigint): Promise<bigint | undefined>;
|
|
29
30
|
getL1ToL2Messages(blockNumber: bigint): Fr[];
|
|
30
31
|
}
|
|
31
32
|
//# 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,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EACL,EAAE,EAIH,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,YAAY,EAA4B,MAAM,iBAAiB,CAAC;AAEzE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD;;GAEG;AACH,qBAAa,YAAY;;IASX,OAAO,CAAC,EAAE;gBAAF,EAAE,EAAE,YAAY;IAMpC;;;OAGG;IACH,uBAAuB,IAAI,MAAM;IAIjC;;;;OAIG;IACH,iBAAiB,CAAC,QAAQ,EAAE,aAAa,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"message_store.d.ts","sourceRoot":"","sources":["../../../src/archiver/kv_archiver_store/message_store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EACL,EAAE,EAIH,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,YAAY,EAA4B,MAAM,iBAAiB,CAAC;AAEzE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD;;GAEG;AACH,qBAAa,YAAY;;IASX,OAAO,CAAC,EAAE;gBAAF,EAAE,EAAE,YAAY;IAMpC;;;OAGG;IACH,uBAAuB,IAAI,MAAM;IAIjC;;;;OAIG;IACH,iBAAiB,CAAC,QAAQ,EAAE,aAAa,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IA6BvE;;;;;OAKG;IACH,qBAAqB,CAAC,aAAa,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAMzF,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,EAAE,EAAE;CAoB7C"}
|
|
@@ -9,7 +9,7 @@ export class MessageStore {
|
|
|
9
9
|
constructor(db) {
|
|
10
10
|
this.db = db;
|
|
11
11
|
_MessageStore_l1ToL2Messages.set(this, void 0);
|
|
12
|
-
_MessageStore_l1ToL2MessageIndices.set(this, void 0);
|
|
12
|
+
_MessageStore_l1ToL2MessageIndices.set(this, void 0); // We store array of bigints here because there can be duplicate messages
|
|
13
13
|
_MessageStore_lastL1BlockMessages.set(this, void 0);
|
|
14
14
|
_MessageStore_log.set(this, createDebugLogger('aztec:archiver:message_store'));
|
|
15
15
|
_MessageStore_l1ToL2MessagesSubtreeSize.set(this, 2 ** L1_TO_L2_MSG_SUBTREE_HEIGHT);
|
|
@@ -44,18 +44,22 @@ export class MessageStore {
|
|
|
44
44
|
void __classPrivateFieldGet(this, _MessageStore_l1ToL2Messages, "f").setIfNotExists(key, message.leaf.toBuffer());
|
|
45
45
|
const indexInTheWholeTree = (message.blockNumber - BigInt(INITIAL_L2_BLOCK_NUM)) * BigInt(NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP) +
|
|
46
46
|
message.index;
|
|
47
|
-
|
|
47
|
+
const indices = __classPrivateFieldGet(this, _MessageStore_l1ToL2MessageIndices, "f").get(message.leaf.toString()) ?? [];
|
|
48
|
+
indices.push(indexInTheWholeTree);
|
|
49
|
+
void __classPrivateFieldGet(this, _MessageStore_l1ToL2MessageIndices, "f").set(message.leaf.toString(), indices);
|
|
48
50
|
}
|
|
49
51
|
return true;
|
|
50
52
|
});
|
|
51
53
|
}
|
|
52
54
|
/**
|
|
53
|
-
* Gets the L1 to L2 message index in the L1 to L2 message tree
|
|
55
|
+
* Gets the first L1 to L2 message index in the L1 to L2 message tree which is greater than or equal to `startIndex`.
|
|
54
56
|
* @param l1ToL2Message - The L1 to L2 message.
|
|
57
|
+
* @param startIndex - The index to start searching from.
|
|
55
58
|
* @returns The index of the L1 to L2 message in the L1 to L2 message tree (undefined if not found).
|
|
56
59
|
*/
|
|
57
|
-
getL1ToL2MessageIndex(l1ToL2Message) {
|
|
58
|
-
const
|
|
60
|
+
getL1ToL2MessageIndex(l1ToL2Message, startIndex) {
|
|
61
|
+
const indices = __classPrivateFieldGet(this, _MessageStore_l1ToL2MessageIndices, "f").get(l1ToL2Message.toString()) ?? [];
|
|
62
|
+
const index = indices.find(i => i >= startIndex);
|
|
59
63
|
return Promise.resolve(index);
|
|
60
64
|
}
|
|
61
65
|
getL1ToL2Messages(blockNumber) {
|
|
@@ -81,4 +85,4 @@ export class MessageStore {
|
|
|
81
85
|
}
|
|
82
86
|
}
|
|
83
87
|
_MessageStore_l1ToL2Messages = new WeakMap(), _MessageStore_l1ToL2MessageIndices = new WeakMap(), _MessageStore_lastL1BlockMessages = new WeakMap(), _MessageStore_log = new WeakMap(), _MessageStore_l1ToL2MessagesSubtreeSize = new WeakMap();
|
|
84
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZV9zdG9yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcmNoaXZlci9rdl9hcmNoaXZlcl9zdG9yZS9tZXNzYWdlX3N0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQ0EsT0FBTyxFQUNMLEVBQUUsRUFDRixvQkFBb0IsRUFDcEIsMkJBQTJCLEVBQzNCLG1DQUFtQyxHQUNwQyxNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBSzFEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLFlBQVk7SUFTdkIsWUFBb0IsRUFBZ0I7UUFBaEIsT0FBRSxHQUFGLEVBQUUsQ0FBYztRQVJwQywrQ0FBMEM7UUFDMUMscURBQWtELENBQUMseUVBQXlFO1FBQzVILG9EQUE2QztRQUU3Qyw0QkFBTyxpQkFBaUIsQ0FBQyw4QkFBOEIsQ0FBQyxFQUFDO1FBRXpELGtEQUE2QixDQUFDLElBQUksMkJBQTJCLEVBQUM7UUFHNUQsdUJBQUEsSUFBSSxnQ0FBbUIsRUFBRSxDQUFDLE9BQU8sQ0FBQyw0QkFBNEIsQ0FBQyxNQUFBLENBQUM7UUFDaEUsdUJBQUEsSUFBSSxzQ0FBeUIsRUFBRSxDQUFDLE9BQU8sQ0FBQyxtQ0FBbUMsQ0FBQyxNQUFBLENBQUM7UUFDN0UsdUJBQUEsSUFBSSxxQ0FBd0IsRUFBRSxDQUFDLGFBQWEsQ0FBQyxxQ0FBcUMsQ0FBQyxNQUFBLENBQUM7SUFDdEYsQ0FBQztJQUVEOzs7T0FHRztJQUNILHVCQUF1QjtRQUNyQixPQUFPLHVCQUFBLElBQUkseUNBQXFCLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxDQUFDO0lBQy9DLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsaUJBQWlCLENBQUMsUUFBa0M7UUFDbEQsT0FBTyxJQUFJLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUU7WUFDOUIsTUFBTSxpQkFBaUIsR0FBRyx1QkFBQSxJ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
|
|
@@ -6,18 +6,18 @@ import { Fr } from '@aztec/foundation/fields';
|
|
|
6
6
|
export declare class L1ToL2MessageStore {
|
|
7
7
|
#private;
|
|
8
8
|
/**
|
|
9
|
-
* A map
|
|
10
|
-
* messages (and the number of times the message has been seen).
|
|
9
|
+
* A map pointing from a key in a "blockNum-messageIndex" format to the corresponding L1 to L2 message hash.
|
|
11
10
|
*/
|
|
12
11
|
protected store: Map<string, Fr>;
|
|
13
12
|
constructor();
|
|
14
13
|
addMessage(message: InboxLeaf): void;
|
|
15
14
|
getMessages(blockNumber: bigint): Fr[];
|
|
16
15
|
/**
|
|
17
|
-
* Gets the L1 to L2 message index in the L1 to L2 message tree
|
|
16
|
+
* Gets the first L1 to L2 message index in the L1 to L2 message tree which is greater than or equal to `startIndex`.
|
|
18
17
|
* @param l1ToL2Message - The L1 to L2 message.
|
|
18
|
+
* @param startIndex - The index to start searching from.
|
|
19
19
|
* @returns The index of the L1 to L2 message in the L1 to L2 message tree (undefined if not found).
|
|
20
20
|
*/
|
|
21
|
-
getMessageIndex(l1ToL2Message: Fr): bigint | undefined;
|
|
21
|
+
getMessageIndex(l1ToL2Message: Fr, startIndex: bigint): bigint | undefined;
|
|
22
22
|
}
|
|
23
23
|
//# sourceMappingURL=l1_to_l2_message_store.d.ts.map
|
|
@@ -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,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAMjD,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C;;GAEG;AACH,qBAAa,kBAAkB;;IAC7B
|
|
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,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAMjD,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C;;GAEG;AACH,qBAAa,kBAAkB;;IAC7B;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAa;;IAM7C,UAAU,CAAC,OAAO,EAAE,SAAS;IAQ7B,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,EAAE,EAAE;IAqBtC;;;;;OAKG;IACH,eAAe,CAAC,aAAa,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;CAe3E"}
|