mirror of
https://github.com/pezkuwichain/revive.git
synced 2026-04-22 17:18:01 +00:00
Move @parity/resolc from js-revive (#296)
- Move npm package from paritytech/js-revive - Rename package to `@parity/resolc`
This commit is contained in:
+1
@@ -0,0 +1 @@
|
||||
../../../../target/wasm32-unknown-emscripten/release/resolc.js
|
||||
+1
@@ -0,0 +1 @@
|
||||
../../../../target/wasm32-unknown-emscripten/release/resolc.wasm
|
||||
@@ -0,0 +1,32 @@
|
||||
const soljson = require("solc/soljson");
|
||||
const createRevive = require("./resolc.js");
|
||||
|
||||
async function compile(standardJsonInput) {
|
||||
if (!standardJsonInput) {
|
||||
throw new Error("Input JSON for the Solidity compiler is required.");
|
||||
}
|
||||
|
||||
// Initialize the compiler
|
||||
const compiler = createRevive();
|
||||
compiler.soljson = soljson;
|
||||
|
||||
// Provide input to the compiler
|
||||
compiler.writeToStdin(JSON.stringify(standardJsonInput));
|
||||
|
||||
// Run the compiler
|
||||
compiler.callMain(["--standard-json"]);
|
||||
|
||||
// Collect output
|
||||
const stdout = compiler.readFromStdout();
|
||||
const stderr = compiler.readFromStderr();
|
||||
|
||||
// Check for errors and throw if stderr exists
|
||||
if (stderr) {
|
||||
throw new Error(`Compilation failed: ${stderr}`);
|
||||
}
|
||||
|
||||
// Return the output if no errors
|
||||
return stdout;
|
||||
}
|
||||
|
||||
module.exports = { compile };
|
||||
@@ -0,0 +1,38 @@
|
||||
const { compile } = require("./revive.js");
|
||||
|
||||
const compilerStandardJsonInput = {
|
||||
language: "Solidity",
|
||||
sources: {
|
||||
"MyContract.sol": {
|
||||
content: `
|
||||
// SPDX-License-Identifier: UNLICENSED
|
||||
pragma solidity ^0.8.0;
|
||||
contract MyContract {
|
||||
function greet() public pure returns (string memory) {
|
||||
return "Hello";
|
||||
}
|
||||
}
|
||||
`,
|
||||
},
|
||||
},
|
||||
settings: {
|
||||
optimizer: {
|
||||
enabled: true,
|
||||
runs: 200,
|
||||
},
|
||||
outputSelection: {
|
||||
"*": {
|
||||
"*": ["abi"],
|
||||
},
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
async function runCompiler() {
|
||||
let output = await compile(compilerStandardJsonInput);
|
||||
console.log("Output: " + output);
|
||||
}
|
||||
|
||||
runCompiler().catch((err) => {
|
||||
console.error("Error:", err);
|
||||
});
|
||||
Reference in New Issue
Block a user