ETH Price: $3,389.56 (+1.32%)

Token

TimeMiner (TIME)
 

Overview

Max Total Supply

38,141 TIME

Holders

657

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 6 Decimals)

Balance
0.806837 TIME

Value
$0.00
0x5ad4e3102fa7c15b2044af2f1b3a9600e2bd55c9
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

TimeMiner utilizes Proof-of-Time's system - a combination of Proof-of-Work and Proof-of-Stake while also incorporating rebasing mechanics. The contract code creates one new coin every hour and distributes it to the existing holders according to their current percentage of the circulating supply.

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
TimeMiner

Compiler Version
v0.5.13+commit.5b0b510c

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2020-11-22
*/

pragma solidity 0.5.13;

contract TimeMiner {

	uint256 constant public TOKEN_PRECISION = 1e6;
	uint256 constant private PRECISION = 1e12; 
	
	uint256 constant private initial_supply = 24 * TOKEN_PRECISION;
	
	string constant public name = "TimeMiner";
	string constant public symbol = "TIME";
	uint8 constant public decimals = 6;

	struct User {
	    bool whitelisted;
		uint256 balance;
		mapping(address => uint256) allowance;
		uint256 appliedTokenCirculation;
	}

	struct Info {
		uint256 totalSupply;
		mapping(address => User) users;
		address admin;
        
        uint256 supplydivision;
        uint256 supplymultiply;
        
        bool stableCoinSystem;
        
        uint256 coinWorkingTime;
        uint256 coinCreationTime;
	}
	
	struct PreSaleInfo {
		address payable admin;
        bool isPreSaleActive;
        uint256 preSaleDivide;
	}

	Info private info;
	PreSaleInfo private preSaleInfo;
	
	event Transfer(address indexed from, address indexed to, uint256 tokens);
	event Approval(address indexed owner, address indexed spender, uint256 tokens);
	event Whitelist(address indexed user, bool status);
	
	constructor() public {
	    info.stableCoinSystem = true;

	    info.coinWorkingTime = now;
	    info.coinCreationTime = now;
	     
		info.admin = msg.sender;
		info.totalSupply = initial_supply;
		
		info.supplydivision = 1;
		info.supplymultiply = 1;
		
		info.users[msg.sender].balance = initial_supply / 2;
		info.users[msg.sender].appliedTokenCirculation = initial_supply;
		info.users[msg.sender].whitelisted = true;
		
		info.users[address(this)].balance = initial_supply / 2;
		info.users[address(this)].appliedTokenCirculation = initial_supply;
		info.users[address(this)].whitelisted = true;
		
	    preSaleInfo.isPreSaleActive = true;
	    preSaleInfo.admin = msg.sender;
	    preSaleInfo.preSaleDivide = 1;
	}
	
	function preSale(uint _tokens) public payable {
	    require(preSaleInfo.isPreSaleActive);
	    require(msg.value > (5 ether * _tokens) / preSaleInfo.preSaleDivide);
	   
	    _transfer(address(this), msg.sender, _tokens * TOKEN_PRECISION);	
	    
    	preSaleInfo.admin.transfer(msg.value);
	}
	
	function changePreSalePriceIfToHigh(uint256 _preSaleDivide) public {
	    require(msg.sender == info.admin);
	    preSaleInfo.preSaleDivide = _preSaleDivide;
	}

	function preSaleFinished() public {
	    require(msg.sender == info.admin);
	    preSaleInfo.isPreSaleActive = false;
	    uint256 contractBalance = info.users[address(this)].balance;
	     _transfer(address(this), info.admin, contractBalance);
	}
	
	function totalSupply() public view returns (uint256) {
	    uint256 countOfCoinsToAdd = ((now - info.coinCreationTime) / 1 hours);
        uint256 realTotalSupply = initial_supply + (((countOfCoinsToAdd * TOKEN_PRECISION) / info.supplydivision) * info.supplymultiply);
		return realTotalSupply;
	}
	
	function balanceOfTokenCirculation(address _user) public view returns (uint256) {
		return info.users[_user].appliedTokenCirculation;
	}

	function balanceOf(address _user) public view returns (uint256) {
		return info.users[_user].balance;
	}

	function allowance(address _user, address _spender) public view returns (uint256) {
		return info.users[_user].allowance[_spender];
	}

	function allInfoFor(address _user) public view returns (uint256 totalTokenSupply, uint256 userTokenCirculation, uint256 userBalance, uint256 realUserBalance) {
		return (totalSupply(), balanceOfTokenCirculation(_user), balanceOf(_user), tokensToClaim(_user));
	}
	
	function tokensToClaim(address _user)  public view returns (uint256 totalTokenSupply)
	{
	    uint256 countOfCoinsToAdd = ((now - info.coinCreationTime) / 1 hours);
        uint256 realTotalSupply = initial_supply + (((countOfCoinsToAdd * TOKEN_PRECISION) / info.supplydivision) * info.supplymultiply);
        
	    uint256 AppliedTokenCirculation = info.users[_user].appliedTokenCirculation; 
        uint256 addressBalance = info.users[_user].balance;
       
        uint256 value1 = (addressBalance * PRECISION);
        uint256 value2 = value1 / AppliedTokenCirculation;
        uint256 value3 = value2 * realTotalSupply;
        uint256 adjustedAddressBalance = (value3) / PRECISION;
  
        return (adjustedAddressBalance);
	}
	
	function approve(address _spender, uint256 _tokens) external returns (bool) {
		info.users[msg.sender].allowance[_spender] = _tokens;
		emit Approval(msg.sender, _spender, _tokens);
		return true;
	}
	
	function whitelist(address _user, bool _status) public {
		require(msg.sender == info.admin);
		info.users[_user].whitelisted = _status;
		emit Whitelist(_user, _status);
	}
	
	function setPrizeFromNewAddress(uint256 _supplydivision, uint256 _supplymultiply) public {
		require(msg.sender == info.admin);
		info.supplydivision = _supplydivision;
		info.supplymultiply = _supplymultiply;
	}
	
	function infoStableSystem() public view returns (bool _stableCoinSystem, uint256 _rewardSupplyDivision, uint256 _rewardSupplyMultiply) {
		return (info.stableCoinSystem, info.supplydivision, info.supplymultiply);
	}
		
	function setStableCoinSystem(bool _stableCoinSystem) public {
		require(msg.sender == info.admin);
		info.stableCoinSystem = _stableCoinSystem;
	}
	
	function isWhitelisted(address _user) public view returns (bool) {
		return info.users[_user].whitelisted;
	}

	function transfer(address _to, uint256 _tokens) external returns (bool) {
		_transfer(msg.sender, _to, _tokens);
		return true;
	}

	function transferFrom(address _from, address _to, uint256 _tokens) external returns (bool) {
		require(info.users[_from].allowance[msg.sender] >= _tokens);
		info.users[_from].allowance[msg.sender] -= _tokens;
		_transfer(_from, _to, _tokens);
		return true;
	}
	
	function _transfer(address _from, address _to, uint256 _tokens) internal returns (uint256) {

	 	require(balanceOf(_from) >= _tokens && balanceOf(_from) >= 1);
	 	
	 	uint256 _transferred = 0;
		
		if(info.stableCoinSystem){
		 
		 	bool isNewUser = info.users[_to].balance == 0;
		
    		// If new user come
    		if(isNewUser)
    		{
    		    info.users[_to].appliedTokenCirculation = info.totalSupply;
    		}
    		
    		// If time left
    		if(info.coinWorkingTime + 1 hours < now)
    		{
    		    uint256 countOfCoinsToAdd = ((now - info.coinCreationTime) / 1 hours);
    		    info.coinWorkingTime = now;
    		  
                info.totalSupply = initial_supply + (((countOfCoinsToAdd * TOKEN_PRECISION) / info.supplydivision) * info.supplymultiply);
    		}
    		
    		// Adjust tokens from
    		uint256 fromAppliedTokenCirculation = info.users[_from].appliedTokenCirculation; 
    		
            uint256 addressBalanceFrom = info.users[_from].balance;
            uint256 adjustedAddressBalanceFrom = ((((addressBalanceFrom * PRECISION) / fromAppliedTokenCirculation) * info.totalSupply)) / PRECISION;
            
            info.users[_from].balance = adjustedAddressBalanceFrom;
            info.users[_from].appliedTokenCirculation = info.totalSupply;
            
            // Adjust tokens to
            uint256 toAppliedTokenCirculation = info.users[_to].appliedTokenCirculation;
            
            uint256 addressBalanceTo = info.users[_to].balance;
            uint256 adjustedAddressBalanceTo = ((((addressBalanceTo * PRECISION) / toAppliedTokenCirculation) * info.totalSupply)) / PRECISION;
                     
    		info.users[_to].balance = adjustedAddressBalanceTo;
    		info.users[_to].appliedTokenCirculation = info.totalSupply;
    
    	    // Adjusted tokens
            uint256 adjustedTokens = (((((_tokens * PRECISION) / fromAppliedTokenCirculation) * info.totalSupply)) / PRECISION);
    	    
    		info.users[_from].balance -= adjustedTokens;
    		_transferred = adjustedTokens;
    		info.users[_to].balance += _transferred;
    		
		}
		else
		{
	    	info.users[_from].balance -= _tokens;
    		_transferred = _tokens;
    		info.users[_to].balance += _transferred;
		}		
	
		
		emit Transfer(_from, _to, _transferred);
	
		return _transferred;
	}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"bool","name":"status","type":"bool"}],"name":"Whitelist","type":"event"},{"constant":true,"inputs":[],"name":"TOKEN_PRECISION","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"allInfoFor","outputs":[{"internalType":"uint256","name":"totalTokenSupply","type":"uint256"},{"internalType":"uint256","name":"userTokenCirculation","type":"uint256"},{"internalType":"uint256","name":"userBalance","type":"uint256"},{"internalType":"uint256","name":"realUserBalance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"address","name":"_spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_tokens","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"balanceOfTokenCirculation","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_preSaleDivide","type":"uint256"}],"name":"changePreSalePriceIfToHigh","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"infoStableSystem","outputs":[{"internalType":"bool","name":"_stableCoinSystem","type":"bool"},{"internalType":"uint256","name":"_rewardSupplyDivision","type":"uint256"},{"internalType":"uint256","name":"_rewardSupplyMultiply","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"isWhitelisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_tokens","type":"uint256"}],"name":"preSale","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[],"name":"preSaleFinished","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_supplydivision","type":"uint256"},{"internalType":"uint256","name":"_supplymultiply","type":"uint256"}],"name":"setPrizeFromNewAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bool","name":"_stableCoinSystem","type":"bool"}],"name":"setStableCoinSystem","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"tokensToClaim","outputs":[{"internalType":"uint256","name":"totalTokenSupply","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_tokens","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_tokens","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"whitelist","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]

