@cryptovarna/tronbox
Version:
TronBox - Simple development framework for Tron
1 lines • 1.52 kB
JavaScript
;var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");var _regenerator=_interopRequireDefault(require("@babel/runtime/regenerator"));var _asyncToGenerator2=_interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));var path=require("path");var fs=require("fs-extra");var homedir=require("homedir");var req=require("superagent");function downloader(_x){return _downloader.apply(this,arguments)}function _downloader(){_downloader=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee(compilerVersion){var dir,soljsonPath,res;return _regenerator["default"].wrap(function _callee$(_context){while(1){switch(_context.prev=_context.next){case 0:dir=path.join(homedir(),".tronbox","solc");soljsonPath=path.join(dir,"soljson_v".concat(compilerVersion,".js"));_context.next=4;return fs.ensureDir(path.join(dir));case 4:_context.next=6;return req.get("https://tronsuper.github.io/tron-solc-bin/bin/soljson_v".concat(compilerVersion,".js")).responseType("blob");case 6:res=_context.sent;if(!(res&&res.body)){_context.next=13;break}_context.next=10;return fs.writeFile(soljsonPath,res.body);case 10:if(!fs.existsSync(soljsonPath)){console.error("Error. Permission required.")}else{console.info("Compiler downloaded.")}_context.next=14;break;case 13:console.error("Error. Wrong Solidity compiler version.");case 14:process.exit();case 15:case"end":return _context.stop();}}},_callee)}));return _downloader.apply(this,arguments)}module.exports=downloader;