UNPKG

tronbox

Version:

TronBox - Simple development framework for Tron

1 lines 4.1 kB
"use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");var _regenerator=_interopRequireDefault(require("@babel/runtime/regenerator"));var _asyncToGenerator2=_interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));var mkdirp=require("mkdirp");var path=require("path");var Config=require("./Config");var _compile=require("./Compile");var expect=require("@truffle/expect");var Resolver=require("./Resolver");var Artifactor=require("./Artifactor");var OS=require("os");var TronWrap=require("./TronWrap");function getCompilerVersion(_x){return _getCompilerVersion.apply(this,arguments)}function _getCompilerVersion(){_getCompilerVersion=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee2(options){var config,tronWrap,networkInfo;return _regenerator["default"].wrap(function _callee2$(_context2){while(1)switch(_context2.prev=_context2.next){case 0:config=Config.detect(options);if(!config.network&&config.networks.development){config.network="development"}_context2.prev=2;tronWrap=TronWrap(config.networks[config.network],{evm:options.evm,verify:true,log:options.log});_context2.next=6;return tronWrap._getNetworkInfo();case 6:networkInfo=_context2.sent;return _context2.abrupt("return",Promise.resolve(networkInfo||{}));case 10:_context2.prev=10;_context2.t0=_context2["catch"](2);return _context2.abrupt("return",Promise.resolve({}));case 13:case"end":return _context2.stop()}},_callee2,null,[[2,10]])}));return _getCompilerVersion.apply(this,arguments)}var Contracts={compile:function compile(options,callback){var self=this;var logger=options.logger||console;expect.options(options,["contracts_build_directory"]);expect.one(options,["contracts_directory","files"]);var config=Config["default"]().merge(options);if(!config.resolver){config.resolver=new Resolver(config)}if(!config.artifactor){config.artifactor=new Artifactor(config.contracts_build_directory)}function finished(err,contracts,paths){if(err)return callback(err);if(contracts!=null&&Object.keys(contracts).length>0){self.write_contracts(contracts,config,function(){var _ref=(0,_asyncToGenerator2["default"])(_regenerator["default"].mark(function _callee(err,abstractions){var _options$networks,_options$networks2,_options$compilers;var solcVersion;return _regenerator["default"].wrap(function _callee$(_context){while(1)switch(_context.prev=_context.next){case 0:callback(err,abstractions,paths);logger.log("> Compiled successfully using:");solcVersion=(_options$networks=options.networks)!==null&&_options$networks!==void 0&&_options$networks.compilers?(_options$networks2=options.networks)===null||_options$networks2===void 0||(_options$networks2=_options$networks2.compilers)===null||_options$networks2===void 0||(_options$networks2=_options$networks2.solc)===null||_options$networks2===void 0?void 0:_options$networks2.version:(_options$compilers=options.compilers)===null||_options$compilers===void 0||(_options$compilers=_options$compilers.solc)===null||_options$compilers===void 0?void 0:_options$compilers.version;logger.log(" - solc".concat(options.evm?"(EVM)":"",": ").concat(solcVersion));case 4:case"end":return _context.stop()}},_callee)}));return function(_x2,_x3){return _ref.apply(this,arguments)}}())}else{callback(null,[],paths)}}function start(){if(config.all===true||config.compileAll===true){_compile.all(config,finished)}else{_compile.necessary(config,finished)}}getCompilerVersion(options).then(function(networkInfo){config.networkInfo=networkInfo;start()})["catch"](start)},write_contracts:function write_contracts(contracts,options,callback){var logger=options.logger||console;mkdirp(options.contracts_build_directory,function(err){if(err!=null){callback(err);return}if(!options.quiet&&!options.quietWrite){logger.log("Writing artifacts to ."+path.sep+path.relative(options.working_directory,options.contracts_build_directory)+OS.EOL)}var extra_opts={network_id:options.network_id};options.artifactor.saveAll(contracts,extra_opts).then(function(){callback(null,contracts)})["catch"](callback)})}};module.exports=Contracts;