@aztec/archiver 0.67.1-devnet → 0.68.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dest/archiver/archiver.d.ts +2 -3
- package/dest/archiver/archiver.d.ts.map +1 -1
- package/dest/archiver/archiver.js +18 -16
- package/dest/archiver/archiver_store.d.ts +2 -3
- package/dest/archiver/archiver_store.d.ts.map +1 -1
- package/dest/archiver/instrumentation.d.ts +2 -0
- package/dest/archiver/instrumentation.d.ts.map +1 -1
- package/dest/archiver/instrumentation.js +8 -1
- package/dest/archiver/kv_archiver_store/kv_archiver_store.d.ts +3 -4
- package/dest/archiver/kv_archiver_store/kv_archiver_store.d.ts.map +1 -1
- package/dest/archiver/kv_archiver_store/kv_archiver_store.js +9 -17
- package/dest/archiver/memory_archiver_store/memory_archiver_store.d.ts +4 -5
- package/dest/archiver/memory_archiver_store/memory_archiver_store.d.ts.map +1 -1
- package/dest/archiver/memory_archiver_store/memory_archiver_store.js +8 -15
- package/dest/factory.d.ts.map +1 -1
- package/dest/factory.js +9 -2
- package/package.json +14 -14
- package/src/archiver/archiver.ts +19 -17
- package/src/archiver/archiver_store.ts +2 -4
- package/src/archiver/instrumentation.ts +10 -0
- package/src/archiver/kv_archiver_store/kv_archiver_store.ts +8 -15
- package/src/archiver/memory_archiver_store/memory_archiver_store.ts +9 -19
- package/src/factory.ts +10 -1
- package/dest/archiver/kv_archiver_store/contract_artifacts_store.d.ts +0 -10
- package/dest/archiver/kv_archiver_store/contract_artifacts_store.d.ts.map +0 -1
- package/dest/archiver/kv_archiver_store/contract_artifacts_store.js +0 -19
- package/src/archiver/kv_archiver_store/contract_artifacts_store.ts +0 -22
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { type GetUnencryptedLogsResponse, type InBlock, type L1RollupConstants, type L1ToL2MessageSource, type L2Block, type L2BlockSource, type L2LogsSource, type L2Tips, type LogFilter, type NullifierWithBlockSource, type TxEffect, type TxHash, type TxReceipt, type TxScopedL2Log } from '@aztec/circuit-types';
|
|
2
2
|
import { type BlockHeader, type ContractClassPublic, type ContractDataSource, type ContractInstanceWithAddress, type FunctionSelector, type PrivateLog, type PublicFunction } from '@aztec/circuits.js';
|
|
3
|
-
import { type ContractArtifact } from '@aztec/foundation/abi';
|
|
4
3
|
import { type AztecAddress } from '@aztec/foundation/aztec-address';
|
|
5
4
|
import { type EthAddress } from '@aztec/foundation/eth-address';
|
|
6
5
|
import { Fr } from '@aztec/foundation/fields';
|
|
@@ -82,6 +81,7 @@ export declare class Archiver implements ArchiveSource, Traceable {
|
|
|
82
81
|
* @returns A promise signalling completion of the stop process.
|
|
83
82
|
*/
|
|
84
83
|
stop(): Promise<void>;
|
|
84
|
+
getL1Constants(): L1RollupConstants;
|
|
85
85
|
getRollupAddress(): Promise<EthAddress>;
|
|
86
86
|
getRegistryAddress(): Promise<EthAddress>;
|
|
87
87
|
getL1BlockNumber(): bigint;
|
|
@@ -174,8 +174,7 @@ export declare class Archiver implements ArchiveSource, Traceable {
|
|
|
174
174
|
getL1ToL2MessageIndex(l1ToL2Message: Fr): Promise<bigint | undefined>;
|
|
175
175
|
getContractClassIds(): Promise<Fr[]>;
|
|
176
176
|
addContractClass(contractClass: ContractClassPublic): Promise<void>;
|
|
177
|
-
|
|
178
|
-
getContractArtifact(address: AztecAddress): Promise<ContractArtifact | undefined>;
|
|
177
|
+
registerContractFunctionNames(address: AztecAddress, names: Record<string, string>): Promise<void>;
|
|
179
178
|
getContractFunctionName(address: AztecAddress, selector: FunctionSelector): Promise<string | undefined>;
|
|
180
179
|
getL2Tips(): Promise<L2Tips>;
|
|
181
180
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"archiver.d.ts","sourceRoot":"","sources":["../../src/archiver/archiver.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,0BAA0B,EAC/B,KAAK,OAAO,EAEZ,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,OAAO,EAEZ,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,MAAM,EACX,KAAK,SAAS,EACd,KAAK,wBAAwB,EAC7B,KAAK,QAAQ,EACb,KAAK,MAAM,EACX,KAAK,SAAS,EACd,KAAK,aAAa,EAMnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,2BAA2B,EAEhC,KAAK,gBAAgB,EACrB,KAAK,UAAU,EACf,KAAK,cAAc,EAKpB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"archiver.d.ts","sourceRoot":"","sources":["../../src/archiver/archiver.ts"],"names":[],"mappings":"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"}
|
|
@@ -176,6 +176,7 @@ let Archiver = (() => {
|
|
|
176
176
|
this.log.warn(`Unwound ${count(blocksToUnwind, 'block')} from L2 block ${localPendingBlockNumber} ` +
|
|
177
177
|
`to ${provenBlockNumber} due to predicted reorg at L1 block ${currentL1BlockNumber}. ` +
|
|
178
178
|
`Updated L2 latest block is ${await this.getBlockNumber()}.`);
|
|
179
|
+
this.instrumentation.processPrune();
|
|
179
180
|
// TODO(palla/reorg): Do we need to set the block synched L1 block number here?
|
|
180
181
|
// Seems like the next iteration should handle this.
|
|
181
182
|
// await this.store.setBlockSynchedL1BlockNumber(currentL1BlockNumber);
|
|
@@ -331,6 +332,9 @@ let Archiver = (() => {
|
|
|
331
332
|
this.log.info('Stopped.');
|
|
332
333
|
return Promise.resolve();
|
|
333
334
|
}
|
|
335
|
+
getL1Constants() {
|
|
336
|
+
return this.l1constants;
|
|
337
|
+
}
|
|
334
338
|
getRollupAddress() {
|
|
335
339
|
return Promise.resolve(this.l1Addresses.rollupAddress);
|
|
336
340
|
}
|
|
@@ -380,16 +384,20 @@ let Archiver = (() => {
|
|
|
380
384
|
if (slot && slot >= endSlot) {
|
|
381
385
|
return true;
|
|
382
386
|
}
|
|
387
|
+
// If we haven't run an initial sync, just return false.
|
|
388
|
+
const l1Timestamp = this.l1Timestamp;
|
|
389
|
+
if (l1Timestamp === undefined) {
|
|
390
|
+
return false;
|
|
391
|
+
}
|
|
383
392
|
// If not, the epoch may also be complete if the L2 slot has passed without a block
|
|
384
|
-
// We compute this based on the timestamp for the given epoch and the timestamp of the last L1 block
|
|
385
|
-
const l1Timestamp = this.getL1Timestamp();
|
|
393
|
+
// We compute this based on the end timestamp for the given epoch and the timestamp of the last L1 block
|
|
386
394
|
const [_startTimestamp, endTimestamp] = getTimestampRangeForEpoch(epochNumber, this.l1constants);
|
|
387
395
|
// For this computation, we throw in a few extra seconds just for good measure,
|
|
388
396
|
// since we know the next L1 block won't be mined within this range. Remember that
|
|
389
|
-
// l1timestamp is the timestamp of the last l1 block we've seen, so this
|
|
390
|
-
// the fact that L1 won't mine two blocks within
|
|
397
|
+
// l1timestamp is the timestamp of the last l1 block we've seen, so this relies on
|
|
398
|
+
// the fact that L1 won't mine two blocks within this time of each other.
|
|
391
399
|
// TODO(palla/reorg): Is the above a safe assumption?
|
|
392
|
-
const leeway =
|
|
400
|
+
const leeway = 1n;
|
|
393
401
|
return l1Timestamp + leeway >= endTimestamp;
|
|
394
402
|
}
|
|
395
403
|
/**
|
|
@@ -548,11 +556,8 @@ let Archiver = (() => {
|
|
|
548
556
|
await this.store.addContractClasses([contractClass], [computePublicBytecodeCommitment(contractClass.packedBytecode)], 0);
|
|
549
557
|
return;
|
|
550
558
|
}
|
|
551
|
-
|
|
552
|
-
return this.store.
|
|
553
|
-
}
|
|
554
|
-
getContractArtifact(address) {
|
|
555
|
-
return this.store.getContractArtifact(address);
|
|
559
|
+
registerContractFunctionNames(address, names) {
|
|
560
|
+
return this.store.registerContractFunctionName(address, names);
|
|
556
561
|
}
|
|
557
562
|
getContractFunctionName(address, selector) {
|
|
558
563
|
return this.store.getContractFunctionName(address, selector);
|
|
@@ -727,11 +732,8 @@ class ArchiverStoreHelper {
|
|
|
727
732
|
getContractClassIds() {
|
|
728
733
|
return this.store.getContractClassIds();
|
|
729
734
|
}
|
|
730
|
-
|
|
731
|
-
return this.store.
|
|
732
|
-
}
|
|
733
|
-
getContractArtifact(address) {
|
|
734
|
-
return this.store.getContractArtifact(address);
|
|
735
|
+
registerContractFunctionName(address, names) {
|
|
736
|
+
return this.store.registerContractFunctionName(address, names);
|
|
735
737
|
}
|
|
736
738
|
getContractFunctionName(address, selector) {
|
|
737
739
|
return this.store.getContractFunctionName(address, selector);
|
|
@@ -829,4 +831,4 @@ async function _ArchiverStoreHelper_storeBroadcastedIndividualFunctions(allLogs,
|
|
|
829
831
|
}
|
|
830
832
|
return true;
|
|
831
833
|
};
|
|
832
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJjaGl2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXJjaGl2ZXIvYXJjaGl2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBa0JMLHlCQUF5QixFQUN6QixrQkFBa0IsRUFDbEIsb0JBQW9CLEVBQ3BCLHlCQUF5QixHQUMxQixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFVTCwrQkFBK0IsRUFDL0IscUNBQXFDLEVBQ3JDLDJDQUEyQyxHQUM1QyxNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBSXRELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM5QyxPQUFPLEVBQWUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMxRCxPQUFPLEVBQ0wsNEJBQTRCLEVBQzVCLCtCQUErQixFQUMvQixxQ0FBcUMsR0FDdEMsTUFBTSw0Q0FBNEMsQ0FBQztBQUNwRCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUM1RixPQUFPLEVBQUUsVUFBVSxFQUFxRCxTQUFTLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUVuSCxPQUFPLE9BQU8sTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBS0wsa0JBQWtCLEVBQ2xCLFdBQVcsRUFDWCxJQUFJLEdBQ0wsTUFBTSxNQUFNLENBQUM7QUFJZCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsc0JBQXNCLEVBQUUsTUFB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
|
|
834
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJjaGl2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXJjaGl2ZXIvYXJjaGl2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBa0JMLHlCQUF5QixFQUN6QixrQkFBa0IsRUFDbEIsb0JBQW9CLEVBQ3BCLHlCQUF5QixHQUMxQixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFVTCwrQkFBK0IsRUFDL0IscUNBQXFDLEVBQ3JDLDJDQUEyQyxHQUM1QyxNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBR3RELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM5QyxPQUFPLEVBQWUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMxRCxPQUFPLEVBQ0wsNEJBQTRCLEVBQzVCLCtCQUErQixFQUMvQixxQ0FBcUMsR0FDdEMsTUFBTSw0Q0FBNEMsQ0FBQztBQUNwRCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUM1RixPQUFPLEVBQUUsVUFBVSxFQUFxRCxTQUFTLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUVuSCxPQUFPLE9BQU8sTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBS0wsa0JBQWtCLEVBQ2xCLFdBQVcsRUFDWCxJQUFJLEdBQ0wsTUFBTSxNQUFNLENBQUM7QUFJZCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsc0JBQXNCLEVBQUUsTUFB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
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type GetUnencryptedLogsResponse, type InBlock, type InboxLeaf, type L2Block, type LogFilter, type TxEffect, type TxHash, type TxReceipt, type TxScopedL2Log } from '@aztec/circuit-types';
|
|
2
2
|
import { type BlockHeader, type ContractClassPublic, type ContractInstanceWithAddress, type ExecutablePrivateFunctionWithMembershipProof, type Fr, type PrivateLog, type UnconstrainedFunctionWithMembershipProof } from '@aztec/circuits.js';
|
|
3
|
-
import { type
|
|
3
|
+
import { type FunctionSelector } from '@aztec/foundation/abi';
|
|
4
4
|
import { type AztecAddress } from '@aztec/foundation/aztec-address';
|
|
5
5
|
import { type DataRetrieval } from './structs/data_retrieval.js';
|
|
6
6
|
import { type L1Published } from './structs/published.js';
|
|
@@ -203,8 +203,7 @@ export interface ArchiverDataStore {
|
|
|
203
203
|
getContractInstance(address: AztecAddress): Promise<ContractInstanceWithAddress | undefined>;
|
|
204
204
|
/** Returns the list of all class ids known by the archiver. */
|
|
205
205
|
getContractClassIds(): Promise<Fr[]>;
|
|
206
|
-
|
|
207
|
-
getContractArtifact(address: AztecAddress): Promise<ContractArtifact | undefined>;
|
|
206
|
+
registerContractFunctionName(address: AztecAddress, names: Record<string, string>): Promise<void>;
|
|
208
207
|
getContractFunctionName(address: AztecAddress, selector: FunctionSelector): Promise<string | undefined>;
|
|
209
208
|
/**
|
|
210
209
|
* Estimates the size of the store in bytes.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"archiver_store.d.ts","sourceRoot":"","sources":["../../src/archiver/archiver_store.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,0BAA0B,EAC/B,KAAK,OAAO,EACZ,KAAK,SAAS,EACd,KAAK,OAAO,EACZ,KAAK,SAAS,EACd,KAAK,QAAQ,EACb,KAAK,MAAM,EACX,KAAK,SAAS,EACd,KAAK,aAAa,EACnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,mBAAmB,EACxB,KAAK,2BAA2B,EAChC,KAAK,4CAA4C,EACjD,KAAK,EAAE,EACP,KAAK,UAAU,EACf,KAAK,wCAAwC,EAC9C,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,KAAK,gBAAgB,EAAE,
|
|
1
|
+
{"version":3,"file":"archiver_store.d.ts","sourceRoot":"","sources":["../../src/archiver/archiver_store.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,0BAA0B,EAC/B,KAAK,OAAO,EACZ,KAAK,SAAS,EACd,KAAK,OAAO,EACZ,KAAK,SAAS,EACd,KAAK,QAAQ,EACb,KAAK,MAAM,EACX,KAAK,SAAS,EACd,KAAK,aAAa,EACnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,mBAAmB,EACxB,KAAK,2BAA2B,EAChC,KAAK,4CAA4C,EACjD,KAAK,EAAE,EACP,KAAK,UAAU,EACf,KAAK,wCAAwC,EAC9C,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAEpE,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAE1D;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,uEAAuE;IACvE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,+EAA+E;IAC/E,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iEAAiE;IACjE,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;OAIG;IACH,SAAS,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE5D;;;;;;OAMG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAErE;;;;;OAKG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAExE;;;;;OAKG;IACH,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IAErE;;;;OAIG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC,CAAC;IAEpE;;;;OAIG;IACH,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC;IAEpE;;;;OAIG;IACH,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7C,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEhD;;;;OAIG;IACH,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACnD,gBAAgB,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEtD;;;;;;OAMG;IACH,8BAA8B,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC;IAEhH;;;;OAIG;IACH,iBAAiB,CAAC,QAAQ,EAAE,aAAa,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAExE;;;;OAIG;IACH,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;IAEtD;;;;OAIG;IACH,qBAAqB,CAAC,aAAa,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAEtE;;;OAGG;IACH,0BAA0B,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAE9C;;;;;OAKG;IACH,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IAEnE;;;;;OAKG;IACH,aAAa,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;IAEtD;;;;OAIG;IACH,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC;IAE3E;;;;OAIG;IACH,oBAAoB,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC;IAE7E;;;OAGG;IACH,uBAAuB,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAE3C;;;OAGG;IACH,sBAAsB,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAE1C;;;OAGG;IACH,sBAAsB,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAEtD;;;OAGG;IACH,sBAAsB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7D;;;OAGG;IACH,sBAAsB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7D;;;OAGG;IACH,4BAA4B,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnE;;;OAGG;IACH,8BAA8B,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAErE;;OAEG;IACH,aAAa,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAE/C;;;;;OAKG;IACH,kBAAkB,CAAC,IAAI,EAAE,mBAAmB,EAAE,EAAE,mBAAmB,EAAE,EAAE,EAAE,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAElH,qBAAqB,CAAC,IAAI,EAAE,mBAAmB,EAAE,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE1F,qBAAqB,CAAC,eAAe,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC;IAEpE;;;OAGG;IACH,gBAAgB,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC,CAAC;IAEnE;;;;;OAKG;IACH,oBAAoB,CAAC,IAAI,EAAE,2BAA2B,EAAE,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACjG,uBAAuB,CAAC,IAAI,EAAE,2BAA2B,EAAE,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEpG;;OAEG;IACH,YAAY,CACV,eAAe,EAAE,EAAE,EACnB,gBAAgB,EAAE,4CAA4C,EAAE,EAChE,sBAAsB,EAAE,wCAAwC,EAAE,GACjE,OAAO,CAAC,OAAO,CAAC,CAAC;IAEpB;;;OAGG;IACH,mBAAmB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,2BAA2B,GAAG,SAAS,CAAC,CAAC;IAE7F,+DAA+D;IAC/D,mBAAmB,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;IAKrC,4BAA4B,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClG,uBAAuB,CAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAExG;;OAEG;IACH,YAAY,IAAI;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;CAC/E"}
|
|
@@ -10,11 +10,13 @@ export declare class ArchiverInstrumentation {
|
|
|
10
10
|
private proofsSubmittedDelay;
|
|
11
11
|
private proofsSubmittedCount;
|
|
12
12
|
private dbMetrics;
|
|
13
|
+
private pruneCount;
|
|
13
14
|
private log;
|
|
14
15
|
private constructor();
|
|
15
16
|
static new(telemetry: TelemetryClient, lmdbStats?: LmdbStatsCallback): Promise<ArchiverInstrumentation>;
|
|
16
17
|
isEnabled(): boolean;
|
|
17
18
|
processNewBlocks(syncTimePerBlock: number, blocks: L2Block[]): void;
|
|
19
|
+
processPrune(): void;
|
|
18
20
|
updateLastProvenBlock(blockNumber: number): void;
|
|
19
21
|
processProofsVerified(logs: {
|
|
20
22
|
proverId: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instrumentation.d.ts","sourceRoot":"","sources":["../../src/archiver/instrumentation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,EAKL,KAAK,iBAAiB,EAEtB,KAAK,eAAe,EACpB,KAAK,MAAM,EAGZ,MAAM,yBAAyB,CAAC;AAEjC,qBAAa,uBAAuB;
|
|
1
|
+
{"version":3,"file":"instrumentation.d.ts","sourceRoot":"","sources":["../../src/archiver/instrumentation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,EAKL,KAAK,iBAAiB,EAEtB,KAAK,eAAe,EACpB,KAAK,MAAM,EAGZ,MAAM,yBAAyB,CAAC;AAEjC,qBAAa,uBAAuB;IAcd,OAAO,CAAC,SAAS;IAbrC,SAAgB,MAAM,EAAE,MAAM,CAAC;IAE/B,OAAO,CAAC,WAAW,CAAQ;IAC3B,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,YAAY,CAAY;IAChC,OAAO,CAAC,cAAc,CAAgB;IACtC,OAAO,CAAC,oBAAoB,CAAY;IACxC,OAAO,CAAC,oBAAoB,CAAgB;IAC5C,OAAO,CAAC,SAAS,CAAc;IAC/B,OAAO,CAAC,UAAU,CAAgB;IAElC,OAAO,CAAC,GAAG,CAA4C;IAEvD,OAAO;WAiDa,GAAG,CAAC,SAAS,EAAE,eAAe,EAAE,SAAS,CAAC,EAAE,iBAAiB;IAU1E,SAAS,IAAI,OAAO;IAIpB,gBAAgB,CAAC,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE;IAS5D,YAAY;IAIZ,qBAAqB,CAAC,WAAW,EAAE,MAAM;IAIzC,qBAAqB,CAAC,IAAI,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE;CAYhG"}
|
|
@@ -35,6 +35,10 @@ export class ArchiverInstrumentation {
|
|
|
35
35
|
this.dbMetrics = new LmdbMetrics(meter, {
|
|
36
36
|
[Attributes.DB_DATA_TYPE]: 'archiver',
|
|
37
37
|
}, lmdbStats);
|
|
38
|
+
this.pruneCount = meter.createUpDownCounter(Metrics.ARCHIVER_PRUNE_COUNT, {
|
|
39
|
+
description: 'Number of prunes detected',
|
|
40
|
+
valueType: ValueType.INT,
|
|
41
|
+
});
|
|
38
42
|
}
|
|
39
43
|
static async new(telemetry, lmdbStats) {
|
|
40
44
|
const instance = new ArchiverInstrumentation(telemetry, lmdbStats);
|
|
@@ -53,6 +57,9 @@ export class ArchiverInstrumentation {
|
|
|
53
57
|
this.blockSize.record(block.body.txEffects.length);
|
|
54
58
|
}
|
|
55
59
|
}
|
|
60
|
+
processPrune() {
|
|
61
|
+
this.pruneCount.add(1);
|
|
62
|
+
}
|
|
56
63
|
updateLastProvenBlock(blockNumber) {
|
|
57
64
|
this.blockHeight.record(blockNumber, { [Attributes.STATUS]: 'proven' });
|
|
58
65
|
}
|
|
@@ -69,4 +76,4 @@ export class ArchiverInstrumentation {
|
|
|
69
76
|
}
|
|
70
77
|
}
|
|
71
78
|
}
|
|
72
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zdHJ1bWVudGF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FyY2hpdmVyL2luc3RydW1lbnRhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckQsT0FBTyxFQUNMLFVBQVUsRUFHVixXQUFXLEVBRVgsT0FBTyxFQUlQLFNBQVMsR0FDVixNQUFNLHlCQUF5QixDQUFDO0FBRWpDLE1BQU0sT0FBTyx1QkFBdUI7SUFjbEMsWUFBNEIsU0FBMEIsRUFBRSxTQUE2QjtRQUF6RCxjQUFTLEdBQVQsU0FBUyxDQUFpQjtRQUY5QyxRQUFHLEdBQUcsWUFBWSxDQUFDLDBCQUEwQixDQUFDLENBQUM7UUFHckQsSUFBSSxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzlDLE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDN0MsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRTtZQUNsRSxXQUFXLEVBQUUsMERBQTBEO1lBQ3ZFLFNBQVMsRUFBRSxTQUFTLENBQUMsR0FBRztTQUN6QixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLG1CQUFtQixFQUFFO1lBQzlELFdBQVcsRUFBRSx1Q0FBdUM7WUFDcEQsU0FBUyxFQUFFLFNBQVMsQ0FBQyxHQUFHO1NBQ3pCLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsc0JBQXNCLEVBQUU7WUFDeEUsSUFBSSxFQUFFLElBQUk7WUFDVixXQUFXLEVBQUUsMEJBQTBCO1lBQ3ZDLFNBQVMsRUFBRSxTQUFTLENBQUMsR0FB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
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type GetUnencryptedLogsResponse, type InBlock, type InboxLeaf, type L2Block, type LogFilter, type TxHash, type TxReceipt, type TxScopedL2Log } from '@aztec/circuit-types';
|
|
2
2
|
import { type BlockHeader, type ContractClassPublic, type ContractInstanceWithAddress, type ExecutablePrivateFunctionWithMembershipProof, type Fr, type PrivateLog, type UnconstrainedFunctionWithMembershipProof } from '@aztec/circuits.js';
|
|
3
|
-
import { type
|
|
3
|
+
import { type FunctionSelector } from '@aztec/foundation/abi';
|
|
4
4
|
import { type AztecAddress } from '@aztec/foundation/aztec-address';
|
|
5
5
|
import { type AztecKVStore } from '@aztec/kv-store';
|
|
6
6
|
import { type ArchiverDataStore, type ArchiverL1SynchPoint } from '../archiver_store.js';
|
|
@@ -14,9 +14,8 @@ export declare class KVArchiverDataStore implements ArchiverDataStore {
|
|
|
14
14
|
private db;
|
|
15
15
|
private functionNames;
|
|
16
16
|
constructor(db: AztecKVStore, logsMaxPageSize?: number);
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
addContractArtifact(address: AztecAddress, contract: ContractArtifact): Promise<void>;
|
|
17
|
+
getContractFunctionName(_address: AztecAddress, selector: FunctionSelector): Promise<string | undefined>;
|
|
18
|
+
registerContractFunctionName(_address: AztecAddress, names: Record<string, string>): Promise<void>;
|
|
20
19
|
getContractClass(id: Fr): Promise<ContractClassPublic | undefined>;
|
|
21
20
|
getContractClassIds(): Promise<Fr[]>;
|
|
22
21
|
getContractInstance(address: AztecAddress): Promise<ContractInstanceWithAddress | undefined>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kv_archiver_store.d.ts","sourceRoot":"","sources":["../../../src/archiver/kv_archiver_store/kv_archiver_store.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,0BAA0B,EAC/B,KAAK,OAAO,EACZ,KAAK,SAAS,EACd,KAAK,OAAO,EACZ,KAAK,SAAS,EACd,KAAK,MAAM,EACX,KAAK,SAAS,EACd,KAAK,aAAa,EACnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,mBAAmB,EACxB,KAAK,2BAA2B,EAChC,KAAK,4CAA4C,EACjD,KAAK,EAAE,EACP,KAAK,UAAU,EACf,KAAK,wCAAwC,EAC9C,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,KAAK,gBAAgB,EAAE,
|
|
1
|
+
{"version":3,"file":"kv_archiver_store.d.ts","sourceRoot":"","sources":["../../../src/archiver/kv_archiver_store/kv_archiver_store.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,7 @@
|
|
|
1
|
-
var _KVArchiverDataStore_blockStore, _KVArchiverDataStore_logStore, _KVArchiverDataStore_nullifierStore, _KVArchiverDataStore_messageStore, _KVArchiverDataStore_contractClassStore, _KVArchiverDataStore_contractInstanceStore,
|
|
1
|
+
var _KVArchiverDataStore_blockStore, _KVArchiverDataStore_logStore, _KVArchiverDataStore_nullifierStore, _KVArchiverDataStore_messageStore, _KVArchiverDataStore_contractClassStore, _KVArchiverDataStore_contractInstanceStore, _KVArchiverDataStore_log;
|
|
2
2
|
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
|
3
|
-
import { FunctionSelector } from '@aztec/foundation/abi';
|
|
4
3
|
import { createLogger } from '@aztec/foundation/log';
|
|
5
4
|
import { BlockStore } from './block_store.js';
|
|
6
|
-
import { ContractArtifactsStore } from './contract_artifacts_store.js';
|
|
7
5
|
import { ContractClassStore } from './contract_class_store.js';
|
|
8
6
|
import { ContractInstanceStore } from './contract_instance_store.js';
|
|
9
7
|
import { LogStore } from './log_store.js';
|
|
@@ -21,7 +19,6 @@ export class KVArchiverDataStore {
|
|
|
21
19
|
_KVArchiverDataStore_messageStore.set(this, void 0);
|
|
22
20
|
_KVArchiverDataStore_contractClassStore.set(this, void 0);
|
|
23
21
|
_KVArchiverDataStore_contractInstanceStore.set(this, void 0);
|
|
24
|
-
_KVArchiverDataStore_contractArtifactStore.set(this, void 0);
|
|
25
22
|
this.functionNames = new Map();
|
|
26
23
|
_KVArchiverDataStore_log.set(this, createLogger('archiver:data-store'));
|
|
27
24
|
__classPrivateFieldSet(this, _KVArchiverDataStore_blockStore, new BlockStore(db), "f");
|
|
@@ -29,24 +26,19 @@ export class KVArchiverDataStore {
|
|
|
29
26
|
__classPrivateFieldSet(this, _KVArchiverDataStore_messageStore, new MessageStore(db), "f");
|
|
30
27
|
__classPrivateFieldSet(this, _KVArchiverDataStore_contractClassStore, new ContractClassStore(db), "f");
|
|
31
28
|
__classPrivateFieldSet(this, _KVArchiverDataStore_contractInstanceStore, new ContractInstanceStore(db), "f");
|
|
32
|
-
__classPrivateFieldSet(this, _KVArchiverDataStore_contractArtifactStore, new ContractArtifactsStore(db), "f");
|
|
33
29
|
__classPrivateFieldSet(this, _KVArchiverDataStore_nullifierStore, new NullifierStore(db), "f");
|
|
34
30
|
}
|
|
35
|
-
getContractArtifact(address) {
|
|
36
|
-
return Promise.resolve(__classPrivateFieldGet(this, _KVArchiverDataStore_contractArtifactStore, "f").getContractArtifact(address));
|
|
37
|
-
}
|
|
38
31
|
// TODO: These function names are in memory only as they are for development/debugging. They require the full contract
|
|
39
32
|
// artifact supplied to the node out of band. This should be reviewed and potentially removed as part of
|
|
40
33
|
// the node api cleanup process.
|
|
41
|
-
getContractFunctionName(
|
|
34
|
+
getContractFunctionName(_address, selector) {
|
|
42
35
|
return Promise.resolve(this.functionNames.get(selector.toString()));
|
|
43
36
|
}
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
});
|
|
37
|
+
registerContractFunctionName(_address, names) {
|
|
38
|
+
for (const [selector, name] of Object.entries(names)) {
|
|
39
|
+
this.functionNames.set(selector, name);
|
|
40
|
+
}
|
|
41
|
+
return Promise.resolve();
|
|
50
42
|
}
|
|
51
43
|
getContractClass(id) {
|
|
52
44
|
return Promise.resolve(__classPrivateFieldGet(this, _KVArchiverDataStore_contractClassStore, "f").getContractClass(id));
|
|
@@ -295,5 +287,5 @@ export class KVArchiverDataStore {
|
|
|
295
287
|
return this.db.estimateSize();
|
|
296
288
|
}
|
|
297
289
|
}
|
|
298
|
-
_KVArchiverDataStore_blockStore = new WeakMap(), _KVArchiverDataStore_logStore = new WeakMap(), _KVArchiverDataStore_nullifierStore = new WeakMap(), _KVArchiverDataStore_messageStore = new WeakMap(), _KVArchiverDataStore_contractClassStore = new WeakMap(), _KVArchiverDataStore_contractInstanceStore = new WeakMap(),
|
|
299
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3ZfYXJjaGl2ZXJfc3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXJjaGl2ZXIva3ZfYXJjaGl2ZXJfc3RvcmUva3ZfYXJjaGl2ZXJfc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFtQkEsT0FBTyxFQUF5QixnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRWhGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQU1yRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDOUMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDdkUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDL0QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDckUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFdEQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sbUJBQW1CO0lBWTlCLFlBQW9CLEVBQWdCLEVBQUUsa0JBQTBCLElBQUk7UUFBaEQsT0FBRSxHQUFGLEVBQUUsQ0FBYztRQVhwQyxrREFBd0I7UUFDeEIsZ0RBQW9CO1FBQ3BCLHNEQUFnQztRQUNoQyxvREFBNEI7UUFDNUIsMERBQXdDO1FBQ3hDLDZEQUE4QztRQUM5Qyw2REFBK0M7UUFDdkMsa0JBQWEsR0FBRyxJQUFJLEdBQUcsRUFBa0IsQ0FBQztRQUVsRCxtQ0FBTyxZQUFZLENBQUMscUJBQXFCLENBQUMsRUFBQztRQUd6Qyx1QkFBQSxJQUFJLG1DQUFlLElBQUksVUFBVSxDQUFDLEVBQUUsQ0FBQyxNQUFBLENBQUM7UUFDdEMsdUJBQUEsSUFBSSxpQ0FBYSxJ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
|
|
290
|
+
_KVArchiverDataStore_blockStore = new WeakMap(), _KVArchiverDataStore_logStore = new WeakMap(), _KVArchiverDataStore_nullifierStore = new WeakMap(), _KVArchiverDataStore_messageStore = new WeakMap(), _KVArchiverDataStore_contractClassStore = new WeakMap(), _KVArchiverDataStore_contractInstanceStore = new WeakMap(), _KVArchiverDataStore_log = new WeakMap();
|
|
291
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3ZfYXJjaGl2ZXJfc3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXJjaGl2ZXIva3ZfYXJjaGl2ZXJfc3RvcmUva3ZfYXJjaGl2ZXJfc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFxQkEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBTXJELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMvRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUV0RDs7R0FFRztBQUNILE1BQU0sT0FBTyxtQkFBbUI7SUFXOUIsWUFBb0IsRUFBZ0IsRUFBRSxrQkFBMEIsSUFBSTtRQUFoRCxPQUFFLEdBQUYsRUFBRSxDQUFjO1FBVnBDLGtEQUF3QjtRQUN4QixnREFBb0I7UUFDcEIsc0RBQWdDO1FBQ2hDLG9EQUE0QjtRQUM1QiwwREFBd0M7UUFDeEMsNkRBQThDO1FBQ3RDLGtCQUFhLEdBQUcsSUFBSSxHQUFHLEVBQWtCLENBQUM7UUFFbEQsbUNBQU8sWUFBWSxDQUFDLHFCQUFxQixDQUFDLEVBQUM7UUFHekMsdUJBQUEsSUFBSSxtQ0FBZSxJQUFJLFVBQVUsQ0FBQyxFQUFFLENBQUMsTUFBQSxDQUFDO1FBQ3RDLHVCQUFBLElBQUksaUNBQWEsSUFBSSxRQUFRLENBQUMsRUFBRSxFQUFFLHVCQUFBLElBQUksdUNBQVksRUFBRSxlQUFlLENBQUMsTUFBQSxDQUFDO1FBQ3JFLHVCQUFBLElBQUkscUNBQWlCLElBQUksWUFBWSxDQUFD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
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type GetUnencryptedLogsResponse, type InBlock, type InboxLeaf, type L2Block, type LogFilter, type TxEffect, type TxHash, TxReceipt, TxScopedL2Log } from '@aztec/circuit-types';
|
|
2
2
|
import { type BlockHeader, type ContractClassPublic, type ContractInstanceWithAddress, type ExecutablePrivateFunctionWithMembershipProof, Fr, type PrivateLog, type UnconstrainedFunctionWithMembershipProof } from '@aztec/circuits.js';
|
|
3
|
-
import { type
|
|
3
|
+
import { type FunctionSelector } from '@aztec/foundation/abi';
|
|
4
4
|
import { type AztecAddress } from '@aztec/foundation/aztec-address';
|
|
5
5
|
import { type ArchiverDataStore, type ArchiverL1SynchPoint } from '../archiver_store.js';
|
|
6
6
|
import { type DataRetrieval } from '../structs/data_retrieval.js';
|
|
@@ -30,7 +30,6 @@ export declare class MemoryArchiverStore implements ArchiverDataStore {
|
|
|
30
30
|
* Contains all L1 to L2 messages.
|
|
31
31
|
*/
|
|
32
32
|
private l1ToL2Messages;
|
|
33
|
-
private contractArtifacts;
|
|
34
33
|
private contractClasses;
|
|
35
34
|
private bytecodeCommitments;
|
|
36
35
|
private privateFunctions;
|
|
@@ -40,6 +39,7 @@ export declare class MemoryArchiverStore implements ArchiverDataStore {
|
|
|
40
39
|
private lastL1BlockNewMessages;
|
|
41
40
|
private lastProvenL2BlockNumber;
|
|
42
41
|
private lastProvenL2EpochNumber;
|
|
42
|
+
private functionNames;
|
|
43
43
|
constructor(
|
|
44
44
|
/** The max number of logs that can be obtained in 1 "getUnencryptedLogs" call. */
|
|
45
45
|
maxLogs: number);
|
|
@@ -157,9 +157,8 @@ export declare class MemoryArchiverStore implements ArchiverDataStore {
|
|
|
157
157
|
setBlockSynchedL1BlockNumber(l1BlockNumber: bigint): Promise<void>;
|
|
158
158
|
setMessageSynchedL1BlockNumber(l1BlockNumber: bigint): Promise<void>;
|
|
159
159
|
getSynchPoint(): Promise<ArchiverL1SynchPoint>;
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
getContractFunctionName(address: AztecAddress, selector: FunctionSelector): Promise<string | undefined>;
|
|
160
|
+
getContractFunctionName(_address: AztecAddress, selector: FunctionSelector): Promise<string | undefined>;
|
|
161
|
+
registerContractFunctionName(_address: AztecAddress, names: Record<string, string>): Promise<void>;
|
|
163
162
|
estimateSize(): {
|
|
164
163
|
mappingSize: number;
|
|
165
164
|
actualSize: number;
|