mirror of
https://github.com/pezkuwichain/revive.git
synced 2026-10-20 18:56:17 +00:00
Cleanup
This commit is contained in:
11 files changed
+56
-186
No files matched your search
+1
-1
@@ -14,4 +14,4 @@ artifacts
|
||||
tmp
|
||||
package-lock.json
|
||||
/*.html
|
||||
/build
|
||||
/js/resolc.*
|
||||
+2
-2
@@ -10,7 +10,7 @@ mkdir -p ${INSTALL_DIR}
|
||||
# Build LLVM, clang
|
||||
LLVM_SRC_PREFIX=${PWD}/llvm-project
|
||||
LLVM_SRC_DIR=${LLVM_SRC_PREFIX}/llvm
|
||||
LLVM_BUILD_DIR=${PWD}/build/llvm
|
||||
LLVM_BUILD_DIR=${LLVM_SRC_PREFIX}/build/llvm
|
||||
if [ ! -d ${LLVM_BUILD_DIR} ] ; then
|
||||
mkdir -p ${LLVM_BUILD_DIR}
|
||||
fi
|
||||
@@ -33,7 +33,7 @@ cmake --install ${LLVM_BUILD_DIR}
|
||||
|
||||
# Build compiler builtins
|
||||
COMPILER_RT_SRC_DIR=${LLVM_SRC_PREFIX}/compiler-rt
|
||||
COMPILER_RT_BUILD_DIR=${PWD}/build/compiler-rt
|
||||
COMPILER_RT_BUILD_DIR=${LLVM_SRC_PREFIX}/build/compiler-rt
|
||||
if [ ! -d ${COMPILER_RT_BUILD_DIR} ] ; then
|
||||
mkdir -p ${COMPILER_RT_BUILD_DIR}
|
||||
fi
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"name": "revive",
|
||||
"version": "1.0.0",
|
||||
"description": "Revive compiler",
|
||||
"main": "run_revive.js",
|
||||
"type": "module",
|
||||
"dependencies": {
|
||||
"deasync": "^0.1.15",
|
||||
"solc": "^0.8.28"
|
||||
},
|
||||
"scripts": {
|
||||
"init": "cp -r ../target/wasm32-unknown-emscripten/release/resolc.{js,wasm} .",
|
||||
"test": "npm run init && node run_revive.js"
|
||||
}
|
||||
}
|
||||
@@ -1,16 +0,0 @@
|
||||
|
||||
var Module = (() => {
|
||||
var _scriptName = import.meta.url;
|
||||
|
||||
return (
|
||||
async function(moduleArg = {}) {
|
||||
var moduleRtn;
|
||||
|
||||
var Module=moduleArg;var readyPromiseResolve,readyPromiseReject;var readyPromise=new Promise((resolve,reject)=>{readyPromiseResolve=resolve;readyPromiseReject=reject});var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof importScripts=="function";var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";if(ENVIRONMENT_IS_NODE){const{createRequire:createRequire}=await import("module");var require=createRequire(import.meta.url)}var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var readAsync,readBinary;if(ENVIRONMENT_IS_NODE){var fs=require("fs");var nodePath=require("path");scriptDirectory=require("url").fileURLToPath(new URL("./",import.meta.url));readBinary=filename=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);var ret=fs.readFileSync(filename);return ret};readAsync=(filename,binary=true)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);return new Promise((resolve,reject)=>{fs.readFile(filename,binary?undefined:"utf8",(err,data)=>{if(err)reject(err);else resolve(binary?data.buffer:data)})})};if(!Module["thisProgram"]&&process.argv.length>1){thisProgram=process.argv[1].replace(/\\/g,"/")}arguments_=process.argv.slice(2);quit_=(status,toThrow)=>{process.exitCode=status;throw toThrow}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptName){scriptDirectory=_scriptName}if(scriptDirectory.startsWith("blob:")){scriptDirectory=""}else{scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}{if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=url=>{if(isFileURI(url)){return new Promise((reject,resolve)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){resolve(xhr.response)}reject(xhr.status)};xhr.onerror=reject;xhr.send(null)})}return fetch(url,{credentials:"same-origin"}).then(response=>{if(response.ok){return response.arrayBuffer()}return Promise.reject(new Error(response.status+" : "+response.url))})}}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.error.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var wasmMemory;var ABORT=false;var EXITSTATUS;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateMemoryViews(){var b=wasmMemory.buffer;Module["HEAP8"]=HEAP8=new Int8Array(b);Module["HEAP16"]=HEAP16=new Int16Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);Module["HEAPU16"]=HEAPU16=new Uint16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);Module["HEAPU32"]=HEAPU32=new Uint32Array(b);Module["HEAPF32"]=HEAPF32=new Float32Array(b);Module["HEAPF64"]=HEAPF64=new Float64Array(b)}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();FS.ignorePermissions=false;TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){___funcs_on_exit();callRuntimeCallbacks(__ATEXIT__);FS.quit();TTY.shutdown();runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;Module["monitorRunDependencies"]?.(runDependencies)}function removeRunDependency(id){runDependencies--;Module["monitorRunDependencies"]?.(runDependenciLine truncated
|
||||
|
||||
|
||||
return moduleRtn;
|
||||
}
|
||||
);
|
||||
})();
|
||||
export default Module;
|
||||
Binary file not shown.
@@ -0,0 +1,29 @@
|
||||
import { createRequire } from 'module';
|
||||
const require = createRequire(import.meta.url);
|
||||
import solc from 'solc';
|
||||
|
||||
// Import the Emscripten module
|
||||
import ModuleFactory from './resolc.js';
|
||||
|
||||
async function runCompiler() {
|
||||
const Module = await ModuleFactory();
|
||||
Module.solc = solc;
|
||||
|
||||
// Create input Solidity source code
|
||||
const input = `
|
||||
// SPDX-License-Identifier: MIT
|
||||
pragma solidity ^0.8;
|
||||
contract Baseline {
|
||||
function baseline() public payable {}
|
||||
}`;
|
||||
|
||||
// Write the input Solidity code to the Emscripten file system
|
||||
Module.FS.writeFile('./input.sol', input);
|
||||
|
||||
// Compile the Solidity source code
|
||||
Module.callMain(['./input.sol', '-O3','--bin']);
|
||||
}
|
||||
|
||||
runCompiler().catch(err => {
|
||||
console.error('Error:', err);
|
||||
});
|
||||
@@ -1,49 +0,0 @@
|
||||
import { readFileSync } from 'fs';
|
||||
import { fileURLToPath } from 'url';
|
||||
import path from 'path';
|
||||
import vm from 'vm';
|
||||
import { createRequire } from 'module';
|
||||
const require = createRequire(import.meta.url);
|
||||
|
||||
// Import the Emscripten module
|
||||
import ModuleFactory from './resolc.mjs';
|
||||
|
||||
async function initializeSolc() {
|
||||
// Load soljson.js
|
||||
const soljsonPath = path.join('./', 'soljson.js');
|
||||
const soljsonCode = readFileSync(soljsonPath, 'utf8');
|
||||
|
||||
// Create a new VM context and run soljson.js in it
|
||||
const soljsonContext = { Module: {} };
|
||||
vm.createContext(soljsonContext); // Create a new context
|
||||
vm.runInContext(soljsonCode, soljsonContext); // Execute soljson.js in the new context
|
||||
|
||||
// Return the initialized soljson module
|
||||
return soljsonContext.Module;
|
||||
}
|
||||
|
||||
async function runCompiler() {
|
||||
const soljson = await initializeSolc();
|
||||
const Module = await ModuleFactory();
|
||||
|
||||
// Expose soljson in the Module context
|
||||
Module.soljson = soljson;
|
||||
|
||||
// Create input Solidity source code
|
||||
const input = `
|
||||
// SPDX-License-Identifier: MIT
|
||||
pragma solidity ^0.8;
|
||||
contract Baseline {
|
||||
function baseline() public payable {}
|
||||
}`;
|
||||
|
||||
// Write the input Solidity code to the Emscripten file system
|
||||
Module.FS.writeFile('./input.sol', input);
|
||||
|
||||
// Compile the Solidity source code
|
||||
Module.callMain(['./input.sol', '-O3','--bin']);
|
||||
}
|
||||
|
||||
runCompiler().catch(err => {
|
||||
console.error('Error:', err);
|
||||
});
|
||||
-111
@@ -1,111 +0,0 @@
|
||||
var Module = Module || {}; Module["wasmBinary"] = (function(source, uncompressedSize) {function base64DecToArr (sBase64) {
|
||||
function b64ToUint6 (nChr) {
|
||||
|
||||
return nChr > 64 && nChr < 91 ?
|
||||
nChr - 65
|
||||
: nChr > 96 && nChr < 123 ?
|
||||
nChr - 71
|
||||
: nChr > 47 && nChr < 58 ?
|
||||
nChr + 4
|
||||
: nChr === 43 ?
|
||||
62
|
||||
: nChr === 47 ?
|
||||
63
|
||||
:
|
||||
0;
|
||||
|
||||
}
|
||||
|
||||
var
|
||||
nInLen = sBase64.length,
|
||||
nOutLen = nInLen * 3 + 1 >> 2, taBytes = new Uint8Array(nOutLen);
|
||||
|
||||
for (var nMod3, nMod4, nUint24 = 0, nOutIdx = 0, nInIdx = 0; nInIdx < nInLen; nInIdx++) {
|
||||
nMod4 = nInIdx & 3;
|
||||
nUint24 |= b64ToUint6(sBase64.charCodeAt(nInIdx)) << 6 * (3 - nMod4);
|
||||
if (nMod4 === 3 || nInLen - nInIdx === 1) {
|
||||
for (nMod3 = 0; nMod3 < 3 && nOutIdx < nOutLen; nMod3++, nOutIdx++) {
|
||||
taBytes[nOutIdx] = nUint24 >>> (16 >>> nMod3 & 24) & 255;
|
||||
}
|
||||
nUint24 = 0;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
return taBytes;
|
||||
}
|
||||
function uncompress(source, uncompressedSize) {
|
||||
function uncompressBlock (input, output, sIdx, eIdx) {
|
||||
sIdx = sIdx || 0
|
||||
eIdx = eIdx || (input.length - sIdx)
|
||||
|
||||
for (var i = sIdx, n = eIdx, j = 0; i < n;) {
|
||||
var token = input[i++]
|
||||
|
||||
|
||||
var literals_length = (token >> 4)
|
||||
if (literals_length > 0) {
|
||||
|
||||
var l = literals_length + 240
|
||||
while (l === 255) {
|
||||
l = input[i++]
|
||||
literals_length += l
|
||||
}
|
||||
|
||||
|
||||
var end = i + literals_length
|
||||
while (i < end) output[j++] = input[i++]
|
||||
|
||||
|
||||
if (i === n) return j
|
||||
}
|
||||
|
||||
|
||||
|
||||
var offset = input[i++] | (input[i++] << 8)
|
||||
|
||||
|
||||
if (offset === 0) return j
|
||||
if (offset > j) return -(i-2)
|
||||
|
||||
|
||||
var match_length = (token & 0xf)
|
||||
var l = match_length + 240
|
||||
while (l === 255) {
|
||||
l = input[i++]
|
||||
match_length += l
|
||||
}
|
||||
|
||||
var pos = j - offset
|
||||
var end = j + match_length + 4
|
||||
while (j < end) output[j++] = output[pos++]
|
||||
}
|
||||
|
||||
return j
|
||||
}
|
||||
var result = new ArrayBuffer(uncompressedSize);
|
||||
var sourceIndex = 0;
|
||||
var destIndex = 0;
|
||||
var blockSize;
|
||||
while((blockSize = (source[sourceIndex] | (source[sourceIndex + 1] << 8) | (source[sourceIndex + 2] << 16) | (source[sourceIndex + 3] << 24))) > 0)
|
||||
{
|
||||
sourceIndex += 4;
|
||||
if (blockSize & 0x80000000)
|
||||
{
|
||||
blockSize &= 0x7FFFFFFFF;
|
||||
for (var i = 0; i < blockSize; i++) {
|
||||
result[destIndex++] = source[sourceIndex++];
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
destIndex += uncompressBlock(source, new Uint8Array(result, destIndex, uncompressedSize - destIndex), sourceIndex, sourceIndex + blockSize);
|
||||
sourceIndex += blockSize;
|
||||
}
|
||||
}
|
||||
return new Uint8Array(result, 0, uncompressedSize);
|
||||
}
|
||||
return uncompress(base64DecToArr(source), uncompressedSize);})(
|
||||
"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 truncated
|
||||
21094643);var Module=typeof Module!="undefined"?Module:{};var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof importScripts=="function";var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;function logExceptionOnExit(e){if(e instanceof ExitStatus)return;let toLog=e;err("exiting due to exception: "+toLog)}var fs;var nodePath;var requireNodeFS;if(ENVIRONMENT_IS_NODE){if(ENVIRONMENT_IS_WORKER){scriptDirectory=require("path").dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}requireNodeFS=()=>{if(!nodePath){fs=require("fs");nodePath=require("path")}};read_=function shell_read(filename,binary){requireNodeFS();filename=nodePath["normalize"](filename);return fs.readFileSync(filename,binary?undefined:"utf8")};readBinary=filename=>{var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}return ret};readAsync=(filename,onload,onerror)=>{requireNodeFS();filename=nodePath["normalize"](filename);fs.readFile(filename,function(err,data){if(err)onerror(err);else onload(data.buffer)})};if(process["argv"].length>1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!="undefined"){module["exports"]=Module}process["on"]("unhandledRejection",function(reason){throw reason});quit_=(status,toThrow)=>{if(keepRuntimeAlive()){process["exitCode"]=status;throw toThrow}logExceptionOnExit(toThrow);process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=(url,onload,onerror)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=title=>document.title=title}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime=Module["noExitRuntime"]||true;if(typeof WebAssembly!="object"){abort("no native wasm support detected")}var wasmMemory;var ABORT=false;var EXITSTATUS;var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(heapOrArray,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx<endPtr){var u0=heapOrArray[idx++];if(!(u0&128)){str+=String.fromCharCode(u0);continue}var u1=heapOrArray[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}var u2=heapOrArray[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u0=(u0&7)<<18|u1<<12|u2<<6|heapOrArray[idx++]&63}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]Line truncated
|
||||
Module["wasmBinary"] = undefined;
|
||||
@@ -1,11 +1,11 @@
|
||||
mergeInto(LibraryManager.library, {
|
||||
soljson_compile: function(inputPtr, inputLen) {
|
||||
var inputJson = UTF8ToString(inputPtr, inputLen);
|
||||
var output = Module.soljson.cwrap('solidity_compile', 'string', ['string'])(inputJson);
|
||||
const inputJson = UTF8ToString(inputPtr, inputLen);
|
||||
const output = Module.solc.compile(inputJson)
|
||||
return stringToNewUTF8(output)
|
||||
},
|
||||
soljson_version: function() {
|
||||
var version = Module.soljson.cwrap("solidity_version", "string", [])();
|
||||
var version = Module.solc.version();
|
||||
return stringToNewUTF8(version)
|
||||
},
|
||||
resolc_compile: function(inputPtr, inputLen) {
|
||||
|
||||
+2
-2
@@ -1,9 +1,9 @@
|
||||
// worker.js
|
||||
// nodejs version
|
||||
const { parentPort } = require('worker_threads');
|
||||
import { parentPort } from 'worker_threads';
|
||||
|
||||
parentPort.on('message', async (inputJson) => {
|
||||
const { default: ModuleFactory } = await import('./resolc.mjs');
|
||||
const { default: ModuleFactory } = await import('./resolc.js');
|
||||
const newModule = await ModuleFactory();
|
||||
|
||||
// Create a virtual file for stdin
|
||||
|
||||
+4
-2
@@ -2,9 +2,11 @@
|
||||
"name": "root",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"test:cli": "npm run test -w crates/solidity/src/tests/cli-tests"
|
||||
"test:cli": "npm run test -w crates/solidity/src/tests/cli-tests",
|
||||
"test:revive": "npm run test -w js"
|
||||
},
|
||||
"workspaces": [
|
||||
"crates/solidity/src/tests/cli-tests"
|
||||
"crates/solidity/src/tests/cli-tests",
|
||||
"js"
|
||||
]
|
||||
}
|
||||
Reference in new issue
Block a user