ERC-20
Overview
Max Total Supply
0 ETHS
Holders
4
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
4.166666666666666666 ETHSValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
ReferToken
Compiler Version
v0.4.18+commit.9cf6e910
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-05-07 */ pragma solidity ^0.4.18; /** * @title SafeMath * @dev Math operations with safety checks that throw on error */ library SafeMath { function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; assert(c / a == b); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { // assert(b > 0); // Solidity automatically throws when dividing by 0 uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { assert(b <= a); return a - b; } function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; assert(c >= a); return c; } } contract ERC20Basic { uint256 public totalSupply; function balanceOf(address who) public view returns (uint256); function transfer(address to, uint256 value) public returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); } contract ReferTokenERC20Basic is ERC20Basic { using SafeMath for uint256; mapping(address => uint256) depositBalances; mapping(address => uint256) rewardBalances; function transfer(address _to, uint256 _value) public returns (bool) { require(_to != address(0)); require(_value <= rewardBalances[msg.sender]); // SafeMath.sub will throw an error if there is not enough balance. rewardBalances[msg.sender] = rewardBalances[msg.sender].sub(_value); rewardBalances[_to] = rewardBalances[_to].add(_value); Transfer(msg.sender, _to, _value); return true; } function balanceOf(address _owner) public view returns (uint256 balance) { return rewardBalances[_owner]; } } contract Ownable { address public owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev The Ownable constructor sets the original `owner` of the contract to the sender * account. */ function Ownable() public { owner = msg.sender; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(msg.sender == owner); _; } /** * @dev Allows the current owner to transfer control of the contract to a newOwner. * @param newOwner The address to transfer ownership to. */ function transferOwnership(address newOwner) public onlyOwner { require(newOwner != address(0)); OwnershipTransferred(owner, newOwner); owner = newOwner; } } contract MintableToken is Ownable { event Mint(address indexed to, uint256 amount); event MintFinished(); bool public mintingFinished = false; modifier canMint() { require(!mintingFinished); _; } /** * @dev Function to stop minting new tokens. * @return True if the operation was successful. */ function finishMinting() onlyOwner canMint public returns (bool) { mintingFinished = true; MintFinished(); return true; } } contract PackageContract is ReferTokenERC20Basic, MintableToken { uint constant daysPerMonth = 30; mapping(uint => mapping(string => uint256)) internal packageType; struct Package { uint256 since; uint256 tokenValue; uint256 kindOf; } mapping(address => Package) internal userPackages; function PackageContract() public { packageType[2]['fee'] = 30; packageType[2]['reward'] = 20; packageType[4]['fee'] = 35; packageType[4]['reward'] = 25; } function depositMint(address _to, uint256 _amount, uint _kindOfPackage) canMint internal returns (bool) { return depositMintSince(_to, _amount, _kindOfPackage, now); } function depositMintSince(address _to, uint256 _amount, uint _kindOfPackage, uint since) canMint internal returns (bool) { totalSupply = totalSupply.add(_amount); Package memory pac; pac = Package({since : since, tokenValue : _amount, kindOf : _kindOfPackage}); Mint(_to, _amount); Transfer(address(0), _to, _amount); userPackages[_to] = pac; return true; } function depositBalanceOf(address _owner) public view returns (uint256 balance) { return userPackages[_owner].tokenValue; } function getKindOfPackage(address _owner) public view returns (uint256) { return userPackages[_owner].kindOf; } } contract ColdWalletToken is PackageContract { address internal coldWalletAddress; uint internal percentageCW = 30; event CWStorageTransferred(address indexed previousCWAddress, address indexed newCWAddress); event CWPercentageChanged(uint previousPCW, uint newPCW); function setColdWalletAddress(address _newCWAddress) onlyOwner public { require(_newCWAddress != coldWalletAddress && _newCWAddress != address(0)); CWStorageTransferred(coldWalletAddress, _newCWAddress); coldWalletAddress = _newCWAddress; } function getColdWalletAddress() onlyOwner public view returns (address) { return coldWalletAddress; } function setPercentageCW(uint _newPCW) onlyOwner public { require(_newPCW != percentageCW && _newPCW < 100); CWPercentageChanged(percentageCW, _newPCW); percentageCW = _newPCW; } function getPercentageCW() onlyOwner public view returns (uint) { return percentageCW; } function saveToCW() onlyOwner public { coldWalletAddress.transfer(this.balance.mul(percentageCW).div(100)); } } contract StatusContract is Ownable { mapping(uint => mapping(string => uint[])) internal statusRewardsMap; mapping(address => uint) internal statuses; event StatusChanged(address participant, uint newStatus); function StatusContract() public { statusRewardsMap[1]['deposit'] = [3, 2, 1]; statusRewardsMap[1]['refReward'] = [3, 1, 1]; statusRewardsMap[2]['deposit'] = [7, 3, 1]; statusRewardsMap[2]['refReward'] = [5, 3, 1]; statusRewardsMap[3]['deposit'] = [10, 3, 1, 1, 1]; statusRewardsMap[3]['refReward'] = [7, 3, 3, 1, 1]; statusRewardsMap[4]['deposit'] = [10, 5, 3, 3, 1]; statusRewardsMap[4]['refReward'] = [10, 5, 3, 3, 3]; statusRewardsMap[5]['deposit'] = [12, 5, 3, 3, 3]; statusRewardsMap[5]['refReward'] = [10, 7, 5, 3, 3]; } function getStatusOf(address participant) public view returns (uint) { return statuses[participant]; } function setStatus(address participant, uint8 status) public onlyOwner returns (bool) { return setStatusInternal(participant, status); } function setStatusInternal(address participant, uint8 status) internal returns (bool) { require(statuses[participant] != status && status > 0 && status <= 5); statuses[participant] = status; StatusChanged(participant, status); return true; } } contract ReferTreeContract is Ownable { mapping(address => address) public referTree; event TreeStructChanged(address sender, address parentSender); function checkTreeStructure(address sender, address parentSender) onlyOwner public { setTreeStructure(sender, parentSender); } function setTreeStructure(address sender, address parentSender) internal { require(referTree[sender] == 0x0); require(sender != parentSender); referTree[sender] = parentSender; TreeStructChanged(sender, parentSender); } } contract ReferToken is ColdWalletToken, StatusContract, ReferTreeContract { string public constant name = "EtherState"; string public constant symbol = "ETHS"; uint256 public constant decimals = 18; uint256 public totalSupply = 0; uint256 public constant hardCap = 10000000 * 1 ether; mapping(address => uint256) private lastPayoutAddress; uint private rate = 100; uint public constant depth = 5; event RateChanged(uint previousRate, uint newRate); event DataReceived(bytes data); event RefererAddressReceived(address referer); function depositMintAndPay(address _to, uint256 _amount, uint _kindOfPackage) canMint private returns (bool) { require(userPackages[_to].since == 0); _amount = _amount.mul(rate); if (depositMint(_to, _amount, _kindOfPackage)) { payToReferer(_to, _amount, 'deposit'); lastPayoutAddress[_to] = now; } } function rewardMint(address _to, uint256 _amount) private returns (bool) { rewardBalances[_to] = rewardBalances[_to].add(_amount); Mint(_to, _amount); Transfer(address(0), _to, _amount); return true; } function payToReferer(address sender, uint256 _amount, string _key) private { address currentReferral = sender; uint currentStatus = 0; uint256 refValue = 0; for (uint level = 0; level < depth; ++level) { currentReferral = referTree[currentReferral]; if (currentReferral == 0x0) { break; } currentStatus = statuses[currentReferral]; if (currentStatus < 3 && level >= 3) { continue; } refValue = _amount.mul(statusRewardsMap[currentStatus][_key][level]).div(100); rewardMint(currentReferral, refValue); } } function AddressDailyReward(address rewarded) public { require(lastPayoutAddress[rewarded] != 0 && (now - lastPayoutAddress[rewarded]).div(1 days) > 0); uint256 n = (now - lastPayoutAddress[rewarded]).div(1 days); uint256 refValue = 0; if (userPackages[rewarded].kindOf != 0) { refValue = userPackages[rewarded].tokenValue.mul(n).mul(packageType[userPackages[rewarded].kindOf]['reward']).div(30).div(100); rewardMint(rewarded, refValue); payToReferer(rewarded, userPackages[rewarded].tokenValue, 'refReward'); } if (n > 0) { lastPayoutAddress[rewarded] = now; } } function() external payable { require(totalSupply < hardCap); coldWalletAddress.transfer(msg.value.mul(percentageCW).div(100)); bytes memory data = bytes(msg.data); DataReceived(data); address referer = getRefererAddress(data); RefererAddressReceived(referer); setTreeStructure(msg.sender, referer); setStatusInternal(msg.sender, 1); uint8 kind = getReferralPackageKind(data); depositMintAndPay(msg.sender, msg.value, kind); } function getRefererAddress(bytes data) private pure returns (address) { if (data.length == 1 || data.length == 0) { return address(0); } uint256 referer_address; uint256 factor = 1; for (uint i = 20; i > 0; i--) { referer_address += uint8(data[i - 1]) * factor; factor = factor * 256; } return address(referer_address); } function getReferralPackageKind(bytes data) private pure returns (uint8) { if (data.length == 0) { return 4; } if (data.length == 1) { return uint8(data[0]); } return uint8(data[20]); } function withdraw() public { require(userPackages[msg.sender].tokenValue != 0); uint256 withdrawValue = userPackages[msg.sender].tokenValue.div(rate); uint256 dateDiff = now - userPackages[msg.sender].since; if (dateDiff < userPackages[msg.sender].kindOf.mul(30 days)) { uint256 fee = withdrawValue.mul(packageType[userPackages[msg.sender].kindOf]['fee']).div(100); withdrawValue = withdrawValue.sub(fee); coldWalletAddress.transfer(fee); userPackages[msg.sender].tokenValue = 0; } msg.sender.transfer(withdrawValue); } function createRawDeposit(address sender, uint256 _value, uint d, uint since) onlyOwner public { depositMintSince(sender, _value, d, since); } function createDeposit(address sender, uint256 _value, uint d) onlyOwner public { depositMintAndPay(sender, _value, d); } function setRate(uint _newRate) onlyOwner public { require(_newRate != rate && _newRate > 0); RateChanged(rate, _newRate); rate = _newRate; } function getRate() public view returns (uint) { return rate; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[],"name":"mintingFinished","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"referTree","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"sender","type":"address"},{"name":"_value","type":"uint256"},{"name":"d","type":"uint256"},{"name":"since","type":"uint256"}],"name":"createRawDeposit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"rewarded","type":"address"}],"name":"AddressDailyReward","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"participant","type":"address"},{"name":"status","type":"uint8"}],"name":"setStatus","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"sender","type":"address"},{"name":"_value","type":"uint256"},{"name":"d","type":"uint256"}],"name":"createDeposit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newRate","type":"uint256"}],"name":"setRate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"depth","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getRate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"participant","type":"address"}],"name":"getStatusOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"finishMinting","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"sender","type":"address"},{"name":"parentSender","type":"address"}],"name":"checkTreeStructure","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newPCW","type":"uint256"}],"name":"setPercentageCW","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"getKindOfPackage","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getColdWalletAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getPercentageCW","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newCWAddress","type":"address"}],"name":"setColdWalletAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"hardCap","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"depositBalanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"saveToCW","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"previousRate","type":"uint256"},{"indexed":false,"name":"newRate","type":"uint256"}],"name":"RateChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"data","type":"bytes"}],"name":"DataReceived","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"referer","type":"address"}],"name":"RefererAddressReceived","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"sender","type":"address"},{"indexed":false,"name":"parentSender","type":"address"}],"name":"TreeStructChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"participant","type":"address"},{"indexed":false,"name":"newStatus","type":"uint256"}],"name":"StatusChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousCWAddress","type":"address"},{"indexed":true,"name":"newCWAddress","type":"address"}],"name":"CWStorageTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"previousPCW","type":"uint256"},{"indexed":false,"name":"newPCW","type":"uint256"}],"name":"CWPercentageChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[],"name":"MintFinished","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"}]
Contract Creation Code
6060604090815260038054601e60078190556000600b8190556064600d55600160a860020a031990921633600160a060020a031617909255600290526004602052906000805160206200207783398151915290517f66656500000000000000000000000000000000000000000000000000000000008152600381019190915260230160405190819003902055600260005260046020526014600080516020620020778339815191526040517f72657761726400000000000000000000000000000000000000000000000000008152600681019190915260260160405190819003902055600460008190526020526023600080516020620020178339815191526040517f66656500000000000000000000000000000000000000000000000000000000008152600381019190915260230160405190819003902055600460008190526020526019600080516020620020178339815191526040517f726577617264000000000000000000000000000000000000000000000000000081526006810191909152602601604051908190039020556060604051908101604090815260038252600260208084019190915260018284018190526000526008905260008051602062001ff783398151915290517f6465706f736974000000000000000000000000000000000000000000000000008152600781019190915260270160405190819003902062000211916003620006fe565b506060604051908101604090815260038252600160208084018290528284018290526000919091526008905260008051602062001ff783398151915290517f72656652657761726400000000000000000000000000000000000000000000008152600981019190915260290160405190819003902062000293916003620006fe565b506060604051908101604090815260078252600360208084019190915260018284015260026000526008905260008051602062001fd783398151915290517f6465706f736974000000000000000000000000000000000000000000000000008152600781019190915260270160405190819003902062000315916003620006fe565b506060604051908101604090815260058252600360208084019190915260018284015260026000526008905260008051602062001fd783398151915290517f72656652657761726400000000000000000000000000000000000000000000008152600981019190915260290160405190819003902062000397916003620006fe565b5060a06040519081016040908152600a82526003602080840182905260018385018190526060850181905260808501526000919091526008905260008051602062001fb783398151915290517f6465706f736974000000000000000000000000000000000000000000000000008152600781019190915260270160405190819003902062000427916005620006fe565b5060a06040519081016040908152600782526003602080840182905282840182905260016060850181905260808501526000919091526008905260008051602062001fb783398151915290517f726566526577617264000000000000000000000000000000000000000000000081526009810191909152602901604051908190039020620004b7916005620006fe565b5060a06040519081016040908152600a8252600560208084019190915260038284018190526060840152600160808401526004600052600890526000805160206200205783398151915290517f6465706f736974000000000000000000000000000000000000000000000000008152600781019190915260270160405190819003902062000547916005620006fe565b5060a06040519081016040908152600a8252600560208084019190915260038284018190526060840181905260808401526004600052600890526000805160206200205783398151915290517f726566526577617264000000000000000000000000000000000000000000000081526009810191909152602901604051908190039020620005d7916005620006fe565b5060a06040519081016040908152600c8252600560208084018290526003838501819052606085018190526080850152600091909152600890526000805160206200203783398151915290517f6465706f736974000000000000000000000000000000000000000000000000008152600781019190915260270160405190819003902062000667916005620006fe565b5060a06040519081016040908152600a8252600760208084019190915260058284018190526003606085018190526080850152600052600890526000805160206200203783398151915290517f726566526577617264000000000000000000000000000000000000000000000081526009810191909152602901604051908190039020620006f7916005620006fe565b5062000773565b82805482825590600052602060002090810192821562000741579160200282015b8281111562000741578251829060ff169055916020019190600101906200071f565b506200074f92915062000753565b5090565b6200077091905b808211156200074f57600081556001016200075a565b90565b61183480620007836000396000f3006060604052600436106101745763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166305d2035b811461034357806306fdde031461036a57806310706798146103f457806318160ddd1461042f57806322734c0c1461045457806324463cbe1461047e578063278e07ce1461049d5780632f9c1df6146104c2578063313ce567146104e757806334fcf437146104fa5780633ccfd60b14610510578063631c56ef14610523578063679aefce146105365780636b89bfc71461054957806370a08231146105685780637d64bcb4146105875780637eb30cd01461059a5780638da5cb5b146105bf57806392a8424d146105d257806395d89b41146105e8578063a9059cbb146105fb578063b955b95c1461061d578063d5477d371461063c578063e863a1221461064f578063f2fde38b14610662578063f477c2b914610681578063fb86a404146106a0578063fba13bd0146106b3578063fcb5ced3146106d2575b61017c6117d4565b6000806a084595161401484a000000600b5410151561019a57600080fd5b600654600754600160a060020a03909116906108fc906101d4906064906101c890349063ffffffff6106e516565b9063ffffffff61071b16565b9081150290604051600060405180830381858888f1935050505015156101f957600080fd5b6000368080601f016020809104026020016040519081016040528181529291906020840183838082843782019150505050505092507fc0629c5930c116f6e8c1eed6df81fc90be33cc9a751b2188394105dea097b0248360405160208082528190810183818151815260200191508051906020019080838360005b8381101561028c578082015183820152602001610274565b50505050905090810190601f1680156102b95780820380516001836020036101000a031916815260200191505b509250505060405180910390a16102cf83610732565b91507fb710fec1570d614bb4e2a9b6c2fef7fdbccbc73f3988a20dd02e4ba7dacc7d4682604051600160a060020a03909116815260200160405180910390a161031833836107ad565b610323336001610874565b5061032d8361092e565b905061033d33348360ff166109a5565b50505050005b341561034e57600080fd5b610356610a69565b604051901515815260200160405180910390f35b341561037557600080fd5b61037d610a79565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156103b95780820151838201526020016103a1565b50505050905090810190601f1680156103e65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156103ff57600080fd5b610413600160a060020a0360043516610ab0565b604051600160a060020a03909116815260200160405180910390f35b341561043a57600080fd5b610442610acb565b60405190815260200160405180910390f35b341561045f57600080fd5b61047c600160a060020a0360043516602435604435606435610ad1565b005b341561048957600080fd5b61047c600160a060020a0360043516610aff565b34156104a857600080fd5b610356600160a060020a036004351660ff60243516610cf0565b34156104cd57600080fd5b61047c600160a060020a0360043516602435604435610d18565b34156104f257600080fd5b610442610d44565b341561050557600080fd5b61047c600435610d49565b341561051b57600080fd5b61047c610dc2565b341561052e57600080fd5b610442610f6d565b341561054157600080fd5b610442610f72565b341561055457600080fd5b610442600160a060020a0360043516610f78565b341561057357600080fd5b610442600160a060020a0360043516610f93565b341561059257600080fd5b610356610fae565b34156105a557600080fd5b61047c600160a060020a0360043581169060243516611039565b34156105ca57600080fd5b610413611062565b34156105dd57600080fd5b61047c600435611071565b34156105f357600080fd5b61037d6110ea565b341561060657600080fd5b610356600160a060020a0360043516602435611121565b341561062857600080fd5b610442600160a060020a036004351661121c565b341561064757600080fd5b61041361123a565b341561065a57600080fd5b610442611268565b341561066d57600080fd5b61047c600160a060020a036004351661128d565b341561068c57600080fd5b61047c600160a060020a0360043516611328565b34156106ab57600080fd5b6104426113df565b34156106be57600080fd5b610442600160a060020a03600435166113ee565b34156106dd57600080fd5b61047c61140c565b6000808315156106f85760009150610714565b5082820282848281151561070857fe5b041461071057fe5b8091505b5092915050565b600080828481151561072957fe5b04949350505050565b60008060008084516001148061074757508451155b1561075557600093506107a5565b506001905060145b60008111156107a1578185600183038151811061077657fe5b016020015160f860020a9081900481020460ff1602929092019161010091909102906000190161075d565b8293505b505050919050565b600160a060020a038083166000908152600a602052604090205416156107d257600080fd5b600160a060020a0382811690821614156107eb57600080fd5b600160a060020a038281166000908152600a602052604090819020805473ffffffffffffffffffffffffffffffffffffffff1916928416929092179091557f8605db4fd34b21902199dd05165b79bd4bc899ae42bd9cb38852d735aacc3f07908390839051600160a060020a039283168152911660208201526040908101905180910390a15050565b600160a060020a03821660009081526009602052604081205460ff8316148015906108a2575060008260ff16115b80156108b2575060058260ff1611155b15156108bd57600080fd5b600160a060020a0383166000908152600960205260409081902060ff841690557fe1ed16dd06bcc126f351434bbb6b798e0790aaa1eb908db3d9e3c83f001f1e25908490849051600160a060020a03909216825260ff1660208201526040908101905180910390a150600192915050565b600081511515610940575060046109a0565b815160011415610977578160008151811061095757fe5b016020015160f860020a900460f860020a0260f860020a900490506109a0565b8160148151811061098457fe5b016020015160f860020a900460f860020a0260f860020a900490505b919050565b60035460009060a060020a900460ff16156109bf57600080fd5b600160a060020a038416600090815260056020526040902054156109e257600080fd5b600d546109f690849063ffffffff6106e516565b9250610a0384848461147e565b15610a6257610a46848460408051908101604052600781527f6465706f7369740000000000000000000000000000000000000000000000000060208201526114ac565b600160a060020a0384166000908152600c602052604090204290555b9392505050565b60035460a060020a900460ff1681565b60408051908101604052600a81527f4574686572537461746500000000000000000000000000000000000000000000602082015281565b600a60205260009081526040902054600160a060020a031681565b600b5481565b60035433600160a060020a03908116911614610aec57600080fd5b610af8848484846115de565b5050505050565b600160a060020a0381166000908152600c6020526040812054819015801590610b535750600160a060020a0383166000908152600c6020526040812054610b519042036201518063ffffffff61071b16565b115b1515610b5e57600080fd5b600160a060020a0383166000908152600c6020526040902054610b8c9042036201518063ffffffff61071b16565b600160a060020a038416600090815260056020526040812060020154919350915015610cc657600160a060020a0383166000908152600560209081526040808320600201548352600490915290819020610c5d916064916101c891601e918391517f72657761726400000000000000000000000000000000000000000000000000008152600681019190915260260160405190819003902054600160a060020a038916600090815260056020526040902060010154610c51908963ffffffff6106e516565b9063ffffffff6106e516565b9050610c6983826116f0565b50600160a060020a0383166000908152600560205260409081902060010154610cc6918591908051908101604052600981527f726566526577617264000000000000000000000000000000000000000000000060208201526114ac565b6000821115610ceb57600160a060020a0383166000908152600c602052604090204290555b505050565b60035460009033600160a060020a03908116911614610d0e57600080fd5b610a628383610874565b60035433600160a060020a03908116911614610d3357600080fd5b610d3e8383836109a5565b50505050565b601281565b60035433600160a060020a03908116911614610d6457600080fd5b600d548114158015610d765750600081115b1515610d8157600080fd5b7f4ac9052a820bf4f8c02d7588587cae835573b5b99ea7ad4ca002f17f319f7186600d548260405191825260208201526040908101905180910390a1600d55565b600160a060020a033316600090815260056020526040812060010154819081901515610ded57600080fd5b600d54600160a060020a033316600090815260056020526040902060010154610e1b9163ffffffff61071b16565b600160a060020a0333166000908152600560205260409020805460029091015491945042039250610e559062278d0063ffffffff6106e516565b821015610f3c57600160a060020a0333166000908152600560209081526040808320600201548352600490915290819020610ed7916064916101c891517f66656500000000000000000000000000000000000000000000000000000000008152600381019190915260230160405190819003902054869063ffffffff6106e516565b9050610ee9838263ffffffff6117b316565b600654909350600160a060020a031681156108fc0282604051600060405180830381858888f193505050501515610f1f57600080fd5b600160a060020a0333166000908152600560205260408120600101555b600160a060020a03331683156108fc0284604051600060405180830381858888f193505050501515610ceb57600080fd5b600581565b600d5490565b600160a060020a031660009081526009602052604090205490565b600160a060020a031660009081526002602052604090205490565b60035460009033600160a060020a03908116911614610fcc57600080fd5b60035460a060020a900460ff1615610fe357600080fd5b6003805474ff0000000000000000000000000000000000000000191660a060020a1790557fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0860405160405180910390a150600190565b60035433600160a060020a0390811691161461105457600080fd5b61105e82826107ad565b5050565b600354600160a060020a031681565b60035433600160a060020a0390811691161461108c57600080fd5b600754811415801561109e5750606481105b15156110a957600080fd5b7f409fbdae1e75481800c0fd2ee10e1409eace4268aae109448a54c016778fef6f6007548260405191825260208201526040908101905180910390a1600755565b60408051908101604052600481527f4554485300000000000000000000000000000000000000000000000000000000602082015281565b6000600160a060020a038316151561113857600080fd5b600160a060020a03331660009081526002602052604090205482111561115d57600080fd5b600160a060020a033316600090815260026020526040902054611186908363ffffffff6117b316565b600160a060020a0333811660009081526002602052604080822093909355908516815220546111bb908363ffffffff6117c516565b600160a060020a0380851660008181526002602052604090819020939093559133909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a350600192915050565b600160a060020a031660009081526005602052604090206002015490565b60035460009033600160a060020a0390811691161461125857600080fd5b50600654600160a060020a031690565b60035460009033600160a060020a0390811691161461128657600080fd5b5060075490565b60035433600160a060020a039081169116146112a857600080fd5b600160a060020a03811615156112bd57600080fd5b600354600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60035433600160a060020a0390811691161461134357600080fd5b600654600160a060020a038281169116148015906113695750600160a060020a03811615155b151561137457600080fd5b600654600160a060020a0380831691167fdd44c10ac5ae897c0468d19fcc13436e02d0fd4762ee70adaaa49eb2af44db1760405160405180910390a36006805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b6a084595161401484a00000081565b600160a060020a031660009081526005602052604090206001015490565b60035433600160a060020a0390811691161461142757600080fd5b600654600754600160a060020a03918216916108fc91611457916064916101c8913016319063ffffffff6106e516565b9081150290604051600060405180830381858888f19350505050151561147c57600080fd5b565b60035460009060a060020a900460ff161561149857600080fd5b6114a4848484426115de565b949350505050565b82600080805b60058110156115d557600160a060020a039384166000908152600a6020526040902054909316928315156114e5576115d5565b600160a060020a0384166000908152600960205260409020549250600383108015611511575060038110155b1561151b576115cd565b6115bf60646101c860086000878152602001908152602001600020886040518082805190602001908083835b602083106115665780518252601f199092019160209182019101611547565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020848154811015156115a657fe5b600091825260209091200154899063ffffffff6106e516565b91506115cb84836116f0565b505b6001016114b2565b50505050505050565b60006115e86117e6565b60035460a060020a900460ff16156115ff57600080fd5b600054611612908663ffffffff6117c516565b60005560606040519081016040528084815260200186815260200185815250905085600160a060020a03167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968858660405190815260200160405180910390a2600160a060020a03861660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8760405190815260200160405180910390a3600160a060020a0386166000908152600560205260409020819081518155602082015181600101556040820151600290910155506001915050949350505050565b600160a060020a038216600090815260026020526040812054611719908363ffffffff6117c516565b600160a060020a0384166000818152600260205260409081902092909255907f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968859084905190815260200160405180910390a2600160a060020a03831660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405190815260200160405180910390a350600192915050565b6000828211156117bf57fe5b50900390565b60008282018381101561071057fe5b60206040519081016040526000815290565b60606040519081016040528060008152602001600081526020016000815250905600a165627a7a723058204cd679f42240e39c4c00ec9e4c8da8f342326132c9ee2760e34f8db61d65d71d0029625b35f5e76f098dd7c3a05b10e2e5e78a4a01228d60c3b143426cdf36d264556add646517a5b0f6793cd5891b7937d28a5b2981a5d88ebc7cd776088fea9041ad67d757c34507f157cacfa2e3153e9f260a2244f30428821be7be64587ac55f1a1e6821cde7d0159c0d293177871e09677b4e42307c7db3ba94f8648a5a050f91238f30f286c9a1c6e901c4eda3b214c381c846e3dbe48df95c21488e8e1fdb9321edea6e3be4df59a344b401fab4f888b556fda1f954244cff9204bad624b891da3fd0782e51c6b3986e9e672fd566868e71f3dbc2d6c2cd6fbb3e361af2a7
Deployed Bytecode
0x6060604052600436106101745763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166305d2035b811461034357806306fdde031461036a57806310706798146103f457806318160ddd1461042f57806322734c0c1461045457806324463cbe1461047e578063278e07ce1461049d5780632f9c1df6146104c2578063313ce567146104e757806334fcf437146104fa5780633ccfd60b14610510578063631c56ef14610523578063679aefce146105365780636b89bfc71461054957806370a08231146105685780637d64bcb4146105875780637eb30cd01461059a5780638da5cb5b146105bf57806392a8424d146105d257806395d89b41146105e8578063a9059cbb146105fb578063b955b95c1461061d578063d5477d371461063c578063e863a1221461064f578063f2fde38b14610662578063f477c2b914610681578063fb86a404146106a0578063fba13bd0146106b3578063fcb5ced3146106d2575b61017c6117d4565b6000806a084595161401484a000000600b5410151561019a57600080fd5b600654600754600160a060020a03909116906108fc906101d4906064906101c890349063ffffffff6106e516565b9063ffffffff61071b16565b9081150290604051600060405180830381858888f1935050505015156101f957600080fd5b6000368080601f016020809104026020016040519081016040528181529291906020840183838082843782019150505050505092507fc0629c5930c116f6e8c1eed6df81fc90be33cc9a751b2188394105dea097b0248360405160208082528190810183818151815260200191508051906020019080838360005b8381101561028c578082015183820152602001610274565b50505050905090810190601f1680156102b95780820380516001836020036101000a031916815260200191505b509250505060405180910390a16102cf83610732565b91507fb710fec1570d614bb4e2a9b6c2fef7fdbccbc73f3988a20dd02e4ba7dacc7d4682604051600160a060020a03909116815260200160405180910390a161031833836107ad565b610323336001610874565b5061032d8361092e565b905061033d33348360ff166109a5565b50505050005b341561034e57600080fd5b610356610a69565b604051901515815260200160405180910390f35b341561037557600080fd5b61037d610a79565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156103b95780820151838201526020016103a1565b50505050905090810190601f1680156103e65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156103ff57600080fd5b610413600160a060020a0360043516610ab0565b604051600160a060020a03909116815260200160405180910390f35b341561043a57600080fd5b610442610acb565b60405190815260200160405180910390f35b341561045f57600080fd5b61047c600160a060020a0360043516602435604435606435610ad1565b005b341561048957600080fd5b61047c600160a060020a0360043516610aff565b34156104a857600080fd5b610356600160a060020a036004351660ff60243516610cf0565b34156104cd57600080fd5b61047c600160a060020a0360043516602435604435610d18565b34156104f257600080fd5b610442610d44565b341561050557600080fd5b61047c600435610d49565b341561051b57600080fd5b61047c610dc2565b341561052e57600080fd5b610442610f6d565b341561054157600080fd5b610442610f72565b341561055457600080fd5b610442600160a060020a0360043516610f78565b341561057357600080fd5b610442600160a060020a0360043516610f93565b341561059257600080fd5b610356610fae565b34156105a557600080fd5b61047c600160a060020a0360043581169060243516611039565b34156105ca57600080fd5b610413611062565b34156105dd57600080fd5b61047c600435611071565b34156105f357600080fd5b61037d6110ea565b341561060657600080fd5b610356600160a060020a0360043516602435611121565b341561062857600080fd5b610442600160a060020a036004351661121c565b341561064757600080fd5b61041361123a565b341561065a57600080fd5b610442611268565b341561066d57600080fd5b61047c600160a060020a036004351661128d565b341561068c57600080fd5b61047c600160a060020a0360043516611328565b34156106ab57600080fd5b6104426113df565b34156106be57600080fd5b610442600160a060020a03600435166113ee565b34156106dd57600080fd5b61047c61140c565b6000808315156106f85760009150610714565b5082820282848281151561070857fe5b041461071057fe5b8091505b5092915050565b600080828481151561072957fe5b04949350505050565b60008060008084516001148061074757508451155b1561075557600093506107a5565b506001905060145b60008111156107a1578185600183038151811061077657fe5b016020015160f860020a9081900481020460ff1602929092019161010091909102906000190161075d565b8293505b505050919050565b600160a060020a038083166000908152600a602052604090205416156107d257600080fd5b600160a060020a0382811690821614156107eb57600080fd5b600160a060020a038281166000908152600a602052604090819020805473ffffffffffffffffffffffffffffffffffffffff1916928416929092179091557f8605db4fd34b21902199dd05165b79bd4bc899ae42bd9cb38852d735aacc3f07908390839051600160a060020a039283168152911660208201526040908101905180910390a15050565b600160a060020a03821660009081526009602052604081205460ff8316148015906108a2575060008260ff16115b80156108b2575060058260ff1611155b15156108bd57600080fd5b600160a060020a0383166000908152600960205260409081902060ff841690557fe1ed16dd06bcc126f351434bbb6b798e0790aaa1eb908db3d9e3c83f001f1e25908490849051600160a060020a03909216825260ff1660208201526040908101905180910390a150600192915050565b600081511515610940575060046109a0565b815160011415610977578160008151811061095757fe5b016020015160f860020a900460f860020a0260f860020a900490506109a0565b8160148151811061098457fe5b016020015160f860020a900460f860020a0260f860020a900490505b919050565b60035460009060a060020a900460ff16156109bf57600080fd5b600160a060020a038416600090815260056020526040902054156109e257600080fd5b600d546109f690849063ffffffff6106e516565b9250610a0384848461147e565b15610a6257610a46848460408051908101604052600781527f6465706f7369740000000000000000000000000000000000000000000000000060208201526114ac565b600160a060020a0384166000908152600c602052604090204290555b9392505050565b60035460a060020a900460ff1681565b60408051908101604052600a81527f4574686572537461746500000000000000000000000000000000000000000000602082015281565b600a60205260009081526040902054600160a060020a031681565b600b5481565b60035433600160a060020a03908116911614610aec57600080fd5b610af8848484846115de565b5050505050565b600160a060020a0381166000908152600c6020526040812054819015801590610b535750600160a060020a0383166000908152600c6020526040812054610b519042036201518063ffffffff61071b16565b115b1515610b5e57600080fd5b600160a060020a0383166000908152600c6020526040902054610b8c9042036201518063ffffffff61071b16565b600160a060020a038416600090815260056020526040812060020154919350915015610cc657600160a060020a0383166000908152600560209081526040808320600201548352600490915290819020610c5d916064916101c891601e918391517f72657761726400000000000000000000000000000000000000000000000000008152600681019190915260260160405190819003902054600160a060020a038916600090815260056020526040902060010154610c51908963ffffffff6106e516565b9063ffffffff6106e516565b9050610c6983826116f0565b50600160a060020a0383166000908152600560205260409081902060010154610cc6918591908051908101604052600981527f726566526577617264000000000000000000000000000000000000000000000060208201526114ac565b6000821115610ceb57600160a060020a0383166000908152600c602052604090204290555b505050565b60035460009033600160a060020a03908116911614610d0e57600080fd5b610a628383610874565b60035433600160a060020a03908116911614610d3357600080fd5b610d3e8383836109a5565b50505050565b601281565b60035433600160a060020a03908116911614610d6457600080fd5b600d548114158015610d765750600081115b1515610d8157600080fd5b7f4ac9052a820bf4f8c02d7588587cae835573b5b99ea7ad4ca002f17f319f7186600d548260405191825260208201526040908101905180910390a1600d55565b600160a060020a033316600090815260056020526040812060010154819081901515610ded57600080fd5b600d54600160a060020a033316600090815260056020526040902060010154610e1b9163ffffffff61071b16565b600160a060020a0333166000908152600560205260409020805460029091015491945042039250610e559062278d0063ffffffff6106e516565b821015610f3c57600160a060020a0333166000908152600560209081526040808320600201548352600490915290819020610ed7916064916101c891517f66656500000000000000000000000000000000000000000000000000000000008152600381019190915260230160405190819003902054869063ffffffff6106e516565b9050610ee9838263ffffffff6117b316565b600654909350600160a060020a031681156108fc0282604051600060405180830381858888f193505050501515610f1f57600080fd5b600160a060020a0333166000908152600560205260408120600101555b600160a060020a03331683156108fc0284604051600060405180830381858888f193505050501515610ceb57600080fd5b600581565b600d5490565b600160a060020a031660009081526009602052604090205490565b600160a060020a031660009081526002602052604090205490565b60035460009033600160a060020a03908116911614610fcc57600080fd5b60035460a060020a900460ff1615610fe357600080fd5b6003805474ff0000000000000000000000000000000000000000191660a060020a1790557fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0860405160405180910390a150600190565b60035433600160a060020a0390811691161461105457600080fd5b61105e82826107ad565b5050565b600354600160a060020a031681565b60035433600160a060020a0390811691161461108c57600080fd5b600754811415801561109e5750606481105b15156110a957600080fd5b7f409fbdae1e75481800c0fd2ee10e1409eace4268aae109448a54c016778fef6f6007548260405191825260208201526040908101905180910390a1600755565b60408051908101604052600481527f4554485300000000000000000000000000000000000000000000000000000000602082015281565b6000600160a060020a038316151561113857600080fd5b600160a060020a03331660009081526002602052604090205482111561115d57600080fd5b600160a060020a033316600090815260026020526040902054611186908363ffffffff6117b316565b600160a060020a0333811660009081526002602052604080822093909355908516815220546111bb908363ffffffff6117c516565b600160a060020a0380851660008181526002602052604090819020939093559133909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a350600192915050565b600160a060020a031660009081526005602052604090206002015490565b60035460009033600160a060020a0390811691161461125857600080fd5b50600654600160a060020a031690565b60035460009033600160a060020a0390811691161461128657600080fd5b5060075490565b60035433600160a060020a039081169116146112a857600080fd5b600160a060020a03811615156112bd57600080fd5b600354600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60035433600160a060020a0390811691161461134357600080fd5b600654600160a060020a038281169116148015906113695750600160a060020a03811615155b151561137457600080fd5b600654600160a060020a0380831691167fdd44c10ac5ae897c0468d19fcc13436e02d0fd4762ee70adaaa49eb2af44db1760405160405180910390a36006805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b6a084595161401484a00000081565b600160a060020a031660009081526005602052604090206001015490565b60035433600160a060020a0390811691161461142757600080fd5b600654600754600160a060020a03918216916108fc91611457916064916101c8913016319063ffffffff6106e516565b9081150290604051600060405180830381858888f19350505050151561147c57600080fd5b565b60035460009060a060020a900460ff161561149857600080fd5b6114a4848484426115de565b949350505050565b82600080805b60058110156115d557600160a060020a039384166000908152600a6020526040902054909316928315156114e5576115d5565b600160a060020a0384166000908152600960205260409020549250600383108015611511575060038110155b1561151b576115cd565b6115bf60646101c860086000878152602001908152602001600020886040518082805190602001908083835b602083106115665780518252601f199092019160209182019101611547565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020848154811015156115a657fe5b600091825260209091200154899063ffffffff6106e516565b91506115cb84836116f0565b505b6001016114b2565b50505050505050565b60006115e86117e6565b60035460a060020a900460ff16156115ff57600080fd5b600054611612908663ffffffff6117c516565b60005560606040519081016040528084815260200186815260200185815250905085600160a060020a03167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968858660405190815260200160405180910390a2600160a060020a03861660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8760405190815260200160405180910390a3600160a060020a0386166000908152600560205260409020819081518155602082015181600101556040820151600290910155506001915050949350505050565b600160a060020a038216600090815260026020526040812054611719908363ffffffff6117c516565b600160a060020a0384166000818152600260205260409081902092909255907f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968859084905190815260200160405180910390a2600160a060020a03831660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405190815260200160405180910390a350600192915050565b6000828211156117bf57fe5b50900390565b60008282018381101561071057fe5b60206040519081016040526000815290565b60606040519081016040528060008152602001600081526020016000815250905600a165627a7a723058204cd679f42240e39c4c00ec9e4c8da8f342326132c9ee2760e34f8db61d65d71d0029
Swarm Source
bzzr://4cd679f42240e39c4c00ec9e4c8da8f342326132c9ee2760e34f8db61d65d71d
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.