filfox-verifier
Version:
CLI tool for verifying smart contracts on Filfox from foundry and hardhat projects
79 lines • 2.17 kB
TypeScript
/**
* Represents a Solidity source file with its content
*/
interface SourceFile {
content: string;
}
/**
* Request structure for Filfox contract verification
*/
export interface VerificationRequest {
address: string;
language: string;
compiler: string;
optimize: boolean;
optimizeRuns: number;
sourceFiles: Record<string, SourceFile>;
license: string;
evmVersion: string;
viaIR: boolean;
libraries: string;
metadata: any;
optimizerDetails: string;
}
/**
* Simplified Filfox verifier with efficient import resolution
*
* This implementation recursively discovers only the necessary imports,
* reducing payload size and preventing verification failures due to
* redundant files.
*/
export declare class FilfoxVerifier {
private static readonly FILFOX_NETWORKS;
private baseUrl;
private chainId;
constructor(chainId: number);
/**
* Verifies a contract on Filfox with optimized source file resolution
*/
verify(request: VerificationRequest): Promise<any>;
/**
* Parses remapping strings into structured format
*/
private parseRemappings;
/**
* Creates remapped source files based on remapping rules
*/
private createRemappedSourceFiles;
/**
* Recursively resolves only the necessary imports for compilation
* This is the core optimization that reduces redundant files
*/
private resolveNecessaryImports;
/**
* Extracts import statements from Solidity source code
*/
private extractImports;
/**
* Resolves an import path to the actual file path using compiler logic
*/
private resolveImportPath;
/**
* Resolves relative imports based on current file context
*/
private resolveRelativeImport;
/**
* Resolves imports using remapping rules
*/
private resolveRemappedImport;
/**
* Checks if import path context matches the available file path
*/
private pathContextMatches;
/**
* Ensures compiler version has 'v' prefix
*/
private normalizeCompilerVersion;
}
export {};
//# sourceMappingURL=filfox-verifier.d.ts.map