dop-stick
Version:
Source control tooling for versionable-upgradeable smart contracts
47 lines • 1.46 kB
TypeScript
import { EventFragment } from '@ethersproject/abi';
import { ProcessedContract, OptimizedLookup } from '../info-processors/types';
interface CacheData {
version: string;
timestamp: number;
lookup: OptimizedLookup;
facets: Map<string, ProcessedContract>;
events: {
cache: Map<string, Map<string, EventFragment>>;
timestamps: Map<string, number>;
};
}
export declare class AbiCache {
private static instance;
private readonly cacheDir;
private readonly cacheFile;
private cache;
private isDirty;
private savePromise;
private static readonly SAVE_DEBOUNCE;
private static readonly VERSION;
private constructor();
static getInstance(): AbiCache;
private ensureCacheDirectory;
private validateSerializedCache;
load(): Promise<CacheData | null>;
save(data: CacheData): Promise<void>;
private deserializeFunctionInfo;
private deserializeParameters;
private deserializeFacetInfo;
private deserializeEventFragment;
private deserializeEventInfo;
private mapToObject;
private validateCache;
private validateLookup;
private validateFacets;
clear(): Promise<void>;
maintain(): Promise<void>;
private optimizeCache;
getCacheStats(): Promise<Record<string, any>>;
private arrayToSet;
private setToArray;
private serializeLookup;
private serializeFacetInfo;
}
export {};
//# sourceMappingURL=abi-cache.d.ts.map