Add tests for the Revive WASM version (#147)

This commit is contained in:
Sebastian Miasojed
2025-01-10 09:12:43 +01:00
committed by GitHub
parent f49d145e9a
commit d7d60da6f1
7 changed files with 199 additions and 18 deletions
+32
View File
@@ -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 };