UNPKG

@truffle/compile-solidity

Version:
43 lines 1.37 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.NoNativeError = exports.Native = void 0; const { execSync } = require("child_process"); const { normalizeSolcVersion } = require("../normalizeSolcVersion"); const { NoVersionError } = require("../errors"); class Native { load() { const versionString = this.validateAndGetSolcVersion(); const command = "solc --standard-json"; const maxBuffer = 1024 * 1024 * 50; try { return { compile: options => String(execSync(command, { input: options, maxBuffer })), version: () => versionString }; } catch (error) { if (error.message === "No matching version found") { throw new NoVersionError(versionString); } throw error; } } validateAndGetSolcVersion() { let version; try { version = execSync("solc --version"); } catch (error) { throw new NoNativeError(error); } return normalizeSolcVersion(version); } } exports.Native = Native; class NoNativeError extends Error { constructor(error) { super("Could not execute local solc binary: " + error); } } exports.NoNativeError = NoNativeError; //# sourceMappingURL=Native.js.map