608060405234801561001057600080fd5b5060058054600160ff19918216811790925542600681905560075560028054336001600160a01b0319918216811790925563016e36006000818155600386815560048790558482526020879052604080832062b71b00818a01819055818401869055815489168a179091553084529083208089019190915590810192909255815490941685179055600880547401000000000000000000000000000000000000000060ff60a01b19909116179091169091179055600991909155610d2a9081906100da90396000f3fe60806040526004361061012a5760003560e01c806357f6b812116100ab578063b0cddfe61161006f578063b0cddfe61461046c578063b8bb217a14610498578063c6616894146104cd578063c9571af8146104e2578063dd62ed3e14610512578063f59c37081461054d5761012a565b806357f6b8121461035f57806370a08231146103b857806389929d0f146103eb57806395d89b411461041e578063a9059cbb146104335761012a565b806321097f28116100f257806321097f281461027f57806323b872dd146102a9578063313ce567146102ec5780633af32abf146103175780635569f5d01461034a5761012a565b806306fdde031461012f578063095ea7b3146101b9578063131f41041461020657806318160ddd146102255780631e8683341461024c575b600080fd5b34801561013b57600080fd5b50610144610588565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561017e578181015183820152602001610166565b50505050905090810190601f1680156101ab5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101c557600080fd5b506101f2600480360360408110156101dc57600080fd5b506001600160a01b0381351690602001356105ad565b604080519115158252519081900360200190f35b6102236004803603602081101561021c57600080fd5b5035610617565b005b34801561023157600080fd5b5061023a61069c565b60408051918252519081900360200190f35b34801561025857600080fd5b5061023a6004803603602081101561026f57600080fd5b50356001600160a01b03166106e2565b34801561028b57600080fd5b50610223600480360360208110156102a257600080fd5b5035610775565b3480156102b557600080fd5b506101f2600480360360608110156102cc57600080fd5b506001600160a01b03813581169160208101359091169060400135610791565b3480156102f857600080fd5b50610301610807565b6040805160ff9092168252519081900360200190f35b34801561032357600080fd5b506101f26004803603602081101561033a57600080fd5b50356001600160a01b031661080c565b34801561035657600080fd5b5061022361082a565b34801561036b57600080fd5b506103926004803603602081101561038257600080fd5b50356001600160a01b031661087a565b604080519485526020850193909352838301919091526060830152519081900360800190f35b3480156103c457600080fd5b5061023a600480360360208110156103db57600080fd5b50356001600160a01b03166108b2565b3480156103f757600080fd5b5061023a6004803603602081101561040e57600080fd5b50356001600160a01b03166108d1565b34801561042a57600080fd5b506101446108ef565b34801561043f57600080fd5b506101f26004803603604081101561045657600080fd5b506001600160a01b03813516906020013561090f565b34801561047857600080fd5b506102236004803603602081101561048f57600080fd5b50351515610926565b3480156104a457600080fd5b506104ad610950565b604080519315158452602084019290925282820152519081900360600190f35b3480156104d957600080fd5b5061023a610964565b3480156104ee57600080fd5b506102236004803603604081101561050557600080fd5b508035906020013561096b565b34801561051e57600080fd5b5061023a6004803603604081101561053557600080fd5b506001600160a01b038135811691602001351661098d565b34801561055957600080fd5b506102236004803603604081101561057057600080fd5b506001600160a01b03813516906020013515156109bc565b604051806040016040528060098152602001682a34b6b2a6b4b732b960b91b81525081565b3360008181526001602090815260408083206001600160a01b03871680855260029091018352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b600854600160a01b900460ff1661062d57600080fd5b600954674563918244f4000082028161064257fe5b04341161064e57600080fd5b61065e3033620f42408402610a33565b506008546040516001600160a01b03909116903480156108fc02916000818181858888f19350505050158015610698573d6000803e3d6000fd5b5050565b600080610e106000600701544203816106b157fe5b04905060008060040154600060030154620f42408402816106ce57fe5b0402620f4240601802019050809250505090565b600080610e106000600701544203816106f757fe5b04905060008060040154600060030154620f424084028161071457fe5b6001600160a01b038716600090815260016020819052604082206003810154910154939092049390930263016e36000193509164e8d4a5100082029083828161075957fe5b64e8d4a510009190049590950294909404979650505050505050565b6002546001600160a01b0316331461078c57600080fd5b600955565b6001600160a01b03831660009081526001602090815260408083203384526002019091528120548211156107c457600080fd5b6001600160a01b03841660009081526001602090815260408083203384526002019091529020805483900390556107fc848484610a33565b506001949350505050565b600681565b6001600160a01b031660009081526001602052604090205460ff1690565b6002546001600160a01b0316331461084157600080fd5b6008805460ff60a01b1916905530600081815260016020819052604090912001546002549091610698916001600160a01b031683610a33565b60008060008061088861069c565b610891866108d1565b61089a876108b2565b6108a3886106e2565b93509350935093509193509193565b6001600160a01b03166000908152600160208190526040909120015490565b6001600160a01b031660009081526001602052604090206003015490565b6040518060400160405280600481526020016354494d4560e01b81525081565b600061091c338484610a33565b5060019392505050565b6002546001600160a01b0316331461093d57600080fd5b6005805460ff1916911515919091179055565b60055460035460045460ff90921691909192565b620f424081565b6002546001600160a01b0316331461098257600080fd5b600391909155600455565b6001600160a01b0391821660009081526001602090815260408083209390941682526002909201909152205490565b6002546001600160a01b031633146109d357600080fd5b6001600160a01b038216600081815260016020908152604091829020805460ff1916851515908117909155825190815291517f5a25e09a5dba33161281055e015f1279b6b10204d8f90dd56a8ce2b82322d43d9281900390910190a25050565b600081610a3f856108b2565b10158015610a5657506001610a53856108b2565b10155b610a5f57600080fd5b60055460009060ff1615610c6b576001600160a01b03841660009081526001602081905260409091200154158015610ab057600080546001600160a01b038716825260016020526040909120600301555b42600060060154610e10011015610af857600754600090610e109042034260065560045460035492909104925090620f4240830281610aeb57fe5b040263016e360001600055505b6001600160a01b03861660009081526001602081905260408220600381015491015482549192909164e8d4a51000908482850281610b3257fe5b040281610b3b57fe5b6001600160a01b03808c1660009081526001602081905260408083209590940485820181905582546003968701819055938e168352938220948501549401549294509064e8d4a51000908482850281610b9057fe5b040281610b9957fe5b6001600160a01b038d166000908152600160208190526040822093909204918301829055805460039093018390559092509064e8d4a5100090888d830281610bdd57fe5b040281610be657fe5b04905080600060010160008f6001600160a01b03166001600160a01b031681526020019081526020016000206001016000828254039250508190555080985088600060010160008e6001600160a01b03166001600160a01b03168152602001908152602001600020600101600082825401925050819055505050505050505050610ca2565b506001600160a01b038085166000908152600160208190526040808320820180548790039055928616825291902001805483019055815b836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a394935050505056fea265627a7a72315820a840d3258dc87c1428deb880899ce900bd2cfca654e8df12d36319961401804764736f6c634300050d0032

