tronbox
Version:
TronBox - Simple development framework for Tron
1 lines • 898 B
JavaScript
var TronWrap=require("../../components/TronWrap");var Deployed={makeSolidityDeployedAddressesLibrary:function makeSolidityDeployedAddressesLibrary(mapping){var self=this;var source="";source+="pragma solidity ^0.4.17; \n\n library DeployedAddresses {"+"\n";Object.keys(mapping).forEach(function(name){var address=mapping[name];var body="revert();";if(address){address=self.toChecksumAddress(address.replace(/^(0x|41)/,"0x"));body="return "+address+";"}source+=" function "+name+"() public pure returns (address) { "+body+" }";source+="\n"});source+="}";return source},toChecksumAddress:function toChecksumAddress(address){address=address.toLowerCase().replace("0x","");var hash=TronWrap().sha3(address).replace("0x","");var ret="0x";for(var i=0;i<address.length;i++){if(parseInt(hash[i],16)>=8){ret+=address[i].toUpperCase()}else{ret+=address[i]}}return ret}};module.exports=Deployed;
;