@aztec/archiver 4.0.0-nightly.20250907 → 4.0.0-nightly.20260108
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 +27 -6
- package/dest/archiver/archiver.d.ts +127 -84
- package/dest/archiver/archiver.d.ts.map +1 -1
- package/dest/archiver/archiver.js +1150 -382
- package/dest/archiver/archiver_store.d.ts +122 -45
- 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 +2013 -343
- package/dest/archiver/config.d.ts +7 -20
- package/dest/archiver/config.d.ts.map +1 -1
- package/dest/archiver/config.js +21 -5
- package/dest/archiver/errors.d.ts +25 -1
- package/dest/archiver/errors.d.ts.map +1 -1
- package/dest/archiver/errors.js +37 -0
- package/dest/archiver/index.d.ts +2 -2
- package/dest/archiver/index.d.ts.map +1 -1
- package/dest/archiver/instrumentation.d.ts +5 -3
- package/dest/archiver/instrumentation.d.ts.map +1 -1
- package/dest/archiver/instrumentation.js +14 -0
- package/dest/archiver/kv_archiver_store/block_store.d.ts +83 -15
- package/dest/archiver/kv_archiver_store/block_store.d.ts.map +1 -1
- package/dest/archiver/kv_archiver_store/block_store.js +396 -73
- package/dest/archiver/kv_archiver_store/contract_class_store.d.ts +2 -2
- package/dest/archiver/kv_archiver_store/contract_class_store.d.ts.map +1 -1
- package/dest/archiver/kv_archiver_store/contract_class_store.js +1 -1
- package/dest/archiver/kv_archiver_store/contract_instance_store.d.ts +2 -2
- 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 +51 -55
- package/dest/archiver/kv_archiver_store/kv_archiver_store.d.ts.map +1 -1
- package/dest/archiver/kv_archiver_store/kv_archiver_store.js +82 -46
- package/dest/archiver/kv_archiver_store/log_store.d.ts +12 -16
- package/dest/archiver/kv_archiver_store/log_store.d.ts.map +1 -1
- package/dest/archiver/kv_archiver_store/log_store.js +149 -84
- package/dest/archiver/kv_archiver_store/message_store.d.ts +6 -5
- package/dest/archiver/kv_archiver_store/message_store.d.ts.map +1 -1
- package/dest/archiver/kv_archiver_store/message_store.js +15 -14
- package/dest/archiver/l1/bin/retrieve-calldata.d.ts +3 -0
- package/dest/archiver/l1/bin/retrieve-calldata.d.ts.map +1 -0
- package/dest/archiver/l1/bin/retrieve-calldata.js +149 -0
- package/dest/archiver/l1/calldata_retriever.d.ts +112 -0
- package/dest/archiver/l1/calldata_retriever.d.ts.map +1 -0
- package/dest/archiver/l1/calldata_retriever.js +471 -0
- package/dest/archiver/l1/data_retrieval.d.ts +90 -0
- package/dest/archiver/l1/data_retrieval.d.ts.map +1 -0
- package/dest/archiver/l1/data_retrieval.js +331 -0
- package/dest/archiver/l1/debug_tx.d.ts +19 -0
- package/dest/archiver/l1/debug_tx.d.ts.map +1 -0
- package/dest/archiver/l1/debug_tx.js +73 -0
- package/dest/archiver/l1/spire_proposer.d.ts +70 -0
- package/dest/archiver/l1/spire_proposer.d.ts.map +1 -0
- package/dest/archiver/l1/spire_proposer.js +157 -0
- package/dest/archiver/l1/trace_tx.d.ts +97 -0
- package/dest/archiver/l1/trace_tx.d.ts.map +1 -0
- package/dest/archiver/l1/trace_tx.js +91 -0
- package/dest/archiver/l1/types.d.ts +12 -0
- package/dest/archiver/l1/types.d.ts.map +1 -0
- package/dest/archiver/l1/types.js +3 -0
- package/dest/archiver/l1/validate_trace.d.ts +29 -0
- package/dest/archiver/l1/validate_trace.d.ts.map +1 -0
- package/dest/archiver/l1/validate_trace.js +150 -0
- package/dest/archiver/structs/data_retrieval.d.ts +1 -1
- package/dest/archiver/structs/inbox_message.d.ts +4 -4
- package/dest/archiver/structs/inbox_message.d.ts.map +1 -1
- package/dest/archiver/structs/inbox_message.js +6 -5
- package/dest/archiver/structs/published.d.ts +2 -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 +66 -44
- package/dest/factory.d.ts +4 -6
- package/dest/factory.d.ts.map +1 -1
- package/dest/factory.js +5 -4
- 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 +16 -8
- package/dest/test/mock_archiver.d.ts.map +1 -1
- package/dest/test/mock_archiver.js +19 -14
- package/dest/test/mock_l1_to_l2_message_source.d.ts +7 -6
- package/dest/test/mock_l1_to_l2_message_source.d.ts.map +1 -1
- package/dest/test/mock_l1_to_l2_message_source.js +10 -9
- package/dest/test/mock_l2_block_source.d.ts +31 -20
- package/dest/test/mock_l2_block_source.d.ts.map +1 -1
- package/dest/test/mock_l2_block_source.js +85 -18
- package/dest/test/mock_structs.d.ts +3 -2
- package/dest/test/mock_structs.d.ts.map +1 -1
- package/dest/test/mock_structs.js +9 -8
- package/package.json +18 -17
- package/src/archiver/archiver.ts +990 -481
- package/src/archiver/archiver_store.ts +141 -44
- package/src/archiver/archiver_store_test_suite.ts +2114 -331
- package/src/archiver/config.ts +30 -35
- package/src/archiver/errors.ts +64 -0
- package/src/archiver/index.ts +1 -1
- package/src/archiver/instrumentation.ts +19 -2
- package/src/archiver/kv_archiver_store/block_store.ts +541 -83
- package/src/archiver/kv_archiver_store/contract_class_store.ts +1 -1
- package/src/archiver/kv_archiver_store/contract_instance_store.ts +1 -1
- package/src/archiver/kv_archiver_store/kv_archiver_store.ts +107 -67
- package/src/archiver/kv_archiver_store/log_store.ts +209 -99
- package/src/archiver/kv_archiver_store/message_store.ts +21 -18
- package/src/archiver/l1/README.md +98 -0
- package/src/archiver/l1/bin/retrieve-calldata.ts +182 -0
- package/src/archiver/l1/calldata_retriever.ts +641 -0
- package/src/archiver/l1/data_retrieval.ts +512 -0
- package/src/archiver/l1/debug_tx.ts +99 -0
- package/src/archiver/l1/spire_proposer.ts +160 -0
- package/src/archiver/l1/trace_tx.ts +128 -0
- package/src/archiver/l1/types.ts +13 -0
- package/src/archiver/l1/validate_trace.ts +211 -0
- package/src/archiver/structs/inbox_message.ts +8 -8
- package/src/archiver/structs/published.ts +1 -1
- package/src/archiver/validation.ts +86 -32
- package/src/factory.ts +6 -7
- package/src/index.ts +1 -1
- package/src/test/fixtures/debug_traceTransaction-multicall3.json +88 -0
- package/src/test/fixtures/debug_traceTransaction-multiplePropose.json +153 -0
- package/src/test/fixtures/debug_traceTransaction-proxied.json +122 -0
- package/src/test/fixtures/trace_transaction-multicall3.json +65 -0
- package/src/test/fixtures/trace_transaction-multiplePropose.json +319 -0
- package/src/test/fixtures/trace_transaction-proxied.json +128 -0
- package/src/test/fixtures/trace_transaction-randomRevert.json +216 -0
- package/src/test/mock_archiver.ts +22 -16
- package/src/test/mock_l1_to_l2_message_source.ts +10 -9
- package/src/test/mock_l2_block_source.ts +114 -27
- package/src/test/mock_structs.ts +10 -9
- package/dest/archiver/data_retrieval.d.ts +0 -78
- package/dest/archiver/data_retrieval.d.ts.map +0 -1
- package/dest/archiver/data_retrieval.js +0 -354
- package/src/archiver/data_retrieval.ts +0 -535
package/README.md
CHANGED
|
@@ -1,16 +1,37 @@
|
|
|
1
1
|
# Archiver
|
|
2
2
|
|
|
3
|
-
Archiver is a service which is used to fetch data
|
|
4
|
-
|
|
3
|
+
Archiver is a service which is used to fetch data onchain data and present them in a nice-to-consume form.
|
|
4
|
+
|
|
5
|
+
The onchain data specifically are the following events:
|
|
5
6
|
|
|
6
7
|
1. `L2BlockProposed` event emitted on Rollup contract,
|
|
7
8
|
2. `MessageAdded` event emitted on Inbox contract,
|
|
8
9
|
|
|
9
10
|
The interfaces defining how the data can be consumed from the archiver are `L2BlockSource`, `L2LogsSource` and `ContractDataSource`.
|
|
10
11
|
|
|
11
|
-
##
|
|
12
|
+
## Sync process
|
|
13
|
+
|
|
14
|
+
The archiver sync process periodically checks its current state against the Rollup contract on L1 and updates its local state.
|
|
15
|
+
|
|
16
|
+
### Handling invalid blocks
|
|
17
|
+
|
|
18
|
+
After the implementation of [delayed attestation verification](https://github.com/AztecProtocol/engineering-designs/pull/69), the Rollup contract on L1 no longer validates committee attestations. Instead, these are posted in calldata, and L2 nodes are expected to verify them as they download blocks. The archiver handles this validation during its sync process.
|
|
19
|
+
|
|
20
|
+
Whenever the archiver detects a block with invalid attestations, it skips it. These blocks are not meant to be part of the chain, so the archiver ignores them and continues processing the next blocks. It is expected that an honest proposer will eventually invalidate these blocks, removing them from the chain on L1, and then resume the sequence of valid blocks.
|
|
21
|
+
|
|
22
|
+
> [!WARNING]
|
|
23
|
+
> If the committee for the epoch is also malicious and attests to a descendant of an invalid block, nodes should also ignore these descendants, unless they become proven. This is currently not implemented. Nodes assume that the majority of the committee is honest.
|
|
24
|
+
|
|
25
|
+
When the current node is elected as proposer, the `sequencer` needs to know whether there is an invalid block in L1 that needs to be purged before posting their own block. To support this, the archiver exposes a `pendingChainValidationStatus`, which is the state of the tip of the pending chain. This status can be valid in the happy path, or invalid if the tip of the pending chain has invalid attestations. If invalid, this status also contains all the data needed for purging the block from L1 via an `invalidate` call to the Rollup contract. Note that, if the head of the chain has more than one invalid consecutive block, this status will reference the earliest one that needs to be purged, since a call to purge an invalid block will automatically purge all descendants. Refer to the [InvalidateLib.sol](`l1-contracts/src/core/libraries/rollup/InvalidateLib.sol`) for more info.
|
|
26
|
+
|
|
27
|
+
> [!TIP]
|
|
28
|
+
> The archiver can be configured to `skipValidateBlockAttestations`, which will make it skip this validation. This cannot be set via environment variables, only via a call to `nodeAdmin_setConfig`. This setting is only meant for testing purposes.
|
|
12
29
|
|
|
13
|
-
|
|
14
|
-
|
|
30
|
+
As an example, let's say the chain has been progressing normally up until block 10, and then:
|
|
31
|
+
1. Block 11 is posted with invalid attestations. The archiver will report 10 as the latest block, but the `pendingChainValidationStatus` will point to block 11.
|
|
32
|
+
2. Block 11 is purged, but another block 11 with invalid attestations is posted in its place. The archiver will still report 10 as latest, and the `pendingChainValidationStatus` will point to the new block 11 that needs to be purged.
|
|
33
|
+
3. Block 12 with invalid attestations is posted. No changes in the archiver.
|
|
34
|
+
4. Block 13 is posted with valid attestations, due to a malicious committee. The archiver will try to sync it and fail, since 13 does not follow 10. This scenario is not gracefully handled yet.
|
|
35
|
+
5. Blocks 11 to 13 are purged. The archiver status will not yet be changed: 10 will still be the latest block, and the `pendingChainValidationStatus` will point to 11. This is because the archiver does **not** follow `BlockInvalidated` events.
|
|
36
|
+
6. Block 11 with valid attestations is posted. The archiver pending chain now reports 11 as latest, and its status is valid.
|
|
15
37
|
|
|
16
|
-
To start the service export `ETHEREUM_HOSTS` (defaults to `http://127.0.0.1:8545/`), `ARCHIVER_POLLING_INTERVAL_MS` (defaults to `1000 ms`), `ROLLUP_CONTRACT_ADDRESS`, `INBOX_CONTRACT_ADDRESS` environmental variables and start the service with `yarn start`.
|
|
@@ -1,29 +1,34 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { BlobClientInterface } from '@aztec/blob-client/client';
|
|
2
2
|
import { EpochCache } from '@aztec/epoch-cache';
|
|
3
|
-
import
|
|
3
|
+
import type { L1ContractAddresses } from '@aztec/ethereum/l1-contract-addresses';
|
|
4
|
+
import type { L1BlockId } from '@aztec/ethereum/l1-types';
|
|
5
|
+
import type { ViemPublicClient, ViemPublicDebugClient } from '@aztec/ethereum/types';
|
|
6
|
+
import { BlockNumber, CheckpointNumber, EpochNumber, SlotNumber } from '@aztec/foundation/branded-types';
|
|
4
7
|
import { Buffer32 } from '@aztec/foundation/buffer';
|
|
8
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
5
9
|
import type { EthAddress } from '@aztec/foundation/eth-address';
|
|
6
|
-
import { Fr } from '@aztec/foundation/fields';
|
|
7
10
|
import { type Logger } from '@aztec/foundation/log';
|
|
8
11
|
import { DateProvider } from '@aztec/foundation/timer';
|
|
9
12
|
import type { CustomRange } from '@aztec/kv-store';
|
|
10
13
|
import type { FunctionSelector } from '@aztec/stdlib/abi';
|
|
11
14
|
import type { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
12
|
-
import { type ArchiverEmitter,
|
|
15
|
+
import { type ArchiverEmitter, CheckpointedL2Block, L2Block, L2BlockNew, type L2BlockSink, type L2BlockSource, type L2Tips, PublishedL2Block } from '@aztec/stdlib/block';
|
|
16
|
+
import { Checkpoint, PublishedCheckpoint } from '@aztec/stdlib/checkpoint';
|
|
13
17
|
import { type ContractClassPublic, type ContractDataSource, type ContractInstanceWithAddress } from '@aztec/stdlib/contract';
|
|
14
18
|
import { type L1RollupConstants } from '@aztec/stdlib/epoch-helpers';
|
|
15
19
|
import type { GetContractClassLogsResponse, GetPublicLogsResponse } from '@aztec/stdlib/interfaces/client';
|
|
16
20
|
import type { L2LogsSource } from '@aztec/stdlib/interfaces/server';
|
|
17
|
-
import { type LogFilter, type
|
|
18
|
-
import type
|
|
21
|
+
import { type LogFilter, type SiloedTag, Tag, TxScopedL2Log } from '@aztec/stdlib/logs';
|
|
22
|
+
import { type L1ToL2MessageSource } from '@aztec/stdlib/messaging';
|
|
23
|
+
import type { CheckpointHeader } from '@aztec/stdlib/rollup';
|
|
19
24
|
import { type BlockHeader, type IndexedTxEffect, TxHash, TxReceipt } from '@aztec/stdlib/tx';
|
|
20
25
|
import type { UInt64 } from '@aztec/stdlib/types';
|
|
21
26
|
import { type TelemetryClient, type Traceable, type Tracer } from '@aztec/telemetry-client';
|
|
22
27
|
import type { ArchiverDataStore, ArchiverL1SynchPoint } from './archiver_store.js';
|
|
23
28
|
import type { ArchiverConfig } from './config.js';
|
|
24
29
|
import { ArchiverInstrumentation } from './instrumentation.js';
|
|
30
|
+
import type { CheckpointData } from './kv_archiver_store/block_store.js';
|
|
25
31
|
import type { InboxMessage } from './structs/inbox_message.js';
|
|
26
|
-
import type { PublishedL2Block } from './structs/published.js';
|
|
27
32
|
import { type ValidateBlockResult } from './validation.js';
|
|
28
33
|
/**
|
|
29
34
|
* Helper interface to combine all sources this archiver implementation provides.
|
|
@@ -31,41 +36,44 @@ import { type ValidateBlockResult } from './validation.js';
|
|
|
31
36
|
export type ArchiveSource = L2BlockSource & L2LogsSource & ContractDataSource & L1ToL2MessageSource;
|
|
32
37
|
export type ArchiverDeps = {
|
|
33
38
|
telemetry?: TelemetryClient;
|
|
34
|
-
|
|
39
|
+
blobClient: BlobClientInterface;
|
|
35
40
|
epochCache?: EpochCache;
|
|
36
41
|
dateProvider?: DateProvider;
|
|
37
42
|
};
|
|
38
43
|
declare const Archiver_base: new () => ArchiverEmitter;
|
|
39
44
|
/**
|
|
40
|
-
* Pulls
|
|
45
|
+
* Pulls checkpoints in a non-blocking manner and provides interface for their retrieval.
|
|
41
46
|
* Responsible for handling robust L1 polling so that other components do not need to
|
|
42
47
|
* concern themselves with it.
|
|
43
48
|
*/
|
|
44
|
-
export declare class Archiver extends Archiver_base implements ArchiveSource, Traceable {
|
|
49
|
+
export declare class Archiver extends Archiver_base implements ArchiveSource, L2BlockSink, Traceable {
|
|
45
50
|
private readonly publicClient;
|
|
51
|
+
private readonly debugClient;
|
|
46
52
|
private readonly l1Addresses;
|
|
47
53
|
readonly dataStore: ArchiverDataStore;
|
|
48
|
-
private
|
|
49
|
-
private readonly
|
|
54
|
+
private config;
|
|
55
|
+
private readonly blobClient;
|
|
50
56
|
private readonly epochCache;
|
|
57
|
+
private readonly dateProvider;
|
|
51
58
|
private readonly instrumentation;
|
|
52
59
|
private readonly l1constants;
|
|
53
60
|
private readonly log;
|
|
54
|
-
/**
|
|
55
|
-
|
|
56
|
-
*/
|
|
57
|
-
private runningPromise?;
|
|
61
|
+
/** A loop in which we will be continually fetching new checkpoints. */
|
|
62
|
+
private runningPromise;
|
|
58
63
|
private rollup;
|
|
59
64
|
private inbox;
|
|
60
65
|
private store;
|
|
61
66
|
private l1BlockNumber;
|
|
62
67
|
private l1Timestamp;
|
|
63
|
-
private pendingChainValidationStatus;
|
|
64
68
|
private initialSyncComplete;
|
|
69
|
+
private initialSyncPromise;
|
|
70
|
+
/** Queue of blocks to be added to the store, processed by the sync loop. */
|
|
71
|
+
private blockQueue;
|
|
65
72
|
readonly tracer: Tracer;
|
|
66
73
|
/**
|
|
67
74
|
* Creates a new instance of the Archiver.
|
|
68
75
|
* @param publicClient - A client for interacting with the Ethereum node.
|
|
76
|
+
* @param debugClient - A client for interacting with the Ethereum node for debug/trace methods.
|
|
69
77
|
* @param rollupAddress - Ethereum address of the rollup contract.
|
|
70
78
|
* @param inboxAddress - Ethereum address of the inbox contract.
|
|
71
79
|
* @param registryAddress - Ethereum address of the registry contract.
|
|
@@ -73,15 +81,17 @@ export declare class Archiver extends Archiver_base implements ArchiveSource, Tr
|
|
|
73
81
|
* @param store - An archiver data store for storage & retrieval of blocks, encrypted logs & contract data.
|
|
74
82
|
* @param log - A logger.
|
|
75
83
|
*/
|
|
76
|
-
constructor(publicClient: ViemPublicClient, l1Addresses: {
|
|
77
|
-
|
|
78
|
-
inboxAddress: EthAddress;
|
|
79
|
-
registryAddress: EthAddress;
|
|
84
|
+
constructor(publicClient: ViemPublicClient, debugClient: ViemPublicDebugClient, l1Addresses: Pick<L1ContractAddresses, 'rollupAddress' | 'inboxAddress' | 'registryAddress' | 'governanceProposerAddress' | 'slashFactoryAddress'> & {
|
|
85
|
+
slashingProposerAddress: EthAddress;
|
|
80
86
|
}, dataStore: ArchiverDataStore, config: {
|
|
81
87
|
pollingIntervalMs: number;
|
|
82
88
|
batchSize: number;
|
|
83
|
-
|
|
89
|
+
skipValidateBlockAttestations?: boolean;
|
|
90
|
+
maxAllowedEthClientDriftSeconds: number;
|
|
91
|
+
ethereumAllowNoDebugHosts?: boolean;
|
|
92
|
+
}, blobClient: BlobClientInterface, epochCache: EpochCache, dateProvider: DateProvider, instrumentation: ArchiverInstrumentation, l1constants: L1RollupConstants & {
|
|
84
93
|
l1StartBlockHash: Buffer32;
|
|
94
|
+
genesisArchiveRoot: Fr;
|
|
85
95
|
}, log?: Logger);
|
|
86
96
|
/**
|
|
87
97
|
* Creates a new instance of the Archiver and blocks until it syncs from chain.
|
|
@@ -91,28 +101,36 @@ export declare class Archiver extends Archiver_base implements ArchiveSource, Tr
|
|
|
91
101
|
* @returns - An instance of the archiver.
|
|
92
102
|
*/
|
|
93
103
|
static createAndSync(config: ArchiverConfig, archiverStore: ArchiverDataStore, deps: ArchiverDeps, blockUntilSynced?: boolean): Promise<Archiver>;
|
|
104
|
+
/** Updates archiver config */
|
|
105
|
+
updateConfig(newConfig: Partial<ArchiverConfig>): void;
|
|
94
106
|
/**
|
|
95
107
|
* Starts sync process.
|
|
96
108
|
* @param blockUntilSynced - If true, blocks until the archiver has fully synced.
|
|
97
109
|
*/
|
|
98
110
|
start(blockUntilSynced: boolean): Promise<void>;
|
|
99
111
|
syncImmediate(): Promise<void>;
|
|
100
|
-
private syncSafe;
|
|
101
112
|
/**
|
|
102
|
-
*
|
|
113
|
+
* Queues a block to be added to the archiver store and triggers processing.
|
|
114
|
+
* The block will be processed by the sync loop.
|
|
115
|
+
* Implements the L2BlockSink interface.
|
|
116
|
+
* @param block - The L2 block to add.
|
|
117
|
+
* @returns A promise that resolves when the block has been added to the store, or rejects on error.
|
|
103
118
|
*/
|
|
119
|
+
addBlock(block: L2BlockNew): Promise<void>;
|
|
120
|
+
private processQueuedBlocks;
|
|
121
|
+
waitForInitialSync(): Promise<void>;
|
|
122
|
+
private testEthereumNodeSynced;
|
|
123
|
+
private syncFromL1;
|
|
104
124
|
private sync;
|
|
105
|
-
/** Queries the rollup contract on whether a prune can be executed on the immediate next L1 block. */
|
|
106
125
|
private canPrune;
|
|
107
|
-
/** Checks if there'd be a reorg for the next block submission and start pruning now. */
|
|
108
126
|
private handleEpochPrune;
|
|
109
127
|
private nextRange;
|
|
110
128
|
private handleL1ToL2Messages;
|
|
111
129
|
private retrieveL1ToL2Message;
|
|
112
130
|
private rollbackL1ToL2Messages;
|
|
113
131
|
private getL1BlockHash;
|
|
114
|
-
private
|
|
115
|
-
private
|
|
132
|
+
private handleCheckpoints;
|
|
133
|
+
private checkForNewCheckpointsBeforeL1SyncPoint;
|
|
116
134
|
/** Resumes the archiver after a stop. */
|
|
117
135
|
resume(): void;
|
|
118
136
|
/**
|
|
@@ -122,50 +140,45 @@ export declare class Archiver extends Archiver_base implements ArchiveSource, Tr
|
|
|
122
140
|
stop(): Promise<void>;
|
|
123
141
|
backupTo(destPath: string): Promise<string>;
|
|
124
142
|
getL1Constants(): Promise<L1RollupConstants>;
|
|
143
|
+
getGenesisValues(): Promise<{
|
|
144
|
+
genesisArchiveRoot: Fr;
|
|
145
|
+
}>;
|
|
125
146
|
getRollupAddress(): Promise<EthAddress>;
|
|
126
147
|
getRegistryAddress(): Promise<EthAddress>;
|
|
127
|
-
getL1BlockNumber(): bigint;
|
|
128
|
-
getL1Timestamp(): Promise<bigint>;
|
|
129
|
-
getL2SlotNumber(): Promise<
|
|
130
|
-
getL2EpochNumber(): Promise<
|
|
131
|
-
getBlocksForEpoch(epochNumber:
|
|
132
|
-
getBlockHeadersForEpoch(epochNumber:
|
|
133
|
-
isEpochComplete(epochNumber:
|
|
148
|
+
getL1BlockNumber(): bigint | undefined;
|
|
149
|
+
getL1Timestamp(): Promise<bigint | undefined>;
|
|
150
|
+
getL2SlotNumber(): Promise<SlotNumber | undefined>;
|
|
151
|
+
getL2EpochNumber(): Promise<EpochNumber | undefined>;
|
|
152
|
+
getBlocksForEpoch(epochNumber: EpochNumber): Promise<L2Block[]>;
|
|
153
|
+
getBlockHeadersForEpoch(epochNumber: EpochNumber): Promise<BlockHeader[]>;
|
|
154
|
+
isEpochComplete(epochNumber: EpochNumber): Promise<boolean>;
|
|
134
155
|
/** Returns whether the archiver has completed an initial sync run successfully. */
|
|
135
156
|
isInitialSyncComplete(): boolean;
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
157
|
+
getCheckpointHeader(number: CheckpointNumber | 'latest'): Promise<CheckpointHeader | undefined>;
|
|
158
|
+
getCheckpointNumber(): Promise<CheckpointNumber>;
|
|
159
|
+
getSynchedCheckpointNumber(): Promise<CheckpointNumber>;
|
|
160
|
+
getProvenCheckpointNumber(): Promise<CheckpointNumber>;
|
|
161
|
+
setProvenCheckpointNumber(checkpointNumber: CheckpointNumber): Promise<void>;
|
|
162
|
+
unwindCheckpoints(from: CheckpointNumber, checkpointsToUnwind: number): Promise<boolean>;
|
|
163
|
+
getLastBlockNumberInCheckpoint(checkpointNumber: CheckpointNumber): Promise<BlockNumber | undefined>;
|
|
164
|
+
addCheckpoints(checkpoints: PublishedCheckpoint[], pendingChainValidationStatus?: ValidateBlockResult): Promise<boolean>;
|
|
165
|
+
getBlockHeaderByHash(blockHash: Fr): Promise<BlockHeader | undefined>;
|
|
166
|
+
getBlockHeaderByArchive(archive: Fr): Promise<BlockHeader | undefined>;
|
|
146
167
|
/**
|
|
147
168
|
* Gets an l2 block.
|
|
148
169
|
* @param number - The block number to return.
|
|
149
170
|
* @returns The requested L2 block.
|
|
150
171
|
*/
|
|
151
|
-
|
|
152
|
-
getBlockHeader(number:
|
|
172
|
+
getL2BlockNew(number: BlockNumber): Promise<L2BlockNew | undefined>;
|
|
173
|
+
getBlockHeader(number: BlockNumber | 'latest'): Promise<BlockHeader | undefined>;
|
|
174
|
+
getCheckpointedBlock(number: BlockNumber): Promise<CheckpointedL2Block | undefined>;
|
|
175
|
+
getCheckpointedBlockByHash(blockHash: Fr): Promise<CheckpointedL2Block | undefined>;
|
|
176
|
+
getProvenBlockNumber(): Promise<BlockNumber>;
|
|
177
|
+
getCheckpointedBlockByArchive(archive: Fr): Promise<CheckpointedL2Block | undefined>;
|
|
153
178
|
getTxEffect(txHash: TxHash): Promise<IndexedTxEffect | undefined>;
|
|
154
179
|
getSettledTxReceipt(txHash: TxHash): Promise<TxReceipt | undefined>;
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
* @param from - The block number from which to begin retrieving logs.
|
|
158
|
-
* @param limit - The maximum number of blocks to retrieve logs from.
|
|
159
|
-
* @returns An array of private logs from the specified range of blocks.
|
|
160
|
-
*/
|
|
161
|
-
getPrivateLogs(from: number, limit: number): Promise<PrivateLog[]>;
|
|
162
|
-
/**
|
|
163
|
-
* Gets all logs that match any of the received tags (i.e. logs with their first field equal to a tag).
|
|
164
|
-
* @param tags - The tags to filter the logs by.
|
|
165
|
-
* @returns For each received tag, an array of matching logs is returned. An empty array implies no logs match
|
|
166
|
-
* that tag.
|
|
167
|
-
*/
|
|
168
|
-
getLogsByTags(tags: Fr[]): Promise<TxScopedL2Log[][]>;
|
|
180
|
+
getPrivateLogsByTags(tags: SiloedTag[]): Promise<TxScopedL2Log[][]>;
|
|
181
|
+
getPublicLogsByTagsFromContract(contractAddress: AztecAddress, tags: Tag[]): Promise<TxScopedL2Log[][]>;
|
|
169
182
|
/**
|
|
170
183
|
* Gets public logs based on the provided filter.
|
|
171
184
|
* @param filter - The filter to apply to the logs.
|
|
@@ -180,21 +193,19 @@ export declare class Archiver extends Archiver_base implements ArchiveSource, Tr
|
|
|
180
193
|
getContractClassLogs(filter: LogFilter): Promise<GetContractClassLogsResponse>;
|
|
181
194
|
/**
|
|
182
195
|
* Gets the number of the latest L2 block processed by the block source implementation.
|
|
196
|
+
* This includes both checkpointed and uncheckpointed blocks.
|
|
183
197
|
* @returns The number of the latest L2 block processed by the block source implementation.
|
|
184
198
|
*/
|
|
185
|
-
getBlockNumber(): Promise<
|
|
186
|
-
getProvenBlockNumber(): Promise<number>;
|
|
187
|
-
/** Forcefully updates the last proven block number. Use for testing. */
|
|
188
|
-
setProvenBlockNumber(blockNumber: number): Promise<void>;
|
|
199
|
+
getBlockNumber(): Promise<BlockNumber>;
|
|
189
200
|
getContractClass(id: Fr): Promise<ContractClassPublic | undefined>;
|
|
190
201
|
getBytecodeCommitment(id: Fr): Promise<Fr | undefined>;
|
|
191
202
|
getContract(address: AztecAddress, maybeTimestamp?: UInt64): Promise<ContractInstanceWithAddress | undefined>;
|
|
192
203
|
/**
|
|
193
|
-
* Gets L1 to L2 message (to be) included in a given
|
|
194
|
-
* @param
|
|
204
|
+
* Gets L1 to L2 message (to be) included in a given checkpoint.
|
|
205
|
+
* @param checkpointNumber - Checkpoint number to get messages for.
|
|
195
206
|
* @returns The L1 to L2 messages/leaves of the messages subtree (throws if not found).
|
|
196
207
|
*/
|
|
197
|
-
getL1ToL2Messages(
|
|
208
|
+
getL1ToL2Messages(checkpointNumber: CheckpointNumber): Promise<Fr[]>;
|
|
198
209
|
/**
|
|
199
210
|
* Gets the L1 to L2 message index in the L1 to L2 message tree.
|
|
200
211
|
* @param l1ToL2Message - The L1 to L2 message.
|
|
@@ -207,7 +218,22 @@ export declare class Archiver extends Archiver_base implements ArchiveSource, Tr
|
|
|
207
218
|
getPendingChainValidationStatus(): Promise<ValidateBlockResult>;
|
|
208
219
|
isPendingChainInvalid(): Promise<boolean>;
|
|
209
220
|
getL2Tips(): Promise<L2Tips>;
|
|
210
|
-
rollbackTo(targetL2BlockNumber:
|
|
221
|
+
rollbackTo(targetL2BlockNumber: BlockNumber): Promise<void>;
|
|
222
|
+
getPublishedCheckpoints(checkpointNumber: CheckpointNumber, limit: number): Promise<PublishedCheckpoint[]>;
|
|
223
|
+
getCheckpointsForEpoch(epochNumber: EpochNumber): Promise<Checkpoint[]>;
|
|
224
|
+
getPublishedBlockByHash(blockHash: Fr): Promise<PublishedL2Block | undefined>;
|
|
225
|
+
getPublishedBlockByArchive(archive: Fr): Promise<PublishedL2Block | undefined>;
|
|
226
|
+
/**
|
|
227
|
+
* Gets up to `limit` amount of L2 blocks starting from `from`.
|
|
228
|
+
* @param from - Number of the first block to return (inclusive).
|
|
229
|
+
* @param limit - The number of blocks to return.
|
|
230
|
+
* @param proven - If true, only return blocks that have been proven.
|
|
231
|
+
* @returns The requested L2 blocks.
|
|
232
|
+
*/
|
|
233
|
+
getBlocks(from: BlockNumber, limit: number, proven?: boolean): Promise<L2Block[]>;
|
|
234
|
+
getPublishedBlocks(from: BlockNumber, limit: number, proven?: boolean): Promise<PublishedL2Block[]>;
|
|
235
|
+
private buildOldBlockFromCheckpointedBlock;
|
|
236
|
+
getBlock(number: BlockNumber): Promise<L2Block | undefined>;
|
|
211
237
|
}
|
|
212
238
|
/**
|
|
213
239
|
* A helper class that we use to deal with some of the logic needed when adding blocks.
|
|
@@ -215,27 +241,42 @@ export declare class Archiver extends Archiver_base implements ArchiveSource, Tr
|
|
|
215
241
|
* I would have preferred to not have this type. But it is useful for handling the logic that any
|
|
216
242
|
* store would need to include otherwise while exposing fewer functions and logic directly to the archiver.
|
|
217
243
|
*/
|
|
218
|
-
export declare class ArchiverStoreHelper implements Omit<ArchiverDataStore, 'addLogs' | 'deleteLogs' | 'addContractClasses' | 'deleteContractClasses' | 'addContractInstances' | 'deleteContractInstances' | 'addContractInstanceUpdates' | 'deleteContractInstanceUpdates' | 'addFunctions' | 'backupTo' | 'close' | 'transactionAsync'> {
|
|
244
|
+
export declare class ArchiverStoreHelper implements Omit<ArchiverDataStore, 'addLogs' | 'deleteLogs' | 'addContractClasses' | 'deleteContractClasses' | 'addContractInstances' | 'deleteContractInstances' | 'addContractInstanceUpdates' | 'deleteContractInstanceUpdates' | 'addFunctions' | 'backupTo' | 'close' | 'transactionAsync' | 'addBlocks' | 'getBlock' | 'getBlocks'> {
|
|
219
245
|
#private;
|
|
220
|
-
|
|
246
|
+
readonly store: ArchiverDataStore;
|
|
221
247
|
constructor(store: ArchiverDataStore);
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
248
|
+
private addBlockDataToDB;
|
|
249
|
+
addBlocks(blocks: L2BlockNew[], pendingChainValidationStatus?: ValidateBlockResult): Promise<boolean>;
|
|
250
|
+
addCheckpoints(checkpoints: PublishedCheckpoint[], pendingChainValidationStatus?: ValidateBlockResult): Promise<boolean>;
|
|
251
|
+
unwindCheckpoints(from: CheckpointNumber, checkpointsToUnwind: number): Promise<boolean>;
|
|
252
|
+
getCheckpointData(checkpointNumber: CheckpointNumber): Promise<CheckpointData | undefined>;
|
|
253
|
+
getRangeOfCheckpoints(from: CheckpointNumber, limit: number): Promise<CheckpointData[]>;
|
|
254
|
+
getCheckpointedL2BlockNumber(): Promise<BlockNumber>;
|
|
255
|
+
getSynchedCheckpointNumber(): Promise<CheckpointNumber>;
|
|
256
|
+
setCheckpointSynchedL1BlockNumber(l1BlockNumber: bigint): Promise<void>;
|
|
257
|
+
getCheckpointedBlock(number: BlockNumber): Promise<CheckpointedL2Block | undefined>;
|
|
258
|
+
getCheckpointedBlockByHash(blockHash: Fr): Promise<CheckpointedL2Block | undefined>;
|
|
259
|
+
getCheckpointedBlockByArchive(archive: Fr): Promise<CheckpointedL2Block | undefined>;
|
|
260
|
+
getBlockHeaders(from: BlockNumber, limit: number): Promise<BlockHeader[]>;
|
|
261
|
+
getBlockHeaderByHash(blockHash: Fr): Promise<BlockHeader | undefined>;
|
|
262
|
+
getBlockHeaderByArchive(archive: Fr): Promise<BlockHeader | undefined>;
|
|
263
|
+
getBlockByHash(blockHash: Fr): Promise<L2BlockNew | undefined>;
|
|
264
|
+
getBlockByArchive(archive: Fr): Promise<L2BlockNew | undefined>;
|
|
265
|
+
getLatestBlockNumber(): Promise<BlockNumber>;
|
|
266
|
+
getBlocksForCheckpoint(checkpointNumber: CheckpointNumber): Promise<L2BlockNew[] | undefined>;
|
|
227
267
|
getTxEffect(txHash: TxHash): Promise<IndexedTxEffect | undefined>;
|
|
228
268
|
getSettledTxReceipt(txHash: TxHash): Promise<TxReceipt | undefined>;
|
|
229
269
|
addL1ToL2Messages(messages: InboxMessage[]): Promise<void>;
|
|
230
|
-
getL1ToL2Messages(
|
|
270
|
+
getL1ToL2Messages(checkpointNumber: CheckpointNumber): Promise<Fr[]>;
|
|
231
271
|
getL1ToL2MessageIndex(l1ToL2Message: Fr): Promise<bigint | undefined>;
|
|
232
|
-
|
|
233
|
-
|
|
272
|
+
getPrivateLogsByTags(tags: SiloedTag[]): Promise<TxScopedL2Log[][]>;
|
|
273
|
+
getPublicLogsByTagsFromContract(contractAddress: AztecAddress, tags: Tag[]): Promise<TxScopedL2Log[][]>;
|
|
234
274
|
getPublicLogs(filter: LogFilter): Promise<GetPublicLogsResponse>;
|
|
235
275
|
getContractClassLogs(filter: LogFilter): Promise<GetContractClassLogsResponse>;
|
|
236
|
-
getSynchedL2BlockNumber(): Promise<
|
|
237
|
-
|
|
238
|
-
|
|
276
|
+
getSynchedL2BlockNumber(): Promise<BlockNumber>;
|
|
277
|
+
getProvenCheckpointNumber(): Promise<CheckpointNumber>;
|
|
278
|
+
getProvenBlockNumber(): Promise<BlockNumber>;
|
|
279
|
+
setProvenCheckpointNumber(checkpointNumber: CheckpointNumber): Promise<void>;
|
|
239
280
|
setBlockSynchedL1BlockNumber(l1BlockNumber: bigint): Promise<void>;
|
|
240
281
|
setMessageSynchedL1Block(l1Block: L1BlockId): Promise<void>;
|
|
241
282
|
getSynchPoint(): Promise<ArchiverL1SynchPoint>;
|
|
@@ -252,10 +293,12 @@ export declare class ArchiverStoreHelper implements Omit<ArchiverDataStore, 'add
|
|
|
252
293
|
actualSize: number;
|
|
253
294
|
numItems: number;
|
|
254
295
|
}>;
|
|
255
|
-
|
|
296
|
+
rollbackL1ToL2MessagesToCheckpoint(targetCheckpointNumber: CheckpointNumber): Promise<void>;
|
|
256
297
|
iterateL1ToL2Messages(range?: CustomRange<bigint>): AsyncIterableIterator<InboxMessage>;
|
|
257
298
|
removeL1ToL2Messages(startIndex: bigint): Promise<void>;
|
|
258
299
|
getLastL1ToL2Message(): Promise<InboxMessage | undefined>;
|
|
300
|
+
getPendingChainValidationStatus(): Promise<ValidateBlockResult | undefined>;
|
|
301
|
+
setPendingChainValidationStatus(status: ValidateBlockResult | undefined): Promise<void>;
|
|
259
302
|
}
|
|
260
303
|
export {};
|
|
261
|
-
//# sourceMappingURL=archiver.d.ts.map
|
|
304
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJjaGl2ZXIuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hcmNoaXZlci9hcmNoaXZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRXJFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUdoRCxPQUFPLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ2pGLE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFckYsT0FBTyxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDekcsT0FBTyxFQUFZLFFBQVEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTlELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsS0FBSyxNQUFNLEVBQWdCLE1BQU0sdUJBQXVCLENBQUM7QUFJbEUsT0FBTyxFQUFFLFlBQVksRUFBa0IsTUFBTSx5QkFBeUIsQ0FBQztBQUV2RSxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQVduRCxPQUFPLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzFELE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2hFLE9BQU8sRUFDTCxLQUFLLGVBQWUsRUFDcEIsbUJBQW1CLEVBRW5CLE9BQU8sRUFDUCxVQUFVLEVBQ1YsS0FBSyxXQUFXLEVBQ2hC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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"archiver.d.ts","sourceRoot":"","sources":["../../src/archiver/archiver.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"archiver.d.ts","sourceRoot":"","sources":["../../src/archiver/archiver.ts"],"names":[],"mappings":"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"}
|