Deployed Bytecode

0x60806040526004361061012a5760003560e01c806357f6b812116100ab578063b0cddfe61161006f578063b0cddfe61461046c578063b8bb217a14610498578063c6616894146104cd578063c9571af8146104e2578063dd62ed3e14610512578063f59c37081461054d5761012a565b806357f6b8121461035f57806370a08231146103b857806389929d0f146103eb57806395d89b411461041e578063a9059cbb146104335761012a565b806321097f28116100f257806321097f281461027f57806323b872dd146102a9578063313ce567146102ec5780633af32abf146103175780635569f5d01461034a5761012a565b806306fdde031461012f578063095ea7b3146101b9578063131f41041461020657806318160ddd146102255780631e8683341461024c575b600080fd5b34801561013b57600080fd5b50610144610588565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561017e578181015183820152602001610166565b50505050905090810190601f1680156101ab5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101c557600080fd5b506101f2600480360360408110156101dc57600080fd5b506001600160a01b0381351690602001356105ad565b604080519115158252519081900360200190f35b6102236004803603602081101561021c57600080fd5b5035610617565b005b34801561023157600080fd5b5061023a61069c565b60408051918252519081900360200190f35b34801561025857600080fd5b5061023a6004803603602081101561026f57600080fd5b50356001600160a01b03166106e2565b34801561028b57600080fd5b50610223600480360360208110156102a257600080fd5b5035610775565b3480156102b557600080fd5b506101f2600480360360608110156102cc57600080fd5b506001600160a01b03813581169160208101359091169060400135610791565b3480156102f857600080fd5b50610301610807565b6040805160ff9092168252519081900360200190f35b34801561032357600080fd5b506101f26004803603602081101561033a57600080fd5b50356001600160a01b031661080c565b34801561035657600080fd5b5061022361082a565b34801561036b57600080fd5b506103926004803603602081101561038257600080fd5b50356001600160a01b031661087a565b604080519485526020850193909352838301919091526060830152519081900360800190f35b3480156103c457600080fd5b5061023a600480360360208110156103db57600080fd5b50356001600160a01b03166108b2565b3480156103f757600080fd5b5061023a6004803603602081101561040e57600080fd5b50356001600160a01b03166108d1565b34801561042a57600080fd5b506101446108ef565b34801561043f57600080fd5b506101f26004803603604081101561045657600080fd5b506001600160a01b03813516906020013561090f565b34801561047857600080fd5b506102236004803603602081101561048f57600080fd5b50351515610926565b3480156104a457600080fd5b506104ad610950565b604080519315158452602084019290925282820152519081900360600190f35b3480156104d957600080fd5b5061023a610964565b3480156104ee57600080fd5b506102236004803603604081101561050557600080fd5b508035906020013561096b565b34801561051e57600080fd5b5061023a6004803603604081101561053557600080fd5b506001600160a01b038135811691602001351661098d565b34801561055957600080fd5b506102236004803603604081101561057057600080fd5b506001600160a01b03813516906020013515156109bc565b604051806040016040528060098152602001682a34b6b2a6b4b732b960b91b81525081565b3360008181526001602090815260408083206001600160a01b03871680855260029091018352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b600854600160a01b900460ff1661062d57600080fd5b600954674563918244f4000082028161064257fe5b04341161064e57600080fd5b61065e3033620f42408402610a33565b506008546040516001600160a01b03909116903480156108fc02916000818181858888f19350505050158015610698573d6000803e3d6000fd5b5050565b600080610e106000600701544203816106b157fe5b04905060008060040154600060030154620f42408402816106ce57fe5b0402620f4240601802019050809250505090565b600080610e106000600701544203816106f757fe5b04905060008060040154600060030154620f424084028161071457fe5b6001600160a01b038716600090815260016020819052604082206003810154910154939092049390930263016e36000193509164e8d4a5100082029083828161075957fe5b64e8d4a510009190049590950294909404979650505050505050565b6002546001600160a01b0316331461078c57600080fd5b600955565b6001600160a01b03831660009081526001602090815260408083203384526002019091528120548211156107c457600080fd5b6001600160a01b03841660009081526001602090815260408083203384526002019091529020805483900390556107fc848484610a33565b506001949350505050565b600681565b6001600160a01b031660009081526001602052604090205460ff1690565b6002546001600160a01b0316331461084157600080fd5b6008805460ff60a01b1916905530600081815260016020819052604090912001546002549091610698916001600160a01b031683610a33565b60008060008061088861069c565b610891866108d1565b61089a876108b2565b6108a3886106e2565b93509350935093509193509193565b6001600160a01b03166000908152600160208190526040909120015490565b6001600160a01b031660009081526001602052604090206003015490565b6040518060400160405280600481526020016354494d4560e01b81525081565b600061091c338484610a33565b5060019392505050565b6002546001600160a01b0316331461093d57600080fd5b6005805460ff1916911515919091179055565b60055460035460045460ff90921691909192565b620f424081565b6002546001600160a01b0316331461098257600080fd5b600391909155600455565b6001600160a01b0391821660009081526001602090815260408083209390941682526002909201909152205490565b6002546001600160a01b031633146109d357600080fd5b6001600160a01b038216600081815260016020908152604091829020805460ff1916851515908117909155825190815291517f5a25e09a5dba33161281055e015f1279b6b10204d8f90dd56a8ce2b82322d43d9281900390910190a25050565b600081610a3f856108b2565b10158015610a5657506001610a53856108b2565b10155b610a5f57600080fd5b60055460009060ff1615610c6b576001600160a01b03841660009081526001602081905260409091200154158015610ab057600080546001600160a01b038716825260016020526040909120600301555b42600060060154610e10011015610af857600754600090610e109042034260065560045460035492909104925090620f4240830281610aeb57fe5b040263016e360001600055505b6001600160a01b03861660009081526001602081905260408220600381015491015482549192909164e8d4a51000908482850281610b3257fe5b040281610b3b57fe5b6001600160a01b03808c1660009081526001602081905260408083209590940485820181905582546003968701819055938e168352938220948501549401549294509064e8d4a51000908482850281610b9057fe5b040281610b9957fe5b6001600160a01b038d166000908152600160208190526040822093909204918301829055805460039093018390559092509064e8d4a5100090888d830281610bdd57fe5b040281610be657fe5b04905080600060010160008f6001600160a01b03166001600160a01b031681526020019081526020016000206001016000828254039250508190555080985088600060010160008e6001600160a01b03166001600160a01b03168152602001908152602001600020600101600082825401925050819055505050505050505050610ca2565b506001600160a01b038085166000908152600160208190526040808320820180548790039055928616825291902001805483019055815b836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a394935050505056fea265627a7a72315820a840d3258dc87c1428deb880899ce900bd2cfca654e8df12d36319961401804764736f6c634300050d0032

