@ethereum-sourcify/compilers
v1.0.15
Published
Wrapper around multiple compilers to download the right version and invoke the compilation with a common interface.
Downloads
304
Readme
compilers
Wrapper around multiple compilers to download the right version and invoke the compilation with a common interface.
Install
npm i @ethereum-sourcify/compilersUsage
import {
SolidityOutput,
ISolidityCompiler,
JsonInput,
} from '@ethereum-sourcify/lib-sourcify';
import { useSolidityCompiler } from '@ethereum-sourcify/compilers';
class SolcLocal implements ISolidityCompiler {
constructor(
private solcRepoPath: string,
private solJsonRepoPath: string,
) {}
async compile(
version: string,
solcJsonInput: JsonInput,
forceEmscripten: boolean = false,
): Promise<SolidityOutput> {
return await useSolidityCompiler(
this.solcRepoPath,
this.solJsonRepoPath,
version,
solcJsonInput,
forceEmscripten,
);
}
}The SolcLocal class can then be used as the solidityCompiler argument of the constructor of SolidityCheckedContract.
Vyper follows the same pattern.
