UNPKG

chronik-cache

Version:

A cache helper for chronik-client

71 lines (70 loc) 2.63 kB
import { ChronikCacheConfig, HistoryResponse, CacheMetadata, CacheStatistics, ChronikClientInterface } from './types'; declare class ChronikCache { private chronik; private maxTxLimit; private defaultPageSize; private cacheDir; private maxCacheSize; private enableLogging; private logger; db: any; private statusMap; wsManager: any; private updateLocks; private scriptToAddressMap; private failover; private tokenStatusMap; private tokenUpdateLocks; globalMetadataCache: Map<string, CacheMetadata>; globalMetadataCacheLimit: number; updateQueue: any; txUpdateQueue: any; private addressMemoryCache; private tokenMemoryCache; private stats; private debounceTimers; private memoryCacheCleanupInterval?; constructor(chronik: ChronikClientInterface, config?: ChronikCacheConfig); private _debounce; private _readCache; private _writeCache; private _updateGlobalMetadata; _getGlobalMetadata(identifier: string, isToken?: boolean): Promise<CacheMetadata | null>; private _initWebsocketForAddress; private _initWebsocketForToken; private _getCacheStatus; private _setCacheStatus; private _isUpdating; private _checkTxLimit; private _checkAndUpdateCache; private _updateCache; private _convertScriptToAddress; script(type: string, hash: string): { history: (pageOffset?: number, pageSize?: number) => Promise<HistoryResponse>; }; clearAddressCache(address: string): Promise<void>; clearAllCache(): Promise<void>; getAddressHistory(address: string, pageOffset?: number, pageSize?: number): Promise<HistoryResponse>; private _getPageFromCache; address(address: string): { history: (pageOffset?: number, pageSize?: number) => Promise<HistoryResponse>; }; private _checkAndUpdateTokenCache; private _updateTokenCache; getTokenHistory(tokenId: string, pageOffset?: number, pageSize?: number): Promise<HistoryResponse>; tokenId(tokenId: string): { history: (pageOffset?: number, pageSize?: number) => Promise<HistoryResponse>; }; private _quickGetTxCount; clearTokenCache(tokenId: string): Promise<void>; private _updateUnconfirmedTx; private _updatePageUnconfirmedTxs; private _getTokenPageFromCache; private _maintainGlobalMetadataCacheLimit; getCacheStatus(identifier: string, isToken?: boolean): string; getStatistics(): Promise<CacheStatistics>; private _resetMemoryCache; private _startMemoryCacheExpirationCheckTimer; destroy(): void; } export = ChronikCache;