UNPKG

dop-stick

Version:

Source control tooling for versionable-upgradeable smart contracts

82 lines 3.66 kB
import { Interface, EventFragment } from '@ethersproject/abi'; import { FacetInfo, FacetEvent, TypechainContractInfo, FunctionSelectorInfo } from './types'; export declare class TypechainProcessor { private static instance; private optimizedLookup; private facetsCache; private factoryMap; private abiCache; private initialized; private initializationPromise; private readonly enableCache; private readonly typechainPath; private eventHandlers; private selectorLookupCache; private static readonly VERSION; private static readonly CACHE_DURATION; private static readonly ABI_PATTERNS; private static readonly CONCURRENCY_LIMIT; private static readonly FACTORY_PATTERN; private eventCache; private static readonly EVENT_CACHE_DURATION; private eventCacheTimestamps; private constructor(); static getInstance(typechainPath?: string, enableCache?: boolean): TypechainProcessor; private ensureInitialized; initialize(): Promise<void>; private loadFactoryMappings; private findTypechainFiles; getFactoryInfo(contractName: string): Promise<string | null>; listFactories(): Promise<Map<string, string>>; private buildOptimizedLookup; private updateLookupStructures; private processFacet; private cleanContractName; private extractAndCleanAbi; private findCompleteJsonStructure; private validateAndCleanAbi; private processContractFunctions; private processContractEvents; findContractBySelectors(selectors: string[]): Promise<TypechainContractInfo | null>; private createContractInfo; private processParameters; private cleanAbiString; private getCachedData; batchProcessSelectors(selectorsBatch: string[][]): Promise<(TypechainContractInfo | null)[]>; getContractInfo(contractName: string): Promise<FacetInfo | null>; getPerformanceMetrics(): Record<string, number>; clearCache(): void; private validateAndNormalizeAbi; private validateFunctionAbi; private validateEventAbi; private recoverFromError; subscribeToEvents(contractName: string, eventNames: string[], callback: (event: FacetEvent, data: any) => void): Promise<boolean>; getFacetInterfaces(): Promise<Map<string, Interface>>; getFunctionsBySelector(selector: string): Promise<FunctionSelectorInfo | null>; getFacetSelectors(facetName: string): Promise<Set<string> | null>; validateSelector(selector: string): Promise<boolean>; getDiagnostics(): Promise<Record<string, any>>; private saveToCache; private loadFromCache; private rebuildIndexes; reloadContract(contractName: string): Promise<boolean>; private warmupSelectorCache; private performCacheMaintenance; private convertFunctionsToMap; private convertEventsToMap; private convertMapToObject; registerEventHandler(contractName: string, eventNames: string[], callback: (event: FacetEvent, data: any) => void): Promise<boolean>; removeEventHandler(eventSignature: string): boolean; clearEventHandlers(): void; handleEvent(eventSignature: string, eventData: any): Promise<void>; private findEventBySignature; getRegisteredEventSignatures(): string[]; hasEventHandler(eventSignature: string): boolean; maintainCache(): Promise<void>; getCacheStats(): Promise<Record<string, any>>; getEventsByAddress(address: string): Promise<Map<string, EventFragment>>; private extractContractNameFromPath; getEventsByFacetName(facetName: string): Promise<Map<string, EventFragment>>; private cleanEventCache; } //# sourceMappingURL=typechain-processor.d.ts.map