@aztec/archiver 4.0.0-nightly.20260114 → 4.0.0-nightly.20260115
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 +134 -0
- package/dest/archiver.d.ts.map +1 -0
- package/dest/archiver.js +767 -0
- package/dest/{archiver/config.d.ts → config.d.ts} +9 -1
- package/dest/config.d.ts.map +1 -0
- package/dest/{archiver/config.js → config.js} +9 -0
- package/dest/{archiver/errors.d.ts → errors.d.ts} +1 -1
- package/dest/errors.d.ts.map +1 -0
- package/dest/factory.d.ts +5 -6
- package/dest/factory.d.ts.map +1 -1
- package/dest/factory.js +82 -5
- package/dest/index.d.ts +10 -4
- package/dest/index.d.ts.map +1 -1
- package/dest/index.js +8 -3
- package/dest/interfaces.d.ts +9 -0
- package/dest/interfaces.d.ts.map +1 -0
- package/dest/interfaces.js +3 -0
- package/dest/{archiver/l1 → l1}/bin/retrieve-calldata.d.ts +1 -1
- package/dest/l1/bin/retrieve-calldata.d.ts.map +1 -0
- package/dest/{archiver/l1 → l1}/calldata_retriever.d.ts +2 -2
- package/dest/l1/calldata_retriever.d.ts.map +1 -0
- package/dest/{archiver/l1 → l1}/data_retrieval.d.ts +2 -2
- package/dest/l1/data_retrieval.d.ts.map +1 -0
- package/dest/{archiver/l1 → l1}/debug_tx.d.ts +1 -1
- package/dest/l1/debug_tx.d.ts.map +1 -0
- package/dest/{archiver/l1 → l1}/spire_proposer.d.ts +1 -1
- package/dest/l1/spire_proposer.d.ts.map +1 -0
- package/dest/{archiver/l1 → l1}/trace_tx.d.ts +1 -1
- package/dest/l1/trace_tx.d.ts.map +1 -0
- package/dest/l1/types.d.ts +12 -0
- package/dest/l1/types.d.ts.map +1 -0
- package/dest/{archiver/l1 → l1}/validate_trace.d.ts +1 -1
- package/dest/l1/validate_trace.d.ts.map +1 -0
- package/dest/modules/data_source_base.d.ts +83 -0
- package/dest/modules/data_source_base.d.ts.map +1 -0
- package/dest/{archiver/archive_source_base.js → modules/data_source_base.js} +109 -10
- package/dest/modules/data_store_updater.d.ts +46 -0
- package/dest/modules/data_store_updater.d.ts.map +1 -0
- package/dest/modules/data_store_updater.js +216 -0
- package/dest/modules/instrumentation.d.ts +37 -0
- package/dest/modules/instrumentation.d.ts.map +1 -0
- package/dest/modules/l1_synchronizer.d.ts +67 -0
- package/dest/modules/l1_synchronizer.d.ts.map +1 -0
- package/dest/{archiver/archiver.js → modules/l1_synchronizer.js} +60 -543
- package/dest/{archiver → modules}/validation.d.ts +1 -1
- package/dest/modules/validation.d.ts.map +1 -0
- package/dest/{archiver/kv_archiver_store → store}/block_store.d.ts +1 -1
- package/dest/store/block_store.d.ts.map +1 -0
- package/dest/store/contract_class_store.d.ts +18 -0
- package/dest/store/contract_class_store.d.ts.map +1 -0
- package/dest/store/contract_instance_store.d.ts +24 -0
- package/dest/store/contract_instance_store.d.ts.map +1 -0
- package/dest/{archiver/kv_archiver_store → store}/kv_archiver_store.d.ts +2 -2
- package/dest/store/kv_archiver_store.d.ts.map +1 -0
- package/dest/{archiver/kv_archiver_store → store}/log_store.d.ts +1 -1
- package/dest/store/log_store.d.ts.map +1 -0
- package/dest/{archiver/kv_archiver_store → store}/message_store.d.ts +1 -1
- package/dest/store/message_store.d.ts.map +1 -0
- package/dest/{archiver/structs → structs}/data_retrieval.d.ts +1 -1
- package/dest/structs/data_retrieval.d.ts.map +1 -0
- package/dest/structs/inbox_message.d.ts +15 -0
- package/dest/structs/inbox_message.d.ts.map +1 -0
- package/dest/{archiver/structs → structs}/published.d.ts +1 -1
- package/dest/structs/published.d.ts.map +1 -0
- package/dest/{archiver/test → test}/fake_l1_state.d.ts +1 -1
- package/dest/test/fake_l1_state.d.ts.map +1 -0
- package/dest/test/index.d.ts +2 -1
- package/dest/test/index.d.ts.map +1 -1
- package/dest/test/index.js +1 -0
- package/dest/test/mock_structs.d.ts +76 -2
- package/dest/test/mock_structs.d.ts.map +1 -1
- package/dest/test/mock_structs.js +133 -2
- package/package.json +15 -17
- package/src/archiver.ts +522 -0
- package/src/{archiver/config.ts → config.ts} +11 -0
- package/src/factory.ts +118 -6
- package/src/index.ts +10 -3
- package/src/interfaces.ts +9 -0
- package/src/{archiver/l1 → l1}/calldata_retriever.ts +1 -1
- package/src/{archiver/l1 → l1}/data_retrieval.ts +1 -1
- package/src/{archiver/archive_source_base.ts → modules/data_source_base.ts} +130 -30
- package/src/modules/data_store_updater.ts +318 -0
- package/src/{archiver/archiver.ts → modules/l1_synchronizer.ts} +68 -717
- package/src/test/index.ts +1 -0
- package/src/test/mock_structs.ts +247 -2
- package/dest/archiver/archive_source_base.d.ts +0 -75
- package/dest/archiver/archive_source_base.d.ts.map +0 -1
- package/dest/archiver/archiver.d.ts +0 -168
- package/dest/archiver/archiver.d.ts.map +0 -1
- package/dest/archiver/archiver_store_updates.d.ts +0 -38
- package/dest/archiver/archiver_store_updates.d.ts.map +0 -1
- package/dest/archiver/archiver_store_updates.js +0 -212
- package/dest/archiver/config.d.ts.map +0 -1
- package/dest/archiver/errors.d.ts.map +0 -1
- package/dest/archiver/index.d.ts +0 -8
- package/dest/archiver/index.d.ts.map +0 -1
- package/dest/archiver/index.js +0 -6
- package/dest/archiver/instrumentation.d.ts +0 -37
- package/dest/archiver/instrumentation.d.ts.map +0 -1
- package/dest/archiver/kv_archiver_store/block_store.d.ts.map +0 -1
- package/dest/archiver/kv_archiver_store/contract_class_store.d.ts +0 -18
- package/dest/archiver/kv_archiver_store/contract_class_store.d.ts.map +0 -1
- package/dest/archiver/kv_archiver_store/contract_instance_store.d.ts +0 -24
- package/dest/archiver/kv_archiver_store/contract_instance_store.d.ts.map +0 -1
- package/dest/archiver/kv_archiver_store/kv_archiver_store.d.ts.map +0 -1
- package/dest/archiver/kv_archiver_store/log_store.d.ts.map +0 -1
- package/dest/archiver/kv_archiver_store/message_store.d.ts.map +0 -1
- package/dest/archiver/l1/bin/retrieve-calldata.d.ts.map +0 -1
- package/dest/archiver/l1/calldata_retriever.d.ts.map +0 -1
- package/dest/archiver/l1/data_retrieval.d.ts.map +0 -1
- package/dest/archiver/l1/debug_tx.d.ts.map +0 -1
- package/dest/archiver/l1/spire_proposer.d.ts.map +0 -1
- package/dest/archiver/l1/trace_tx.d.ts.map +0 -1
- package/dest/archiver/l1/types.d.ts +0 -12
- package/dest/archiver/l1/types.d.ts.map +0 -1
- package/dest/archiver/l1/validate_trace.d.ts.map +0 -1
- package/dest/archiver/structs/data_retrieval.d.ts.map +0 -1
- package/dest/archiver/structs/inbox_message.d.ts +0 -15
- package/dest/archiver/structs/inbox_message.d.ts.map +0 -1
- package/dest/archiver/structs/published.d.ts.map +0 -1
- package/dest/archiver/test/fake_l1_state.d.ts.map +0 -1
- package/dest/archiver/validation.d.ts.map +0 -1
- package/dest/rpc/index.d.ts +0 -9
- package/dest/rpc/index.d.ts.map +0 -1
- package/dest/rpc/index.js +0 -15
- package/src/archiver/archiver_store_updates.ts +0 -321
- package/src/archiver/index.ts +0 -7
- package/src/rpc/index.ts +0 -16
- /package/dest/{archiver/errors.js → errors.js} +0 -0
- /package/dest/{archiver/l1 → l1}/bin/retrieve-calldata.js +0 -0
- /package/dest/{archiver/l1 → l1}/calldata_retriever.js +0 -0
- /package/dest/{archiver/l1 → l1}/data_retrieval.js +0 -0
- /package/dest/{archiver/l1 → l1}/debug_tx.js +0 -0
- /package/dest/{archiver/l1 → l1}/spire_proposer.js +0 -0
- /package/dest/{archiver/l1 → l1}/trace_tx.js +0 -0
- /package/dest/{archiver/l1 → l1}/types.js +0 -0
- /package/dest/{archiver/l1 → l1}/validate_trace.js +0 -0
- /package/dest/{archiver → modules}/instrumentation.js +0 -0
- /package/dest/{archiver → modules}/validation.js +0 -0
- /package/dest/{archiver/kv_archiver_store → store}/block_store.js +0 -0
- /package/dest/{archiver/kv_archiver_store → store}/contract_class_store.js +0 -0
- /package/dest/{archiver/kv_archiver_store → store}/contract_instance_store.js +0 -0
- /package/dest/{archiver/kv_archiver_store → store}/kv_archiver_store.js +0 -0
- /package/dest/{archiver/kv_archiver_store → store}/log_store.js +0 -0
- /package/dest/{archiver/kv_archiver_store → store}/message_store.js +0 -0
- /package/dest/{archiver/structs → structs}/data_retrieval.js +0 -0
- /package/dest/{archiver/structs → structs}/inbox_message.js +0 -0
- /package/dest/{archiver/structs → structs}/published.js +0 -0
- /package/dest/{archiver/test → test}/fake_l1_state.js +0 -0
- /package/src/{archiver/errors.ts → errors.ts} +0 -0
- /package/src/{archiver/l1 → l1}/README.md +0 -0
- /package/src/{archiver/l1 → l1}/bin/retrieve-calldata.ts +0 -0
- /package/src/{archiver/l1 → l1}/debug_tx.ts +0 -0
- /package/src/{archiver/l1 → l1}/spire_proposer.ts +0 -0
- /package/src/{archiver/l1 → l1}/trace_tx.ts +0 -0
- /package/src/{archiver/l1 → l1}/types.ts +0 -0
- /package/src/{archiver/l1 → l1}/validate_trace.ts +0 -0
- /package/src/{archiver → modules}/instrumentation.ts +0 -0
- /package/src/{archiver → modules}/validation.ts +0 -0
- /package/src/{archiver/kv_archiver_store → store}/block_store.ts +0 -0
- /package/src/{archiver/kv_archiver_store → store}/contract_class_store.ts +0 -0
- /package/src/{archiver/kv_archiver_store → store}/contract_instance_store.ts +0 -0
- /package/src/{archiver/kv_archiver_store → store}/kv_archiver_store.ts +0 -0
- /package/src/{archiver/kv_archiver_store → store}/log_store.ts +0 -0
- /package/src/{archiver/kv_archiver_store → store}/message_store.ts +0 -0
- /package/src/{archiver/structs → structs}/data_retrieval.ts +0 -0
- /package/src/{archiver/structs → structs}/inbox_message.ts +0 -0
- /package/src/{archiver/structs → structs}/published.ts +0 -0
- /package/src/{archiver/test → test}/fake_l1_state.ts +0 -0
package/src/test/index.ts
CHANGED
package/src/test/mock_structs.ts
CHANGED
|
@@ -1,10 +1,28 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
MAX_NOTE_HASHES_PER_TX,
|
|
3
|
+
NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP,
|
|
4
|
+
PRIVATE_LOG_SIZE_IN_FIELDS,
|
|
5
|
+
} from '@aztec/constants';
|
|
6
|
+
import { makeTuple } from '@aztec/foundation/array';
|
|
7
|
+
import { BlockNumber, CheckpointNumber } from '@aztec/foundation/branded-types';
|
|
2
8
|
import { Buffer16, Buffer32 } from '@aztec/foundation/buffer';
|
|
9
|
+
import { times, timesParallel } from '@aztec/foundation/collection';
|
|
3
10
|
import { randomBigInt, randomInt } from '@aztec/foundation/crypto/random';
|
|
11
|
+
import type { Secp256k1Signer } from '@aztec/foundation/crypto/secp256k1-signer';
|
|
4
12
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
13
|
+
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
14
|
+
import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
15
|
+
import { CommitteeAttestation, L2BlockNew } from '@aztec/stdlib/block';
|
|
16
|
+
import { Checkpoint, L1PublishedData, PublishedCheckpoint } from '@aztec/stdlib/checkpoint';
|
|
17
|
+
import { PrivateLog, PublicLog, SiloedTag, Tag } from '@aztec/stdlib/logs';
|
|
5
18
|
import { InboxLeaf } from '@aztec/stdlib/messaging';
|
|
19
|
+
import { orderAttestations } from '@aztec/stdlib/p2p';
|
|
20
|
+
import { CheckpointHeader } from '@aztec/stdlib/rollup';
|
|
21
|
+
import { makeCheckpointAttestationFromCheckpoint } from '@aztec/stdlib/testing';
|
|
22
|
+
import { AppendOnlyTreeSnapshot } from '@aztec/stdlib/trees';
|
|
23
|
+
import { PartialStateReference, StateReference, TxEffect } from '@aztec/stdlib/tx';
|
|
6
24
|
|
|
7
|
-
import { type InboxMessage, updateRollingHash } from '../
|
|
25
|
+
import { type InboxMessage, updateRollingHash } from '../structs/inbox_message.js';
|
|
8
26
|
|
|
9
27
|
export function makeInboxMessage(
|
|
10
28
|
previousRollingHash = Buffer16.ZERO,
|
|
@@ -48,3 +66,230 @@ export function makeInboxMessages(
|
|
|
48
66
|
|
|
49
67
|
return messages;
|
|
50
68
|
}
|
|
69
|
+
|
|
70
|
+
/** Creates inbox messages distributed across multiple blocks with proper checkpoint numbering. */
|
|
71
|
+
export function makeInboxMessagesWithFullBlocks(
|
|
72
|
+
blockCount: number,
|
|
73
|
+
opts: { initialCheckpointNumber?: CheckpointNumber } = {},
|
|
74
|
+
): InboxMessage[] {
|
|
75
|
+
const { initialCheckpointNumber = CheckpointNumber(13) } = opts;
|
|
76
|
+
return makeInboxMessages(NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP * blockCount, {
|
|
77
|
+
overrideFn: (msg, i) => {
|
|
78
|
+
const checkpointNumber = CheckpointNumber(
|
|
79
|
+
initialCheckpointNumber + Math.floor(i / NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP),
|
|
80
|
+
);
|
|
81
|
+
const index =
|
|
82
|
+
InboxLeaf.smallestIndexForCheckpoint(checkpointNumber) + BigInt(i % NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP);
|
|
83
|
+
return { ...msg, checkpointNumber, index };
|
|
84
|
+
},
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
/** Creates a deterministic block hash from a block number. */
|
|
89
|
+
export function makeBlockHash(blockNumber: number): `0x${string}` {
|
|
90
|
+
return `0x${blockNumber.toString(16).padStart(64, '0')}`;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* Creates a StateReference with properly calculated noteHashTree.nextAvailableLeafIndex.
|
|
95
|
+
* This ensures LogStore's dataStartIndexForBlock calculation doesn't produce negative values.
|
|
96
|
+
*/
|
|
97
|
+
export function makeStateForBlock(blockNumber: number, txsPerBlock: number): StateReference {
|
|
98
|
+
const noteHashIndex = blockNumber * txsPerBlock * MAX_NOTE_HASHES_PER_TX;
|
|
99
|
+
return new StateReference(
|
|
100
|
+
AppendOnlyTreeSnapshot.random(),
|
|
101
|
+
new PartialStateReference(
|
|
102
|
+
new AppendOnlyTreeSnapshot(Fr.random(), noteHashIndex),
|
|
103
|
+
AppendOnlyTreeSnapshot.random(),
|
|
104
|
+
AppendOnlyTreeSnapshot.random(),
|
|
105
|
+
),
|
|
106
|
+
);
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
/** Creates L1PublishedData with deterministic values based on l1BlockNumber. */
|
|
110
|
+
export function makeL1PublishedData(l1BlockNumber: number): L1PublishedData {
|
|
111
|
+
return new L1PublishedData(BigInt(l1BlockNumber), BigInt(l1BlockNumber * 1000), makeBlockHash(l1BlockNumber));
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
/** Wraps a Checkpoint with L1 published data and random attestations. */
|
|
115
|
+
export function makePublishedCheckpoint(
|
|
116
|
+
checkpoint: Checkpoint,
|
|
117
|
+
l1BlockNumber: number,
|
|
118
|
+
attestationCount = 3,
|
|
119
|
+
): PublishedCheckpoint {
|
|
120
|
+
return new PublishedCheckpoint(
|
|
121
|
+
checkpoint,
|
|
122
|
+
makeL1PublishedData(l1BlockNumber),
|
|
123
|
+
times(attestationCount, CommitteeAttestation.random),
|
|
124
|
+
);
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
export interface MakeChainedCheckpointsOptions {
|
|
128
|
+
/** Number of L2 blocks per checkpoint. Default: 1 */
|
|
129
|
+
blocksPerCheckpoint?: number;
|
|
130
|
+
/** Number of transactions per block. Default: 4 */
|
|
131
|
+
txsPerBlock?: number;
|
|
132
|
+
/** Starting checkpoint number. Default: CheckpointNumber(1) */
|
|
133
|
+
startCheckpointNumber?: CheckpointNumber;
|
|
134
|
+
/** Starting block number. Default: 1 */
|
|
135
|
+
startBlockNumber?: number;
|
|
136
|
+
/** Starting L1 block number. Default: 10 */
|
|
137
|
+
startL1BlockNumber?: number;
|
|
138
|
+
/** Previous archive to chain from. Default: undefined */
|
|
139
|
+
previousArchive?: AppendOnlyTreeSnapshot;
|
|
140
|
+
/** Optional function to provide per-checkpoint overrides */
|
|
141
|
+
makeCheckpointOptions?: (cpNumber: CheckpointNumber) => Partial<Parameters<typeof Checkpoint.random>[1]>;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
/**
|
|
145
|
+
* Creates multiple checkpoints with properly chained archives.
|
|
146
|
+
* Each checkpoint's blocks have their lastArchive set to the previous block's archive,
|
|
147
|
+
* ensuring archive chain continuity for testing.
|
|
148
|
+
*/
|
|
149
|
+
export async function makeChainedCheckpoints(
|
|
150
|
+
count: number,
|
|
151
|
+
options: MakeChainedCheckpointsOptions = {},
|
|
152
|
+
): Promise<PublishedCheckpoint[]> {
|
|
153
|
+
const {
|
|
154
|
+
blocksPerCheckpoint = 1,
|
|
155
|
+
txsPerBlock = 4,
|
|
156
|
+
startCheckpointNumber = CheckpointNumber(1),
|
|
157
|
+
startBlockNumber = 1,
|
|
158
|
+
startL1BlockNumber = 10,
|
|
159
|
+
makeCheckpointOptions,
|
|
160
|
+
} = options;
|
|
161
|
+
|
|
162
|
+
let previousArchive = options.previousArchive;
|
|
163
|
+
const checkpoints: PublishedCheckpoint[] = [];
|
|
164
|
+
|
|
165
|
+
for (let i = 0; i < count; i++) {
|
|
166
|
+
const cpNumber = CheckpointNumber(startCheckpointNumber + i);
|
|
167
|
+
const blockStart = startBlockNumber + i * blocksPerCheckpoint;
|
|
168
|
+
const customOptions = makeCheckpointOptions?.(cpNumber) ?? {};
|
|
169
|
+
|
|
170
|
+
const checkpoint = await Checkpoint.random(cpNumber, {
|
|
171
|
+
numBlocks: blocksPerCheckpoint,
|
|
172
|
+
startBlockNumber: blockStart,
|
|
173
|
+
previousArchive,
|
|
174
|
+
txsPerBlock,
|
|
175
|
+
state: makeStateForBlock(blockStart, txsPerBlock),
|
|
176
|
+
txOptions: { numPublicCallsPerTx: 2, numPublicLogsPerCall: 2 },
|
|
177
|
+
...customOptions,
|
|
178
|
+
});
|
|
179
|
+
|
|
180
|
+
previousArchive = checkpoint.blocks.at(-1)!.archive;
|
|
181
|
+
checkpoints.push(makePublishedCheckpoint(checkpoint, startL1BlockNumber + i * 10));
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
return checkpoints;
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
/**
|
|
188
|
+
* Creates a PublishedCheckpoint with attestations signed by the provided signers.
|
|
189
|
+
* Useful for testing attestation validation.
|
|
190
|
+
*/
|
|
191
|
+
export function makeSignedPublishedCheckpoint(
|
|
192
|
+
checkpoint: Checkpoint,
|
|
193
|
+
signers: Secp256k1Signer[],
|
|
194
|
+
committee: EthAddress[],
|
|
195
|
+
l1BlockNumber = 1,
|
|
196
|
+
): PublishedCheckpoint {
|
|
197
|
+
const attestations = signers.map(signer => makeCheckpointAttestationFromCheckpoint(checkpoint, signer));
|
|
198
|
+
const committeeAttestations = orderAttestations(attestations, committee);
|
|
199
|
+
return new PublishedCheckpoint(checkpoint, makeL1PublishedData(l1BlockNumber), committeeAttestations);
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
/** Creates a deterministic SiloedTag for private log testing. */
|
|
203
|
+
export function makePrivateLogTag(blockNumber: number, txIndex: number, logIndex: number): SiloedTag {
|
|
204
|
+
return new SiloedTag(
|
|
205
|
+
blockNumber === 1 && txIndex === 0 && logIndex === 0
|
|
206
|
+
? Fr.ZERO
|
|
207
|
+
: new Fr(blockNumber * 100 + txIndex * 10 + logIndex),
|
|
208
|
+
);
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
/** Creates a PrivateLog with fields derived from the tag. */
|
|
212
|
+
export function makePrivateLog(tag: SiloedTag): PrivateLog {
|
|
213
|
+
return PrivateLog.from({
|
|
214
|
+
fields: makeTuple(PRIVATE_LOG_SIZE_IN_FIELDS, i => (!i ? tag.value : new Fr(tag.value.toBigInt() + BigInt(i)))),
|
|
215
|
+
emittedLength: PRIVATE_LOG_SIZE_IN_FIELDS,
|
|
216
|
+
});
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
/** Creates multiple private logs for a transaction. */
|
|
220
|
+
export function mockPrivateLogs(blockNumber: number, txIndex: number, numLogsPerTx: number): PrivateLog[] {
|
|
221
|
+
return times(numLogsPerTx, logIndex => {
|
|
222
|
+
const tag = makePrivateLogTag(blockNumber, txIndex, logIndex);
|
|
223
|
+
return makePrivateLog(tag);
|
|
224
|
+
});
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
/** Creates a deterministic Tag for public log testing. */
|
|
228
|
+
export function makePublicLogTag(blockNumber: number, txIndex: number, logIndex: number): Tag {
|
|
229
|
+
return new Tag(
|
|
230
|
+
blockNumber === 1 && txIndex === 0 && logIndex === 0
|
|
231
|
+
? Fr.ZERO
|
|
232
|
+
: new Fr((blockNumber * 100 + txIndex * 10 + logIndex) * 123),
|
|
233
|
+
);
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
/** Creates a PublicLog with fields derived from the tag. */
|
|
237
|
+
export function makePublicLog(tag: Tag, contractAddress: AztecAddress = AztecAddress.fromNumber(543254)): PublicLog {
|
|
238
|
+
return PublicLog.from({
|
|
239
|
+
contractAddress,
|
|
240
|
+
fields: new Array(10).fill(null).map((_, i) => (!i ? tag.value : new Fr(tag.value.toBigInt() + BigInt(i)))),
|
|
241
|
+
});
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
/** Creates multiple public logs for a transaction. */
|
|
245
|
+
export function makePublicLogs(
|
|
246
|
+
blockNumber: number,
|
|
247
|
+
txIndex: number,
|
|
248
|
+
numLogsPerTx: number,
|
|
249
|
+
contractAddress: AztecAddress = AztecAddress.fromNumber(543254),
|
|
250
|
+
): PublicLog[] {
|
|
251
|
+
return times(numLogsPerTx, logIndex => {
|
|
252
|
+
const tag = makePublicLogTag(blockNumber, txIndex, logIndex);
|
|
253
|
+
return makePublicLog(tag, contractAddress);
|
|
254
|
+
});
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
export interface MockCheckpointWithLogsOptions {
|
|
258
|
+
previousArchive?: AppendOnlyTreeSnapshot;
|
|
259
|
+
numTxsPerBlock?: number;
|
|
260
|
+
privateLogs?: { numLogsPerTx: number };
|
|
261
|
+
publicLogs?: { numLogsPerTx: number; contractAddress?: AztecAddress };
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
/** Creates a checkpoint with specified logs on each tx effect. */
|
|
265
|
+
export async function makeCheckpointWithLogs(
|
|
266
|
+
blockNumber: number,
|
|
267
|
+
options: MockCheckpointWithLogsOptions = {},
|
|
268
|
+
): Promise<PublishedCheckpoint> {
|
|
269
|
+
const { previousArchive, numTxsPerBlock = 4, privateLogs, publicLogs } = options;
|
|
270
|
+
|
|
271
|
+
const block = await L2BlockNew.random(BlockNumber(blockNumber), {
|
|
272
|
+
checkpointNumber: CheckpointNumber(blockNumber),
|
|
273
|
+
indexWithinCheckpoint: 0,
|
|
274
|
+
state: makeStateForBlock(blockNumber, numTxsPerBlock),
|
|
275
|
+
...(previousArchive ? { lastArchive: previousArchive } : {}),
|
|
276
|
+
});
|
|
277
|
+
block.header.globalVariables.blockNumber = BlockNumber(blockNumber);
|
|
278
|
+
|
|
279
|
+
block.body.txEffects = await timesParallel(numTxsPerBlock, async (txIndex: number) => {
|
|
280
|
+
const txEffect = await TxEffect.random();
|
|
281
|
+
txEffect.privateLogs = privateLogs ? mockPrivateLogs(blockNumber, txIndex, privateLogs.numLogsPerTx) : [];
|
|
282
|
+
txEffect.publicLogs = publicLogs
|
|
283
|
+
? makePublicLogs(blockNumber, txIndex, publicLogs.numLogsPerTx, publicLogs.contractAddress)
|
|
284
|
+
: [];
|
|
285
|
+
return txEffect;
|
|
286
|
+
});
|
|
287
|
+
|
|
288
|
+
const checkpoint = new Checkpoint(
|
|
289
|
+
AppendOnlyTreeSnapshot.random(),
|
|
290
|
+
CheckpointHeader.random(),
|
|
291
|
+
[block],
|
|
292
|
+
CheckpointNumber(blockNumber),
|
|
293
|
+
);
|
|
294
|
+
return makePublishedCheckpoint(checkpoint, blockNumber);
|
|
295
|
+
}
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
import { BlockNumber, CheckpointNumber, type EpochNumber, type SlotNumber } from '@aztec/foundation/branded-types';
|
|
2
|
-
import type { Fr } from '@aztec/foundation/curves/bn254';
|
|
3
|
-
import type { EthAddress } from '@aztec/foundation/eth-address';
|
|
4
|
-
import type { FunctionSelector } from '@aztec/stdlib/abi';
|
|
5
|
-
import type { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
6
|
-
import { type CheckpointedL2Block, L2Block, type L2BlockNew, type L2Tips, PublishedL2Block } from '@aztec/stdlib/block';
|
|
7
|
-
import { Checkpoint, PublishedCheckpoint } from '@aztec/stdlib/checkpoint';
|
|
8
|
-
import type { ContractClassPublic, ContractDataSource, ContractInstanceWithAddress } from '@aztec/stdlib/contract';
|
|
9
|
-
import type { L1RollupConstants } from '@aztec/stdlib/epoch-helpers';
|
|
10
|
-
import type { GetContractClassLogsResponse, GetPublicLogsResponse } from '@aztec/stdlib/interfaces/client';
|
|
11
|
-
import type { L2LogsSource } from '@aztec/stdlib/interfaces/server';
|
|
12
|
-
import type { LogFilter, SiloedTag, Tag, TxScopedL2Log } from '@aztec/stdlib/logs';
|
|
13
|
-
import type { L1ToL2MessageSource } from '@aztec/stdlib/messaging';
|
|
14
|
-
import type { BlockHeader, IndexedTxEffect, TxHash, TxReceipt } from '@aztec/stdlib/tx';
|
|
15
|
-
import type { UInt64 } from '@aztec/stdlib/types';
|
|
16
|
-
import type { ArchiveSource } from './archiver.js';
|
|
17
|
-
import type { KVArchiverDataStore } from './kv_archiver_store/kv_archiver_store.js';
|
|
18
|
-
import type { ValidateCheckpointResult } from './validation.js';
|
|
19
|
-
/**
|
|
20
|
-
* Abstract base class implementing ArchiveSource using a KVArchiverDataStore.
|
|
21
|
-
* Provides implementations for all store-delegating methods and declares abstract methods
|
|
22
|
-
* for L1-dependent functionality that subclasses must implement.
|
|
23
|
-
*/
|
|
24
|
-
export declare abstract class ArchiveSourceBase implements ArchiveSource, L2LogsSource, ContractDataSource, L1ToL2MessageSource {
|
|
25
|
-
protected readonly store: KVArchiverDataStore;
|
|
26
|
-
constructor(store: KVArchiverDataStore);
|
|
27
|
-
abstract getRollupAddress(): Promise<EthAddress>;
|
|
28
|
-
abstract getRegistryAddress(): Promise<EthAddress>;
|
|
29
|
-
abstract getL1Constants(): Promise<L1RollupConstants>;
|
|
30
|
-
abstract getGenesisValues(): Promise<{
|
|
31
|
-
genesisArchiveRoot: Fr;
|
|
32
|
-
}>;
|
|
33
|
-
abstract getL1Timestamp(): Promise<bigint | undefined>;
|
|
34
|
-
abstract getL2Tips(): Promise<L2Tips>;
|
|
35
|
-
abstract getL2SlotNumber(): Promise<SlotNumber | undefined>;
|
|
36
|
-
abstract getL2EpochNumber(): Promise<EpochNumber | undefined>;
|
|
37
|
-
abstract getCheckpointsForEpoch(epochNumber: EpochNumber): Promise<Checkpoint[]>;
|
|
38
|
-
abstract getBlocksForEpoch(epochNumber: EpochNumber): Promise<L2Block[]>;
|
|
39
|
-
abstract getBlockHeadersForEpoch(epochNumber: EpochNumber): Promise<BlockHeader[]>;
|
|
40
|
-
abstract isEpochComplete(epochNumber: EpochNumber): Promise<boolean>;
|
|
41
|
-
abstract syncImmediate(): Promise<void>;
|
|
42
|
-
getBlockNumber(): Promise<BlockNumber>;
|
|
43
|
-
getProvenBlockNumber(): Promise<BlockNumber>;
|
|
44
|
-
getBlockHeader(number: BlockNumber | 'latest'): Promise<BlockHeader | undefined>;
|
|
45
|
-
getCheckpointedBlock(number: BlockNumber): Promise<CheckpointedL2Block | undefined>;
|
|
46
|
-
getCheckpointedBlocks(from: BlockNumber, limit: number, proven?: boolean): Promise<CheckpointedL2Block[]>;
|
|
47
|
-
getBlockHeaderByHash(blockHash: Fr): Promise<BlockHeader | undefined>;
|
|
48
|
-
getBlockHeaderByArchive(archive: Fr): Promise<BlockHeader | undefined>;
|
|
49
|
-
getL2BlockNew(number: BlockNumber): Promise<L2BlockNew | undefined>;
|
|
50
|
-
getTxEffect(txHash: TxHash): Promise<IndexedTxEffect | undefined>;
|
|
51
|
-
getSettledTxReceipt(txHash: TxHash): Promise<TxReceipt | undefined>;
|
|
52
|
-
isPendingChainInvalid(): Promise<boolean>;
|
|
53
|
-
getPendingChainValidationStatus(): Promise<ValidateCheckpointResult>;
|
|
54
|
-
getL2BlocksNew(from: BlockNumber, limit: number, proven?: boolean): Promise<L2BlockNew[]>;
|
|
55
|
-
getPrivateLogsByTags(tags: SiloedTag[]): Promise<TxScopedL2Log[][]>;
|
|
56
|
-
getPublicLogsByTagsFromContract(contractAddress: AztecAddress, tags: Tag[]): Promise<TxScopedL2Log[][]>;
|
|
57
|
-
getPublicLogs(filter: LogFilter): Promise<GetPublicLogsResponse>;
|
|
58
|
-
getContractClassLogs(filter: LogFilter): Promise<GetContractClassLogsResponse>;
|
|
59
|
-
getContractClass(id: Fr): Promise<ContractClassPublic | undefined>;
|
|
60
|
-
getBytecodeCommitment(id: Fr): Promise<Fr | undefined>;
|
|
61
|
-
getContract(address: AztecAddress, maybeTimestamp?: UInt64): Promise<ContractInstanceWithAddress | undefined>;
|
|
62
|
-
getContractClassIds(): Promise<Fr[]>;
|
|
63
|
-
getDebugFunctionName(address: AztecAddress, selector: FunctionSelector): Promise<string | undefined>;
|
|
64
|
-
registerContractFunctionSignatures(signatures: string[]): Promise<void>;
|
|
65
|
-
getL1ToL2Messages(checkpointNumber: CheckpointNumber): Promise<Fr[]>;
|
|
66
|
-
getL1ToL2MessageIndex(l1ToL2Message: Fr): Promise<bigint | undefined>;
|
|
67
|
-
getPublishedCheckpoints(checkpointNumber: CheckpointNumber, limit: number): Promise<PublishedCheckpoint[]>;
|
|
68
|
-
getPublishedBlocks(from: BlockNumber, limit: number, proven?: boolean): Promise<PublishedL2Block[]>;
|
|
69
|
-
getBlock(number: BlockNumber): Promise<L2Block | undefined>;
|
|
70
|
-
getBlocks(from: BlockNumber, limit: number, proven?: boolean): Promise<L2Block[]>;
|
|
71
|
-
getPublishedBlockByHash(blockHash: Fr): Promise<PublishedL2Block | undefined>;
|
|
72
|
-
getPublishedBlockByArchive(archive: Fr): Promise<PublishedL2Block | undefined>;
|
|
73
|
-
private buildOldBlockFromCheckpointedBlock;
|
|
74
|
-
}
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJjaGl2ZV9zb3VyY2VfYmFzZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FyY2hpdmVyL2FyY2hpdmVfc291cmNlX2Jhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLFdBQVcsRUFBRSxLQUFLLFVBQVUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ25ILE9BQU8sS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3pELE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRWhFLE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDMUQsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDaEUsT0FBTyxFQUNMLEtBQUssbUJBQW1CLEVBRXhCLE9BQU8sRUFDUCxLQUFLLFVBQVUsRUFDZixLQUFLLE1BQU0sRUFDWCxnQkFBZ0IsRUFDakIsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUsVUFBVSxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0UsT0FBTyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsa0JBQWtCLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNuSCxPQUFPLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3JFLE9BQU8sS0FBSyxFQUFFLDRCQUE0QixFQUFFLHFCQUFxQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDM0csT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDcEUsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbkYsT0FB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
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"archive_source_base.d.ts","sourceRoot":"","sources":["../../src/archiver/archive_source_base.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,168 +0,0 @@
|
|
|
1
|
-
import type { BlobClientInterface } from '@aztec/blob-client/client';
|
|
2
|
-
import { EpochCache } from '@aztec/epoch-cache';
|
|
3
|
-
import { InboxContract, RollupContract } from '@aztec/ethereum/contracts';
|
|
4
|
-
import type { L1ContractAddresses } from '@aztec/ethereum/l1-contract-addresses';
|
|
5
|
-
import type { ViemPublicClient, ViemPublicDebugClient } from '@aztec/ethereum/types';
|
|
6
|
-
import { BlockNumber, CheckpointNumber, EpochNumber, SlotNumber } from '@aztec/foundation/branded-types';
|
|
7
|
-
import { Buffer32 } from '@aztec/foundation/buffer';
|
|
8
|
-
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
9
|
-
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
10
|
-
import { type Logger } from '@aztec/foundation/log';
|
|
11
|
-
import { DateProvider } from '@aztec/foundation/timer';
|
|
12
|
-
import { type ArchiverEmitter, L2Block, L2BlockNew, type L2BlockSink, type L2BlockSource, type L2Tips } from '@aztec/stdlib/block';
|
|
13
|
-
import { Checkpoint, PublishedCheckpoint } from '@aztec/stdlib/checkpoint';
|
|
14
|
-
import type { ContractDataSource } from '@aztec/stdlib/contract';
|
|
15
|
-
import { type L1RollupConstants } from '@aztec/stdlib/epoch-helpers';
|
|
16
|
-
import type { L2LogsSource } from '@aztec/stdlib/interfaces/server';
|
|
17
|
-
import type { L1ToL2MessageSource } from '@aztec/stdlib/messaging';
|
|
18
|
-
import type { CheckpointHeader } from '@aztec/stdlib/rollup';
|
|
19
|
-
import type { BlockHeader } from '@aztec/stdlib/tx';
|
|
20
|
-
import { type TelemetryClient, type Traceable, type Tracer } from '@aztec/telemetry-client';
|
|
21
|
-
import { ArchiveSourceBase } from './archive_source_base.js';
|
|
22
|
-
import type { ArchiverConfig } from './config.js';
|
|
23
|
-
import { ArchiverInstrumentation } from './instrumentation.js';
|
|
24
|
-
import type { KVArchiverDataStore } from './kv_archiver_store/kv_archiver_store.js';
|
|
25
|
-
import { type ValidateCheckpointResult } from './validation.js';
|
|
26
|
-
/**
|
|
27
|
-
* Helper interface to combine all sources this archiver implementation provides.
|
|
28
|
-
*/
|
|
29
|
-
export type ArchiveSource = L2BlockSource & L2LogsSource & ContractDataSource & L1ToL2MessageSource;
|
|
30
|
-
export type ArchiverDeps = {
|
|
31
|
-
telemetry?: TelemetryClient;
|
|
32
|
-
blobClient: BlobClientInterface;
|
|
33
|
-
epochCache?: EpochCache;
|
|
34
|
-
dateProvider?: DateProvider;
|
|
35
|
-
};
|
|
36
|
-
/**
|
|
37
|
-
* Pulls checkpoints in a non-blocking manner and provides interface for their retrieval.
|
|
38
|
-
* Responsible for handling robust L1 polling so that other components do not need to
|
|
39
|
-
* concern themselves with it.
|
|
40
|
-
*/
|
|
41
|
-
export declare class Archiver extends ArchiveSourceBase implements L2BlockSink, Traceable {
|
|
42
|
-
private readonly publicClient;
|
|
43
|
-
private readonly debugClient;
|
|
44
|
-
private readonly rollup;
|
|
45
|
-
private readonly inbox;
|
|
46
|
-
private readonly l1Addresses;
|
|
47
|
-
readonly dataStore: KVArchiverDataStore;
|
|
48
|
-
private config;
|
|
49
|
-
private readonly blobClient;
|
|
50
|
-
private readonly epochCache;
|
|
51
|
-
private readonly dateProvider;
|
|
52
|
-
private readonly instrumentation;
|
|
53
|
-
private readonly l1constants;
|
|
54
|
-
private readonly log;
|
|
55
|
-
/** Event emitter for archiver events (L2BlockProven, L2PruneDetected, etc). */
|
|
56
|
-
readonly events: ArchiverEmitter;
|
|
57
|
-
/** A loop in which we will be continually fetching new checkpoints. */
|
|
58
|
-
private runningPromise;
|
|
59
|
-
private l1BlockNumber;
|
|
60
|
-
private l1Timestamp;
|
|
61
|
-
private initialSyncComplete;
|
|
62
|
-
private initialSyncPromise;
|
|
63
|
-
/** Queue of blocks to be added to the store, processed by the sync loop. */
|
|
64
|
-
private blockQueue;
|
|
65
|
-
readonly tracer: Tracer;
|
|
66
|
-
/**
|
|
67
|
-
* Creates a new instance of the Archiver.
|
|
68
|
-
* @param publicClient - A client for interacting with the Ethereum node.
|
|
69
|
-
* @param debugClient - A client for interacting with the Ethereum node for debug/trace methods.
|
|
70
|
-
* @param rollup - Rollup contract instance.
|
|
71
|
-
* @param inbox - Inbox contract instance.
|
|
72
|
-
* @param l1Addresses - L1 contract addresses (registry, governance proposer, slash factory, slashing proposer).
|
|
73
|
-
* @param dataStore - An archiver data store for storage & retrieval of blocks, encrypted logs & contract data.
|
|
74
|
-
* @param config - Archiver configuration options.
|
|
75
|
-
* @param blobClient - Client for retrieving blob data.
|
|
76
|
-
* @param epochCache - Cache for epoch-related data.
|
|
77
|
-
* @param dateProvider - Provider for current date/time.
|
|
78
|
-
* @param instrumentation - Instrumentation for metrics and tracing.
|
|
79
|
-
* @param l1constants - L1 rollup constants.
|
|
80
|
-
* @param log - A logger.
|
|
81
|
-
*/
|
|
82
|
-
constructor(publicClient: ViemPublicClient, debugClient: ViemPublicDebugClient, rollup: RollupContract, inbox: InboxContract, l1Addresses: Pick<L1ContractAddresses, 'registryAddress' | 'governanceProposerAddress' | 'slashFactoryAddress'> & {
|
|
83
|
-
slashingProposerAddress: EthAddress;
|
|
84
|
-
}, dataStore: KVArchiverDataStore, config: {
|
|
85
|
-
pollingIntervalMs: number;
|
|
86
|
-
batchSize: number;
|
|
87
|
-
skipValidateCheckpointAttestations?: boolean;
|
|
88
|
-
maxAllowedEthClientDriftSeconds: number;
|
|
89
|
-
ethereumAllowNoDebugHosts?: boolean;
|
|
90
|
-
}, blobClient: BlobClientInterface, epochCache: EpochCache, dateProvider: DateProvider, instrumentation: ArchiverInstrumentation, l1constants: L1RollupConstants & {
|
|
91
|
-
l1StartBlockHash: Buffer32;
|
|
92
|
-
genesisArchiveRoot: Fr;
|
|
93
|
-
}, log?: Logger);
|
|
94
|
-
/**
|
|
95
|
-
* Creates a new instance of the Archiver and blocks until it syncs from chain.
|
|
96
|
-
* @param config - The archiver's desired configuration.
|
|
97
|
-
* @param archiverStore - The backing store for the archiver.
|
|
98
|
-
* @param blockUntilSynced - If true, blocks until the archiver has fully synced.
|
|
99
|
-
* @returns - An instance of the archiver.
|
|
100
|
-
*/
|
|
101
|
-
static createAndSync(config: ArchiverConfig, archiverStore: KVArchiverDataStore, deps: ArchiverDeps, blockUntilSynced?: boolean): Promise<Archiver>;
|
|
102
|
-
/** Updates archiver config */
|
|
103
|
-
updateConfig(newConfig: Partial<ArchiverConfig>): void;
|
|
104
|
-
/**
|
|
105
|
-
* Starts sync process.
|
|
106
|
-
* @param blockUntilSynced - If true, blocks until the archiver has fully synced.
|
|
107
|
-
*/
|
|
108
|
-
start(blockUntilSynced: boolean): Promise<void>;
|
|
109
|
-
syncImmediate(): Promise<void>;
|
|
110
|
-
/**
|
|
111
|
-
* Queues a block to be added to the archiver store and triggers processing.
|
|
112
|
-
* The block will be processed by the sync loop.
|
|
113
|
-
* Implements the L2BlockSink interface.
|
|
114
|
-
* @param block - The L2 block to add.
|
|
115
|
-
* @returns A promise that resolves when the block has been added to the store, or rejects on error.
|
|
116
|
-
*/
|
|
117
|
-
addBlock(block: L2BlockNew): Promise<void>;
|
|
118
|
-
private processQueuedBlocks;
|
|
119
|
-
waitForInitialSync(): Promise<void>;
|
|
120
|
-
private testEthereumNodeSynced;
|
|
121
|
-
private syncFromL1;
|
|
122
|
-
private sync;
|
|
123
|
-
private canPrune;
|
|
124
|
-
private handleEpochPrune;
|
|
125
|
-
private nextRange;
|
|
126
|
-
private handleL1ToL2Messages;
|
|
127
|
-
private retrieveL1ToL2Message;
|
|
128
|
-
private rollbackL1ToL2Messages;
|
|
129
|
-
private getL1BlockHash;
|
|
130
|
-
private handleCheckpoints;
|
|
131
|
-
private checkForNewCheckpointsBeforeL1SyncPoint;
|
|
132
|
-
/** Resumes the archiver after a stop. */
|
|
133
|
-
resume(): void;
|
|
134
|
-
/**
|
|
135
|
-
* Stops the archiver.
|
|
136
|
-
* @returns A promise signalling completion of the stop process.
|
|
137
|
-
*/
|
|
138
|
-
stop(): Promise<void>;
|
|
139
|
-
backupTo(destPath: string): Promise<string>;
|
|
140
|
-
getL1Constants(): Promise<L1RollupConstants>;
|
|
141
|
-
getGenesisValues(): Promise<{
|
|
142
|
-
genesisArchiveRoot: Fr;
|
|
143
|
-
}>;
|
|
144
|
-
getRollupAddress(): Promise<EthAddress>;
|
|
145
|
-
getRegistryAddress(): Promise<EthAddress>;
|
|
146
|
-
getL1BlockNumber(): bigint | undefined;
|
|
147
|
-
getL1Timestamp(): Promise<bigint | undefined>;
|
|
148
|
-
getL2SlotNumber(): Promise<SlotNumber | undefined>;
|
|
149
|
-
getL2EpochNumber(): Promise<EpochNumber | undefined>;
|
|
150
|
-
getBlocksForEpoch(epochNumber: EpochNumber): Promise<L2Block[]>;
|
|
151
|
-
getBlockHeadersForEpoch(epochNumber: EpochNumber): Promise<BlockHeader[]>;
|
|
152
|
-
isEpochComplete(epochNumber: EpochNumber): Promise<boolean>;
|
|
153
|
-
/** Returns whether the archiver has completed an initial sync run successfully. */
|
|
154
|
-
isInitialSyncComplete(): boolean;
|
|
155
|
-
getCheckpointHeader(number: CheckpointNumber | 'latest'): Promise<CheckpointHeader | undefined>;
|
|
156
|
-
getCheckpointNumber(): Promise<CheckpointNumber>;
|
|
157
|
-
getSynchedCheckpointNumber(): Promise<CheckpointNumber>;
|
|
158
|
-
getProvenCheckpointNumber(): Promise<CheckpointNumber>;
|
|
159
|
-
setProvenCheckpointNumber(checkpointNumber: CheckpointNumber): Promise<void>;
|
|
160
|
-
unwindCheckpoints(from: CheckpointNumber, checkpointsToUnwind: number): Promise<boolean>;
|
|
161
|
-
getLastBlockNumberInCheckpoint(checkpointNumber: CheckpointNumber): Promise<BlockNumber | undefined>;
|
|
162
|
-
addCheckpoints(checkpoints: PublishedCheckpoint[], pendingChainValidationStatus?: ValidateCheckpointResult): Promise<boolean>;
|
|
163
|
-
getCheckpointedBlockNumber(): Promise<BlockNumber>;
|
|
164
|
-
getL2Tips(): Promise<L2Tips>;
|
|
165
|
-
rollbackTo(targetL2BlockNumber: BlockNumber): Promise<void>;
|
|
166
|
-
getCheckpointsForEpoch(epochNumber: EpochNumber): Promise<Checkpoint[]>;
|
|
167
|
-
}
|
|
168
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJjaGl2ZXIuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hcmNoaXZlci9hcmNoaXZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRXJFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVoRCxPQUFPLEVBQXVCLGFBQWEsRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMvRixPQUFPLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRWpGLE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFckYsT0FBTyxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDekcsT0FBTyxFQUFZLFFBQVEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTlELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDM0QsT0FBTyxFQUFFLEtBQUssTUFBTSxFQUFnQixNQUFNLHVCQUF1QixDQUFDO0FBSWxFLE9BQU8sRUFBRSxZQUFZLEVBQWtCLE1BQU0seUJBQXlCLENBQUM7QUFFdkUsT0FBTyxFQUNMLEtBQUssZUFBZSxFQUdwQixPQUFPLEVBQ1AsVUFBVSxFQUNWLEtBQUssV0FBVyxFQUNoQixLQUFLLGFBQWEsRUFFbEIsS0FBSyxNQUFNLEVBQ1osTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUsVUFBVSxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0UsT0FBTyxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRSxPQUFPLEVBQ0wsS0FBSyxpQkFBaUIsRUFNdkIsTUFBTSw2QkFBNkIsQ0FBQztBQUNyQyxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNwRSxPQUFPLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRW5FLE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDN0QsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDcEQsT0FBTyxFQUNMLEtBQUssZUFBZSxFQUNwQixLQUFLLFNBQVMsRUFDZCxLQUFLLE1BQU0sRUFJWixNQUFNLHlCQUF5QixDQUFDO0FBS2pDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBTTdELE9BQU8sS0FBSyxFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVsRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUUvRCxPQUFPLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBU3BGLE9BQU8sRUFBRSxLQUFLLHdCQUF3QixFQUFrQyxNQUFNLGlCQUFpQixDQUFDO0FBRWhHOztHQUVHO0FBQ0gsTUFBTSxNQUFNLGFBQWEsR0FBRyxhQUFhLEdBQUcsWUFBWSxHQUFHLGtCQUFrQixHQUFHLG1CQUFtQixDQUFDO0FBU3BHLE1BQU0sTUFBTSxZQUFZLEdBQUc7SUFDekIsU0FBUyxDQUFDLEVBQUUsZUFBZSxDQUFDO0lBQzVCLFVBQVUsRUFBRSxtQkFBbUIsQ0FBQztJQUNoQyxVQUFVLENBQUMsRUFBRSxVQUFVLENBQUM7SUFDeEIsWUFBWSxDQUFDLEVBQUUsWUFBWSxDQUFDO0NBQzdCLENBQUM7QUFzQkY7Ozs7R0FJRztBQUNILHFCQUFhLFFBQVMsU0FBUSxpQkFBa0IsWUFBVyxXQUFXLEVBQUUsU0FBUztJQWtDN0UsT0FBTyxDQUFDLFFBQVEsQ0FBQyxZQUFZO0lBQzdCLE9BQU8sQ0FBQyxRQUFRLENBQUMsV0FBVztJQUM1QixPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU07SUFDdkIsT0FBTyxDQUFDLFFBQVEsQ0FBQyxLQUFLO0lBQ3RCLE9BQU8sQ0FBQyxRQUFRLENBQUMsV0FBVztJQUk1QixRQUFRLENBQUMsU0FBUyxFQUFFLG1CQUFtQjtJQUN2QyxPQUFPLENBQUMsTUFBTTtJQU9kLE9BQU8sQ0FBQyxRQUFRLENBQUMsVUFBVTtJQUMzQixPQUFPLENBQUMsUUFBUSxDQUFDLFVBQVU7SUFDM0IsT0FBTyxDQUFDLFFBQVEsQ0FBQyxZQUFZO0lBQzdCLE9BQU8sQ0FBQyxRQUFRLENBQUMsZUFBZTtJQUNoQyxPQUFPLENBQUMsUUFBUSxDQUFDLFdBQVc7SUFDNUIsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHO0lBdER0QiwrRUFBK0U7SUFDL0UsU0FBZ0IsTUFBTSxFQUFFLGVBQWUsQ0FBeUM7SUFFaEYsdUVBQXVFO0lBQ3ZFLE9BQU8sQ0FBQyxjQUFjLENBQWlCO0lBRXZDLE9BQU8sQ0FBQyxhQUFhLENBQXFCO0lBQzFDLE9BQU8sQ0FBQyxXQUFXLENBQXFCO0lBQ3hDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBa0I7SUFDN0MsT0FBTyxDQUFDLGtCQUFrQixDQUE2QjtJQUV2RCw0RUFBNEU7SUFDNUUsT0FBTyxDQUFDLFVBQVUsQ0FBeUI7SUFFM0MsU0FBZ0IsTUFBTSxFQUFFLE1BQU0sQ0FBQztJQUUvQjs7Ozs7Ozs7Ozs7Ozs7O09BZUc7SUFDSCxZQUNtQixZQUFZLEVBQUUsZ0JBQWdCLEVBQzlCLFdBQVcsRUFBRSxxQkFBcUIsRUFDbEMsTUFBTSxFQUFFLGNBQWMsRUFDdEIsS0FBSyxFQUFFLGFBQWEsRUFDcEIsV0FBVyxFQUFFLElBQUksQ0FDaEMsbUJBQW1CLEVBQ25CLGlCQUFpQixHQUFHLDJCQUEyQixHQUFHLHFCQUFxQixDQUN4RSxHQUFHO1FBQUUsdUJBQXVCLEVBQUUsVUFBVSxDQUFBO0tBQUUsRUFDbEMsU0FBUyxFQUFFLG1CQUFtQixFQUMvQixNQUFNLEVBQUU7UUFDZCxpQkFBaUIsRUFBRSxNQUFNLENBQUM7UUFDMUIsU0FBUyxFQUFFLE1BQU0sQ0FBQztRQUNsQixrQ0FBa0MsQ0FBQyxFQUFFLE9BQU8sQ0FBQztRQUM3QywrQkFBK0IsRUFBRSxNQUFNLENBQUM7UUFDeEMseUJBQXlCLENBQUMsRUFBRSxPQUFPLENBQUM7S0FDckMsRUFDZ0IsVUFBVSxFQUFFLG1CQUFtQixFQUMvQixVQUFVLEVBQUUsVUFBVSxFQUN0QixZQUFZLEVBQUUsWUFBWSxFQUMxQixlQUFlLEVBQUUsdUJBQXVCLEVBQ3hDLFdBQVcsRUFBRSxpQkFBaUIsR0FBRztRQUFFLGdCQUFnQixFQUFFLFFBQVEsQ0FBQztRQUFDLGtCQUFrQixFQUFFLEVBQUUsQ0FBQTtLQUFFLEVBQ3ZGLEdBQUcsR0FBRSxNQUFpQyxFQWV4RDtJQUVEOzs7Ozs7T0FNRztJQUNILE9BQW9CLGFBQWEsQ0FDL0IsTUFBTSxFQUFFLGNBQWMsRUFDdEIsYUFBYSxFQUFFLG1CQUFtQixFQUNsQyxJQUFJLEVBQUUsWUFBWSxFQUNsQixnQkFBZ0IsVUFBTyxHQUN0QixPQUFPLENBQUMsUUFBUSxDQUFDLENBMEVuQjtJQUVELDhCQUE4QjtJQUN2QixZQUFZLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxjQUFjLENBQUMsUUFFckQ7SUFFRDs7O09BR0c7SUFDVSxLQUFLLENBQUMsZ0JBQWdCLEVBQUUsT0FBTyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0F1QjNEO0lBRU0sYUFBYSxrQkFFbkI7SUFFRDs7Ozs7O09BTUc7SUFDSSxRQUFRLENBQUMsS0FBSyxFQUFFLFVBQVUsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBU2hEO1lBT2EsbUJBQW1CO0lBc0IxQixrQkFBa0Isa0JBRXhCO1lBR2Esc0JBQXNCO1lBZXRCLFVBQVU7WUFtSVYsSUFBSTtZQVFKLFFBQVE7WUFlUixnQkFBZ0I7SUE0RDlCLE9BQU8sQ0FBQyxTQUFTO1lBV0gsb0JBQW9CO1lBOEZwQixxQkFBcUI7WUFrQnJCLHNCQUFzQjtZQXNDdEIsY0FBYztZQVNkLGlCQUFpQjtZQW1WakIsdUNBQXVDO0lBOENyRCx5Q0FBeUM7SUFDbEMsTUFBTSxTQU1aO0lBRUQ7OztPQUdHO0lBQ1UsSUFBSSxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FNakM7SUFFTSxRQUFRLENBQUMsUUFBUSxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBRWpEO0lBRU0sY0FBYyxJQUFJLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUVsRDtJQUVNLGdCQUFnQixJQUFJLE9BQU8sQ0FBQztRQUFFLGtCQUFrQixFQUFFLEVBQUUsQ0FBQTtLQUFFLENBQUMsQ0FFN0Q7SUFFTSxnQkFBZ0IsSUFBSSxPQUFPLENBQUMsVUFBVSxDQUFDLENBRTdDO0lBRU0sa0JBQWtCLElBQUksT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUUvQztJQUVNLGdCQUFnQixJQUFJLE1BQU0sR0FBRyxTQUFTLENBRTVDO0lBRU0sY0FBYyxJQUFJLE9BQU8sQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDLENBRW5EO0lBRU0sZUFBZSxJQUFJLE9BQU8sQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDLENBSXhEO0lBRU0sZ0JBQWdCLElBQUksT0FBTyxDQUFDLFdBQVcsR0FBRyxTQUFTLENBQUMsQ0FJMUQ7SUFFWSxpQkFBaUIsQ0FBQyxXQUFXLEVBQUUsV0FBVyxHQUFHLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQXVCM0U7SUFFWSx1QkFBdUIsQ0FBQyxXQUFXLEVBQUUsV0FBVyxHQUFHLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQXNCckY7SUFFWSxlQUFlLENBQUMsV0FBVyxFQUFFLFdBQVcsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLENBMEJ2RTtJQUVELG1GQUFtRjtJQUM1RSxxQkFBcUIsSUFBSSxPQUFPLENBRXRDO0lBRVksbUJBQW1CLENBQUMsTUFBTSxFQUFFLGdCQUFnQixHQUFHLFFBQVEsR0FBRyxPQUFPLENBQUMsZ0JBQWdCLEdBQUcsU0FBUyxDQUFDLENBWTNHO0lBRU0sbUJBQW1CLElBQUksT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBRXREO0lBRU0sMEJBQTBCLElBQUksT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBRTdEO0lBRU0seUJBQXlCLElBQUksT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBRTVEO0lBRU0seUJBQXlCLENBQUMsZ0JBQWdCLEVBQUUsZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUVsRjtJQUVNLGlCQUFpQixDQUFDLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUU5RjtJQUVZLDhCQUE4QixDQUFDLGdCQUFnQixFQUFFLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyxXQUFXLEdBQUcsU0FBUyxDQUFDLENBTWhIO0lBRU0sY0FBYyxDQUNuQixXQUFXLEVBQUUsbUJBQW1CLEVBQUUsRUFDbEMsNEJBQTRCLENBQUMsRUFBRSx3QkFBd0IsR0FDdEQsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUVsQjtJQUVELDBCQUEwQixJQUFJLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FFakQ7SUFFWSxTQUFTLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQStHeEM7SUFFWSxVQUFVLENBQUMsbUJBQW1CLEVBQUUsV0FBVyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FpQ3ZFO0lBRVksc0JBQXNCLENBQUMsV0FBVyxFQUFFLFdBQVcsR0FBRyxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FrQm5GO0NBQ0YifQ==
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"archiver.d.ts","sourceRoot":"","sources":["../../src/archiver/archiver.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import type { CheckpointNumber } from '@aztec/foundation/branded-types';
|
|
2
|
-
import type { L2BlockNew, ValidateCheckpointResult } from '@aztec/stdlib/block';
|
|
3
|
-
import type { PublishedCheckpoint } from '@aztec/stdlib/checkpoint';
|
|
4
|
-
import type { KVArchiverDataStore } from './kv_archiver_store/kv_archiver_store.js';
|
|
5
|
-
/**
|
|
6
|
-
* Adds blocks to the store with contract class/instance extraction from logs.
|
|
7
|
-
* Extracts ContractClassPublished, ContractInstancePublished, ContractInstanceUpdated events,
|
|
8
|
-
* and individually broadcasted functions from the block logs.
|
|
9
|
-
*
|
|
10
|
-
* @param store - The archiver data store.
|
|
11
|
-
* @param blocks - The L2 blocks to add.
|
|
12
|
-
* @param pendingChainValidationStatus - Optional validation status to set.
|
|
13
|
-
* @returns True if the operation is successful.
|
|
14
|
-
*/
|
|
15
|
-
export declare function addBlocksWithContractData(store: KVArchiverDataStore, blocks: L2BlockNew[], pendingChainValidationStatus?: ValidateCheckpointResult): Promise<boolean>;
|
|
16
|
-
/**
|
|
17
|
-
* Adds checkpoints to the store with contract class/instance extraction from logs.
|
|
18
|
-
* Extracts ContractClassPublished, ContractInstancePublished, ContractInstanceUpdated events,
|
|
19
|
-
* and individually broadcasted functions from the checkpoint block logs.
|
|
20
|
-
*
|
|
21
|
-
* @param store - The archiver data store.
|
|
22
|
-
* @param checkpoints - The published checkpoints to add.
|
|
23
|
-
* @param pendingChainValidationStatus - Optional validation status to set.
|
|
24
|
-
* @returns True if the operation is successful.
|
|
25
|
-
*/
|
|
26
|
-
export declare function addCheckpointsWithContractData(store: KVArchiverDataStore, checkpoints: PublishedCheckpoint[], pendingChainValidationStatus?: ValidateCheckpointResult): Promise<boolean>;
|
|
27
|
-
/**
|
|
28
|
-
* Unwinds checkpoints from the store with reverse contract extraction.
|
|
29
|
-
* Deletes ContractClassPublished, ContractInstancePublished, ContractInstanceUpdated data
|
|
30
|
-
* that was stored for the unwound checkpoints.
|
|
31
|
-
*
|
|
32
|
-
* @param store - The archiver data store.
|
|
33
|
-
* @param from - The checkpoint number to unwind from (must be the current tip).
|
|
34
|
-
* @param checkpointsToUnwind - The number of checkpoints to unwind.
|
|
35
|
-
* @returns True if the operation is successful.
|
|
36
|
-
*/
|
|
37
|
-
export declare function unwindCheckpointsWithContractData(store: KVArchiverDataStore, from: CheckpointNumber, checkpointsToUnwind: number): Promise<boolean>;
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJjaGl2ZXJfc3RvcmVfdXBkYXRlcy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FyY2hpdmVyL2FyY2hpdmVyX3N0b3JlX3VwZGF0ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQWUsZ0JBQWdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQVlyRixPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRixPQUFPLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBYXBFLE9BQU8sS0FBSyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFVcEY7Ozs7Ozs7OztHQVNHO0FBQ0gsd0JBQWdCLHlCQUF5QixDQUN2QyxLQUFLLEVBQUUsbUJBQW1CLEVBQzFCLE1BQU0sRUFBRSxVQUFVLEVBQUUsRUFDcEIsNEJBQTRCLENBQUMsRUFBRSx3QkFBd0IsR0FDdEQsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQWVsQjtBQUVEOzs7Ozs7Ozs7R0FTRztBQUNILHdCQUFnQiw4QkFBOEIsQ0FDNUMsS0FBSyxFQUFFLG1CQUFtQixFQUMxQixXQUFXLEVBQUUsbUJBQW1CLEVBQUUsRUFDbEMsNEJBQTRCLENBQUMsRUFBRSx3QkFBd0IsR0FDdEQsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQWdCbEI7QUFFRDs7Ozs7Ozs7O0dBU0c7QUFDSCx3QkFBc0IsaUNBQWlDLENBQ3JELEtBQUssRUFBRSxtQkFBbUIsRUFDMUIsSUFBSSxFQUFFLGdCQUFnQixFQUN0QixtQkFBbUIsRUFBRSxNQUFNLEdBQzFCLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0E0Q2xCIn0=
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"archiver_store_updates.d.ts","sourceRoot":"","sources":["../../src/archiver/archiver_store_updates.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAe,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAYrF,OAAO,KAAK,EAAE,UAAU,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAapE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAUpF;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,mBAAmB,EAC1B,MAAM,EAAE,UAAU,EAAE,EACpB,4BAA4B,CAAC,EAAE,wBAAwB,GACtD,OAAO,CAAC,OAAO,CAAC,CAelB;AAED;;;;;;;;;GASG;AACH,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,mBAAmB,EAC1B,WAAW,EAAE,mBAAmB,EAAE,EAClC,4BAA4B,CAAC,EAAE,wBAAwB,GACtD,OAAO,CAAC,OAAO,CAAC,CAgBlB;AAED;;;;;;;;;GASG;AACH,wBAAsB,iCAAiC,CACrD,KAAK,EAAE,mBAAmB,EAC1B,IAAI,EAAE,gBAAgB,EACtB,mBAAmB,EAAE,MAAM,GAC1B,OAAO,CAAC,OAAO,CAAC,CA4ClB"}
|