UNPKG

dop-stick

Version:

Source control tooling for versionable-upgradeable smart contracts

106 lines 2.79 kB
import { EventFragment, FunctionFragment } from '@ethersproject/abi'; export interface FunctionInfo { name: string; signature: string; fragment: FunctionFragment; } export interface ContractInfo { name: string; abi: any; selectors: Set<string>; functions: Map<string, FunctionInfo>; events: Map<string, EventFragment>; } export interface FunctionMetadata { name: string; selector: string; signature: string; fragment: FunctionFragment; params: { name: string; type: string; indexed?: boolean; }[]; returns: { type: string; name?: string; }[]; stateMutability: 'pure' | 'view' | 'nonpayable' | 'payable'; visibility: 'external' | 'public' | 'internal' | 'private'; facetAddress: string; } export interface FunctionParameter { name: string; type: string; indexed?: boolean; components?: FunctionParameter[]; } export interface EnhancedFunctionInfo extends FunctionInfo { fullName: string; selector: string; inputs: FunctionParameter[]; outputs: FunctionParameter[]; mutability: 'pure' | 'view' | 'nonpayable' | 'payable'; visibility: 'external' | 'public' | 'internal' | 'private'; } export interface FacetEvent { name: string; signature: string; inputs: FunctionParameter[]; anonymous: boolean; fragment: EventFragment; } export interface FacetInfo extends ContractInfo { path: string; enhancedFunctions: Map<string, EnhancedFunctionInfo>; enhancedEvents: Map<string, FacetEvent>; } export interface ProcessedContract { facetInfo: FacetInfo; timestamp: number; metadata: { lastProcessed: Date; version: string; functionCount: number; eventCount: number; }; } export declare class TypechainProcessorError extends Error { readonly code: string; constructor(message: string, code: string); } export interface TypechainContractInfo { name: string; path: string; functions: { [selector: string]: EnhancedFunctionInfo; }; } export interface CacheEntry { data: FacetInfo; timestamp: number; version: string; } export interface CacheMetadata { lastUpdate: Date; version: string; entries: number; } export interface SelectorMapping { facetName: string; functionInfo: EnhancedFunctionInfo; } export interface OptimizedLookup { selectorToFacet: Map<string, SelectorMapping>; facetToSelectors: Map<string, Set<string>>; metadata: CacheMetadata; } export interface FunctionSelectorInfo { facetName: string; functionInfo: EnhancedFunctionInfo; } export type MapToObject<T> = { [key: string]: T; }; export type ObjectToMap<T> = Map<string, T>; //# sourceMappingURL=types.d.ts.map