UNPKG

@tevm/compiler

Version:
76 lines (69 loc) 2.62 kB
import { ResolvedCompilerConfig } from '@tevm/config'; import { ModuleInfo as ModuleInfo$1 } from '@tevm/resolutions'; import { SolcContractOutput, SolcOutput, SolcInputDescription } from '@tevm/solc'; import { Node } from 'solidity-ast/node.js'; type ResolvedArtifacts$1 = { artifacts: Artifacts$1; modules: Record<string, ModuleInfo$1>; asts?: Record<string, Node> | undefined; solcInput?: SolcInputDescription | undefined; solcOutput?: SolcOutput | undefined; }; type ResolveArtifacts = (solFile: string, basedir: string, logger: Logger$1, config: ResolvedCompilerConfig, includeAst: boolean, includeBytecode: boolean, fao: FileAccessObject$1, solc: any) => Promise<ResolvedArtifacts$1>; type ResolveArtifactsSync = (solFile: string, basedir: string, logger: Logger$1, config: ResolvedCompilerConfig, includeAst: boolean, includeBytecode: boolean, fao: FileAccessObject$1, solc: any) => ResolvedArtifacts$1; type FileAccessObject$1 = { readFile: (path: string, encoding: BufferEncoding) => Promise<string>; readFileSync: (path: string, encoding: BufferEncoding) => string; existsSync: (path: string) => boolean; exists: (path: string) => Promise<boolean>; }; type Logger$1 = { info: (...messages: string[]) => void; error: (...message: string[]) => void; warn: (...message: string[]) => void; log: (...message: string[]) => void; }; type CompiledContracts$1<TIncludeAsts extends boolean = boolean> = { artifacts: SolcOutput['contracts'][string] | undefined; modules: Record<string, ModuleInfo$1>; asts: TIncludeAsts extends true ? Record<string, Node> : undefined; solcInput?: SolcInputDescription; solcOutput?: SolcOutput; }; type Artifacts$1 = Record<string, Pick<SolcContractOutput, 'abi' | 'userdoc' | 'evm'> & { contractName: string; }>; /** * Resolves artifacts with solc asyncronously * @type {import('./types.js').ResolveArtifacts} */ declare const resolveArtifacts: ResolveArtifacts; /** * @type {import('./types.js').ResolveArtifactsSync} */ declare const resolveArtifactsSync: ResolveArtifactsSync; /** * ./types.ts */ type Artifacts = Artifacts$1; /** * ./types.ts */ type CompiledContracts = CompiledContracts$1; /** * ./types.ts */ type FileAccessObject = FileAccessObject$1; /** * ./types.ts */ type Logger = Logger$1; /** * ./types.ts */ type ModuleInfo = ModuleInfo$1; /** * ./types.ts */ type ResolvedArtifacts = ResolvedArtifacts$1; export { type Artifacts, type CompiledContracts, type FileAccessObject, type Logger, type ModuleInfo, type ResolvedArtifacts, resolveArtifacts, resolveArtifactsSync };