@aztec/archiver 0.0.1-commit.0dc957cde → 0.0.1-commit.0ec55a70b
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.d.ts +15 -9
- package/dest/archiver.d.ts.map +1 -1
- package/dest/archiver.js +85 -53
- package/dest/config.d.ts +1 -1
- package/dest/config.d.ts.map +1 -1
- package/dest/config.js +2 -2
- package/dest/errors.d.ts +16 -5
- package/dest/errors.d.ts.map +1 -1
- package/dest/errors.js +29 -6
- package/dest/factory.d.ts +4 -4
- package/dest/factory.d.ts.map +1 -1
- package/dest/factory.js +11 -9
- package/dest/index.d.ts +8 -2
- package/dest/index.d.ts.map +1 -1
- package/dest/index.js +7 -1
- package/dest/l1/calldata_retriever.d.ts +2 -1
- package/dest/l1/calldata_retriever.d.ts.map +1 -1
- package/dest/l1/calldata_retriever.js +9 -4
- 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 +16 -10
- package/dest/modules/data_source_base.d.ts.map +1 -1
- package/dest/modules/data_source_base.js +71 -60
- package/dest/modules/data_store_updater.d.ts +6 -6
- package/dest/modules/data_store_updater.d.ts.map +1 -1
- package/dest/modules/data_store_updater.js +42 -40
- package/dest/modules/l1_synchronizer.d.ts +5 -4
- package/dest/modules/l1_synchronizer.d.ts.map +1 -1
- package/dest/modules/l1_synchronizer.js +79 -54
- package/dest/modules/validation.d.ts +4 -3
- package/dest/modules/validation.d.ts.map +1 -1
- package/dest/modules/validation.js +4 -4
- package/dest/store/block_store.d.ts +58 -27
- package/dest/store/block_store.d.ts.map +1 -1
- package/dest/store/block_store.js +152 -75
- package/dest/store/contract_class_store.d.ts +17 -3
- package/dest/store/contract_class_store.d.ts.map +1 -1
- package/dest/store/contract_class_store.js +17 -1
- 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 +31 -0
- 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.js +1 -1
- package/dest/test/fake_l1_state.d.ts +2 -1
- package/dest/test/fake_l1_state.d.ts.map +1 -1
- package/dest/test/fake_l1_state.js +25 -8
- package/dest/test/mock_l2_block_source.d.ts +12 -3
- package/dest/test/mock_l2_block_source.d.ts.map +1 -1
- package/dest/test/mock_l2_block_source.js +24 -2
- package/dest/test/noop_l1_archiver.d.ts +4 -4
- package/dest/test/noop_l1_archiver.d.ts.map +1 -1
- package/dest/test/noop_l1_archiver.js +5 -5
- package/package.json +13 -13
- package/src/archiver.ts +91 -49
- package/src/config.ts +2 -1
- package/src/errors.ts +41 -8
- package/src/factory.ts +10 -10
- package/src/index.ts +15 -1
- package/src/l1/calldata_retriever.ts +15 -4
- package/src/modules/contract_data_source_adapter.ts +59 -0
- package/src/modules/data_source_base.ts +75 -57
- package/src/modules/data_store_updater.ts +46 -38
- package/src/modules/l1_synchronizer.ts +92 -60
- package/src/modules/validation.ts +8 -7
- package/src/store/block_store.ts +159 -80
- package/src/store/contract_class_store.ts +28 -2
- package/src/store/contract_instance_store.ts +43 -0
- package/src/store/data_stores.ts +108 -0
- package/src/store/function_names_cache.ts +37 -0
- package/src/store/l2_tips_cache.ts +1 -1
- package/src/test/fake_l1_state.ts +24 -14
- package/src/test/mock_l2_block_source.ts +23 -2
- package/src/test/noop_l1_archiver.ts +6 -6
- package/dest/store/kv_archiver_store.d.ts +0 -383
- package/dest/store/kv_archiver_store.d.ts.map +0 -1
- package/dest/store/kv_archiver_store.js +0 -501
- package/src/store/kv_archiver_store.ts +0 -728
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { createLogger } from '@aztec/foundation/log';
|
|
2
|
+
import { FunctionSelector } from '@aztec/stdlib/abi';
|
|
3
|
+
|
|
4
|
+
const MAX_FUNCTION_SIGNATURES = 1000;
|
|
5
|
+
const MAX_FUNCTION_NAME_LEN = 256;
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* In-memory cache mapping public function selectors to function names.
|
|
9
|
+
*
|
|
10
|
+
* Populated opportunistically (e.g. by PXE registering signatures from artifacts) so the
|
|
11
|
+
* archiver can attach human-readable names to logs and traces. Bounded by
|
|
12
|
+
* {@link MAX_FUNCTION_SIGNATURES} to avoid unbounded growth from untrusted callers.
|
|
13
|
+
*/
|
|
14
|
+
export class FunctionNamesCache {
|
|
15
|
+
private readonly log = createLogger('archiver:data-stores');
|
|
16
|
+
private readonly names: Map<string, string> = new Map();
|
|
17
|
+
|
|
18
|
+
/** Adds the given public function signatures to the cache. */
|
|
19
|
+
public async register(signatures: string[]): Promise<void> {
|
|
20
|
+
for (const sig of signatures) {
|
|
21
|
+
if (this.names.size > MAX_FUNCTION_SIGNATURES) {
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
try {
|
|
25
|
+
const selector = await FunctionSelector.fromSignature(sig);
|
|
26
|
+
this.names.set(selector.toString(), sig.slice(0, sig.indexOf('(')).slice(0, MAX_FUNCTION_NAME_LEN));
|
|
27
|
+
} catch {
|
|
28
|
+
this.log.warn(`Failed to parse signature: ${sig}. Ignoring`);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/** Looks up a function name for the given selector, or returns undefined if not registered. */
|
|
34
|
+
public get(selector: FunctionSelector): string | undefined {
|
|
35
|
+
return this.names.get(selector.toString());
|
|
36
|
+
}
|
|
37
|
+
}
|
|
@@ -108,7 +108,7 @@ export class L2TipsCache {
|
|
|
108
108
|
private async getCheckpointIdForProposedCheckpoint(
|
|
109
109
|
checkpointedBlockData: Pick<BlockData, 'checkpointNumber'>,
|
|
110
110
|
): Promise<CheckpointId> {
|
|
111
|
-
const checkpointData = await this.blockStore.
|
|
111
|
+
const checkpointData = await this.blockStore.getLastProposedCheckpoint();
|
|
112
112
|
if (!checkpointData) {
|
|
113
113
|
return this.getCheckpointIdForBlock(checkpointedBlockData);
|
|
114
114
|
}
|
|
@@ -15,12 +15,8 @@ import { CommitteeAttestation, CommitteeAttestationsAndSigners, L2Block } from '
|
|
|
15
15
|
import { Checkpoint } from '@aztec/stdlib/checkpoint';
|
|
16
16
|
import { getSlotAtTimestamp } from '@aztec/stdlib/epoch-helpers';
|
|
17
17
|
import { InboxLeaf } from '@aztec/stdlib/messaging';
|
|
18
|
-
import { ConsensusPayload,
|
|
19
|
-
import {
|
|
20
|
-
makeAndSignCommitteeAttestationsAndSigners,
|
|
21
|
-
makeCheckpointAttestationFromCheckpoint,
|
|
22
|
-
mockCheckpointAndMessages,
|
|
23
|
-
} from '@aztec/stdlib/testing';
|
|
18
|
+
import { ConsensusPayload, getHashedSignaturePayloadTypedData } from '@aztec/stdlib/p2p';
|
|
19
|
+
import { mockCheckpointAndMessages } from '@aztec/stdlib/testing';
|
|
24
20
|
import { AppendOnlyTreeSnapshot } from '@aztec/stdlib/trees';
|
|
25
21
|
|
|
26
22
|
import { type MockProxy, mock } from 'jest-mock-extended';
|
|
@@ -519,6 +515,9 @@ export class FakeL1State {
|
|
|
519
515
|
const publicClient = mock<ViemPublicClient>();
|
|
520
516
|
|
|
521
517
|
publicClient.getChainId.mockResolvedValue(1);
|
|
518
|
+
// Several consumers (CalldataRetriever, ArchiverL1Synchronizer) derive the EIP-712 signing
|
|
519
|
+
// context from `publicClient.chain.id`. Pin it so it matches `getSignatureContext()` below.
|
|
520
|
+
(publicClient as unknown as { chain: { id: number } }).chain = { id: 1 };
|
|
522
521
|
publicClient.getBlockNumber.mockImplementation(() => Promise.resolve(this.l1BlockNumber));
|
|
523
522
|
|
|
524
523
|
publicClient.getBlock.mockImplementation((async (args: { blockNumber?: bigint; blockTag?: string } = {}) => {
|
|
@@ -660,9 +659,11 @@ export class FakeL1State {
|
|
|
660
659
|
checkpoint: Checkpoint,
|
|
661
660
|
signers: Secp256k1Signer[],
|
|
662
661
|
): Promise<{ tx: Transaction; attestationsHash: Buffer32; payloadDigest: Buffer32 }> {
|
|
662
|
+
const signatureContext = this.getSignatureContext();
|
|
663
|
+
const consensusPayload = ConsensusPayload.fromCheckpoint(checkpoint, signatureContext);
|
|
664
|
+
const attestationDigest = getHashedSignaturePayloadTypedData(consensusPayload);
|
|
663
665
|
const attestations = signers
|
|
664
|
-
.map(signer =>
|
|
665
|
-
.map(attestation => CommitteeAttestation.fromSignature(attestation.signature))
|
|
666
|
+
.map(signer => CommitteeAttestation.fromSignature(signer.sign(attestationDigest)))
|
|
666
667
|
.map(committeeAttestation => committeeAttestation.toViem());
|
|
667
668
|
|
|
668
669
|
const header = checkpoint.header.toViem();
|
|
@@ -670,11 +671,15 @@ export class FakeL1State {
|
|
|
670
671
|
const archive = toHex(checkpoint.archive.root.toBuffer());
|
|
671
672
|
const attestationsAndSigners = new CommitteeAttestationsAndSigners(
|
|
672
673
|
attestations.map(attestation => CommitteeAttestation.fromViem(attestation)),
|
|
674
|
+
signatureContext,
|
|
673
675
|
);
|
|
674
676
|
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
677
|
+
// Fall back to a random signer when no attesters are provided, so tests that
|
|
678
|
+
// don't care about the proposer identity (e.g. sync tests) still produce a
|
|
679
|
+
// valid-looking signature for the attestationsAndSigners struct.
|
|
680
|
+
const proposerSigner = signers[0] ?? Secp256k1Signer.random();
|
|
681
|
+
const attestationsAndSignersSignature = proposerSigner.sign(
|
|
682
|
+
getHashedSignaturePayloadTypedData(attestationsAndSigners),
|
|
678
683
|
);
|
|
679
684
|
|
|
680
685
|
const packedAttestations = attestationsAndSigners.getPackedAttestations();
|
|
@@ -715,9 +720,7 @@ export class FakeL1State {
|
|
|
715
720
|
);
|
|
716
721
|
|
|
717
722
|
// Compute payloadDigest (same logic as CalldataRetriever)
|
|
718
|
-
const
|
|
719
|
-
const payloadToSign = consensusPayload.getPayloadToSign(SignatureDomainSeparator.checkpointAttestation);
|
|
720
|
-
const payloadDigest = Buffer32.fromString(keccak256(payloadToSign));
|
|
723
|
+
const payloadDigest = getHashedSignaturePayloadTypedData(consensusPayload);
|
|
721
724
|
|
|
722
725
|
const tx = {
|
|
723
726
|
input: multiCallInput,
|
|
@@ -729,6 +732,13 @@ export class FakeL1State {
|
|
|
729
732
|
return { tx, attestationsHash, payloadDigest };
|
|
730
733
|
}
|
|
731
734
|
|
|
735
|
+
private getSignatureContext() {
|
|
736
|
+
return {
|
|
737
|
+
chainId: 1,
|
|
738
|
+
rollupAddress: this.config.rollupAddress,
|
|
739
|
+
};
|
|
740
|
+
}
|
|
741
|
+
|
|
732
742
|
/** Extracts the CommitteeAttestations struct definition from RollupAbi for hash computation. */
|
|
733
743
|
private getCommitteeAttestationsStructDef(): AbiParameter {
|
|
734
744
|
const proposeFunction = RollupAbi.find(item => item.type === 'function' && item.name === 'propose') as
|
|
@@ -321,6 +321,26 @@ export class MockL2BlockSource implements L2BlockSource, ContractDataSource {
|
|
|
321
321
|
};
|
|
322
322
|
}
|
|
323
323
|
|
|
324
|
+
public getCheckpointData(_n: CheckpointNumber): Promise<CheckpointData | undefined> {
|
|
325
|
+
return Promise.resolve(undefined);
|
|
326
|
+
}
|
|
327
|
+
|
|
328
|
+
public getCheckpointDataRange(_from: CheckpointNumber, _limit: number): Promise<CheckpointData[]> {
|
|
329
|
+
return Promise.resolve([]);
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
public getCheckpointNumberBySlot(_slot: SlotNumber): Promise<CheckpointNumber | undefined> {
|
|
333
|
+
return Promise.resolve(undefined);
|
|
334
|
+
}
|
|
335
|
+
|
|
336
|
+
public async getBlockDataWithCheckpointContext(number: BlockNumber) {
|
|
337
|
+
const data = await this.getBlockData(number);
|
|
338
|
+
if (!data) {
|
|
339
|
+
return undefined;
|
|
340
|
+
}
|
|
341
|
+
return { data, checkpoint: undefined, l1: undefined, attestations: [] };
|
|
342
|
+
}
|
|
343
|
+
|
|
324
344
|
public async getBlockDataByArchive(archive: Fr): Promise<BlockData | undefined> {
|
|
325
345
|
const block = this.l2Blocks.find(b => b.archive.root.equals(archive));
|
|
326
346
|
if (!block) {
|
|
@@ -356,6 +376,7 @@ export class MockL2BlockSource implements L2BlockSource, ContractDataSource {
|
|
|
356
376
|
),
|
|
357
377
|
startBlock: checkpoint.blocks[0].number,
|
|
358
378
|
blockCount: checkpoint.blocks.length,
|
|
379
|
+
feeAssetPriceModifier: checkpoint.feeAssetPriceModifier,
|
|
359
380
|
attestations: [],
|
|
360
381
|
l1: this.mockL1DataForCheckpoint(checkpoint),
|
|
361
382
|
}),
|
|
@@ -558,11 +579,11 @@ export class MockL2BlockSource implements L2BlockSource, ContractDataSource {
|
|
|
558
579
|
return Promise.resolve({ valid: true });
|
|
559
580
|
}
|
|
560
581
|
|
|
561
|
-
|
|
582
|
+
getLastCheckpoint(): Promise<ProposedCheckpointData | undefined> {
|
|
562
583
|
return Promise.resolve(undefined);
|
|
563
584
|
}
|
|
564
585
|
|
|
565
|
-
|
|
586
|
+
getLastProposedCheckpoint(): Promise<ProposedCheckpointData | undefined> {
|
|
566
587
|
return Promise.resolve(undefined);
|
|
567
588
|
}
|
|
568
589
|
|
|
@@ -16,7 +16,7 @@ import { EventEmitter } from 'node:events';
|
|
|
16
16
|
import { Archiver } from '../archiver.js';
|
|
17
17
|
import { ArchiverInstrumentation } from '../modules/instrumentation.js';
|
|
18
18
|
import type { ArchiverL1Synchronizer } from '../modules/l1_synchronizer.js';
|
|
19
|
-
import type {
|
|
19
|
+
import type { ArchiverDataStores } from '../store/data_stores.js';
|
|
20
20
|
|
|
21
21
|
/** Noop L1 synchronizer for testing without L1 connectivity. */
|
|
22
22
|
class NoopL1Synchronizer implements FunctionsOf<ArchiverL1Synchronizer> {
|
|
@@ -48,7 +48,7 @@ class NoopL1Synchronizer implements FunctionsOf<ArchiverL1Synchronizer> {
|
|
|
48
48
|
*/
|
|
49
49
|
export class NoopL1Archiver extends Archiver {
|
|
50
50
|
constructor(
|
|
51
|
-
|
|
51
|
+
dataStores: ArchiverDataStores,
|
|
52
52
|
l1Constants: L1RollupConstants & { genesisArchiveRoot: Fr },
|
|
53
53
|
instrumentation: ArchiverInstrumentation,
|
|
54
54
|
) {
|
|
@@ -76,7 +76,7 @@ export class NoopL1Archiver extends Archiver {
|
|
|
76
76
|
governanceProposerAddress: EthAddress.ZERO,
|
|
77
77
|
slashingProposerAddress: EthAddress.ZERO,
|
|
78
78
|
},
|
|
79
|
-
|
|
79
|
+
dataStores,
|
|
80
80
|
{
|
|
81
81
|
pollingIntervalMs: 1000,
|
|
82
82
|
batchSize: 100,
|
|
@@ -108,10 +108,10 @@ export class NoopL1Archiver extends Archiver {
|
|
|
108
108
|
|
|
109
109
|
/** Creates an archiver with mocked L1 connectivity for testing. */
|
|
110
110
|
export async function createNoopL1Archiver(
|
|
111
|
-
|
|
111
|
+
dataStores: ArchiverDataStores,
|
|
112
112
|
l1Constants: L1RollupConstants & { genesisArchiveRoot: Fr },
|
|
113
113
|
telemetry: TelemetryClient = getTelemetryClient(),
|
|
114
114
|
): Promise<NoopL1Archiver> {
|
|
115
|
-
const instrumentation = await ArchiverInstrumentation.new(telemetry, () =>
|
|
116
|
-
return new NoopL1Archiver(
|
|
115
|
+
const instrumentation = await ArchiverInstrumentation.new(telemetry, () => dataStores.db.estimateSize());
|
|
116
|
+
return new NoopL1Archiver(dataStores, l1Constants, instrumentation);
|
|
117
117
|
}
|
|
@@ -1,383 +0,0 @@
|
|
|
1
|
-
import type { L1BlockId } from '@aztec/ethereum/l1-types';
|
|
2
|
-
import type { BlockNumber, CheckpointNumber, SlotNumber } from '@aztec/foundation/branded-types';
|
|
3
|
-
import type { Fr } from '@aztec/foundation/curves/bn254';
|
|
4
|
-
import type { AztecAsyncKVStore, CustomRange, StoreSize } from '@aztec/kv-store';
|
|
5
|
-
import { FunctionSelector } from '@aztec/stdlib/abi';
|
|
6
|
-
import type { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
7
|
-
import { type BlockData, BlockHash, CheckpointedL2Block, type CommitteeAttestation, L2Block, type ValidateCheckpointResult } from '@aztec/stdlib/block';
|
|
8
|
-
import type { CheckpointData, CommonCheckpointData, L1PublishedData, ProposedCheckpointData, ProposedCheckpointInput, PublishedCheckpoint } from '@aztec/stdlib/checkpoint';
|
|
9
|
-
import type { ContractClassPublic, ContractClassPublicWithCommitment, ContractDataSource, ContractInstanceUpdateWithAddress, ContractInstanceWithAddress } from '@aztec/stdlib/contract';
|
|
10
|
-
import type { L1RollupConstants } from '@aztec/stdlib/epoch-helpers';
|
|
11
|
-
import type { GetContractClassLogsResponse, GetPublicLogsResponse } from '@aztec/stdlib/interfaces/client';
|
|
12
|
-
import type { LogFilter, SiloedTag, Tag, TxScopedL2Log } from '@aztec/stdlib/logs';
|
|
13
|
-
import type { BlockHeader, TxHash, TxReceipt } from '@aztec/stdlib/tx';
|
|
14
|
-
import type { UInt64 } from '@aztec/stdlib/types';
|
|
15
|
-
import type { InboxMessage } from '../structs/inbox_message.js';
|
|
16
|
-
import { BlockStore, type RemoveCheckpointsResult } from './block_store.js';
|
|
17
|
-
export declare const ARCHIVER_DB_VERSION = 6;
|
|
18
|
-
export declare const MAX_FUNCTION_SIGNATURES = 1000;
|
|
19
|
-
export declare const MAX_FUNCTION_NAME_LEN = 256;
|
|
20
|
-
/**
|
|
21
|
-
* Represents the latest L1 block processed by the archiver for various objects in L2.
|
|
22
|
-
*/
|
|
23
|
-
export type ArchiverL1SynchPoint = {
|
|
24
|
-
/** Number of the last L1 block that added a new L2 checkpoint metadata. */
|
|
25
|
-
blocksSynchedTo?: bigint;
|
|
26
|
-
/** Last L1 block checked for L1 to L2 messages. */
|
|
27
|
-
messagesSynchedTo?: L1BlockId;
|
|
28
|
-
};
|
|
29
|
-
/**
|
|
30
|
-
* LMDB-based data store for the archiver.
|
|
31
|
-
* Stores all archiver data including blocks, logs, contract classes/instances, and L1 to L2 messages.
|
|
32
|
-
*/
|
|
33
|
-
export declare class KVArchiverDataStore implements ContractDataSource {
|
|
34
|
-
#private;
|
|
35
|
-
private db;
|
|
36
|
-
static readonly SCHEMA_VERSION = 6;
|
|
37
|
-
private functionNames;
|
|
38
|
-
constructor(db: AztecAsyncKVStore, logsMaxPageSize?: number);
|
|
39
|
-
/** Returns the underlying block store. Used by L2TipsCache. */
|
|
40
|
-
get blockStore(): BlockStore;
|
|
41
|
-
/** Opens a new transaction to the underlying store and runs all operations within it. */
|
|
42
|
-
transactionAsync<T>(callback: () => Promise<T>): Promise<T>;
|
|
43
|
-
getBlockNumber(): Promise<BlockNumber>;
|
|
44
|
-
getContract(address: AztecAddress, maybeTimestamp?: UInt64): Promise<ContractInstanceWithAddress | undefined>;
|
|
45
|
-
/** Backups the archiver db to the target folder. Returns the path to the db file. */
|
|
46
|
-
backupTo(path: string, compress?: boolean): Promise<string>;
|
|
47
|
-
/** Closes the underlying data store. */
|
|
48
|
-
close(): Promise<void>;
|
|
49
|
-
/** Computes the finalized block number based on the proven block number. */
|
|
50
|
-
getFinalizedL2BlockNumber(): Promise<BlockNumber>;
|
|
51
|
-
/** Looks up a public function name given a selector. */
|
|
52
|
-
getDebugFunctionName(_address: AztecAddress, selector: FunctionSelector): Promise<string | undefined>;
|
|
53
|
-
/** Register a public function signature, so it can be looked up by selector. */
|
|
54
|
-
registerContractFunctionSignatures(signatures: string[]): Promise<void>;
|
|
55
|
-
/**
|
|
56
|
-
* Returns a contract class given its id, or undefined if not exists.
|
|
57
|
-
* @param id - Id of the contract class.
|
|
58
|
-
*/
|
|
59
|
-
getContractClass(id: Fr): Promise<ContractClassPublic | undefined>;
|
|
60
|
-
/** Returns the list of all class ids known by the archiver. */
|
|
61
|
-
getContractClassIds(): Promise<Fr[]>;
|
|
62
|
-
/**
|
|
63
|
-
* Returns a contract instance given its address and the given timestamp, or undefined if not exists.
|
|
64
|
-
* @param address - Address of the contract.
|
|
65
|
-
* @param timestamp - Timestamp to get the contract instance at. Contract updates might change the instance.
|
|
66
|
-
* @returns The contract instance or undefined if not found.
|
|
67
|
-
*/
|
|
68
|
-
getContractInstance(address: AztecAddress, timestamp: UInt64): Promise<ContractInstanceWithAddress | undefined>;
|
|
69
|
-
getContractInstanceDeploymentBlockNumber(address: AztecAddress): Promise<number | undefined>;
|
|
70
|
-
/**
|
|
71
|
-
* Add new contract classes from an L2 block to the store's list.
|
|
72
|
-
* @param data - List of contract classes (with bytecode commitments) to be added.
|
|
73
|
-
* @param blockNumber - Number of the L2 block the contracts were registered in.
|
|
74
|
-
* @returns True if the operation is successful.
|
|
75
|
-
*/
|
|
76
|
-
addContractClasses(data: ContractClassPublicWithCommitment[], blockNumber: BlockNumber): Promise<boolean>;
|
|
77
|
-
deleteContractClasses(data: ContractClassPublic[], blockNumber: BlockNumber): Promise<boolean>;
|
|
78
|
-
getBytecodeCommitment(contractClassId: Fr): Promise<Fr | undefined>;
|
|
79
|
-
/**
|
|
80
|
-
* Add new contract instances from an L2 block to the store's list.
|
|
81
|
-
* @param data - List of contract instances to be added.
|
|
82
|
-
* @param blockNumber - Number of the L2 block the instances were deployed in.
|
|
83
|
-
* @returns True if the operation is successful.
|
|
84
|
-
*/
|
|
85
|
-
addContractInstances(data: ContractInstanceWithAddress[], blockNumber: BlockNumber): Promise<boolean>;
|
|
86
|
-
deleteContractInstances(data: ContractInstanceWithAddress[], _blockNumber: BlockNumber): Promise<boolean>;
|
|
87
|
-
/**
|
|
88
|
-
* Add new contract instance updates
|
|
89
|
-
* @param data - List of contract updates to be added.
|
|
90
|
-
* @param timestamp - Timestamp at which the updates were scheduled.
|
|
91
|
-
* @returns True if the operation is successful.
|
|
92
|
-
*/
|
|
93
|
-
addContractInstanceUpdates(data: ContractInstanceUpdateWithAddress[], timestamp: UInt64): Promise<boolean>;
|
|
94
|
-
deleteContractInstanceUpdates(data: ContractInstanceUpdateWithAddress[], timestamp: UInt64): Promise<boolean>;
|
|
95
|
-
/**
|
|
96
|
-
* Append a new proposed block to the store.
|
|
97
|
-
* This is an uncheckpointed block that has been proposed by the sequencer but not yet included in a checkpoint on L1.
|
|
98
|
-
* For checkpointed blocks (already published to L1), use addCheckpoints() instead.
|
|
99
|
-
* @param block - The proposed L2 block to be added to the store.
|
|
100
|
-
* @returns True if the operation is successful.
|
|
101
|
-
*/
|
|
102
|
-
addProposedBlock(block: L2Block, opts?: {
|
|
103
|
-
force?: boolean;
|
|
104
|
-
}): Promise<boolean>;
|
|
105
|
-
/**
|
|
106
|
-
* Returns an array of checkpoint objects
|
|
107
|
-
* @param from The first checkpoint number to be retrieved
|
|
108
|
-
* @param limit The maximum number of checkpoints to retrieve
|
|
109
|
-
* @returns The array of requested checkpoint data objects
|
|
110
|
-
*/
|
|
111
|
-
getRangeOfCheckpoints(from: CheckpointNumber, limit: number): Promise<CheckpointData[]>;
|
|
112
|
-
/**
|
|
113
|
-
* Returns the number of the latest block
|
|
114
|
-
* @returns The number of the latest block
|
|
115
|
-
*/
|
|
116
|
-
getLatestBlockNumber(): Promise<BlockNumber>;
|
|
117
|
-
/**
|
|
118
|
-
* Removes all checkpoints with checkpoint number > checkpointNumber.
|
|
119
|
-
* Also removes ALL blocks (both checkpointed and uncheckpointed) after the last block of the given checkpoint.
|
|
120
|
-
* @param checkpointNumber - Remove all checkpoints strictly after this one.
|
|
121
|
-
*/
|
|
122
|
-
removeCheckpointsAfter(checkpointNumber: CheckpointNumber): Promise<RemoveCheckpointsResult>;
|
|
123
|
-
/**
|
|
124
|
-
* Appends new checkpoints, and their blocks to the store's collection
|
|
125
|
-
* @param checkpoints The collection of checkpoints to be added
|
|
126
|
-
* @returns True if the operation is successful
|
|
127
|
-
*/
|
|
128
|
-
addCheckpoints(checkpoints: PublishedCheckpoint[]): Promise<boolean>;
|
|
129
|
-
/**
|
|
130
|
-
* Returns the block for the given number, or undefined if not exists.
|
|
131
|
-
* @param number - The block number to return.
|
|
132
|
-
*/
|
|
133
|
-
getCheckpointedBlock(number: BlockNumber): Promise<CheckpointedL2Block | undefined>;
|
|
134
|
-
/**
|
|
135
|
-
* Returns the block for the given hash, or undefined if not exists.
|
|
136
|
-
* @param blockHash - The block hash to return.
|
|
137
|
-
*/
|
|
138
|
-
getCheckpointedBlockByHash(blockHash: BlockHash): Promise<CheckpointedL2Block | undefined>;
|
|
139
|
-
/**
|
|
140
|
-
* Returns the block for the given archive root, or undefined if not exists.
|
|
141
|
-
* @param archive - The archive root to return.
|
|
142
|
-
*/
|
|
143
|
-
getCheckpointedBlockByArchive(archive: Fr): Promise<CheckpointedL2Block | undefined>;
|
|
144
|
-
/**
|
|
145
|
-
* Returns the block for the given number, or undefined if not exists.
|
|
146
|
-
* @param number - The block number to return.
|
|
147
|
-
*/
|
|
148
|
-
getBlock(number: BlockNumber): Promise<L2Block | undefined>;
|
|
149
|
-
/**
|
|
150
|
-
* Returns the block for the given hash, or undefined if not exists.
|
|
151
|
-
* @param blockHash - The block hash to return.
|
|
152
|
-
*/
|
|
153
|
-
getBlockByHash(blockHash: BlockHash): Promise<L2Block | undefined>;
|
|
154
|
-
/**
|
|
155
|
-
* Returns the block for the given archive root, or undefined if not exists.
|
|
156
|
-
* @param archive - The archive root to return.
|
|
157
|
-
*/
|
|
158
|
-
getBlockByArchive(archive: Fr): Promise<L2Block | undefined>;
|
|
159
|
-
/**
|
|
160
|
-
* Gets up to `limit` amount of published L2 blocks starting from `from`.
|
|
161
|
-
* @param from - Number of the first block to return (inclusive).
|
|
162
|
-
* @param limit - The number of blocks to return.
|
|
163
|
-
* @returns The requested L2 blocks.
|
|
164
|
-
*/
|
|
165
|
-
getBlocks(from: BlockNumber, limit: number): Promise<L2Block[]>;
|
|
166
|
-
/**
|
|
167
|
-
* Gets up to `limit` amount of checkpointed L2 blocks starting from `from`.
|
|
168
|
-
* @param from - Number of the first block to return (inclusive).
|
|
169
|
-
* @param limit - The number of blocks to return.
|
|
170
|
-
* @returns The requested checkpointed L2 blocks.
|
|
171
|
-
*/
|
|
172
|
-
getCheckpointedBlocks(from: BlockNumber, limit: number): Promise<CheckpointedL2Block[]>;
|
|
173
|
-
/**
|
|
174
|
-
* Gets up to `limit` amount of L2 block headers starting from `from`.
|
|
175
|
-
* @param start - Number of the first block to return (inclusive).
|
|
176
|
-
* @param limit - The number of blocks to return.
|
|
177
|
-
* @returns The requested L2 block headers.
|
|
178
|
-
*/
|
|
179
|
-
getBlockHeaders(start: BlockNumber, limit: number): Promise<BlockHeader[]>;
|
|
180
|
-
/**
|
|
181
|
-
* Returns the block header for the given hash, or undefined if not exists.
|
|
182
|
-
* @param blockHash - The block hash to return.
|
|
183
|
-
*/
|
|
184
|
-
getBlockHeaderByHash(blockHash: BlockHash): Promise<BlockHeader | undefined>;
|
|
185
|
-
/**
|
|
186
|
-
* Returns the block header for the given archive root, or undefined if not exists.
|
|
187
|
-
* @param archive - The archive root to return.
|
|
188
|
-
*/
|
|
189
|
-
getBlockHeaderByArchive(archive: Fr): Promise<BlockHeader | undefined>;
|
|
190
|
-
/**
|
|
191
|
-
* Gets block metadata (without tx data) by block number.
|
|
192
|
-
* @param blockNumber - The block number to return.
|
|
193
|
-
*/
|
|
194
|
-
getBlockData(blockNumber: BlockNumber): Promise<BlockData | undefined>;
|
|
195
|
-
/**
|
|
196
|
-
* Gets block metadata (without tx data) by archive root.
|
|
197
|
-
* @param archive - The archive root to return.
|
|
198
|
-
*/
|
|
199
|
-
getBlockDataByArchive(archive: Fr): Promise<BlockData | undefined>;
|
|
200
|
-
/**
|
|
201
|
-
* Gets a tx effect.
|
|
202
|
-
* @param txHash - The hash of the tx corresponding to the tx effect.
|
|
203
|
-
* @returns The requested tx effect with block info (or undefined if not found).
|
|
204
|
-
*/
|
|
205
|
-
getTxEffect(txHash: TxHash): Promise<import("@aztec/stdlib/tx").IndexedTxEffect | undefined>;
|
|
206
|
-
/**
|
|
207
|
-
* Gets a receipt of a settled tx.
|
|
208
|
-
* @param txHash - The hash of a tx we try to get the receipt for.
|
|
209
|
-
* @returns The requested tx receipt (or undefined if not found).
|
|
210
|
-
*/
|
|
211
|
-
getSettledTxReceipt(txHash: TxHash, l1Constants?: Pick<L1RollupConstants, 'epochDuration'>): Promise<TxReceipt | undefined>;
|
|
212
|
-
/**
|
|
213
|
-
* Append new logs to the store's list.
|
|
214
|
-
* @param blocks - The blocks for which to add the logs.
|
|
215
|
-
* @returns True if the operation is successful.
|
|
216
|
-
*/
|
|
217
|
-
addLogs(blocks: L2Block[]): Promise<boolean>;
|
|
218
|
-
deleteLogs(blocks: L2Block[]): Promise<boolean>;
|
|
219
|
-
/**
|
|
220
|
-
* Get the total number of L1 to L2 messages
|
|
221
|
-
* @returns The number of L1 to L2 messages in the store
|
|
222
|
-
*/
|
|
223
|
-
getTotalL1ToL2MessageCount(): Promise<bigint>;
|
|
224
|
-
/** Returns the last L1 to L2 message stored. */
|
|
225
|
-
getLastL1ToL2Message(): Promise<InboxMessage | undefined>;
|
|
226
|
-
/**
|
|
227
|
-
* Append L1 to L2 messages to the store.
|
|
228
|
-
* @param messages - The L1 to L2 messages to be added to the store.
|
|
229
|
-
* @returns True if the operation is successful.
|
|
230
|
-
*/
|
|
231
|
-
addL1ToL2Messages(messages: InboxMessage[]): Promise<void>;
|
|
232
|
-
/**
|
|
233
|
-
* Gets the L1 to L2 message index in the L1 to L2 message tree.
|
|
234
|
-
* @param l1ToL2Message - The L1 to L2 message.
|
|
235
|
-
* @returns The index of the L1 to L2 message in the L1 to L2 message tree (undefined if not found).
|
|
236
|
-
*/
|
|
237
|
-
getL1ToL2MessageIndex(l1ToL2Message: Fr): Promise<bigint | undefined>;
|
|
238
|
-
/**
|
|
239
|
-
* Gets L1 to L2 message (to be) included in a given checkpoint.
|
|
240
|
-
* @param checkpointNumber - Checkpoint number to get messages for.
|
|
241
|
-
* @returns The L1 to L2 messages/leaves of the messages subtree (throws if not found).
|
|
242
|
-
*/
|
|
243
|
-
getL1ToL2Messages(checkpointNumber: CheckpointNumber): Promise<Fr[]>;
|
|
244
|
-
/**
|
|
245
|
-
* Gets private logs that match any of the `tags`. For each tag, an array of matching logs is returned. An empty
|
|
246
|
-
* array implies no logs match that tag.
|
|
247
|
-
* @param tags - The tags to search for.
|
|
248
|
-
* @param page - The page number (0-indexed) for pagination. Returns at most 10 logs per tag per page.
|
|
249
|
-
* @param upToBlockNumber - If set, only return logs from blocks up to and including this block number.
|
|
250
|
-
*/
|
|
251
|
-
getPrivateLogsByTags(tags: SiloedTag[], page?: number, upToBlockNumber?: BlockNumber): Promise<TxScopedL2Log[][]>;
|
|
252
|
-
/**
|
|
253
|
-
* Gets public logs that match any of the `tags` from the specified contract. For each tag, an array of matching
|
|
254
|
-
* logs is returned. An empty array implies no logs match that tag.
|
|
255
|
-
* @param contractAddress - The contract address to search logs for.
|
|
256
|
-
* @param tags - The tags to search for.
|
|
257
|
-
* @param page - The page number (0-indexed) for pagination. Returns at most 10 logs per tag per page.
|
|
258
|
-
* @param upToBlockNumber - If set, only return logs from blocks up to and including this block number.
|
|
259
|
-
*/
|
|
260
|
-
getPublicLogsByTagsFromContract(contractAddress: AztecAddress, tags: Tag[], page?: number, upToBlockNumber?: BlockNumber): Promise<TxScopedL2Log[][]>;
|
|
261
|
-
/**
|
|
262
|
-
* Gets public logs based on the provided filter.
|
|
263
|
-
* @param filter - The filter to apply to the logs.
|
|
264
|
-
* @returns The requested logs.
|
|
265
|
-
*/
|
|
266
|
-
getPublicLogs(filter: LogFilter): Promise<GetPublicLogsResponse>;
|
|
267
|
-
/**
|
|
268
|
-
* Gets contract class logs based on the provided filter.
|
|
269
|
-
* @param filter - The filter to apply to the logs.
|
|
270
|
-
* @returns The requested logs.
|
|
271
|
-
*/
|
|
272
|
-
getContractClassLogs(filter: LogFilter): Promise<GetContractClassLogsResponse>;
|
|
273
|
-
/**
|
|
274
|
-
* Gets the number of the latest proven checkpoint processed.
|
|
275
|
-
* @returns The number of the latest proven checkpoint processed.
|
|
276
|
-
*/
|
|
277
|
-
getProvenCheckpointNumber(): Promise<CheckpointNumber>;
|
|
278
|
-
/**
|
|
279
|
-
* Stores the number of the latest proven checkpoint processed.
|
|
280
|
-
* @param checkpointNumber - The number of the latest proven checkpoint processed.
|
|
281
|
-
*/
|
|
282
|
-
setProvenCheckpointNumber(checkpointNumber: CheckpointNumber): Promise<void>;
|
|
283
|
-
/**
|
|
284
|
-
* Gets the number of the latest finalized checkpoint processed.
|
|
285
|
-
* @returns The number of the latest finalized checkpoint processed.
|
|
286
|
-
*/
|
|
287
|
-
getFinalizedCheckpointNumber(): Promise<CheckpointNumber>;
|
|
288
|
-
/**
|
|
289
|
-
* Stores the number of the latest finalized checkpoint processed.
|
|
290
|
-
* @param checkpointNumber - The number of the latest finalized checkpoint processed.
|
|
291
|
-
*/
|
|
292
|
-
setFinalizedCheckpointNumber(checkpointNumber: CheckpointNumber): Promise<void>;
|
|
293
|
-
setBlockSynchedL1BlockNumber(l1BlockNumber: bigint): Promise<void>;
|
|
294
|
-
/**
|
|
295
|
-
* Returns the number of the most recent proven block
|
|
296
|
-
* @returns The number of the most recent proven block
|
|
297
|
-
*/
|
|
298
|
-
getProvenBlockNumber(): Promise<BlockNumber>;
|
|
299
|
-
/**
|
|
300
|
-
* Gets the synch point of the archiver
|
|
301
|
-
*/
|
|
302
|
-
getSynchPoint(): Promise<ArchiverL1SynchPoint>;
|
|
303
|
-
/** Estimates the size of the store in bytes. */
|
|
304
|
-
estimateSize(): Promise<StoreSize>;
|
|
305
|
-
/** Deletes all L1 to L2 messages up until (excluding) the target checkpoint number. */
|
|
306
|
-
rollbackL1ToL2MessagesToCheckpoint(targetCheckpointNumber: CheckpointNumber): Promise<void>;
|
|
307
|
-
/** Atomically updates the message sync state: the L1 sync point and the inbox tree-in-progress marker. */
|
|
308
|
-
setMessageSyncState(l1Block: L1BlockId, treeInProgress: bigint | undefined): Promise<void>;
|
|
309
|
-
/** Returns an async iterator to all L1 to L2 messages on the range. */
|
|
310
|
-
iterateL1ToL2Messages(range?: CustomRange<bigint>): AsyncIterableIterator<InboxMessage>;
|
|
311
|
-
/** Removes all L1 to L2 messages starting from the given index (inclusive). */
|
|
312
|
-
removeL1ToL2Messages(startIndex: bigint): Promise<void>;
|
|
313
|
-
/** Returns the last synced validation status of the pending chain. */
|
|
314
|
-
getPendingChainValidationStatus(): Promise<ValidateCheckpointResult | undefined>;
|
|
315
|
-
/** Sets the last synced validation status of the pending chain. */
|
|
316
|
-
setPendingChainValidationStatus(status: ValidateCheckpointResult | undefined): Promise<void>;
|
|
317
|
-
/**
|
|
318
|
-
* Gets the L2 block number of the proposed checkpoint.
|
|
319
|
-
* @returns The block number of the proposed checkpoint, or the checkpointed block number if none.
|
|
320
|
-
*/
|
|
321
|
-
getProposedCheckpointL2BlockNumber(): Promise<BlockNumber>;
|
|
322
|
-
/** Returns the checkpoint data at the proposed tip */
|
|
323
|
-
getProposedCheckpoint(): Promise<CommonCheckpointData | undefined>;
|
|
324
|
-
/** Returns the proposed checkpoint data, or undefined if no proposed checkpoint exists. No fallback to confirmed. */
|
|
325
|
-
getProposedCheckpointOnly(): Promise<ProposedCheckpointData | undefined>;
|
|
326
|
-
/**
|
|
327
|
-
* Set proposed checkpoint
|
|
328
|
-
* @param proposedCheckpoint
|
|
329
|
-
* @returns
|
|
330
|
-
*/
|
|
331
|
-
setProposedCheckpoint(proposedCheckpoint: ProposedCheckpointInput): Promise<void>;
|
|
332
|
-
/** Deletes the proposed checkpoint from storage. */
|
|
333
|
-
deleteProposedCheckpoint(): Promise<void>;
|
|
334
|
-
/**
|
|
335
|
-
* Promotes the proposed checkpoint to a confirmed checkpoint entry.
|
|
336
|
-
* Should only be called after the checkpoint has been validated.
|
|
337
|
-
* @param expectedArchiveRoot - The archive root to match against the proposed checkpoint, to guard against races.
|
|
338
|
-
*/
|
|
339
|
-
promoteProposedToCheckpointed(l1: L1PublishedData, attestations: CommitteeAttestation[], expectedArchiveRoot: Fr): Promise<void>;
|
|
340
|
-
/**
|
|
341
|
-
* Gets the number of the latest L2 block processed.
|
|
342
|
-
* @returns The number of the latest L2 block processed.
|
|
343
|
-
*/
|
|
344
|
-
getCheckpointedL2BlockNumber(): Promise<BlockNumber>;
|
|
345
|
-
/**
|
|
346
|
-
* Gets the number of the latest published checkpoint processed.
|
|
347
|
-
* @returns The number of the latest published checkpoint processed
|
|
348
|
-
*/
|
|
349
|
-
getSynchedCheckpointNumber(): Promise<CheckpointNumber>;
|
|
350
|
-
/**
|
|
351
|
-
* Stores the l1 block number that checkpoints have been synched until
|
|
352
|
-
* @param l1BlockNumber - The l1 block number
|
|
353
|
-
*/
|
|
354
|
-
setCheckpointSynchedL1BlockNumber(l1BlockNumber: bigint): Promise<void>;
|
|
355
|
-
/**
|
|
356
|
-
* Retrieves all blocks for the requested checkpoint
|
|
357
|
-
* @param checkpointNumber Retrieves all blocks for the given checkpoint
|
|
358
|
-
* @returns The collection of blocks for the requested checkpoint if available (undefined otherwise)
|
|
359
|
-
*/
|
|
360
|
-
getBlocksForCheckpoint(checkpointNumber: CheckpointNumber): Promise<L2Block[] | undefined>;
|
|
361
|
-
/**
|
|
362
|
-
* Returns checkpoint data for the requested checkpoint number
|
|
363
|
-
* @param checkpointNumber - The checkpoint requested
|
|
364
|
-
* @returns The checkpoint data or undefined if not found
|
|
365
|
-
*/
|
|
366
|
-
getCheckpointData(checkpointNumber: CheckpointNumber): Promise<CheckpointData | undefined>;
|
|
367
|
-
/** Returns checkpoint data for all checkpoints whose slot falls within the given range (inclusive). */
|
|
368
|
-
getCheckpointDataForSlotRange(startSlot: SlotNumber, endSlot: SlotNumber): Promise<CheckpointData[]>;
|
|
369
|
-
/**
|
|
370
|
-
* Gets all blocks that have the given slot number.
|
|
371
|
-
* @param slotNumber - The slot number to search for.
|
|
372
|
-
* @returns All blocks with the given slot number.
|
|
373
|
-
*/
|
|
374
|
-
getBlocksForSlot(slotNumber: SlotNumber): Promise<L2Block[]>;
|
|
375
|
-
/**
|
|
376
|
-
* Removes all blocks with block number > blockNumber.
|
|
377
|
-
* Does not remove any associated checkpoints.
|
|
378
|
-
* @param blockNumber - The block number to remove after.
|
|
379
|
-
* @returns The removed blocks (for event emission).
|
|
380
|
-
*/
|
|
381
|
-
removeBlocksAfter(blockNumber: BlockNumber): Promise<L2Block[]>;
|
|
382
|
-
}
|
|
383
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3ZfYXJjaGl2ZXJfc3RvcmUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdG9yZS9rdl9hcmNoaXZlcl9zdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDakcsT0FBTyxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFHekQsT0FBTyxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3JELE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2hFLE9BQU8sRUFDTCxLQUFLLFNBQVMsRUFDZCxTQUFTLEVBQ1QsbUJBQW1CLEVBQ25CLEtBQUssb0JBQW9CLEVBQ3pCLE9BQU8sRUFDUCxLQUFLLHdCQUF3QixFQUM5QixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sS0FBSyxFQUNWLGNBQWMsRUFDZCxvQkFBb0IsRUFDcEIsZUFBZSxFQUNmLHNCQUFzQixFQUN0Qix1QkFBdUIsRUFDdkIsbUJBQW1CLEVBQ3BCLE1BQU0sMEJBQTBCLENBQUM7QUFDbEMsT0FBTyxLQUFLLEVBQ1YsbUJBQW1CLEVBQ25CLGlDQUFpQyxFQUNqQyxrQkFBa0IsRUFDbEIsaUNBQWlDLEVBQ2pDLDJCQUEyQixFQUM1QixNQUFNLHdCQUF3QixDQUFDO0FBQ2hDLE9BQU8sS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDckUsT0FBTyxLQUFLLEVBQUUsNEJBQTRCLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpQ0FBaUMs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
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"kv_archiver_store.d.ts","sourceRoot":"","sources":["../../src/store/kv_archiver_store.ts"],"names":[],"mappings":"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"}
|