@aztec/archiver 0.0.1-commit.e558bd1c → 0.0.1-commit.e5a3663dd
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 +12 -6
- package/dest/archiver.d.ts +26 -15
- package/dest/archiver.d.ts.map +1 -1
- package/dest/archiver.js +161 -153
- package/dest/config.d.ts +5 -3
- package/dest/config.d.ts.map +1 -1
- package/dest/config.js +16 -4
- package/dest/errors.d.ts +61 -10
- package/dest/errors.d.ts.map +1 -1
- package/dest/errors.js +88 -14
- package/dest/factory.d.ts +6 -7
- package/dest/factory.d.ts.map +1 -1
- package/dest/factory.js +40 -32
- package/dest/index.d.ts +11 -3
- package/dest/index.d.ts.map +1 -1
- package/dest/index.js +10 -2
- package/dest/l1/bin/retrieve-calldata.js +32 -28
- package/dest/l1/calldata_retriever.d.ts +74 -50
- package/dest/l1/calldata_retriever.d.ts.map +1 -1
- package/dest/l1/calldata_retriever.js +197 -260
- package/dest/l1/data_retrieval.d.ts +26 -17
- package/dest/l1/data_retrieval.d.ts.map +1 -1
- package/dest/l1/data_retrieval.js +42 -47
- package/dest/l1/spire_proposer.d.ts +5 -5
- package/dest/l1/spire_proposer.d.ts.map +1 -1
- package/dest/l1/spire_proposer.js +9 -17
- package/dest/l1/validate_historical_logs.d.ts +23 -0
- package/dest/l1/validate_historical_logs.d.ts.map +1 -0
- package/dest/l1/validate_historical_logs.js +108 -0
- package/dest/modules/contract_data_source_adapter.d.ts +25 -0
- package/dest/modules/contract_data_source_adapter.d.ts.map +1 -0
- package/dest/modules/contract_data_source_adapter.js +42 -0
- package/dest/modules/data_source_base.d.ts +27 -14
- package/dest/modules/data_source_base.d.ts.map +1 -1
- package/dest/modules/data_source_base.js +98 -125
- package/dest/modules/data_store_updater.d.ts +37 -17
- package/dest/modules/data_store_updater.d.ts.map +1 -1
- package/dest/modules/data_store_updater.js +155 -112
- package/dest/modules/instrumentation.d.ts +21 -3
- package/dest/modules/instrumentation.d.ts.map +1 -1
- package/dest/modules/instrumentation.js +41 -8
- package/dest/modules/l1_synchronizer.d.ts +13 -11
- package/dest/modules/l1_synchronizer.d.ts.map +1 -1
- package/dest/modules/l1_synchronizer.js +355 -182
- package/dest/modules/validation.d.ts +4 -3
- package/dest/modules/validation.d.ts.map +1 -1
- package/dest/modules/validation.js +6 -6
- package/dest/store/block_store.d.ts +107 -31
- package/dest/store/block_store.d.ts.map +1 -1
- package/dest/store/block_store.js +477 -141
- package/dest/store/contract_class_store.d.ts +17 -4
- package/dest/store/contract_class_store.d.ts.map +1 -1
- package/dest/store/contract_class_store.js +24 -68
- package/dest/store/contract_instance_store.d.ts +28 -1
- package/dest/store/contract_instance_store.d.ts.map +1 -1
- package/dest/store/contract_instance_store.js +37 -2
- package/dest/store/data_stores.d.ts +68 -0
- package/dest/store/data_stores.d.ts.map +1 -0
- package/dest/store/data_stores.js +50 -0
- package/dest/store/function_names_cache.d.ts +17 -0
- package/dest/store/function_names_cache.d.ts.map +1 -0
- package/dest/store/function_names_cache.js +30 -0
- package/dest/store/l2_tips_cache.d.ts +20 -0
- package/dest/store/l2_tips_cache.d.ts.map +1 -0
- package/dest/store/l2_tips_cache.js +109 -0
- package/dest/store/log_store.d.ts +6 -3
- package/dest/store/log_store.d.ts.map +1 -1
- package/dest/store/log_store.js +95 -20
- package/dest/store/message_store.d.ts +11 -1
- package/dest/store/message_store.d.ts.map +1 -1
- package/dest/store/message_store.js +51 -9
- package/dest/test/fake_l1_state.d.ts +25 -1
- package/dest/test/fake_l1_state.d.ts.map +1 -1
- package/dest/test/fake_l1_state.js +166 -32
- package/dest/test/mock_archiver.d.ts +1 -1
- package/dest/test/mock_archiver.d.ts.map +1 -1
- package/dest/test/mock_archiver.js +3 -2
- package/dest/test/mock_l1_to_l2_message_source.d.ts +1 -1
- package/dest/test/mock_l1_to_l2_message_source.d.ts.map +1 -1
- package/dest/test/mock_l1_to_l2_message_source.js +2 -1
- package/dest/test/mock_l2_block_source.d.ts +35 -5
- package/dest/test/mock_l2_block_source.d.ts.map +1 -1
- package/dest/test/mock_l2_block_source.js +182 -89
- package/dest/test/mock_structs.d.ts +4 -1
- package/dest/test/mock_structs.d.ts.map +1 -1
- package/dest/test/mock_structs.js +13 -1
- package/dest/test/noop_l1_archiver.d.ts +7 -4
- package/dest/test/noop_l1_archiver.d.ts.map +1 -1
- package/dest/test/noop_l1_archiver.js +14 -8
- package/package.json +13 -13
- package/src/archiver.ts +199 -174
- package/src/config.ts +23 -2
- package/src/errors.ts +133 -22
- package/src/factory.ts +53 -30
- package/src/index.ts +18 -2
- package/src/l1/README.md +25 -68
- package/src/l1/bin/retrieve-calldata.ts +40 -27
- package/src/l1/calldata_retriever.ts +261 -379
- package/src/l1/data_retrieval.ts +58 -69
- package/src/l1/spire_proposer.ts +7 -15
- package/src/l1/validate_historical_logs.ts +140 -0
- package/src/modules/contract_data_source_adapter.ts +59 -0
- package/src/modules/data_source_base.ts +142 -144
- package/src/modules/data_store_updater.ts +187 -141
- package/src/modules/instrumentation.ts +56 -9
- package/src/modules/l1_synchronizer.ts +463 -218
- package/src/modules/validation.ts +10 -9
- package/src/store/block_store.ts +587 -177
- package/src/store/contract_class_store.ts +31 -103
- package/src/store/contract_instance_store.ts +51 -5
- package/src/store/data_stores.ts +108 -0
- package/src/store/function_names_cache.ts +37 -0
- package/src/store/l2_tips_cache.ts +134 -0
- package/src/store/log_store.ts +128 -32
- package/src/store/message_store.ts +60 -10
- package/src/structs/inbox_message.ts +1 -1
- package/src/test/fake_l1_state.ts +213 -42
- package/src/test/mock_archiver.ts +3 -2
- package/src/test/mock_l1_to_l2_message_source.ts +1 -0
- package/src/test/mock_l2_block_source.ts +230 -82
- package/src/test/mock_structs.ts +20 -6
- package/src/test/noop_l1_archiver.ts +16 -8
- package/dest/store/kv_archiver_store.d.ts +0 -340
- package/dest/store/kv_archiver_store.d.ts.map +0 -1
- package/dest/store/kv_archiver_store.js +0 -446
- package/src/store/kv_archiver_store.ts +0 -639
|
@@ -3,8 +3,8 @@ import type { Fr } from '@aztec/foundation/curves/bn254';
|
|
|
3
3
|
import type { EthAddress } from '@aztec/foundation/eth-address';
|
|
4
4
|
import type { FunctionSelector } from '@aztec/stdlib/abi';
|
|
5
5
|
import type { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
6
|
-
import { type BlockHash, CheckpointedL2Block, L2Block, type L2Tips } from '@aztec/stdlib/block';
|
|
7
|
-
import { Checkpoint, PublishedCheckpoint } from '@aztec/stdlib/checkpoint';
|
|
6
|
+
import { type BlockData, type BlockHash, CheckpointedL2Block, L2Block, type L2Tips } from '@aztec/stdlib/block';
|
|
7
|
+
import { Checkpoint, type CheckpointData, type CommonCheckpointData, type ProposedCheckpointData, PublishedCheckpoint } from '@aztec/stdlib/checkpoint';
|
|
8
8
|
import type { ContractClassPublic, ContractDataSource, ContractInstanceWithAddress } from '@aztec/stdlib/contract';
|
|
9
9
|
import { type L1RollupConstants } from '@aztec/stdlib/epoch-helpers';
|
|
10
10
|
import type { GetContractClassLogsResponse, GetPublicLogsResponse } from '@aztec/stdlib/interfaces/client';
|
|
@@ -15,17 +15,17 @@ import type { CheckpointHeader } from '@aztec/stdlib/rollup';
|
|
|
15
15
|
import type { BlockHeader, IndexedTxEffect, TxHash, TxReceipt } from '@aztec/stdlib/tx';
|
|
16
16
|
import type { UInt64 } from '@aztec/stdlib/types';
|
|
17
17
|
import type { ArchiverDataSource } from '../interfaces.js';
|
|
18
|
-
import type {
|
|
18
|
+
import type { ArchiverDataStores } from '../store/data_stores.js';
|
|
19
19
|
import type { ValidateCheckpointResult } from './validation.js';
|
|
20
20
|
/**
|
|
21
|
-
* Abstract base class implementing ArchiverDataSource using a
|
|
22
|
-
* Provides implementations for all
|
|
23
|
-
*
|
|
21
|
+
* Abstract base class implementing ArchiverDataSource using a bundle of archiver substores.
|
|
22
|
+
* Provides implementations for all read-side methods and declares abstract methods for
|
|
23
|
+
* L1-dependent functionality that subclasses must implement.
|
|
24
24
|
*/
|
|
25
25
|
export declare abstract class ArchiverDataSourceBase implements ArchiverDataSource, L2LogsSource, ContractDataSource, L1ToL2MessageSource {
|
|
26
|
-
protected readonly
|
|
26
|
+
protected readonly stores: ArchiverDataStores;
|
|
27
27
|
protected readonly l1Constants?: L1RollupConstants | undefined;
|
|
28
|
-
constructor(
|
|
28
|
+
constructor(stores: ArchiverDataStores, l1Constants?: L1RollupConstants | undefined);
|
|
29
29
|
abstract getRollupAddress(): Promise<EthAddress>;
|
|
30
30
|
abstract getRegistryAddress(): Promise<EthAddress>;
|
|
31
31
|
abstract getL1Constants(): Promise<L1RollupConstants>;
|
|
@@ -34,8 +34,8 @@ export declare abstract class ArchiverDataSourceBase implements ArchiverDataSour
|
|
|
34
34
|
}>;
|
|
35
35
|
abstract getL1Timestamp(): Promise<bigint | undefined>;
|
|
36
36
|
abstract getL2Tips(): Promise<L2Tips>;
|
|
37
|
-
abstract
|
|
38
|
-
abstract
|
|
37
|
+
abstract getSyncedL2SlotNumber(): Promise<SlotNumber | undefined>;
|
|
38
|
+
abstract getSyncedL2EpochNumber(): Promise<EpochNumber | undefined>;
|
|
39
39
|
abstract isEpochComplete(epochNumber: EpochNumber): Promise<boolean>;
|
|
40
40
|
abstract syncImmediate(): Promise<void>;
|
|
41
41
|
getCheckpointNumber(): Promise<CheckpointNumber>;
|
|
@@ -50,30 +50,43 @@ export declare abstract class ArchiverDataSourceBase implements ArchiverDataSour
|
|
|
50
50
|
getCheckpointHeader(number: CheckpointNumber | 'latest'): Promise<CheckpointHeader | undefined>;
|
|
51
51
|
getLastBlockNumberInCheckpoint(checkpointNumber: CheckpointNumber): Promise<BlockNumber | undefined>;
|
|
52
52
|
getCheckpointedBlocks(from: BlockNumber, limit: number): Promise<CheckpointedL2Block[]>;
|
|
53
|
+
getCheckpointData(checkpointNumber: CheckpointNumber): Promise<CheckpointData | undefined>;
|
|
54
|
+
getCheckpointDataRange(from: CheckpointNumber, limit: number): Promise<CheckpointData[]>;
|
|
55
|
+
getCheckpointNumberBySlot(slot: SlotNumber): Promise<CheckpointNumber | undefined>;
|
|
56
|
+
getBlockDataWithCheckpointContext(blockNumber: BlockNumber): Promise<import("@aztec/stdlib/block").BlockDataWithCheckpointContext | undefined>;
|
|
53
57
|
getBlockHeaderByHash(blockHash: BlockHash): Promise<BlockHeader | undefined>;
|
|
54
58
|
getBlockHeaderByArchive(archive: Fr): Promise<BlockHeader | undefined>;
|
|
59
|
+
getBlockData(number: BlockNumber): Promise<BlockData | undefined>;
|
|
60
|
+
getBlockDataByArchive(archive: Fr): Promise<BlockData | undefined>;
|
|
55
61
|
getL2Block(number: BlockNumber): Promise<L2Block | undefined>;
|
|
56
62
|
getTxEffect(txHash: TxHash): Promise<IndexedTxEffect | undefined>;
|
|
57
63
|
getSettledTxReceipt(txHash: TxHash): Promise<TxReceipt | undefined>;
|
|
64
|
+
getLastCheckpoint(): Promise<CommonCheckpointData | undefined>;
|
|
65
|
+
getLastProposedCheckpoint(): Promise<ProposedCheckpointData | undefined>;
|
|
58
66
|
isPendingChainInvalid(): Promise<boolean>;
|
|
59
67
|
getPendingChainValidationStatus(): Promise<ValidateCheckpointResult>;
|
|
60
|
-
getPrivateLogsByTags(tags: SiloedTag[], page?: number): Promise<TxScopedL2Log[][]>;
|
|
61
|
-
getPublicLogsByTagsFromContract(contractAddress: AztecAddress, tags: Tag[], page?: number): Promise<TxScopedL2Log[][]>;
|
|
68
|
+
getPrivateLogsByTags(tags: SiloedTag[], page?: number, upToBlockNumber?: BlockNumber): Promise<TxScopedL2Log[][]>;
|
|
69
|
+
getPublicLogsByTagsFromContract(contractAddress: AztecAddress, tags: Tag[], page?: number, upToBlockNumber?: BlockNumber): Promise<TxScopedL2Log[][]>;
|
|
62
70
|
getPublicLogs(filter: LogFilter): Promise<GetPublicLogsResponse>;
|
|
63
71
|
getContractClassLogs(filter: LogFilter): Promise<GetContractClassLogsResponse>;
|
|
64
72
|
getContractClass(id: Fr): Promise<ContractClassPublic | undefined>;
|
|
65
73
|
getBytecodeCommitment(id: Fr): Promise<Fr | undefined>;
|
|
66
74
|
getContract(address: AztecAddress, maybeTimestamp?: UInt64): Promise<ContractInstanceWithAddress | undefined>;
|
|
67
75
|
getContractClassIds(): Promise<Fr[]>;
|
|
68
|
-
|
|
76
|
+
/** Looks up a public function name given a selector. */
|
|
77
|
+
getDebugFunctionName(_address: AztecAddress, selector: FunctionSelector): Promise<string | undefined>;
|
|
78
|
+
/** Register public function signatures so they can be looked up by selector. */
|
|
69
79
|
registerContractFunctionSignatures(signatures: string[]): Promise<void>;
|
|
70
80
|
getL1ToL2Messages(checkpointNumber: CheckpointNumber): Promise<Fr[]>;
|
|
71
81
|
getL1ToL2MessageIndex(l1ToL2Message: Fr): Promise<bigint | undefined>;
|
|
72
82
|
getCheckpoints(checkpointNumber: CheckpointNumber, limit: number): Promise<PublishedCheckpoint[]>;
|
|
83
|
+
private getPublishedCheckpointFromCheckpointData;
|
|
73
84
|
getBlocksForSlot(slotNumber: SlotNumber): Promise<L2Block[]>;
|
|
74
85
|
getCheckpointedBlocksForEpoch(epochNumber: EpochNumber): Promise<CheckpointedL2Block[]>;
|
|
75
86
|
getCheckpointedBlockHeadersForEpoch(epochNumber: EpochNumber): Promise<BlockHeader[]>;
|
|
76
87
|
getCheckpointsForEpoch(epochNumber: EpochNumber): Promise<Checkpoint[]>;
|
|
88
|
+
/** Returns checkpoint data for all checkpoints whose slot falls within the given epoch. */
|
|
89
|
+
getCheckpointsDataForEpoch(epochNumber: EpochNumber): Promise<CheckpointData[]>;
|
|
77
90
|
getBlock(number: BlockNumber): Promise<L2Block | undefined>;
|
|
78
91
|
getBlocks(from: BlockNumber, limit: number): Promise<L2Block[]>;
|
|
79
92
|
getCheckpointedBlockByHash(blockHash: BlockHash): Promise<CheckpointedL2Block | undefined>;
|
|
@@ -81,4 +94,4 @@ export declare abstract class ArchiverDataSourceBase implements ArchiverDataSour
|
|
|
81
94
|
getL2BlockByHash(blockHash: BlockHash): Promise<L2Block | undefined>;
|
|
82
95
|
getL2BlockByArchive(archive: Fr): Promise<L2Block | undefined>;
|
|
83
96
|
}
|
|
84
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YV9zb3VyY2VfYmFzZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL21vZHVsZXMvZGF0YV9zb3VyY2VfYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLEtBQUssV0FBVyxFQUFFLEtBQUssVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbkgsT0FBTyxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDekQsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFaEUsT0FBTyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMxRCxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsS0FBSyxTQUFTLEVBQUUsS0FBSyxTQUFTLEVBQUUsbUJBQW1CLEVBQUUsT0FBTyxFQUFFLEtBQUssTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDaEgsT0FBTyxFQUNMLFVBQVUsRUFDVixLQUFLLGNBQWMsRUFDbkIsS0FBSyxvQkFBb0IsRUFDekIsS0FBSyxzQkFBc0IsRUFDM0IsbUJBQW1CLEVBQ3BCLE1BQU0sMEJBQTBCLENBQUM7QUFDbEMsT0FBTyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsa0JBQWtCLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNuSCxPQUFPLEVBQUUsS0FBSyxpQkFBaUIsRUFBd0IsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRixPQUFPLEtBQUssRUFBRSw0QkFBNEIsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzNHLE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BFLE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FB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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data_source_base.d.ts","sourceRoot":"","sources":["../../src/modules/data_source_base.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"data_source_base.d.ts","sourceRoot":"","sources":["../../src/modules/data_source_base.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,122 +1,145 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { range } from '@aztec/foundation/array';
|
|
2
|
+
import { BlockNumber } from '@aztec/foundation/branded-types';
|
|
2
3
|
import { isDefined } from '@aztec/foundation/types';
|
|
3
|
-
import { CommitteeAttestation } from '@aztec/stdlib/block';
|
|
4
4
|
import { Checkpoint, PublishedCheckpoint } from '@aztec/stdlib/checkpoint';
|
|
5
5
|
import { getSlotRangeForEpoch } from '@aztec/stdlib/epoch-helpers';
|
|
6
6
|
/**
|
|
7
|
-
* Abstract base class implementing ArchiverDataSource using a
|
|
8
|
-
* Provides implementations for all
|
|
9
|
-
*
|
|
7
|
+
* Abstract base class implementing ArchiverDataSource using a bundle of archiver substores.
|
|
8
|
+
* Provides implementations for all read-side methods and declares abstract methods for
|
|
9
|
+
* L1-dependent functionality that subclasses must implement.
|
|
10
10
|
*/ export class ArchiverDataSourceBase {
|
|
11
|
-
|
|
11
|
+
stores;
|
|
12
12
|
l1Constants;
|
|
13
|
-
constructor(
|
|
14
|
-
this.
|
|
13
|
+
constructor(stores, l1Constants){
|
|
14
|
+
this.stores = stores;
|
|
15
15
|
this.l1Constants = l1Constants;
|
|
16
16
|
}
|
|
17
17
|
getCheckpointNumber() {
|
|
18
|
-
return this.
|
|
18
|
+
return this.stores.blocks.getLatestCheckpointNumber();
|
|
19
19
|
}
|
|
20
20
|
getSynchedCheckpointNumber() {
|
|
21
|
-
return this.
|
|
21
|
+
return this.stores.blocks.getLatestCheckpointNumber();
|
|
22
22
|
}
|
|
23
23
|
getProvenCheckpointNumber() {
|
|
24
|
-
return this.
|
|
24
|
+
return this.stores.blocks.getProvenCheckpointNumber();
|
|
25
25
|
}
|
|
26
26
|
getBlockNumber() {
|
|
27
|
-
return this.
|
|
27
|
+
return this.stores.blocks.getLatestL2BlockNumber();
|
|
28
28
|
}
|
|
29
29
|
getProvenBlockNumber() {
|
|
30
|
-
return this.
|
|
30
|
+
return this.stores.blocks.getProvenBlockNumber();
|
|
31
31
|
}
|
|
32
32
|
async getBlockHeader(number) {
|
|
33
|
-
const blockNumber = number === 'latest' ? await this.
|
|
33
|
+
const blockNumber = number === 'latest' ? await this.stores.blocks.getLatestL2BlockNumber() : number;
|
|
34
34
|
if (blockNumber === 0) {
|
|
35
35
|
return undefined;
|
|
36
36
|
}
|
|
37
|
-
const headers = await this.
|
|
37
|
+
const headers = await this.stores.blocks.getBlockHeaders(blockNumber, 1);
|
|
38
38
|
return headers.length === 0 ? undefined : headers[0];
|
|
39
39
|
}
|
|
40
40
|
getCheckpointedBlock(number) {
|
|
41
|
-
return this.
|
|
41
|
+
return this.stores.blocks.getCheckpointedBlock(number);
|
|
42
42
|
}
|
|
43
43
|
getCheckpointedL2BlockNumber() {
|
|
44
|
-
return this.
|
|
44
|
+
return this.stores.blocks.getCheckpointedL2BlockNumber();
|
|
45
45
|
}
|
|
46
46
|
getFinalizedL2BlockNumber() {
|
|
47
|
-
return this.
|
|
47
|
+
return this.stores.blocks.getFinalizedL2BlockNumber();
|
|
48
48
|
}
|
|
49
49
|
async getCheckpointHeader(number) {
|
|
50
50
|
if (number === 'latest') {
|
|
51
|
-
number = await this.
|
|
51
|
+
number = await this.stores.blocks.getLatestCheckpointNumber();
|
|
52
52
|
}
|
|
53
53
|
if (number === 0) {
|
|
54
54
|
return undefined;
|
|
55
55
|
}
|
|
56
|
-
const checkpoint = await this.
|
|
56
|
+
const checkpoint = await this.stores.blocks.getCheckpointData(number);
|
|
57
57
|
if (!checkpoint) {
|
|
58
58
|
return undefined;
|
|
59
59
|
}
|
|
60
60
|
return checkpoint.header;
|
|
61
61
|
}
|
|
62
62
|
async getLastBlockNumberInCheckpoint(checkpointNumber) {
|
|
63
|
-
const checkpointData = await this.
|
|
63
|
+
const checkpointData = await this.stores.blocks.getCheckpointData(checkpointNumber);
|
|
64
64
|
if (!checkpointData) {
|
|
65
65
|
return undefined;
|
|
66
66
|
}
|
|
67
|
-
return BlockNumber(checkpointData.startBlock + checkpointData.
|
|
67
|
+
return BlockNumber(checkpointData.startBlock + checkpointData.blockCount - 1);
|
|
68
68
|
}
|
|
69
69
|
getCheckpointedBlocks(from, limit) {
|
|
70
|
-
return this.
|
|
70
|
+
return this.stores.blocks.getCheckpointedBlocks(from, limit);
|
|
71
|
+
}
|
|
72
|
+
getCheckpointData(checkpointNumber) {
|
|
73
|
+
return this.stores.blocks.getCheckpointData(checkpointNumber);
|
|
74
|
+
}
|
|
75
|
+
getCheckpointDataRange(from, limit) {
|
|
76
|
+
return this.stores.blocks.getRangeOfCheckpoints(from, limit);
|
|
77
|
+
}
|
|
78
|
+
getCheckpointNumberBySlot(slot) {
|
|
79
|
+
return this.stores.blocks.getCheckpointNumberBySlot(slot);
|
|
80
|
+
}
|
|
81
|
+
getBlockDataWithCheckpointContext(blockNumber) {
|
|
82
|
+
return this.stores.blocks.getBlockDataWithCheckpointContext(blockNumber);
|
|
71
83
|
}
|
|
72
84
|
getBlockHeaderByHash(blockHash) {
|
|
73
|
-
return this.
|
|
85
|
+
return this.stores.blocks.getBlockHeaderByHash(blockHash);
|
|
74
86
|
}
|
|
75
87
|
getBlockHeaderByArchive(archive) {
|
|
76
|
-
return this.
|
|
88
|
+
return this.stores.blocks.getBlockHeaderByArchive(archive);
|
|
89
|
+
}
|
|
90
|
+
getBlockData(number) {
|
|
91
|
+
return this.stores.blocks.getBlockData(number);
|
|
92
|
+
}
|
|
93
|
+
getBlockDataByArchive(archive) {
|
|
94
|
+
return this.stores.blocks.getBlockDataByArchive(archive);
|
|
77
95
|
}
|
|
78
96
|
async getL2Block(number) {
|
|
79
97
|
// If the number provided is -ve, then return the latest block.
|
|
80
98
|
if (number < 0) {
|
|
81
|
-
number = await this.
|
|
99
|
+
number = await this.stores.blocks.getLatestL2BlockNumber();
|
|
82
100
|
}
|
|
83
101
|
if (number === 0) {
|
|
84
102
|
return undefined;
|
|
85
103
|
}
|
|
86
|
-
|
|
87
|
-
return publishedBlock;
|
|
104
|
+
return this.stores.blocks.getBlock(number);
|
|
88
105
|
}
|
|
89
106
|
getTxEffect(txHash) {
|
|
90
|
-
return this.
|
|
107
|
+
return this.stores.blocks.getTxEffect(txHash);
|
|
91
108
|
}
|
|
92
109
|
getSettledTxReceipt(txHash) {
|
|
93
|
-
return this.
|
|
110
|
+
return this.stores.blocks.getSettledTxReceipt(txHash, this.l1Constants);
|
|
111
|
+
}
|
|
112
|
+
getLastCheckpoint() {
|
|
113
|
+
return this.stores.blocks.getLastCheckpoint();
|
|
114
|
+
}
|
|
115
|
+
getLastProposedCheckpoint() {
|
|
116
|
+
return this.stores.blocks.getLastProposedCheckpoint();
|
|
94
117
|
}
|
|
95
118
|
isPendingChainInvalid() {
|
|
96
119
|
return this.getPendingChainValidationStatus().then((status)=>!status.valid);
|
|
97
120
|
}
|
|
98
121
|
async getPendingChainValidationStatus() {
|
|
99
|
-
return await this.
|
|
122
|
+
return await this.stores.blocks.getPendingChainValidationStatus() ?? {
|
|
100
123
|
valid: true
|
|
101
124
|
};
|
|
102
125
|
}
|
|
103
|
-
getPrivateLogsByTags(tags, page) {
|
|
104
|
-
return this.
|
|
126
|
+
getPrivateLogsByTags(tags, page, upToBlockNumber) {
|
|
127
|
+
return this.stores.logs.getPrivateLogsByTags(tags, page, upToBlockNumber);
|
|
105
128
|
}
|
|
106
|
-
getPublicLogsByTagsFromContract(contractAddress, tags, page) {
|
|
107
|
-
return this.
|
|
129
|
+
getPublicLogsByTagsFromContract(contractAddress, tags, page, upToBlockNumber) {
|
|
130
|
+
return this.stores.logs.getPublicLogsByTagsFromContract(contractAddress, tags, page, upToBlockNumber);
|
|
108
131
|
}
|
|
109
132
|
getPublicLogs(filter) {
|
|
110
|
-
return this.
|
|
133
|
+
return this.stores.logs.getPublicLogs(filter);
|
|
111
134
|
}
|
|
112
135
|
getContractClassLogs(filter) {
|
|
113
|
-
return this.
|
|
136
|
+
return this.stores.logs.getContractClassLogs(filter);
|
|
114
137
|
}
|
|
115
138
|
getContractClass(id) {
|
|
116
|
-
return this.
|
|
139
|
+
return this.stores.contractClasses.getContractClass(id);
|
|
117
140
|
}
|
|
118
141
|
getBytecodeCommitment(id) {
|
|
119
|
-
return this.
|
|
142
|
+
return this.stores.contractClasses.getBytecodeCommitment(id);
|
|
120
143
|
}
|
|
121
144
|
async getContract(address, maybeTimestamp) {
|
|
122
145
|
let timestamp;
|
|
@@ -127,134 +150,84 @@ import { getSlotRangeForEpoch } from '@aztec/stdlib/epoch-helpers';
|
|
|
127
150
|
} else {
|
|
128
151
|
timestamp = maybeTimestamp;
|
|
129
152
|
}
|
|
130
|
-
return this.
|
|
153
|
+
return this.stores.contractInstances.getContractInstance(address, timestamp);
|
|
131
154
|
}
|
|
132
155
|
getContractClassIds() {
|
|
133
|
-
return this.
|
|
156
|
+
return this.stores.contractClasses.getContractClassIds();
|
|
134
157
|
}
|
|
135
|
-
getDebugFunctionName(
|
|
136
|
-
return this.
|
|
158
|
+
/** Looks up a public function name given a selector. */ getDebugFunctionName(_address, selector) {
|
|
159
|
+
return Promise.resolve(this.stores.functionNames.get(selector));
|
|
137
160
|
}
|
|
138
|
-
registerContractFunctionSignatures(signatures) {
|
|
139
|
-
return this.
|
|
161
|
+
/** Register public function signatures so they can be looked up by selector. */ registerContractFunctionSignatures(signatures) {
|
|
162
|
+
return this.stores.functionNames.register(signatures);
|
|
140
163
|
}
|
|
141
164
|
getL1ToL2Messages(checkpointNumber) {
|
|
142
|
-
return this.
|
|
165
|
+
return this.stores.messages.getL1ToL2Messages(checkpointNumber);
|
|
143
166
|
}
|
|
144
167
|
getL1ToL2MessageIndex(l1ToL2Message) {
|
|
145
|
-
return this.
|
|
168
|
+
return this.stores.messages.getL1ToL2MessageIndex(l1ToL2Message);
|
|
146
169
|
}
|
|
147
170
|
async getCheckpoints(checkpointNumber, limit) {
|
|
148
|
-
const checkpoints = await this.
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
const publishedCheckpoint = new PublishedCheckpoint(fullCheckpoint, checkpoint.l1, checkpoint.attestations.map((x)=>CommitteeAttestation.fromBuffer(x)));
|
|
156
|
-
fullCheckpoints.push(publishedCheckpoint);
|
|
171
|
+
const checkpoints = await this.stores.blocks.getRangeOfCheckpoints(checkpointNumber, limit);
|
|
172
|
+
return Promise.all(checkpoints.map((ch)=>this.getPublishedCheckpointFromCheckpointData(ch)));
|
|
173
|
+
}
|
|
174
|
+
async getPublishedCheckpointFromCheckpointData(checkpoint) {
|
|
175
|
+
const blocksForCheckpoint = await this.stores.blocks.getBlocksForCheckpoint(checkpoint.checkpointNumber);
|
|
176
|
+
if (!blocksForCheckpoint) {
|
|
177
|
+
throw new Error(`Blocks for checkpoint ${checkpoint.checkpointNumber} not found`);
|
|
157
178
|
}
|
|
158
|
-
|
|
179
|
+
const fullCheckpoint = new Checkpoint(checkpoint.archive, checkpoint.header, blocksForCheckpoint, checkpoint.checkpointNumber, checkpoint.feeAssetPriceModifier);
|
|
180
|
+
return new PublishedCheckpoint(fullCheckpoint, checkpoint.l1, checkpoint.attestations);
|
|
159
181
|
}
|
|
160
182
|
getBlocksForSlot(slotNumber) {
|
|
161
|
-
return this.
|
|
183
|
+
return this.stores.blocks.getBlocksForSlot(slotNumber);
|
|
162
184
|
}
|
|
163
185
|
async getCheckpointedBlocksForEpoch(epochNumber) {
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
const [start, end] = getSlotRangeForEpoch(epochNumber, this.l1Constants);
|
|
168
|
-
const blocks = [];
|
|
169
|
-
// Walk the list of checkpoints backwards and filter by slots matching the requested epoch.
|
|
170
|
-
// We'll typically ask for checkpoints for a very recent epoch, so we shouldn't need an index here.
|
|
171
|
-
let checkpoint = await this.store.getCheckpointData(await this.store.getSynchedCheckpointNumber());
|
|
172
|
-
const slot = (b)=>b.header.slotNumber;
|
|
173
|
-
while(checkpoint && slot(checkpoint) >= start){
|
|
174
|
-
if (slot(checkpoint) <= end) {
|
|
175
|
-
// push the blocks on backwards
|
|
176
|
-
const endBlock = checkpoint.startBlock + checkpoint.numBlocks - 1;
|
|
177
|
-
for(let i = endBlock; i >= checkpoint.startBlock; i--){
|
|
178
|
-
const checkpointedBlock = await this.getCheckpointedBlock(BlockNumber(i));
|
|
179
|
-
if (checkpointedBlock) {
|
|
180
|
-
blocks.push(checkpointedBlock);
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
}
|
|
184
|
-
checkpoint = await this.store.getCheckpointData(CheckpointNumber(checkpoint.checkpointNumber - 1));
|
|
185
|
-
}
|
|
186
|
-
return blocks.reverse();
|
|
186
|
+
const checkpointsData = await this.getCheckpointsDataForEpoch(epochNumber);
|
|
187
|
+
const blocks = await Promise.all(checkpointsData.flatMap((checkpoint)=>range(checkpoint.blockCount, checkpoint.startBlock).map((blockNumber)=>this.getCheckpointedBlock(BlockNumber(blockNumber)))));
|
|
188
|
+
return blocks.filter(isDefined);
|
|
187
189
|
}
|
|
188
190
|
async getCheckpointedBlockHeadersForEpoch(epochNumber) {
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
const [start, end] = getSlotRangeForEpoch(epochNumber, this.l1Constants);
|
|
193
|
-
const blocks = [];
|
|
194
|
-
// Walk the list of checkpoints backwards and filter by slots matching the requested epoch.
|
|
195
|
-
// We'll typically ask for checkpoints for a very recent epoch, so we shouldn't need an index here.
|
|
196
|
-
let checkpoint = await this.store.getCheckpointData(await this.store.getSynchedCheckpointNumber());
|
|
197
|
-
const slot = (b)=>b.header.slotNumber;
|
|
198
|
-
while(checkpoint && slot(checkpoint) >= start){
|
|
199
|
-
if (slot(checkpoint) <= end) {
|
|
200
|
-
// push the blocks on backwards
|
|
201
|
-
const endBlock = checkpoint.startBlock + checkpoint.numBlocks - 1;
|
|
202
|
-
for(let i = endBlock; i >= checkpoint.startBlock; i--){
|
|
203
|
-
const block = await this.getBlockHeader(BlockNumber(i));
|
|
204
|
-
if (block) {
|
|
205
|
-
blocks.push(block);
|
|
206
|
-
}
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
checkpoint = await this.store.getCheckpointData(CheckpointNumber(checkpoint.checkpointNumber - 1));
|
|
210
|
-
}
|
|
211
|
-
return blocks.reverse();
|
|
191
|
+
const checkpointsData = await this.getCheckpointsDataForEpoch(epochNumber);
|
|
192
|
+
const blocks = await Promise.all(checkpointsData.flatMap((checkpoint)=>range(checkpoint.blockCount, checkpoint.startBlock).map((blockNumber)=>this.getBlockHeader(BlockNumber(blockNumber)))));
|
|
193
|
+
return blocks.filter(isDefined);
|
|
212
194
|
}
|
|
213
195
|
async getCheckpointsForEpoch(epochNumber) {
|
|
196
|
+
const checkpointsData = await this.getCheckpointsDataForEpoch(epochNumber);
|
|
197
|
+
return Promise.all(checkpointsData.map((data)=>this.getPublishedCheckpointFromCheckpointData(data).then((p)=>p.checkpoint)));
|
|
198
|
+
}
|
|
199
|
+
/** Returns checkpoint data for all checkpoints whose slot falls within the given epoch. */ getCheckpointsDataForEpoch(epochNumber) {
|
|
214
200
|
if (!this.l1Constants) {
|
|
215
201
|
throw new Error('L1 constants not set');
|
|
216
202
|
}
|
|
217
203
|
const [start, end] = getSlotRangeForEpoch(epochNumber, this.l1Constants);
|
|
218
|
-
|
|
219
|
-
// Walk the list of checkpoints backwards and filter by slots matching the requested epoch.
|
|
220
|
-
// We'll typically ask for checkpoints for a very recent epoch, so we shouldn't need an index here.
|
|
221
|
-
let checkpointData = await this.store.getCheckpointData(await this.store.getSynchedCheckpointNumber());
|
|
222
|
-
const slot = (b)=>b.header.slotNumber;
|
|
223
|
-
while(checkpointData && slot(checkpointData) >= start){
|
|
224
|
-
if (slot(checkpointData) <= end) {
|
|
225
|
-
// push the checkpoints on backwards
|
|
226
|
-
const [checkpoint] = await this.getCheckpoints(checkpointData.checkpointNumber, 1);
|
|
227
|
-
checkpoints.push(checkpoint.checkpoint);
|
|
228
|
-
}
|
|
229
|
-
checkpointData = await this.store.getCheckpointData(CheckpointNumber(checkpointData.checkpointNumber - 1));
|
|
230
|
-
}
|
|
231
|
-
return checkpoints.reverse();
|
|
204
|
+
return this.stores.blocks.getCheckpointDataForSlotRange(start, end);
|
|
232
205
|
}
|
|
233
206
|
async getBlock(number) {
|
|
234
207
|
// If the number provided is -ve, then return the latest block.
|
|
235
208
|
if (number < 0) {
|
|
236
|
-
number = await this.
|
|
209
|
+
number = await this.stores.blocks.getLatestL2BlockNumber();
|
|
237
210
|
}
|
|
238
211
|
if (number === 0) {
|
|
239
212
|
return undefined;
|
|
240
213
|
}
|
|
241
|
-
return this.
|
|
214
|
+
return this.stores.blocks.getBlock(number);
|
|
242
215
|
}
|
|
243
216
|
getBlocks(from, limit) {
|
|
244
|
-
return this.
|
|
217
|
+
return this.stores.blocks.getBlocks(from, limit);
|
|
245
218
|
}
|
|
246
219
|
getCheckpointedBlockByHash(blockHash) {
|
|
247
|
-
return this.
|
|
220
|
+
return this.stores.blocks.getCheckpointedBlockByHash(blockHash);
|
|
248
221
|
}
|
|
249
222
|
getCheckpointedBlockByArchive(archive) {
|
|
250
|
-
return this.
|
|
223
|
+
return this.stores.blocks.getCheckpointedBlockByArchive(archive);
|
|
251
224
|
}
|
|
252
225
|
async getL2BlockByHash(blockHash) {
|
|
253
|
-
const checkpointedBlock = await this.
|
|
226
|
+
const checkpointedBlock = await this.stores.blocks.getCheckpointedBlockByHash(blockHash);
|
|
254
227
|
return checkpointedBlock?.block;
|
|
255
228
|
}
|
|
256
229
|
async getL2BlockByArchive(archive) {
|
|
257
|
-
const checkpointedBlock = await this.
|
|
230
|
+
const checkpointedBlock = await this.stores.blocks.getCheckpointedBlockByArchive(archive);
|
|
258
231
|
return checkpointedBlock?.block;
|
|
259
232
|
}
|
|
260
233
|
}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { BlockNumber, CheckpointNumber } from '@aztec/foundation/branded-types';
|
|
2
|
-
import type { L2Block, ValidateCheckpointResult } from '@aztec/stdlib/block';
|
|
3
|
-
import type
|
|
4
|
-
import type {
|
|
2
|
+
import type { CommitteeAttestation, L2Block, ValidateCheckpointResult } from '@aztec/stdlib/block';
|
|
3
|
+
import { type L1PublishedData, type ProposedCheckpointInput, type PublishedCheckpoint } from '@aztec/stdlib/checkpoint';
|
|
4
|
+
import type { ArchiverDataStores } from '../store/data_stores.js';
|
|
5
|
+
import type { L2TipsCache } from '../store/l2_tips_cache.js';
|
|
5
6
|
/** Result of adding checkpoints with information about any pruned blocks. */
|
|
6
7
|
type ReconcileCheckpointsResult = {
|
|
7
8
|
/** Blocks that were pruned due to conflict with L1 checkpoints. */
|
|
@@ -11,32 +12,42 @@ type ReconcileCheckpointsResult = {
|
|
|
11
12
|
};
|
|
12
13
|
/** Archiver helper module to handle updates to the data store. */
|
|
13
14
|
export declare class ArchiverDataStoreUpdater {
|
|
14
|
-
private
|
|
15
|
+
private stores;
|
|
16
|
+
private l2TipsCache?;
|
|
17
|
+
private opts;
|
|
15
18
|
private readonly log;
|
|
16
|
-
constructor(
|
|
19
|
+
constructor(stores: ArchiverDataStores, l2TipsCache?: L2TipsCache | undefined, opts?: {
|
|
20
|
+
rollupManaLimit?: number;
|
|
21
|
+
});
|
|
17
22
|
/**
|
|
18
|
-
* Adds proposed
|
|
19
|
-
*
|
|
20
|
-
* Extracts ContractClassPublished, ContractInstancePublished, ContractInstanceUpdated events
|
|
21
|
-
* and individually broadcasted functions from the block logs.
|
|
23
|
+
* Adds a proposed block to the store with contract class/instance extraction from logs.
|
|
24
|
+
* This is an uncheckpointed block that has been proposed by the sequencer but not yet included in a checkpoint on L1.
|
|
25
|
+
* Extracts ContractClassPublished, ContractInstancePublished, ContractInstanceUpdated events from the block logs.
|
|
22
26
|
*
|
|
23
|
-
* @param
|
|
27
|
+
* @param block - The proposed L2 block to add.
|
|
24
28
|
* @param pendingChainValidationStatus - Optional validation status to set.
|
|
25
29
|
* @returns True if the operation is successful.
|
|
26
30
|
*/
|
|
27
|
-
|
|
31
|
+
addProposedBlock(block: L2Block, pendingChainValidationStatus?: ValidateCheckpointResult): Promise<boolean>;
|
|
28
32
|
/**
|
|
29
33
|
* Reconciles local blocks with incoming checkpoints from L1.
|
|
30
34
|
* Adds new checkpoints to the store with contract class/instance extraction from logs.
|
|
31
35
|
* Prunes any local blocks that conflict with checkpoint data (by comparing archive roots).
|
|
32
|
-
* Extracts ContractClassPublished, ContractInstancePublished, ContractInstanceUpdated events
|
|
33
|
-
*
|
|
36
|
+
* Extracts ContractClassPublished, ContractInstancePublished, ContractInstanceUpdated events from the checkpoint block logs.
|
|
37
|
+
* If `promoteProposed` is supplied, the proposed-checkpoint promotion runs inside the same transaction
|
|
38
|
+
* as the added checkpoints so both updates are applied atomically.
|
|
34
39
|
*
|
|
35
|
-
* @param checkpoints - The published checkpoints to add.
|
|
40
|
+
* @param checkpoints - The published checkpoints to add (excluding any being promoted from proposed).
|
|
36
41
|
* @param pendingChainValidationStatus - Optional validation status to set.
|
|
42
|
+
* @param promoteProposed - Optional promotion of the current proposed checkpoint (fast path when blocks are already local).
|
|
37
43
|
* @returns Result with information about any pruned blocks.
|
|
38
44
|
*/
|
|
39
|
-
addCheckpoints(checkpoints: PublishedCheckpoint[], pendingChainValidationStatus?: ValidateCheckpointResult
|
|
45
|
+
addCheckpoints(checkpoints: PublishedCheckpoint[], pendingChainValidationStatus?: ValidateCheckpointResult, promoteProposed?: {
|
|
46
|
+
l1: L1PublishedData;
|
|
47
|
+
attestations: CommitteeAttestation[];
|
|
48
|
+
checkpoint: PublishedCheckpoint;
|
|
49
|
+
}, evictProposedFrom?: CheckpointNumber): Promise<ReconcileCheckpointsResult>;
|
|
50
|
+
addProposedCheckpoint(proposedCheckpoint: ProposedCheckpointInput): Promise<void>;
|
|
40
51
|
private pruneMismatchingLocalBlocks;
|
|
41
52
|
/**
|
|
42
53
|
* Removes all uncheckpointed blocks strictly after the specified block number and cleans up associated contract data.
|
|
@@ -59,6 +70,16 @@ export declare class ArchiverDataStoreUpdater {
|
|
|
59
70
|
* @returns True if the operation is successful.
|
|
60
71
|
*/
|
|
61
72
|
removeCheckpointsAfter(checkpointNumber: CheckpointNumber): Promise<boolean>;
|
|
73
|
+
/**
|
|
74
|
+
* Updates the proven checkpoint number and refreshes the L2 tips cache.
|
|
75
|
+
* @param checkpointNumber - The checkpoint number to set as proven.
|
|
76
|
+
*/
|
|
77
|
+
setProvenCheckpointNumber(checkpointNumber: CheckpointNumber): Promise<void>;
|
|
78
|
+
/**
|
|
79
|
+
* Updates the finalized checkpoint number and refreshes the L2 tips cache.
|
|
80
|
+
* @param checkpointNumber - The checkpoint number to set as finalized.
|
|
81
|
+
*/
|
|
82
|
+
setFinalizedCheckpointNumber(checkpointNumber: CheckpointNumber): Promise<void>;
|
|
62
83
|
/** Extracts and stores contract data from a single block. */
|
|
63
84
|
private addContractDataToDb;
|
|
64
85
|
/** Removes contract data associated with a block. */
|
|
@@ -67,7 +88,6 @@ export declare class ArchiverDataStoreUpdater {
|
|
|
67
88
|
private updatePublishedContractClasses;
|
|
68
89
|
private updateDeployedContractInstances;
|
|
69
90
|
private updateUpdatedContractInstances;
|
|
70
|
-
private storeBroadcastedIndividualFunctions;
|
|
71
91
|
}
|
|
72
92
|
export {};
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
93
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YV9zdG9yZV91cGRhdGVyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbW9kdWxlcy9kYXRhX3N0b3JlX3VwZGF0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBUWhGLE9BQU8sS0FBSyxFQUFFLG9CQUFvQixFQUFFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ25HLE9BQU8sRUFDTCxLQUFLLGVBQWUsRUFDcEIsS0FBSyx1QkFBdUIsRUFDNUIsS0FBSyxtQkFBbUIsRUFFekIsTUFBTSwwQkFBMEIsQ0FBQztBQVNsQyxPQUFPLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2xFLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBUTdELDZFQUE2RTtBQUM3RSxLQUFLLDBCQUEwQixHQUFHO0lBQ2hDLG1FQUFtRTtJQUNuRSxZQUFZLEVBQUUsT0FBTyxFQUFFLEdBQUcsU0FBUyxDQUFDO0lBQ3BDLGlGQUFpRjtJQUNqRiw4QkFBOEIsRUFBRSxXQUFXLEdBQUcsU0FBUyxDQUFDO0NBQ3pELENBQUM7QUFFRixrRUFBa0U7QUFDbEUscUJBQWEsd0JBQXdCO0lBSWpDLE9BQU8sQ0FBQyxNQUFNO0lBQ2QsT0FBTyxDQUFDLFdBQVcsQ0FBQztJQUNwQixPQUFPLENBQUMsSUFBSTtJQUxkLE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUEwQztJQUU5RCxZQUNVLE1BQU0sRUFBRSxrQkFBa0IsRUFDMUIsV0FBVyxDQUFDLHlCQUFhLEVBQ3pCLElBQUksR0FBRTtRQUFFLGVBQWUsQ0FBQyxFQUFFLE1BQU0sQ0FBQTtLQUFPLEVBQzdDO0lBRUo7Ozs7Ozs7O09BUUc7SUFDVSxnQkFBZ0IsQ0FDM0IsS0FBSyxFQUFFLE9BQU8sRUFDZCw0QkFBNEIsQ0FBQyxFQUFFLHdCQUF3QixHQUN0RCxPQUFPLENBQUMsT0FBTyxDQUFDLENBa0JsQjtJQUVEOzs7Ozs7Ozs7Ozs7T0FZRztJQUNVLGNBQWMsQ0FDekIsV0FBVyxFQUFFLG1CQUFtQixFQUFFLEVBQ2xDLDRCQUE0QixDQUFDLEVBQUUsd0JBQXdCLEVBQ3ZELGVBQWUsQ0FBQyxFQUFFO1FBQ2hCLEVBQUUsRUFBRSxlQUFlLENBQUM7UUFDcEIsWUFBWSxFQUFFLG9CQUFvQixFQUFFLENBQUM7UUFDckMsVUFBVSxFQUFFLG1CQUFtQixDQUFDO0tBQ2pDLEVBQ0QsaUJBQWlCLENBQUMsRUFBRSxnQkFBZ0IsR0FDbkMsT0FBTyxDQUFDLDBCQUEwQixDQUFDLENBOENyQztJQUVZLHFCQUFxQixDQUFDLGtCQUFrQixFQUFFLHVCQUF1QixpQkFPN0U7WUFRYSwyQkFBMkI7SUFtRXpDOzs7Ozs7OztPQVFHO0lBQ1UsK0JBQStCLENBQUMsV0FBVyxFQUFFLFdBQVcsR0FBRyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FtQnpGO1lBTWEsaUJBQWlCO0lBYS9COzs7Ozs7OztPQVFHO0lBQ1Usc0JBQXNCLENBQUMsZ0JBQWdCLEVBQUUsZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQWV4RjtJQUVEOzs7T0FHRztJQUNVLHlCQUF5QixDQUFDLGdCQUFnQixFQUFFLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FLeEY7SUFFRDs7O09BR0c7SUFDVSw0QkFBNEIsQ0FBQyxnQkFBZ0IsRUFBRSxnQkFBZ0IsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBSzNGO0lBRUQsNkRBQTZEO0lBQzdELE9BQU8sQ0FBQyxtQkFBbUI7SUFJM0IscURBQXFEO0lBQ3JELE9BQU8sQ0FBQyx3QkFBd0I7WUFLbEIsc0JBQXNCO1lBaUJ0Qiw4QkFBOEI7WUErQzlCLCtCQUErQjtZQTBDL0IsOEJBQThCO0NBc0I3QyJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data_store_updater.d.ts","sourceRoot":"","sources":["../../src/modules/data_store_updater.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"data_store_updater.d.ts","sourceRoot":"","sources":["../../src/modules/data_store_updater.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAQhF,OAAO,KAAK,EAAE,oBAAoB,EAAE,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AACnG,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,uBAAuB,EAC5B,KAAK,mBAAmB,EAEzB,MAAM,0BAA0B,CAAC;AASlC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAQ7D,6EAA6E;AAC7E,KAAK,0BAA0B,GAAG;IAChC,mEAAmE;IACnE,YAAY,EAAE,OAAO,EAAE,GAAG,SAAS,CAAC;IACpC,iFAAiF;IACjF,8BAA8B,EAAE,WAAW,GAAG,SAAS,CAAC;CACzD,CAAC;AAEF,kEAAkE;AAClE,qBAAa,wBAAwB;IAIjC,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,WAAW,CAAC;IACpB,OAAO,CAAC,IAAI;IALd,OAAO,CAAC,QAAQ,CAAC,GAAG,CAA0C;IAE9D,YACU,MAAM,EAAE,kBAAkB,EAC1B,WAAW,CAAC,yBAAa,EACzB,IAAI,GAAE;QAAE,eAAe,CAAC,EAAE,MAAM,CAAA;KAAO,EAC7C;IAEJ;;;;;;;;OAQG;IACU,gBAAgB,CAC3B,KAAK,EAAE,OAAO,EACd,4BAA4B,CAAC,EAAE,wBAAwB,GACtD,OAAO,CAAC,OAAO,CAAC,CAkBlB;IAED;;;;;;;;;;;;OAYG;IACU,cAAc,CACzB,WAAW,EAAE,mBAAmB,EAAE,EAClC,4BAA4B,CAAC,EAAE,wBAAwB,EACvD,eAAe,CAAC,EAAE;QAChB,EAAE,EAAE,eAAe,CAAC;QACpB,YAAY,EAAE,oBAAoB,EAAE,CAAC;QACrC,UAAU,EAAE,mBAAmB,CAAC;KACjC,EACD,iBAAiB,CAAC,EAAE,gBAAgB,GACnC,OAAO,CAAC,0BAA0B,CAAC,CA8CrC;IAEY,qBAAqB,CAAC,kBAAkB,EAAE,uBAAuB,iBAO7E;YAQa,2BAA2B;IAmEzC;;;;;;;;OAQG;IACU,+BAA+B,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAmBzF;YAMa,iBAAiB;IAa/B;;;;;;;;OAQG;IACU,sBAAsB,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,CAexF;IAED;;;OAGG;IACU,yBAAyB,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAKxF;IAED;;;OAGG;IACU,4BAA4B,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAK3F;IAED,6DAA6D;IAC7D,OAAO,CAAC,mBAAmB;IAI3B,qDAAqD;IACrD,OAAO,CAAC,wBAAwB;YAKlB,sBAAsB;YAiBtB,8BAA8B;YA+C9B,+BAA+B;YA0C/B,8BAA8B;CAsB7C"}
|