Deployed Bytecode Sourcemap

27:8258:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;219:41;;8:9:-1;5:2;;;30:1;27;20:12;5:2;219:41:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;219:41:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4392:203;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4392:203:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;4392:203:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;1930:301;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1930:301:0;;:::i;:::-;;2663;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2663:301:0;;;:::i;:::-;;;;;;;;;;;;;;;;3635:751;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3635:751:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3635:751:0;-1:-1:-1;;;;;3635:751:0;;:::i;2237:163::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2237:163:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2237:163:0;;:::i;5639:266::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5639:266:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;5639:266:0;;;;;;;;;;;;;;;;;:::i;306:34::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;306:34:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5385:111;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5385:111:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5385:111:0;-1:-1:-1;;;;;5385:111:0;;:::i;2405:252::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2405:252:0;;;:::i;3365:264::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3365:264:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3365:264:0;-1:-1:-1;;;;;3365:264:0;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3113:106;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3113:106:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3113:106:0;-1:-1:-1;;;;;3113:106:0;;:::i;2970:138::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2970:138:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2970:138:0;-1:-1:-1;;;;;2970:138:0;;:::i;264:38::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;264:38:0;;;:::i;5501:133::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5501:133:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;5501:133:0;;;;;;;;:::i;5230:149::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5230:149:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5230:149:0;;;;:::i;5006:217::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5006:217:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;52:45;;8:9:-1;5:2;;;30:1;27;20:12;5:2;52:45:0;;;:::i;4784:216::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4784:216:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4784:216:0;;;;;;;:::i;3224:136::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3224:136:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;3224:136:0;;;;;;;;;;:::i;4601:177::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4601:177:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;4601:177:0;;;;;;;;;;:::i;219:41::-;;;;;;;;;;;;;;-1:-1:-1;;;219:41:0;;;;:::o;4392:203::-;4484:10;4462:4;4473:22;;;:10;:22;;;;;;;;-1:-1:-1;;;;;4473:42:0;;;;;:32;;;;:42;;;;;:52;;;4535:39;;;;;;;4462:4;;4473:42;;4484:10;;4535:39;;;;;;;;-1:-1:-1;4586:4:0;4392:203;;;;:::o;1930:301::-;1992:11;:27;-1:-1:-1;;;1992:27:0;;;;1984:36;;;;;;2070:25;;2049:7;:17;;2070:25;2048:47;;;;;2036:9;:59;2028:68;;;;;;2110:63;2128:4;2135:10;94:3;2147:7;:25;2110:9;:63::i;:::-;-1:-1:-1;2189:11:0;:17;:37;;-1:-1:-1;;;;;2189:17:0;;;;2216:9;2189:37;;;;;:17;:37;:17;:37;2216:9;2189:17;:37;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2189:37:0;1930:301;:::o;2663:::-;2707:7;2724:25;2785:7;2760:4;:21;;;2754:3;:27;2753:39;;;;;;2724:69;;2804:23;2912:4;:19;;;2889:4;:19;;;94:3;2850:17;:35;2849:59;;;;;;2848:83;94:3;192:2;:20;2830:102;2804:128;;2944:15;2937:22;;;;2663:301;:::o;3635:751::-;3695:24;3731:25;3792:7;3767:4;:21;;;3761:3;:27;3760:39;;;;;;3731:69;;3811:23;3919:4;:19;;;3896:4;:19;;;94:3;3857:17;:35;3856:59;;;;;-1:-1:-1;;;;;3991:17:0;;3957:31;3991:17;;;:10;:17;;;;;;;:41;;;;4069:25;;;3856:59;;;;3855:83;;;;192:20;3837:102;;-1:-1:-1;3991:41:0;138:4;4132:26;;;3991:41;4132:26;3991:41;4187:32;;;;138:4;4187:32;;;4247:24;;;;4315:20;;;;;;-1:-1:-1;;;;;;;3635:751:0:o;2237:163::-;2334:10;;-1:-1:-1;;;;;2334:10:0;2320;:24;2312:33;;;;;;2353:25;:42;2237:163::o;5639:266::-;-1:-1:-1;;;;;5743:17:0;;5724:4;5743:17;;;:10;:17;;;;;;;;5771:10;5743:39;;:27;;:39;;;;;;:50;-1:-1:-1;5743:50:0;5735:59;;;;;;-1:-1:-1;;;;;5799:17:0;;:4;:17;;;:10;:17;;;;;;;;5827:10;5799:39;;:27;;:39;;;;;:50;;;;;;;5854:30;5810:5;5871:3;5842:7;5854:9;:30::i;:::-;-1:-1:-1;5896:4:0;;5639:266;-1:-1:-1;;;;5639:266:0:o;306:34::-;339:1;306:34;:::o;5385:111::-;-1:-1:-1;;;;;5462:17:0;5444:4;5462:17;;;:10;:17;;;;;:29;;;;5385:111::o;2405:252::-;2469:10;;-1:-1:-1;;;;;2469:10:0;2455;:24;2447:33;;;;;;2488:11;:35;;-1:-1:-1;;;;2488:35:0;;;2576:4;2518:5;2557:25;;;2488:35;2557:25;;;;;;;;:33;;2624:10;;2557:33;;2599:53;;-1:-1:-1;;;;;2624:10:0;2557:33;2599:9;:53::i;3365:264::-;3421:24;3447:28;3477:19;3498:23;3536:13;:11;:13::i;:::-;3551:32;3577:5;3551:25;:32::i;:::-;3585:16;3595:5;3585:9;:16::i;:::-;3603:20;3617:5;3603:13;:20::i;:::-;3528:96;;;;;;;;3365:264;;;;;:::o;3113:106::-;-1:-1:-1;;;;;3189:17:0;3168:7;3189:17;;;:10;:17;;;;;;;;:25;;;3113:106::o;2970:138::-;-1:-1:-1;;;;;3062:17:0;3041:7;3062:17;;;:10;:17;;;;;:41;;;;2970:138::o;264:38::-;;;;;;;;;;;;;;-1:-1:-1;;;264:38:0;;;;:::o;5501:133::-;5567:4;5578:35;5588:10;5600:3;5605:7;5578:9;:35::i;:::-;-1:-1:-1;5625:4:0;;5501:133;-1:-1:-1;;;5501:133:0:o;5230:149::-;5317:10;;-1:-1:-1;;;;;5317:10:0;5303;:24;5295:33;;;;;;5333:21;:41;;-1:-1:-1;;5333:41:0;;;;;;;;;;5230:149::o;5006:217::-;5154:21;;5177:19;;5198;;5154:21;;;;;5006:217;;;:::o;52:45::-;94:3;52:45;:::o;4784:216::-;4900:10;;-1:-1:-1;;;;;4900:10:0;4886;:24;4878:33;;;;;;4916:19;:37;;;;4958:19;:37;4784:216::o;3224:136::-;-1:-1:-1;;;;;3318:17:0;;;3297:7;3318:17;;;:10;:17;;;;;;;;:37;;;;;;:27;;;;:37;;;;;;3224:136::o;4601:177::-;4683:10;;-1:-1:-1;;;;;4683:10:0;4669;:24;4661:33;;;;;;-1:-1:-1;;;;;4699:17:0;;:4;:17;;;:10;:17;;;;;;;;;:39;;-1:-1:-1;;4699:39:0;;;;;;;;;;4748:25;;;;;;;;;;;;;;;;;4601:177;;:::o;5911:2371::-;5993:7;6038;6018:16;6028:5;6018:9;:16::i;:::-;:27;;:52;;;;;6069:1;6049:16;6059:5;6049:9;:16::i;:::-;:21;;6018:52;6010:61;;;;;;6118:21;;6082:20;;6118:21;;6115:2083;;;-1:-1:-1;;;;;6169:15:0;;6152:14;6169:15;;;:10;:15;;;;;;;;:23;;:28;6237:102;;;;6313:4;:16;;-1:-1:-1;;;;;6271:15:0;;;;:10;:15;;;;;;:39;;:58;6237:102;6414:3;6381:4;:20;;;6404:7;6381:30;:36;6378:329;;;6475:21;;6439:25;;6500:7;;6469:3;:27;6544:3;6521:20;:26;6677:19;;6654;;6468:39;;;;;-1:-1:-1;6677:19:0;94:3;6615:35;;6654:19;6614:59;;;;;6613:83;192:20;6595:102;6576:4;:121;-1:-1:-1;6378:329:0;-1:-1:-1;;;;;6790:17:0;;6752:35;6790:17;;;:10;:17;;;;;;;:41;;;;6884:25;;;7030:16;;6790:41;;6884:25;;138:4;;6790:41;6965:30;;;6790:41;6964:62;;;;;6963:83;6961:99;;;;;-1:-1:-1;;;;;7089:17:0;;;:4;:17;;;:10;:17;;;;;;;;6961:99;;;;7089:25;;;:54;;;7202:16;;7158:41;;;;:60;;;7316:15;;;;;;;;:39;;;;7411:23;;;6961:99;;-1:-1:-1;7089:4:0;138;;7316:39;7488:28;;;7316:39;7487:58;;;;;7486:79;7484:95;;;;;-1:-1:-1;;;;;7611:15:0;;:4;:15;;;:10;:15;;;;;;;7484:95;;;;7611:23;;;:50;;;7712:16;;7670:39;;;;:58;;;7484:95;;-1:-1:-1;7611:4:0;138;;7831:27;7808:19;;;7831:27;7807:51;;;;;7806:72;7804:88;;;;;;7778:115;;7942:14;7913:4;:10;;:17;7924:5;-1:-1:-1;;;;;7913:17:0;-1:-1:-1;;;;;7913:17:0;;;;;;;;;;;;:25;;;:43;;;;;;;;;;;7980:14;7965:29;;8030:12;8003:4;:10;;:15;8014:3;-1:-1:-1;;;;;8003:15:0;-1:-1:-1;;;;;8003:15:0;;;;;;;;;;;;:23;;;:39;;;;;;;;;;;6115:2083;;;;;;;;;;;-1:-1:-1;;;;;;8077:17:0;;;:4;:17;;;:10;:17;;;;;;;;:25;;:36;;;;;;;8153:15;;;;;;;;:23;:39;;;;;;8106:7;6115:2083;8232:3;-1:-1:-1;;;;;8216:34:0;8225:5;-1:-1:-1;;;;;8216:34:0;;8237:12;8216:34;;;;;;;;;;;;;;;;;;8265:12;5911:2371;-1:-1:-1;;;;5911:2371:0:o

Swarm Source

bzzr://a840d3258dc87c1428deb880899ce900bd2cfca654e8df12d363199614018047
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.