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 */
|
||||
var shelljs = require('shelljs');
|
||||
var shelljs_global = require('shelljs/global');
|
||||
var fs = require('fs');
|
||||
var solc = require('solc');
|
||||
var merge = require('merge');
|
||||
|
||||
var Compiler = function(options) {
|
||||
this.plugins = options.plugins;
|
||||
|
@ -75,74 +71,4 @@ Compiler.prototype.compile_solidity = function(contractFiles) {
|
|||
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;
|
||||
|
|
Loading…
Reference in New Issue