@aztec/archiver 0.0.1-commit.b655e406 → 0.0.1-commit.d3ec352c
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 +53 -40
- package/dest/archiver/archiver.d.ts.map +1 -1
- package/dest/archiver/archiver.js +333 -221
- package/dest/archiver/archiver_store.d.ts +16 -15
- package/dest/archiver/archiver_store.d.ts.map +1 -1
- package/dest/archiver/archiver_store_test_suite.d.ts +1 -1
- package/dest/archiver/archiver_store_test_suite.d.ts.map +1 -1
- package/dest/archiver/archiver_store_test_suite.js +85 -84
- package/dest/archiver/config.d.ts +1 -1
- package/dest/archiver/config.d.ts.map +1 -1
- package/dest/archiver/config.js +5 -0
- package/dest/archiver/data_retrieval.d.ts +18 -17
- package/dest/archiver/data_retrieval.d.ts.map +1 -1
- package/dest/archiver/data_retrieval.js +111 -86
- package/dest/archiver/errors.d.ts +1 -1
- package/dest/archiver/errors.d.ts.map +1 -1
- package/dest/archiver/index.d.ts +1 -1
- package/dest/archiver/instrumentation.d.ts +3 -3
- package/dest/archiver/instrumentation.d.ts.map +1 -1
- package/dest/archiver/kv_archiver_store/block_store.d.ts +9 -8
- package/dest/archiver/kv_archiver_store/block_store.d.ts.map +1 -1
- package/dest/archiver/kv_archiver_store/block_store.js +8 -7
- package/dest/archiver/kv_archiver_store/contract_class_store.d.ts +1 -1
- package/dest/archiver/kv_archiver_store/contract_class_store.d.ts.map +1 -1
- package/dest/archiver/kv_archiver_store/contract_instance_store.d.ts +1 -1
- package/dest/archiver/kv_archiver_store/contract_instance_store.d.ts.map +1 -1
- package/dest/archiver/kv_archiver_store/kv_archiver_store.d.ts +18 -17
- package/dest/archiver/kv_archiver_store/kv_archiver_store.d.ts.map +1 -1
- package/dest/archiver/kv_archiver_store/log_store.d.ts +1 -1
- package/dest/archiver/kv_archiver_store/log_store.d.ts.map +1 -1
- package/dest/archiver/kv_archiver_store/log_store.js +3 -2
- package/dest/archiver/kv_archiver_store/message_store.d.ts +1 -1
- package/dest/archiver/kv_archiver_store/message_store.d.ts.map +1 -1
- package/dest/archiver/structs/data_retrieval.d.ts +1 -1
- package/dest/archiver/structs/inbox_message.d.ts +3 -3
- package/dest/archiver/structs/inbox_message.d.ts.map +1 -1
- package/dest/archiver/structs/inbox_message.js +2 -1
- package/dest/archiver/structs/published.d.ts +3 -2
- package/dest/archiver/structs/published.d.ts.map +1 -1
- package/dest/archiver/validation.d.ts +10 -4
- package/dest/archiver/validation.d.ts.map +1 -1
- package/dest/archiver/validation.js +29 -21
- package/dest/factory.d.ts +1 -1
- package/dest/factory.d.ts.map +1 -1
- package/dest/factory.js +3 -2
- package/dest/index.d.ts +2 -2
- package/dest/index.d.ts.map +1 -1
- package/dest/index.js +1 -1
- package/dest/rpc/index.d.ts +2 -2
- package/dest/test/index.d.ts +1 -1
- package/dest/test/mock_archiver.d.ts +14 -5
- package/dest/test/mock_archiver.d.ts.map +1 -1
- package/dest/test/mock_archiver.js +19 -10
- package/dest/test/mock_l1_to_l2_message_source.d.ts +4 -2
- package/dest/test/mock_l1_to_l2_message_source.d.ts.map +1 -1
- package/dest/test/mock_l1_to_l2_message_source.js +7 -2
- package/dest/test/mock_l2_block_source.d.ts +14 -9
- package/dest/test/mock_l2_block_source.d.ts.map +1 -1
- package/dest/test/mock_l2_block_source.js +20 -7
- package/dest/test/mock_structs.d.ts +1 -1
- package/dest/test/mock_structs.d.ts.map +1 -1
- package/dest/test/mock_structs.js +3 -2
- package/package.json +17 -17
- package/src/archiver/archiver.ts +448 -290
- package/src/archiver/archiver_store.ts +19 -14
- package/src/archiver/archiver_store_test_suite.ts +111 -79
- package/src/archiver/config.ts +5 -0
- package/src/archiver/data_retrieval.ts +157 -125
- package/src/archiver/instrumentation.ts +2 -2
- package/src/archiver/kv_archiver_store/block_store.ts +17 -16
- package/src/archiver/kv_archiver_store/kv_archiver_store.ts +16 -15
- package/src/archiver/kv_archiver_store/log_store.ts +3 -2
- package/src/archiver/structs/inbox_message.ts +5 -4
- package/src/archiver/structs/published.ts +2 -1
- package/src/archiver/validation.ts +52 -27
- package/src/factory.ts +3 -2
- package/src/index.ts +1 -1
- package/src/test/mock_archiver.ts +22 -11
- package/src/test/mock_l1_to_l2_message_source.ts +9 -3
- package/src/test/mock_l2_block_source.ts +30 -13
- package/src/test/mock_structs.ts +3 -2
|
@@ -1,31 +1,32 @@
|
|
|
1
|
+
import { type CheckpointBlobData } from '@aztec/blob-lib';
|
|
1
2
|
import type { BlobSinkClientInterface } from '@aztec/blob-sink/client';
|
|
2
3
|
import type { ViemClient, ViemPublicClient } from '@aztec/ethereum';
|
|
4
|
+
import { CheckpointNumber } from '@aztec/foundation/branded-types';
|
|
3
5
|
import type { EthAddress } from '@aztec/foundation/eth-address';
|
|
4
6
|
import { Fr } from '@aztec/foundation/fields';
|
|
5
7
|
import { type Logger } from '@aztec/foundation/log';
|
|
6
8
|
import { type InboxAbi, RollupAbi } from '@aztec/l1-artifacts';
|
|
7
|
-
import { CommitteeAttestation
|
|
9
|
+
import { CommitteeAttestation } from '@aztec/stdlib/block';
|
|
10
|
+
import { PublishedCheckpoint } from '@aztec/stdlib/checkpoint';
|
|
8
11
|
import { Proof } from '@aztec/stdlib/proofs';
|
|
9
12
|
import { CheckpointHeader } from '@aztec/stdlib/rollup';
|
|
10
|
-
import { StateReference } from '@aztec/stdlib/tx';
|
|
11
13
|
import { type GetContractReturnType, type Hex } from 'viem';
|
|
12
14
|
import type { DataRetrieval } from './structs/data_retrieval.js';
|
|
13
15
|
import type { InboxMessage } from './structs/inbox_message.js';
|
|
14
16
|
import type { L1PublishedData } from './structs/published.js';
|
|
15
|
-
export type
|
|
16
|
-
|
|
17
|
+
export type RetrievedCheckpoint = {
|
|
18
|
+
checkpointNumber: CheckpointNumber;
|
|
17
19
|
archiveRoot: Fr;
|
|
18
|
-
stateReference: StateReference;
|
|
19
20
|
header: CheckpointHeader;
|
|
20
|
-
|
|
21
|
+
checkpointBlobData: CheckpointBlobData;
|
|
21
22
|
l1: L1PublishedData;
|
|
22
23
|
chainId: Fr;
|
|
23
24
|
version: Fr;
|
|
24
25
|
attestations: CommitteeAttestation[];
|
|
25
26
|
};
|
|
26
|
-
export declare function
|
|
27
|
+
export declare function retrievedToPublishedCheckpoint({ checkpointNumber, archiveRoot, header: checkpointHeader, checkpointBlobData, l1, chainId, version, attestations }: RetrievedCheckpoint): Promise<PublishedCheckpoint>;
|
|
27
28
|
/**
|
|
28
|
-
* Fetches new
|
|
29
|
+
* Fetches new checkpoints.
|
|
29
30
|
* @param publicClient - The viem public client to use for transaction retrieval.
|
|
30
31
|
* @param rollupAddress - The address of the rollup contract.
|
|
31
32
|
* @param searchStartBlock - The block number to use for starting the search.
|
|
@@ -33,7 +34,7 @@ export declare function retrievedBlockToPublishedL2Block(retrievedBlock: Retriev
|
|
|
33
34
|
* @param expectedNextL2BlockNum - The next L2 block number that we expect to find.
|
|
34
35
|
* @returns An array of block; as well as the next eth block to search from.
|
|
35
36
|
*/
|
|
36
|
-
export declare function
|
|
37
|
+
export declare function retrieveCheckpointsFromRollup(rollup: GetContractReturnType<typeof RollupAbi, ViemPublicClient>, publicClient: ViemPublicClient, blobSinkClient: BlobSinkClientInterface, searchStartBlock: bigint, searchEndBlock: bigint, logger?: Logger): Promise<RetrievedCheckpoint[]>;
|
|
37
38
|
export declare function getL1BlockTime(publicClient: ViemPublicClient, blockNumber: bigint): Promise<bigint>;
|
|
38
39
|
/** Given an L1 to L2 message, retrieves its corresponding event from the Inbox within a specific block range. */
|
|
39
40
|
export declare function retrieveL1ToL2Message(inbox: GetContractReturnType<typeof InboxAbi, ViemClient>, leaf: Fr, fromBlock: bigint, toBlock: bigint): Promise<InboxMessage | undefined>;
|
|
@@ -50,7 +51,7 @@ export declare function retrieveL1ToL2Messages(inbox: GetContractReturnType<type
|
|
|
50
51
|
/** Retrieves L2ProofVerified events from the rollup contract. */
|
|
51
52
|
export declare function retrieveL2ProofVerifiedEvents(publicClient: ViemPublicClient, rollupAddress: EthAddress, searchStartBlock: bigint, searchEndBlock?: bigint): Promise<{
|
|
52
53
|
l1BlockNumber: bigint;
|
|
53
|
-
|
|
54
|
+
checkpointNumber: CheckpointNumber;
|
|
54
55
|
proverId: Fr;
|
|
55
56
|
txHash: Hex;
|
|
56
57
|
}[]>;
|
|
@@ -58,22 +59,22 @@ export declare function retrieveL2ProofVerifiedEvents(publicClient: ViemPublicCl
|
|
|
58
59
|
export declare function retrieveL2ProofsFromRollup(publicClient: ViemPublicClient, rollupAddress: EthAddress, searchStartBlock: bigint, searchEndBlock?: bigint): Promise<DataRetrieval<{
|
|
59
60
|
proof: Proof;
|
|
60
61
|
proverId: Fr;
|
|
61
|
-
|
|
62
|
+
checkpointNumber: number;
|
|
62
63
|
txHash: `0x${string}`;
|
|
63
64
|
}>>;
|
|
64
|
-
export type
|
|
65
|
+
export type SubmitEpochProof = {
|
|
65
66
|
archiveRoot: Fr;
|
|
66
67
|
proverId: Fr;
|
|
67
68
|
proof: Proof;
|
|
68
69
|
};
|
|
69
70
|
/**
|
|
70
|
-
* Gets
|
|
71
|
+
* Gets epoch proof metadata (archive root and proof) from the calldata of an L1 transaction.
|
|
71
72
|
* Assumes that the block was published from an EOA.
|
|
72
73
|
* TODO: Add retries and error management.
|
|
73
74
|
* @param publicClient - The viem public client to use for transaction retrieval.
|
|
74
75
|
* @param txHash - Hash of the tx that published it.
|
|
75
|
-
* @param
|
|
76
|
-
* @returns
|
|
76
|
+
* @param expectedProverId - Expected prover ID.
|
|
77
|
+
* @returns Epoch proof metadata from the calldata, deserialized.
|
|
77
78
|
*/
|
|
78
|
-
export declare function getProofFromSubmitProofTx(publicClient: ViemPublicClient, txHash: `0x${string}`, expectedProverId: Fr): Promise<
|
|
79
|
-
//# sourceMappingURL=
|
|
79
|
+
export declare function getProofFromSubmitProofTx(publicClient: ViemPublicClient, txHash: `0x${string}`, expectedProverId: Fr): Promise<SubmitEpochProof>;
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YV9yZXRyaWV2YWwuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hcmNoaXZlci9kYXRhX3JldHJpZXZhbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsS0FBSyxrQkFBa0IsRUFJeEIsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEtBQUssRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZFLE9BQU8sS0FBSyxFQUVWLFVBQVUsRUFHVixnQkFBZ0IsRUFDakIsTUFBTSxpQkFBaUIsQ0FBQztBQUV6QixPQUFPLEVBQWUsZ0JBQWdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUVoRixPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUVoRSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDOUMsT0FBTyxFQUFFLEtBQUssTUFBTSxFQUFnQixNQUFNLHVCQUF1QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxLQUFLLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMvRCxPQUFPLEVBQVEsb0JBQW9CLEVBQWMsTUFBTSxxQkFBcUIsQ0FBQztBQUM3RSxPQUFPLEVBQWMsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFJeEQsT0FBTyxFQUVMLEtBQUsscUJBQXFCLEVBQzFCLEtBQUssR0FBRyxFQUtULE1BQU0sTUFBTSxDQUFDO0FBR2QsT0FBTyxLQUFLLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDakUsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxLQUFLLEVBQUUsZUFBZSxF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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data_retrieval.d.ts","sourceRoot":"","sources":["../../src/archiver/data_retrieval.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"data_retrieval.d.ts","sourceRoot":"","sources":["../../src/archiver/data_retrieval.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,kBAAkB,EAIxB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,KAAK,EAEV,UAAU,EAGV,gBAAgB,EACjB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAe,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAEhF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAEhE,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,KAAK,QAAQ,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAQ,oBAAoB,EAAc,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAc,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC3E,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAIxD,OAAO,EAEL,KAAK,qBAAqB,EAC1B,KAAK,GAAG,EAKT,MAAM,MAAM,CAAC;AAGd,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D,MAAM,MAAM,mBAAmB,GAAG;IAChC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,WAAW,EAAE,EAAE,CAAC;IAChB,MAAM,EAAE,gBAAgB,CAAC;IACzB,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,EAAE,EAAE,eAAe,CAAC;IACpB,OAAO,EAAE,EAAE,CAAC;IACZ,OAAO,EAAE,EAAE,CAAC;IACZ,YAAY,EAAE,oBAAoB,EAAE,CAAC;CACtC,CAAC;AAEF,wBAAsB,8BAA8B,CAAC,EACnD,gBAAgB,EAChB,WAAW,EACX,MAAM,EAAE,gBAAgB,EACxB,kBAAkB,EAClB,EAAE,EACF,OAAO,EACP,OAAO,EACP,YAAY,EACb,EAAE,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CA4EpD;AAED;;;;;;;;GAQG;AACH,wBAAsB,6BAA6B,CACjD,MAAM,EAAE,qBAAqB,CAAC,OAAO,SAAS,EAAE,gBAAgB,CAAC,EACjE,YAAY,EAAE,gBAAgB,EAC9B,cAAc,EAAE,uBAAuB,EACvC,gBAAgB,EAAE,MAAM,EACxB,cAAc,EAAE,MAAM,EACtB,MAAM,GAAE,MAAiC,GACxC,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAuDhC;AA6DD,wBAAsB,cAAc,CAAC,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAGzG;AA8ID,iHAAiH;AACjH,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,qBAAqB,CAAC,OAAO,QAAQ,EAAE,UAAU,CAAC,EACzD,IAAI,EAAE,EAAE,EACR,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CAKnC;AAED;;;;;;;;GAQG;AACH,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,qBAAqB,CAAC,OAAO,QAAQ,EAAE,UAAU,CAAC,EACzD,gBAAgB,EAAE,MAAM,EACxB,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,YAAY,EAAE,CAAC,CAgBzB;AAgBD,iEAAiE;AACjE,wBAAsB,6BAA6B,CACjD,YAAY,EAAE,gBAAgB,EAC9B,aAAa,EAAE,UAAU,EACzB,gBAAgB,EAAE,MAAM,EACxB,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC;IAAE,aAAa,EAAE,MAAM,CAAC;IAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAAC,QAAQ,EAAE,EAAE,CAAC;IAAC,MAAM,EAAE,GAAG,CAAA;CAAE,EAAE,CAAC,CAerG;AAED,yDAAyD;AACzD,wBAAsB,0BAA0B,CAC9C,YAAY,EAAE,gBAAgB,EAC9B,aAAa,EAAE,UAAU,EACzB,gBAAgB,EAAE,MAAM,EACxB,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,aAAa,CAAC;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,QAAQ,EAAE,EAAE,CAAC;IAAC,gBAAgB,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,KAAK,MAAM,EAAE,CAAA;CAAE,CAAC,CAAC,CAazG;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,WAAW,EAAE,EAAE,CAAC;IAChB,QAAQ,EAAE,EAAE,CAAC;IACb,KAAK,EAAE,KAAK,CAAC;CACd,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAsB,yBAAyB,CAC7C,YAAY,EAAE,gBAAgB,EAC9B,MAAM,EAAE,KAAK,MAAM,EAAE,EACrB,gBAAgB,EAAE,EAAE,GACnB,OAAO,CAAC,gBAAgB,CAAC,CAmC3B"}
|
|
@@ -1,78 +1,104 @@
|
|
|
1
|
-
import { BlobDeserializationError, SpongeBlob,
|
|
1
|
+
import { BlobDeserializationError, SpongeBlob, decodeCheckpointBlobDataFromBlobs, encodeBlockBlobData } from '@aztec/blob-lib';
|
|
2
2
|
import { asyncPool } from '@aztec/foundation/async-pool';
|
|
3
|
+
import { BlockNumber, CheckpointNumber } from '@aztec/foundation/branded-types';
|
|
3
4
|
import { Buffer16, Buffer32 } from '@aztec/foundation/buffer';
|
|
4
5
|
import { Fr } from '@aztec/foundation/fields';
|
|
5
6
|
import { createLogger } from '@aztec/foundation/log';
|
|
6
7
|
import { RollupAbi } from '@aztec/l1-artifacts';
|
|
7
|
-
import { Body, CommitteeAttestation,
|
|
8
|
+
import { Body, CommitteeAttestation, L2BlockNew } from '@aztec/stdlib/block';
|
|
9
|
+
import { Checkpoint, PublishedCheckpoint } from '@aztec/stdlib/checkpoint';
|
|
8
10
|
import { Proof } from '@aztec/stdlib/proofs';
|
|
9
11
|
import { CheckpointHeader } from '@aztec/stdlib/rollup';
|
|
10
12
|
import { AppendOnlyTreeSnapshot } from '@aztec/stdlib/trees';
|
|
11
|
-
import { GlobalVariables, StateReference } from '@aztec/stdlib/tx';
|
|
13
|
+
import { BlockHeader, GlobalVariables, PartialStateReference, StateReference } from '@aztec/stdlib/tx';
|
|
12
14
|
import { decodeFunctionData, getAbiItem, hexToBytes, multicall3Abi } from 'viem';
|
|
13
15
|
import { NoBlobBodiesFoundError } from './errors.js';
|
|
14
|
-
export async function
|
|
15
|
-
const {
|
|
16
|
-
|
|
17
|
-
const
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
state
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
16
|
+
export async function retrievedToPublishedCheckpoint({ checkpointNumber, archiveRoot, header: checkpointHeader, checkpointBlobData, l1, chainId, version, attestations }) {
|
|
17
|
+
const { blocks: blocksBlobData } = checkpointBlobData;
|
|
18
|
+
// The lastArchiveRoot of a block is the new archive for the previous block.
|
|
19
|
+
const newArchiveRoots = blocksBlobData.map((b)=>b.lastArchiveRoot).slice(1).concat([
|
|
20
|
+
archiveRoot
|
|
21
|
+
]);
|
|
22
|
+
// `blocksBlobData` is created from `decodeCheckpointBlobDataFromBlobs`. An error will be thrown if it can't read a
|
|
23
|
+
// field for the `l1ToL2MessageRoot` of the first block. So below we can safely assume it exists:
|
|
24
|
+
const l1toL2MessageTreeRoot = blocksBlobData[0].l1ToL2MessageRoot;
|
|
25
|
+
const spongeBlob = SpongeBlob.init();
|
|
26
|
+
const l2Blocks = [];
|
|
27
|
+
for(let i = 0; i < blocksBlobData.length; i++){
|
|
28
|
+
const blockBlobData = blocksBlobData[i];
|
|
29
|
+
const { blockEndMarker, blockEndStateField, lastArchiveRoot, noteHashRoot, nullifierRoot, publicDataRoot } = blockBlobData;
|
|
30
|
+
const l2BlockNumber = blockEndMarker.blockNumber;
|
|
31
|
+
const globalVariables = GlobalVariables.from({
|
|
32
|
+
chainId,
|
|
33
|
+
version,
|
|
34
|
+
blockNumber: l2BlockNumber,
|
|
35
|
+
slotNumber: checkpointHeader.slotNumber,
|
|
36
|
+
timestamp: blockEndMarker.timestamp,
|
|
37
|
+
coinbase: checkpointHeader.coinbase,
|
|
38
|
+
feeRecipient: checkpointHeader.feeRecipient,
|
|
39
|
+
gasFees: checkpointHeader.gasFees
|
|
40
|
+
});
|
|
41
|
+
const state = StateReference.from({
|
|
42
|
+
l1ToL2MessageTree: new AppendOnlyTreeSnapshot(l1toL2MessageTreeRoot, blockEndStateField.l1ToL2MessageNextAvailableLeafIndex),
|
|
43
|
+
partial: PartialStateReference.from({
|
|
44
|
+
noteHashTree: new AppendOnlyTreeSnapshot(noteHashRoot, blockEndStateField.noteHashNextAvailableLeafIndex),
|
|
45
|
+
nullifierTree: new AppendOnlyTreeSnapshot(nullifierRoot, blockEndStateField.nullifierNextAvailableLeafIndex),
|
|
46
|
+
publicDataTree: new AppendOnlyTreeSnapshot(publicDataRoot, blockEndStateField.publicDataNextAvailableLeafIndex)
|
|
47
|
+
})
|
|
48
|
+
});
|
|
49
|
+
const body = Body.fromTxBlobData(checkpointBlobData.blocks[0].txs);
|
|
50
|
+
const blobFields = encodeBlockBlobData(blockBlobData);
|
|
51
|
+
await spongeBlob.absorb(blobFields);
|
|
52
|
+
const clonedSpongeBlob = spongeBlob.clone();
|
|
53
|
+
const spongeBlobHash = await clonedSpongeBlob.squeeze();
|
|
54
|
+
const header = BlockHeader.from({
|
|
55
|
+
lastArchive: new AppendOnlyTreeSnapshot(lastArchiveRoot, l2BlockNumber),
|
|
56
|
+
state,
|
|
57
|
+
spongeBlobHash,
|
|
58
|
+
globalVariables,
|
|
59
|
+
totalFees: body.txEffects.reduce((accum, txEffect)=>accum.add(txEffect.transactionFee), Fr.ZERO),
|
|
60
|
+
totalManaUsed: new Fr(blockEndStateField.totalManaUsed)
|
|
61
|
+
});
|
|
62
|
+
const newArchive = new AppendOnlyTreeSnapshot(newArchiveRoots[i], l2BlockNumber + 1);
|
|
63
|
+
l2Blocks.push(new L2BlockNew(newArchive, header, body));
|
|
64
|
+
}
|
|
65
|
+
const lastBlock = l2Blocks.at(-1);
|
|
66
|
+
const checkpoint = Checkpoint.from({
|
|
67
|
+
archive: new AppendOnlyTreeSnapshot(archiveRoot, lastBlock.number + 1),
|
|
68
|
+
header: checkpointHeader,
|
|
69
|
+
blocks: l2Blocks,
|
|
70
|
+
number: checkpointNumber
|
|
44
71
|
});
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
block,
|
|
72
|
+
return PublishedCheckpoint.from({
|
|
73
|
+
checkpoint,
|
|
48
74
|
l1,
|
|
49
75
|
attestations
|
|
50
76
|
});
|
|
51
77
|
}
|
|
52
78
|
/**
|
|
53
|
-
* Fetches new
|
|
79
|
+
* Fetches new checkpoints.
|
|
54
80
|
* @param publicClient - The viem public client to use for transaction retrieval.
|
|
55
81
|
* @param rollupAddress - The address of the rollup contract.
|
|
56
82
|
* @param searchStartBlock - The block number to use for starting the search.
|
|
57
83
|
* @param searchEndBlock - The highest block number that we should search up to.
|
|
58
84
|
* @param expectedNextL2BlockNum - The next L2 block number that we expect to find.
|
|
59
85
|
* @returns An array of block; as well as the next eth block to search from.
|
|
60
|
-
*/ export async function
|
|
61
|
-
const
|
|
86
|
+
*/ export async function retrieveCheckpointsFromRollup(rollup, publicClient, blobSinkClient, searchStartBlock, searchEndBlock, logger = createLogger('archiver')) {
|
|
87
|
+
const retrievedCheckpoints = [];
|
|
62
88
|
let rollupConstants;
|
|
63
89
|
do {
|
|
64
90
|
if (searchStartBlock > searchEndBlock) {
|
|
65
91
|
break;
|
|
66
92
|
}
|
|
67
|
-
const
|
|
93
|
+
const checkpointProposedLogs = (await rollup.getEvents.CheckpointProposed({}, {
|
|
68
94
|
fromBlock: searchStartBlock,
|
|
69
95
|
toBlock: searchEndBlock
|
|
70
96
|
})).filter((log)=>log.blockNumber >= searchStartBlock && log.blockNumber <= searchEndBlock);
|
|
71
|
-
if (
|
|
97
|
+
if (checkpointProposedLogs.length === 0) {
|
|
72
98
|
break;
|
|
73
99
|
}
|
|
74
|
-
const lastLog =
|
|
75
|
-
logger.debug(`Got ${
|
|
100
|
+
const lastLog = checkpointProposedLogs.at(-1);
|
|
101
|
+
logger.debug(`Got ${checkpointProposedLogs.length} processed logs for checkpoints ${checkpointProposedLogs[0].args.checkpointNumber}-${lastLog.args.checkpointNumber} between L1 blocks ${searchStartBlock}-${searchEndBlock}`);
|
|
76
102
|
if (rollupConstants === undefined) {
|
|
77
103
|
const [chainId, version, targetCommitteeSize] = await Promise.all([
|
|
78
104
|
publicClient.getChainId(),
|
|
@@ -85,56 +111,56 @@ export async function retrievedBlockToPublishedL2Block(retrievedBlock) {
|
|
|
85
111
|
targetCommitteeSize: Number(targetCommitteeSize)
|
|
86
112
|
};
|
|
87
113
|
}
|
|
88
|
-
const
|
|
89
|
-
|
|
114
|
+
const newCheckpoints = await processCheckpointProposedLogs(rollup, publicClient, blobSinkClient, checkpointProposedLogs, rollupConstants, logger);
|
|
115
|
+
retrievedCheckpoints.push(...newCheckpoints);
|
|
90
116
|
searchStartBlock = lastLog.blockNumber + 1n;
|
|
91
117
|
}while (searchStartBlock <= searchEndBlock)
|
|
92
|
-
// The
|
|
93
|
-
return
|
|
118
|
+
// The asyncPool from processCheckpointProposedLogs will not necessarily return the checkpoints in order, so we sort them before returning.
|
|
119
|
+
return retrievedCheckpoints.sort((a, b)=>Number(a.l1.blockNumber - b.l1.blockNumber));
|
|
94
120
|
}
|
|
95
121
|
/**
|
|
96
|
-
* Processes newly received
|
|
122
|
+
* Processes newly received CheckpointProposed logs.
|
|
97
123
|
* @param rollup - The rollup contract
|
|
98
124
|
* @param publicClient - The viem public client to use for transaction retrieval.
|
|
99
|
-
* @param logs -
|
|
100
|
-
* @returns - An array
|
|
101
|
-
*/ async function
|
|
102
|
-
const
|
|
125
|
+
* @param logs - CheckpointProposed logs.
|
|
126
|
+
* @returns - An array of checkpoints.
|
|
127
|
+
*/ async function processCheckpointProposedLogs(rollup, publicClient, blobSinkClient, logs, { chainId, version, targetCommitteeSize }, logger) {
|
|
128
|
+
const retrievedCheckpoints = [];
|
|
103
129
|
await asyncPool(10, logs, async (log)=>{
|
|
104
|
-
const
|
|
130
|
+
const checkpointNumber = CheckpointNumber.fromBigInt(log.args.checkpointNumber);
|
|
105
131
|
const archive = log.args.archive;
|
|
106
132
|
const archiveFromChain = await rollup.read.archiveAt([
|
|
107
|
-
BigInt(
|
|
133
|
+
BigInt(checkpointNumber)
|
|
108
134
|
]);
|
|
109
135
|
const blobHashes = log.args.versionedBlobHashes.map((blobHash)=>Buffer.from(blobHash.slice(2), 'hex'));
|
|
110
|
-
// The value from the event and contract will match only if the
|
|
136
|
+
// The value from the event and contract will match only if the checkpoint is in the chain.
|
|
111
137
|
if (archive === archiveFromChain) {
|
|
112
|
-
const
|
|
138
|
+
const checkpoint = await getCheckpointFromRollupTx(publicClient, blobSinkClient, log.transactionHash, blobHashes, checkpointNumber, rollup.address, targetCommitteeSize, logger);
|
|
113
139
|
const l1 = {
|
|
114
140
|
blockNumber: log.blockNumber,
|
|
115
141
|
blockHash: log.blockHash,
|
|
116
142
|
timestamp: await getL1BlockTime(publicClient, log.blockNumber)
|
|
117
143
|
};
|
|
118
|
-
|
|
119
|
-
...
|
|
144
|
+
retrievedCheckpoints.push({
|
|
145
|
+
...checkpoint,
|
|
120
146
|
l1,
|
|
121
147
|
chainId,
|
|
122
148
|
version
|
|
123
149
|
});
|
|
124
|
-
logger.trace(`Retrieved
|
|
150
|
+
logger.trace(`Retrieved checkpoint ${checkpointNumber} from L1 tx ${log.transactionHash}`, {
|
|
125
151
|
l1BlockNumber: log.blockNumber,
|
|
126
|
-
|
|
152
|
+
checkpointNumber,
|
|
127
153
|
archive: archive.toString(),
|
|
128
|
-
attestations:
|
|
154
|
+
attestations: checkpoint.attestations
|
|
129
155
|
});
|
|
130
156
|
} else {
|
|
131
|
-
logger.warn(`Ignoring
|
|
157
|
+
logger.warn(`Ignoring checkpoint ${checkpointNumber} due to archive root mismatch`, {
|
|
132
158
|
actual: archive,
|
|
133
159
|
expected: archiveFromChain
|
|
134
160
|
});
|
|
135
161
|
}
|
|
136
162
|
});
|
|
137
|
-
return
|
|
163
|
+
return retrievedCheckpoints;
|
|
138
164
|
}
|
|
139
165
|
export async function getL1BlockTime(publicClient, blockNumber) {
|
|
140
166
|
const block = await publicClient.getBlock({
|
|
@@ -183,14 +209,15 @@ export async function getL1BlockTime(publicClient, blockNumber) {
|
|
|
183
209
|
throw new Error(`Rollup address not found in multicall3 args`);
|
|
184
210
|
}
|
|
185
211
|
/**
|
|
186
|
-
* Gets
|
|
187
|
-
* Assumes that the
|
|
212
|
+
* Gets checkpoint from the calldata of an L1 transaction.
|
|
213
|
+
* Assumes that the checkpoint was published from an EOA.
|
|
188
214
|
* TODO: Add retries and error management.
|
|
189
215
|
* @param publicClient - The viem public client to use for transaction retrieval.
|
|
190
216
|
* @param txHash - Hash of the tx that published it.
|
|
191
|
-
* @param
|
|
192
|
-
* @returns
|
|
193
|
-
*/ async function
|
|
217
|
+
* @param checkpointNumber - Checkpoint number.
|
|
218
|
+
* @returns Checkpoint from the calldata, deserialized
|
|
219
|
+
*/ async function getCheckpointFromRollupTx(publicClient, blobSinkClient, txHash, blobHashes, checkpointNumber, rollupAddress, targetCommitteeSize, logger) {
|
|
220
|
+
logger.trace(`Fetching checkpoint ${checkpointNumber} from rollup tx ${txHash}`);
|
|
194
221
|
const { input: forwarderData, blockHash } = await publicClient.getTransaction({
|
|
195
222
|
hash: txHash
|
|
196
223
|
});
|
|
@@ -205,10 +232,10 @@ export async function getL1BlockTime(publicClient, blockNumber) {
|
|
|
205
232
|
const [decodedArgs, packedAttestations, _signers, _blobInput] = rollupArgs;
|
|
206
233
|
const attestations = CommitteeAttestation.fromPacked(packedAttestations, targetCommitteeSize);
|
|
207
234
|
logger.trace(`Recovered propose calldata from tx ${txHash}`, {
|
|
208
|
-
|
|
235
|
+
checkpointNumber,
|
|
209
236
|
archive: decodedArgs.archive,
|
|
210
|
-
stateReference: decodedArgs.stateReference,
|
|
211
237
|
header: decodedArgs.header,
|
|
238
|
+
l1BlockHash: blockHash,
|
|
212
239
|
blobHashes,
|
|
213
240
|
attestations,
|
|
214
241
|
packedAttestations,
|
|
@@ -217,12 +244,12 @@ export async function getL1BlockTime(publicClient, blockNumber) {
|
|
|
217
244
|
const header = CheckpointHeader.fromViem(decodedArgs.header);
|
|
218
245
|
const blobBodies = await blobSinkClient.getBlobSidecar(blockHash, blobHashes);
|
|
219
246
|
if (blobBodies.length === 0) {
|
|
220
|
-
throw new NoBlobBodiesFoundError(
|
|
247
|
+
throw new NoBlobBodiesFoundError(checkpointNumber);
|
|
221
248
|
}
|
|
222
|
-
let
|
|
249
|
+
let checkpointBlobData;
|
|
223
250
|
try {
|
|
224
|
-
//
|
|
225
|
-
|
|
251
|
+
// Attempt to decode the checkpoint blob data.
|
|
252
|
+
checkpointBlobData = decodeCheckpointBlobDataFromBlobs(blobBodies.map((b)=>b.blob));
|
|
226
253
|
} catch (err) {
|
|
227
254
|
if (err instanceof BlobDeserializationError) {
|
|
228
255
|
logger.fatal(err.message);
|
|
@@ -232,13 +259,11 @@ export async function getL1BlockTime(publicClient, blockNumber) {
|
|
|
232
259
|
throw err;
|
|
233
260
|
}
|
|
234
261
|
const archiveRoot = new Fr(Buffer.from(hexToBytes(decodedArgs.archive)));
|
|
235
|
-
const stateReference = StateReference.fromViem(decodedArgs.stateReference);
|
|
236
262
|
return {
|
|
237
|
-
|
|
263
|
+
checkpointNumber,
|
|
238
264
|
archiveRoot,
|
|
239
|
-
stateReference,
|
|
240
265
|
header,
|
|
241
|
-
|
|
266
|
+
checkpointBlobData,
|
|
242
267
|
attestations
|
|
243
268
|
};
|
|
244
269
|
}
|
|
@@ -277,13 +302,13 @@ export async function getL1BlockTime(publicClient, blockNumber) {
|
|
|
277
302
|
}
|
|
278
303
|
function mapLogsInboxMessage(logs) {
|
|
279
304
|
return logs.map((log)=>{
|
|
280
|
-
const { index, hash,
|
|
305
|
+
const { index, hash, checkpointNumber, rollingHash } = log.args;
|
|
281
306
|
return {
|
|
282
307
|
index: index,
|
|
283
308
|
leaf: Fr.fromHexString(hash),
|
|
284
309
|
l1BlockNumber: log.blockNumber,
|
|
285
310
|
l1BlockHash: Buffer32.fromString(log.blockHash),
|
|
286
|
-
l2BlockNumber: Number(
|
|
311
|
+
l2BlockNumber: BlockNumber(Number(checkpointNumber)),
|
|
287
312
|
rollingHash: Buffer16.fromString(rollingHash)
|
|
288
313
|
};
|
|
289
314
|
});
|
|
@@ -301,7 +326,7 @@ function mapLogsInboxMessage(logs) {
|
|
|
301
326
|
});
|
|
302
327
|
return logs.map((log)=>({
|
|
303
328
|
l1BlockNumber: log.blockNumber,
|
|
304
|
-
|
|
329
|
+
checkpointNumber: CheckpointNumber.fromBigInt(log.args.checkpointNumber),
|
|
305
330
|
proverId: Fr.fromHexString(log.args.proverId),
|
|
306
331
|
txHash: log.transactionHash
|
|
307
332
|
}));
|
|
@@ -310,12 +335,12 @@ function mapLogsInboxMessage(logs) {
|
|
|
310
335
|
const logs = await retrieveL2ProofVerifiedEvents(publicClient, rollupAddress, searchStartBlock, searchEndBlock);
|
|
311
336
|
const retrievedData = [];
|
|
312
337
|
const lastProcessedL1BlockNumber = logs.length > 0 ? logs.at(-1).l1BlockNumber : searchStartBlock - 1n;
|
|
313
|
-
for (const { txHash, proverId,
|
|
338
|
+
for (const { txHash, proverId, checkpointNumber } of logs){
|
|
314
339
|
const proofData = await getProofFromSubmitProofTx(publicClient, txHash, proverId);
|
|
315
340
|
retrievedData.push({
|
|
316
341
|
proof: proofData.proof,
|
|
317
342
|
proverId: proofData.proverId,
|
|
318
|
-
|
|
343
|
+
checkpointNumber,
|
|
319
344
|
txHash
|
|
320
345
|
});
|
|
321
346
|
}
|
|
@@ -325,13 +350,13 @@ function mapLogsInboxMessage(logs) {
|
|
|
325
350
|
};
|
|
326
351
|
}
|
|
327
352
|
/**
|
|
328
|
-
* Gets
|
|
353
|
+
* Gets epoch proof metadata (archive root and proof) from the calldata of an L1 transaction.
|
|
329
354
|
* Assumes that the block was published from an EOA.
|
|
330
355
|
* TODO: Add retries and error management.
|
|
331
356
|
* @param publicClient - The viem public client to use for transaction retrieval.
|
|
332
357
|
* @param txHash - Hash of the tx that published it.
|
|
333
|
-
* @param
|
|
334
|
-
* @returns
|
|
358
|
+
* @param expectedProverId - Expected prover ID.
|
|
359
|
+
* @returns Epoch proof metadata from the calldata, deserialized.
|
|
335
360
|
*/ export async function getProofFromSubmitProofTx(publicClient, txHash, expectedProverId) {
|
|
336
361
|
const { input: data } = await publicClient.getTransaction({
|
|
337
362
|
hash: txHash
|
|
@@ -9,4 +9,4 @@ export declare class InitialBlockNumberNotSequentialError extends Error {
|
|
|
9
9
|
export declare class BlockNumberNotSequentialError extends Error {
|
|
10
10
|
constructor(newBlockNumber: number, previous: number | undefined);
|
|
11
11
|
}
|
|
12
|
-
//# sourceMappingURL=
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXJjaGl2ZXIvZXJyb3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHFCQUFhLHNCQUF1QixTQUFRLEtBQUs7SUFDL0MsWUFBWSxVQUFVLEVBQUUsTUFBTSxFQUU3QjtDQUNGO0FBRUQscUJBQWEsb0NBQXFDLFNBQVEsS0FBSzthQUUzQyxjQUFjLEVBQUUsTUFBTTthQUN0QixtQkFBbUIsRUFBRSxNQUFNLEdBQUcsU0FBUztJQUZ6RCxZQUNrQixjQUFjLEVBQUUsTUFBTSxFQUN0QixtQkFBbUIsRUFBRSxNQUFNLEdBQUcsU0FBUyxFQU94RDtDQUNGO0FBRUQscUJBQWEsNkJBQThCLFNBQVEsS0FBSztJQUN0RCxZQUFZLGNBQWMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sR0FBRyxTQUFTLEVBSS9EO0NBQ0YifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/archiver/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,sBAAuB,SAAQ,KAAK;
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/archiver/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,sBAAuB,SAAQ,KAAK;IAC/C,YAAY,UAAU,EAAE,MAAM,EAE7B;CACF;AAED,qBAAa,oCAAqC,SAAQ,KAAK;aAE3C,cAAc,EAAE,MAAM;aACtB,mBAAmB,EAAE,MAAM,GAAG,SAAS;IAFzD,YACkB,cAAc,EAAE,MAAM,EACtB,mBAAmB,EAAE,MAAM,GAAG,SAAS,EAOxD;CACF;AAED,qBAAa,6BAA8B,SAAQ,KAAK;IACtD,YAAY,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,EAI/D;CACF"}
|
package/dest/archiver/index.d.ts
CHANGED
|
@@ -4,4 +4,4 @@ export { type PublishedL2Block, type L1PublishedData } from './structs/published
|
|
|
4
4
|
export type { ArchiverDataStore } from './archiver_store.js';
|
|
5
5
|
export { KVArchiverDataStore, ARCHIVER_DB_VERSION } from './kv_archiver_store/kv_archiver_store.js';
|
|
6
6
|
export { ContractInstanceStore } from './kv_archiver_store/contract_instance_store.js';
|
|
7
|
-
//# sourceMappingURL=
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hcmNoaXZlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGFBQWEsQ0FBQztBQUM1QixPQUFPLEVBQUUsS0FBSyxnQkFBZ0IsRUFBRSxLQUFLLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3JGLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzdELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDIn0=
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { L2BlockNew } from '@aztec/stdlib/block';
|
|
2
2
|
import { type LmdbStatsCallback, type TelemetryClient, type Tracer } from '@aztec/telemetry-client';
|
|
3
3
|
export declare class ArchiverInstrumentation {
|
|
4
4
|
private telemetry;
|
|
@@ -21,7 +21,7 @@ export declare class ArchiverInstrumentation {
|
|
|
21
21
|
private constructor();
|
|
22
22
|
static new(telemetry: TelemetryClient, lmdbStats?: LmdbStatsCallback): Promise<ArchiverInstrumentation>;
|
|
23
23
|
isEnabled(): boolean;
|
|
24
|
-
processNewBlocks(syncTimePerBlock: number, blocks:
|
|
24
|
+
processNewBlocks(syncTimePerBlock: number, blocks: L2BlockNew[]): void;
|
|
25
25
|
processNewMessages(count: number, syncPerMessageMs: number): void;
|
|
26
26
|
processPrune(duration: number): void;
|
|
27
27
|
updateLastProvenBlock(blockNumber: number): void;
|
|
@@ -32,4 +32,4 @@ export declare class ArchiverInstrumentation {
|
|
|
32
32
|
}[]): void;
|
|
33
33
|
updateL1BlockHeight(blockNumber: bigint): void;
|
|
34
34
|
}
|
|
35
|
-
//# sourceMappingURL=
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zdHJ1bWVudGF0aW9uLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXJjaGl2ZXIvaW5zdHJ1bWVudGF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFLTCxLQUFLLGlCQUFpQixFQUV0QixLQUFLLGVBQWUsRUFDcEIsS0FBSyxNQUFNLEVBR1osTUFBTSx5QkFBeUIsQ0FBQztBQUVqQyxxQkFBYSx1QkFBdUI7SUF3QmhDLE9BQU8sQ0FBQyxTQUFTO0lBdkJuQixTQUFnQixNQUFNLEVBQUUsTUFBTSxDQUFDO0lBRS9CLE9BQU8sQ0FBQyxXQUFXLENBQVE7SUFDM0IsT0FBTyxDQUFDLE9BQU8sQ0FBZ0I7SUFDL0IsT0FBTyxDQUFDLGFBQWEsQ0FBUTtJQUM3QixPQUFPLENBQUMsb0JBQW9CLENBQVk7SUFDeEMsT0FBTyxDQUFDLG9CQUFvQixDQUFnQjtJQUM1QyxPQUFPLENBQUMsU0FBUyxDQUFjO0lBRS9CLE9BQU8sQ0FBQyxhQUFhLENBQVk7SUFDakMsT0FBTyxDQUFDLFVBQVUsQ0FBZ0I7SUFFbEMsT0FBTyxDQUFDLG9CQUFvQixDQUFZO0lBQ3hDLE9BQU8sQ0FBQyxjQUFjLENBQWdCO0lBQ3RDLE9BQU8sQ0FBQyxZQUFZLENBQVk7SUFDaEMsT0FBTyxDQUFDLFdBQVcsQ0FBWTtJQUUvQixPQUFPLENBQUMsc0JBQXNCLENBQVk7SUFDMUMsT0FBTyxDQUFDLGdCQUFnQixDQUFnQjtJQUV4QyxPQUFPLENBQUMsR0FBRyxDQUE0QztJQUV2RCxPQUFPLGVBcUZOO0lBRUQsT0FBb0IsR0FBRyxDQUFDLFNBQVMsRUFBRSxlQUFlLEVBQUUsU0FBUyxDQUFDLEVBQUUsaUJBQWlCLG9DQVVoRjtJQUVNLFNBQVMsSUFBSSxPQUFPLENBRTFCO0lBRU0sZ0JBQWdCLENBQUMsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFVckU7SUFFTSxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sUUFNaEU7SUFFTSxZQUFZLENBQUMsUUFBUSxFQUFFLE1BQU0sUUFHbkM7SUFFTSxxQkFBcUIsQ0FBQyxXQUFXLEVBQUUsTUFBTSxRQUUvQztJQUVNLHFCQUFxQixDQUFDLElBQUksRUFBRTtRQUFFLFFBQVEsRUFBRSxNQUFNLENBQUM7UUFBQyxhQUFhLEVBQUUsTUFBTSxDQUFDO1FBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQTtLQUFFLEVBQUUsUUFXOUY7SUFFTSxtQkFBbUIsQ0FBQyxXQUFXLEVBQUUsTUFBTSxRQUU3QztDQUNGIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instrumentation.d.ts","sourceRoot":"","sources":["../../src/archiver/instrumentation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"instrumentation.d.ts","sourceRoot":"","sources":["../../src/archiver/instrumentation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAKL,KAAK,iBAAiB,EAEtB,KAAK,eAAe,EACpB,KAAK,MAAM,EAGZ,MAAM,yBAAyB,CAAC;AAEjC,qBAAa,uBAAuB;IAwBhC,OAAO,CAAC,SAAS;IAvBnB,SAAgB,MAAM,EAAE,MAAM,CAAC;IAE/B,OAAO,CAAC,WAAW,CAAQ;IAC3B,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,aAAa,CAAQ;IAC7B,OAAO,CAAC,oBAAoB,CAAY;IACxC,OAAO,CAAC,oBAAoB,CAAgB;IAC5C,OAAO,CAAC,SAAS,CAAc;IAE/B,OAAO,CAAC,aAAa,CAAY;IACjC,OAAO,CAAC,UAAU,CAAgB;IAElC,OAAO,CAAC,oBAAoB,CAAY;IACxC,OAAO,CAAC,cAAc,CAAgB;IACtC,OAAO,CAAC,YAAY,CAAY;IAChC,OAAO,CAAC,WAAW,CAAY;IAE/B,OAAO,CAAC,sBAAsB,CAAY;IAC1C,OAAO,CAAC,gBAAgB,CAAgB;IAExC,OAAO,CAAC,GAAG,CAA4C;IAEvD,OAAO,eAqFN;IAED,OAAoB,GAAG,CAAC,SAAS,EAAE,eAAe,EAAE,SAAS,CAAC,EAAE,iBAAiB,oCAUhF;IAEM,SAAS,IAAI,OAAO,CAE1B;IAEM,gBAAgB,CAAC,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,QAUrE;IAEM,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,QAMhE;IAEM,YAAY,CAAC,QAAQ,EAAE,MAAM,QAGnC;IAEM,qBAAqB,CAAC,WAAW,EAAE,MAAM,QAE/C;IAEM,qBAAqB,CAAC,IAAI,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,QAW9F;IAEM,mBAAmB,CAAC,WAAW,EAAE,MAAM,QAE7C;CACF"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { BlockNumber } from '@aztec/foundation/branded-types';
|
|
1
2
|
import { Fr } from '@aztec/foundation/fields';
|
|
2
3
|
import type { AztecAsyncKVStore } from '@aztec/kv-store';
|
|
3
4
|
import type { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
@@ -26,20 +27,20 @@ export declare class BlockStore {
|
|
|
26
27
|
* @param blocksToUnwind - The number of blocks we are to unwind
|
|
27
28
|
* @returns True if the operation is successful
|
|
28
29
|
*/
|
|
29
|
-
unwindBlocks(from:
|
|
30
|
+
unwindBlocks(from: BlockNumber, blocksToUnwind: number): Promise<boolean>;
|
|
30
31
|
/**
|
|
31
32
|
* Gets up to `limit` amount of L2 blocks starting from `from`.
|
|
32
33
|
* @param start - Number of the first block to return (inclusive).
|
|
33
34
|
* @param limit - The number of blocks to return.
|
|
34
35
|
* @returns The requested L2 blocks
|
|
35
36
|
*/
|
|
36
|
-
getBlocks(start:
|
|
37
|
+
getBlocks(start: BlockNumber, limit: number): AsyncIterableIterator<PublishedL2Block>;
|
|
37
38
|
/**
|
|
38
39
|
* Gets an L2 block.
|
|
39
40
|
* @param blockNumber - The number of the block to return.
|
|
40
41
|
* @returns The requested L2 block.
|
|
41
42
|
*/
|
|
42
|
-
getBlock(blockNumber:
|
|
43
|
+
getBlock(blockNumber: BlockNumber): Promise<PublishedL2Block | undefined>;
|
|
43
44
|
/**
|
|
44
45
|
* Gets an L2 block by its hash.
|
|
45
46
|
* @param blockHash - The hash of the block to return.
|
|
@@ -70,7 +71,7 @@ export declare class BlockStore {
|
|
|
70
71
|
* @param limit - The number of blocks to return.
|
|
71
72
|
* @returns The requested L2 block headers
|
|
72
73
|
*/
|
|
73
|
-
getBlockHeaders(start:
|
|
74
|
+
getBlockHeaders(start: BlockNumber, limit: number): AsyncIterableIterator<BlockHeader>;
|
|
74
75
|
private getBlockStorages;
|
|
75
76
|
private getBlockFromBlockStorage;
|
|
76
77
|
/**
|
|
@@ -101,15 +102,15 @@ export declare class BlockStore {
|
|
|
101
102
|
* Gets the number of the latest L2 block processed.
|
|
102
103
|
* @returns The number of the latest L2 block processed.
|
|
103
104
|
*/
|
|
104
|
-
getSynchedL2BlockNumber(): Promise<
|
|
105
|
+
getSynchedL2BlockNumber(): Promise<BlockNumber>;
|
|
105
106
|
/**
|
|
106
107
|
* Gets the most recent L1 block processed.
|
|
107
108
|
* @returns The L1 block that published the latest L2 block
|
|
108
109
|
*/
|
|
109
110
|
getSynchedL1BlockNumber(): Promise<bigint | undefined>;
|
|
110
111
|
setSynchedL1BlockNumber(l1BlockNumber: bigint): Promise<boolean>;
|
|
111
|
-
getProvenL2BlockNumber(): Promise<
|
|
112
|
-
setProvenL2BlockNumber(blockNumber:
|
|
112
|
+
getProvenL2BlockNumber(): Promise<BlockNumber>;
|
|
113
|
+
setProvenL2BlockNumber(blockNumber: BlockNumber): Promise<boolean>;
|
|
113
114
|
/**
|
|
114
115
|
* Gets the pending chain validation status.
|
|
115
116
|
* @returns The validation status or undefined if not set.
|
|
@@ -121,4 +122,4 @@ export declare class BlockStore {
|
|
|
121
122
|
*/
|
|
122
123
|
setPendingChainValidationStatus(status: ValidateBlockResult | undefined): Promise<void>;
|
|
123
124
|
}
|
|
124
|
-
//# sourceMappingURL=
|
|
125
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2tfc3RvcmUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcmNoaXZlci9rdl9hcmNoaXZlcl9zdG9yZS9ibG9ja19zdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDOUQsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBSzlDLE9BQU8sS0FBSyxFQUFFLGlCQUFpQixFQUE2QyxNQUFNLGlCQUFpQixDQUFDO0FBQ3BHLE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2hFLE9BQU8sRUFJTCxXQUFXLEVBQ1gsZ0JBQWdCLEVBQ2hCLEtBQUssbUJBQW1CLEVBQ3pCLE1BQU0scUJBQXFCLENBQUM7QUFHN0IsT0FBTyxFQUNMLFdBQVcsRUFDWCxLQUFLLGVBQWUsRUFFcEIsTUFBTSxFQUNOLFNBQVMsRUFHVixNQUFNLGtCQUFrQixDQUFDO0FBSzFCLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxRQUFRLEVBQUUsS0FBSyxNQUFNLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQVl6RTs7R0FFRztBQUNILHFCQUFhLFVBQVU7O0lBOEJULE9BQU8sQ0FBQyxFQUFFO0lBQXRCLFlBQW9CLEVBQUUsRUFBRSxpQkFBaUIsRUFVeEM7SUFFRDs7OztPQUlHO0lBQ0csU0FBUyxDQUFDLE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSxFQUFFLElBQUksR0FBRTtRQUFFLEtBQUssQ0FBQyxFQUFFLE9BQU8sQ0FBQTtLQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQTBENUY7SUFFRDs7Ozs7O09BTUc7SUFDRyxZQUFZLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFrQzNEO0lBRUQ7Ozs7O09BS0c7SUFDSSxTQUFTLENBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxHQUFHLHFCQUFxQixDQUFDLGdCQUFnQixDQUFDLENBTzNGO0lBRUQ7Ozs7T0FJRztJQUNHLFFBQVEsQ0FBQyxXQUFXLEVBQUUsV0FBVyxHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsR0FBRyxTQUFTLENBQUMsQ0FNOUU7SUFFRDs7OztPQUlHO0lBQ0csY0FBYyxDQUFDLFNBQVMsRUFBRSxXQUFXLEdBQUcsT0FBTyxDQUFDLGdCQUFnQixHQUFHLFNBQVMsQ0FBQyxDQU1sRjtJQUVEOzs7O09BSUc7SUFDRyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsR0FBRyxTQUFTLENBQUMsQ0FNMUU7SUFFRDs7OztPQUlHO0lBQ0csb0JBQW9CLENBQUMsU0FBUyxFQUFFLFdBQVcsR0FBRyxPQUFPLENBQUMsV0FBVyxHQUFHLFNBQVMsQ0FBQyxDQVVuRjtJQUVEOzs7O09BSUc7SUFDRyx1QkFBdUIsQ0FBQyxPQUFPLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxXQUFXLEdBQUcsU0FBUyxDQUFDLENBVTNFO0lBRUQ7Ozs7O09BS0c7SUFDSSxlQUFlLENBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxHQUFHLHFCQUFxQixDQUFDLFdBQVcsQ0FBQyxDQVU1RjtZQUVjLGdCQUFnQjtZQWFqQix3QkFBd0I7SUF1Q3RDOzs7O09BSUc7SUFDRyxXQUFXLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsZUFBZSxHQUFHLFNBQVMsQ0FBQyxDQU10RTtJQUVEOzs7O09BSUc7SUFDRyxtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDLENBY3hFO0lBRUQ7Ozs7T0FJRztJQUNVLGFBQWEsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxDQUFDLFdBQVcsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQU90RztJQUVEOzs7O09BSUc7SUFDSCxtQkFBbUIsQ0FBQyxlQUFlLEVBQUUsWUFBWSxHQUFHLE9BQU8sQ0FBQyxDQUFDLFdBQVcsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQUU1RztJQUVEOzs7T0FHRztJQUNHLHVCQUF1QixJQUFJLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FHcEQ7SUFFRDs7O09BR0c7SUFDSCx1QkFBdUIsSUFBSSxPQUFPLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQyxDQUVyRDtJQUVELHVCQUF1QixDQUFDLGFBQWEsRUFBRSxNQUFNLG9CQUU1QztJQUVLLHNCQUFzQixJQUFJLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FNbkQ7SUFFRCxzQkFBc0IsQ0FBQyxXQUFXLEVBQUUsV0FBVyxvQkFFOUM7SUFjRDs7O09BR0c7SUFDRywrQkFBK0IsSUFBSSxPQUFPLENBQUMsbUJBQW1CLEdBQUcsU0FBUyxDQUFDLENBTWhGO0lBRUQ7OztPQUdHO0lBQ0csK0JBQStCLENBQUMsTUFBTSxFQUFFLG1CQUFtQixHQUFHLFNBQVMsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBTzVGO0NBQ0YifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"block_store.d.ts","sourceRoot":"","sources":["../../../src/archiver/kv_archiver_store/block_store.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAK9C,OAAO,KAAK,EAAE,iBAAiB,EAA6C,MAAM,iBAAiB,CAAC;AACpG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAIL,WAAW,EACX,gBAAgB,EAChB,KAAK,mBAAmB,EACzB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,WAAW,EACX,KAAK,eAAe,EAEpB,MAAM,EACN,SAAS,EAGV,MAAM,kBAAkB,CAAC;AAK1B,OAAO,EAAE,SAAS,EAAE,KAAK,QAAQ,EAAE,KAAK,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAYzE;;GAEG;AACH,qBAAa,UAAU;;IA8BT,OAAO,CAAC,EAAE;
|
|
1
|
+
{"version":3,"file":"block_store.d.ts","sourceRoot":"","sources":["../../../src/archiver/kv_archiver_store/block_store.ts"],"names":[],"mappings":"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"}
|