clean up compiler file; remove unused code
This commit is contained in:
parent
d14943e95d
commit
27a3a9c3f2
|
@ -1,9 +1,5 @@
|
||||||
/*jshint esversion: 6, loopfunc: true */
|
/*jshint esversion: 6, loopfunc: true */
|
||||||
var shelljs = require('shelljs');
|
|
||||||
var shelljs_global = require('shelljs/global');
|
|
||||||
var fs = require('fs');
|
|
||||||
var solc = require('solc');
|
var solc = require('solc');
|
||||||
var merge = require('merge');
|
|
||||||
|
|
||||||
var Compiler = function(options) {
|
var Compiler = function(options) {
|
||||||
this.plugins = options.plugins;
|
this.plugins = options.plugins;
|
||||||
|
@ -75,74 +71,4 @@ Compiler.prototype.compile_solidity = function(contractFiles) {
|
||||||
return compiled_object;
|
return compiled_object;
|
||||||
};
|
};
|
||||||
|
|
||||||
Compiler.prototype.compile_serpent = function(contractFiles) {
|
|
||||||
var cmd, result, output, json, compiled_object;
|
|
||||||
|
|
||||||
//TODO: figure out how to compile multiple files and get the correct json
|
|
||||||
var contractFile = contractFiles[0];
|
|
||||||
|
|
||||||
cmd = "serpent compile " + contractFile;
|
|
||||||
|
|
||||||
result = exec(cmd, {silent: true});
|
|
||||||
code = result.output;
|
|
||||||
|
|
||||||
if (result.code === 1) {
|
|
||||||
throw new Error(result.output);
|
|
||||||
}
|
|
||||||
|
|
||||||
cmd = "serpent mk_full_signature " + contractFile;
|
|
||||||
result = exec(cmd, {silent: true});
|
|
||||||
|
|
||||||
if (result.code === 1) {
|
|
||||||
throw new Error(result.output);
|
|
||||||
}
|
|
||||||
|
|
||||||
json = JSON.parse(result.output.trim());
|
|
||||||
className = contractFile.split('.')[0].split("/").pop();
|
|
||||||
|
|
||||||
for (var i=0; i < json.length; i++) {
|
|
||||||
var elem = json[i];
|
|
||||||
|
|
||||||
if (elem.outputs.length > 0) {
|
|
||||||
elem.constant = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
compiled_object = {};
|
|
||||||
compiled_object[className] = {};
|
|
||||||
compiled_object[className].code = code.trim();
|
|
||||||
compiled_object[className].info = {};
|
|
||||||
compiled_object[className].abiDefinition = json;
|
|
||||||
|
|
||||||
return compiled_object;
|
|
||||||
};
|
|
||||||
|
|
||||||
Compiler.prototype.compile = function(contractFiles) {
|
|
||||||
var solidity = [], serpent = [];
|
|
||||||
|
|
||||||
for (var i = 0; i < contractFiles.length; i++) {
|
|
||||||
var contractParts = contractFiles[i].split('.'),
|
|
||||||
extension = contractParts[contractParts.length-1];
|
|
||||||
|
|
||||||
if (extension === 'sol') {
|
|
||||||
solidity.push(contractFiles[i]);
|
|
||||||
}
|
|
||||||
else if (extension === 'se') {
|
|
||||||
serpent.push(contractFiles[i]);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
throw new Error("extension not known, got " + extension);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
var contracts = [];
|
|
||||||
if (solidity.length > 0) {
|
|
||||||
contracts.concat(this.compile_solidity(solidity));
|
|
||||||
}
|
|
||||||
if (serpent.length > 0) {
|
|
||||||
contracts.concat(this.compile_serpent(serpent));
|
|
||||||
}
|
|
||||||
return contracts;
|
|
||||||
};
|
|
||||||
|
|
||||||
module.exports = Compiler;
|
module.exports = Compiler;
|
||||||
|
|
Loading…
Reference in New Issue