import { Chain } from '../../../../sdk'; import { InsertHeaderResult, ChaintracksStorageBaseOptions, ChaintracksStorageIngestApi, ChaintracksStorageQueryApi } from '../Api/ChaintracksStorageApi'; import { BaseBlockHeader, BlockHeader, LiveBlockHeader } from '../Api/BlockHeaderApi'; import { HeightRange } from '../util/HeightRange'; import { BulkFileDataManager } from '../util/BulkFileDataManager'; /** * Required interface methods of a Chaintracks Storage Engine implementation. */ export declare abstract class ChaintracksStorageBase implements ChaintracksStorageQueryApi, ChaintracksStorageIngestApi { static createStorageBaseOptions(chain: Chain): ChaintracksStorageBaseOptions; log: (...args: any[]) => void; chain: Chain; liveHeightThreshold: number; reorgHeightThreshold: number; bulkMigrationChunkSize: number; batchInsertLimit: number; isAvailable: boolean; hasMigrated: boolean; bulkManager: BulkFileDataManager; constructor(options: ChaintracksStorageBaseOptions); shutdown(): Promise; makeAvailable(): Promise; migrateLatest(): Promise; dropAllData(): Promise; abstract deleteLiveBlockHeaders(): Promise; abstract deleteOlderLiveBlockHeaders(maxHeight: number): Promise; abstract findChainTipHeader(): Promise; abstract findChainTipHeaderOrUndefined(): Promise; abstract findLiveHeaderForBlockHash(hash: string): Promise; abstract findLiveHeaderForHeaderId(headerId: number): Promise; abstract findLiveHeaderForHeight(height: number): Promise; abstract findLiveHeaderForMerkleRoot(merkleRoot: string): Promise; abstract findLiveHeightRange(): Promise; abstract findMaxHeaderId(): Promise; abstract liveHeadersForBulk(count: number): Promise; abstract getLiveHeaders(range: HeightRange): Promise; /** * @param header Header to attempt to add to live storage. * @returns details of conditions found attempting to insert header */ abstract insertHeader(header: BlockHeader): Promise; abstract destroy(): Promise; getBulkHeaders(range: HeightRange): Promise; getHeadersUint8Array(height: number, count: number): Promise; getHeaders(height: number, count: number): Promise; deleteBulkBlockHeaders(): Promise; getAvailableHeightRanges(): Promise<{ bulk: HeightRange; live: HeightRange; }>; private lastActiveMinHeight; pruneLiveBlockHeaders(activeTipHeight: number): Promise; findChainTipHash(): Promise; findChainTipWork(): Promise; findChainWorkForBlockHash(hash: string): Promise; findBulkFilesHeaderForHeightOrUndefined(height: number): Promise; findHeaderForHeightOrUndefined(height: number): Promise; findHeaderForHeight(height: number): Promise; isMerkleRootActive(merkleRoot: string): Promise; findCommonAncestor(header1: LiveBlockHeader, header2: LiveBlockHeader): Promise; findReorgDepth(header1: LiveBlockHeader, header2: LiveBlockHeader): Promise; private nowMigratingLiveToBulk; migrateLiveToBulk(count: number, ignoreLimits?: boolean): Promise; addBulkHeaders(headers: BlockHeader[], bulkRange: HeightRange, priorLiveHeaders: BlockHeader[]): Promise; private addBulkHeadersFromBestChain; private addLiveHeadersToBulk; } //# sourceMappingURL=ChaintracksStorageBase.d.ts.map