ETH Price: $2,394.52 (-2.13%)

Token

ClusterToken (CLRT)
 

Overview

Max Total Supply

750 CLRT

Holders

142

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
0.000005 CLRT

Value
$0.00
0x053326e610c6beb7e40c869889e9339b017ca705
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
ClusterToken

Compiler Version
v0.4.11+commit.68ef5810

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2017-07-28
*/

pragma solidity ^0.4.11;


/**
 * @title SafeMath
 * @dev Math operations with safety checks that throw on error
 */
library SafeMath {
	function mul(uint a, uint b) internal returns (uint) {
		uint c = a * b;
		assert(a == 0 || c / a == b);
		return c;
	}
	function safeSub(uint a, uint b) internal returns (uint) {
		assert(b <= a);
		return a - b;
	}
	function div(uint a, uint b) internal returns (uint) {
		assert(b > 0);
		uint c = a / b;
		assert(a == b * c + a % b);
		return c;
	}
	function sub(uint a, uint b) internal returns (uint) {
		assert(b <= a);
		return a - b;
	}
	function add(uint a, uint b) internal returns (uint) {
		uint c = a + b;
		assert(c >= a);
		return c;
	}
	function max64(uint64 a, uint64 b) internal constant returns (uint64) {
		return a >= b ? a : b;
	}
	function min64(uint64 a, uint64 b) internal constant returns (uint64) {
		return a < b ? a : b;
	}
	function max256(uint256 a, uint256 b) internal constant returns (uint256) {
		return a >= b ? a : b;
	}
	function min256(uint256 a, uint256 b) internal constant returns (uint256) {
		return a < b ? a : b;
	}
	function assert(bool assertion) internal {
		if (!assertion) {
			throw;
		}
	}
}


/**
 * @title Ownable
 * @dev The Ownable contract has an owner address, and provides basic authorization control
 * functions, this simplifies the implementation of "user permissions".
 */
contract Ownable {
    address public owner;
    function Ownable() {
        owner = msg.sender;
    }
    modifier onlyOwner {
        if (msg.sender != owner) throw;
        _;
    }
    function transferOwnership(address newOwner) onlyOwner {
        if (newOwner != address(0)) {
            owner = newOwner;
        }
    }
}


/**
 * @title Pausable
 * @dev Base contract which allows children to implement an emergency stop mechanism.
 */
contract Pausable is Ownable {
	bool public stopped;
	modifier stopInEmergency {
		if (stopped) {
			throw;
		}
		_;
	}

	modifier onlyInEmergency {
		if (!stopped) {
		  throw;
		}
	_;
	}
	// called by the owner on emergency, triggers stopped state
	function emergencyStop() external onlyOwner {
		stopped = true;
	}
	// called by the owner on end of emergency, returns to normal state
	function release() external onlyOwner onlyInEmergency {
		stopped = false;
	}
}



/**
 * @title PullPayment
 * @dev Base contract supporting async send for pull payments. Inherit from this
 * contract and use asyncSend instead of send.
 */
contract PullPayment {
	using SafeMath for uint;

	mapping(address => uint) public payments;
	event LogRefundETH(address to, uint value);
	/**
	*  Store sent amount as credit to be pulled, called by payer 
	**/
	function asyncSend(address dest, uint amount) internal {
		payments[dest] = payments[dest].add(amount);
	}
	// withdraw accumulated balance, called by payee
	function withdrawPayments() {
		address payee = msg.sender;
		uint payment = payments[payee];

		if (payment == 0) {
			throw;
		}
		if (this.balance < payment) {
		    throw;
		}
		payments[payee] = 0;
		if (!payee.send(payment)) {
		    throw;
		}
		LogRefundETH(payee,payment);
	}
}



/**
 * @title ERC20Basic
 * @dev Simpler version of ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/179
 */
contract ERC20Basic {
	uint public totalSupply;
	function balanceOf(address who) constant returns (uint);
	function transfer(address to, uint value);
	event Transfer(address indexed from, address indexed to, uint value);
}


/**
 * @title ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/20
 */
contract ERC20 is ERC20Basic {
	function allowance(address owner, address spender) constant returns (uint);
	function transferFrom(address from, address to, uint value);
	function approve(address spender, uint value);
	event Approval(address indexed owner, address indexed spender, uint value);
}


/**
 * @title Basic token
 * @dev Basic version of StandardToken, with no allowances. 
 */
contract BasicToken is ERC20Basic {
  
	using SafeMath for uint;

	mapping(address => uint) balances;

	/*
	* Fix for the ERC20 short address attack  
	*/
	modifier onlyPayloadSize(uint size) {
	   if(msg.data.length < size + 4) {
	     throw;
	   }
	 _;
	}
	function transfer(address _to, uint _value) onlyPayloadSize(2 * 32) {
		balances[msg.sender] = balances[msg.sender].sub(_value);
		balances[_to] = balances[_to].add(_value);
		Transfer(msg.sender, _to, _value);
	}
	function balanceOf(address _owner) constant returns (uint balance) {
		return balances[_owner];
	}
}


/**
 * @title Standard ERC20 token
 *
 * @dev Implementation of the basic standard token.
 * @dev https://github.com/ethereum/EIPs/issues/20
 * @dev Based on code by FirstBlood: https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol
 */
contract StandardToken is BasicToken, ERC20 {
	mapping (address => mapping (address => uint)) allowed;
	function transferFrom(address _from, address _to, uint _value) onlyPayloadSize(3 * 32) {
		var _allowance = allowed[_from][msg.sender];
		balances[_to] = balances[_to].add(_value);
		balances[_from] = balances[_from].sub(_value);
		allowed[_from][msg.sender] = _allowance.sub(_value);
		Transfer(_from, _to, _value);
    }
	function approve(address _spender, uint _value) {
		if ((_value != 0) && (allowed[msg.sender][_spender] != 0)) throw;
		allowed[msg.sender][_spender] = _value;
		Approval(msg.sender, _spender, _value);
	}
	function allowance(address _owner, address _spender) constant returns (uint remaining) {
		return allowed[_owner][_spender];
	}
}


/**
 *  ClusterToken presale contract.
 */
contract ClusterToken is StandardToken, PullPayment, Ownable, Pausable {
	
  using SafeMath for uint;
  
  struct Backer {
        address buyer;
        uint contribution;
        uint withdrawnAtSegment;
        uint withdrawnAtCluster;
        bool state;
    }
    
    /**
     * Variables
    */
    string public constant name = "ClusterToken";
    string public constant symbol = "CLRT";
    uint256 public constant decimals = 18;
    uint256 private buyPriceEth = 10000000000000000;
    
    uint256 public initialBlockCount;
    uint256 private testBlockEnd;
    uint256 public contributors;
    
    uint256 private minedBlocks;
    uint256 private ClusterCurrent;
    uint256 private SegmentCurrent;
    uint256 private UnitCurrent;
  
  
    mapping(address => Backer) public backers;
    
   
    /**
     * @dev Contract constructor
     */ 
    function ClusterToken() {
    totalSupply = 750000000000000000000;
    balances[msg.sender] = totalSupply;
    
    initialBlockCount = 4086356;

    contributors = 0;
    }
    
    
    /**
     * @return Returns the current amount of CLUSTERS
     */ 
    function currentCluster() constant returns (uint256 currentCluster)
    {
    	uint blockCount = block.number - initialBlockCount;
    	uint result = blockCount.div(1000000);
    	return result;
    }
    
    
    /**
     * @return Returns the current amount of SEGMENTS
     */ 
    function currentSegment() constant returns (uint256 currentSegment)
    {
    	uint blockCount = block.number - initialBlockCount;
    	uint newSegment = currentCluster().mul(1000);
    	uint result = blockCount.div(1000).sub(newSegment);

    	return result;
    }
    
    
    /**
     * @return Returns the current amount of UNITS
     */ 
    function currentUnit() constant returns (uint256 currentUnit)
    {
    	uint blockCount = block.number - initialBlockCount;
    	uint getClusters = currentCluster().mul(1000000);
        uint newUnit = currentSegment().mul(1000);
    	return blockCount.sub(getClusters).sub(newUnit);      
    	
    }
    
    
    /**
     * @return Returns the current network block
     */ 
    function currentBlock() constant returns (uint256 blockNumber)
    {
    	return block.number - initialBlockCount;
    }



    /**
     * @dev Allows users to buy CLUSTER and receive their tokens at once.
     * @return The amount of CLUSTER bought by sender.
     */ 
    function buyClusterToken() payable returns (uint amount) {
        
        if (balances[this] < amount) throw;                          
        amount = msg.value.mul(buyPriceEth).div(1 ether);
        balances[msg.sender] += amount;
        balances[this] -= amount;
        Transfer(this, msg.sender, amount);
        
        Backer backer = backers[msg.sender];
        backer.contribution = backer.contribution.add(amount);
        backer.withdrawnAtSegment = backer.withdrawnAtSegment.add(0);
        backer.withdrawnAtCluster = backer.withdrawnAtCluster.add(0);
        backer.state = backer.state = true;
        
        contributors++;
        
        return amount;
    }
    
    
    /**
     * @dev Allows users to claim CLUSTER every 1000 SEGMENTS (1.000.000 blocks).
     * @return The amount of CLUSTER claimed by sender.
     */
    function claimClusters() public returns (uint amount) {
        
        if (currentSegment() == 0) throw;
        if (!backers[msg.sender].state) throw; 
        
        uint previousWithdraws = backers[msg.sender].withdrawnAtCluster;
        uint entitledToClusters = currentCluster().sub(previousWithdraws);
        
        if (entitledToClusters == 0) throw;
        if (!isEntitledForCluster(msg.sender)) throw;
        
        uint userShares = backers[msg.sender].contribution.div(1 finney);
        uint amountForPayout = buyPriceEth.div(contributors);
        
        amount =  amountForPayout.mul(userShares).mul(1000);                           
        
        balances[msg.sender] += amount;
        balances[this] -= amount;
        Transfer(this, msg.sender, amount);
        
        backers[msg.sender].withdrawnAtCluster = currentCluster(); 
        
        return amount;
    }
    
    
    /**
     * @dev Allows users to claim segments every 1000 UNITS (blocks).
     * @dev NOTE: Users claiming SEGMENTS instead of CLUSTERS get only half of the reward.
     * @return The amount of SEGMENTS claimed by sender.
     */
    function claimSegments() public returns (uint amount) {
        
        if (currentSegment() == 0) throw;
        if (!backers[msg.sender].state) throw;  
        
        
        uint previousWithdraws = currentCluster().add(backers[msg.sender].withdrawnAtSegment);
        uint entitledToSegments = currentCluster().add(currentSegment().sub(previousWithdraws));
        
        if (entitledToSegments == 0 ) throw;
        
        uint userShares = backers[msg.sender].contribution.div(1 finney);
        uint amountForPayout = buyPriceEth.div(contributors);
        
        amount =  amountForPayout.mul(userShares).div(10).div(2);                           
        
        balances[msg.sender] += amount;
        balances[this] -= amount;
        Transfer(this, msg.sender, amount);
        
        backers[msg.sender].withdrawnAtSegment = currentSegment(); 
        
        return amount;
    }

    
    /**
     * @dev Function if users send funds to this contract, call the buy function.
     */ 
    function() payable {
        if (msg.sender != owner) {
            buyClusterToken();
        }
    }
    
    
    /**
     * @dev Allows owner to withdraw funds from the account.
     */ 
    function Drain() onlyOwner public {
        if(this.balance > 0) {
            if (!owner.send(this.balance)) throw;
        }
    }
    
    
    
    /**
    *  Burn away the specified amount of ClusterToken tokens.
    * @return Returns success boolean.
    */
    function burn(uint _value) onlyOwner returns (bool) {
        balances[msg.sender] = balances[msg.sender].sub(_value);
        totalSupply = totalSupply.sub(_value);
        Transfer(msg.sender, 0x0, _value);
        return true;
    }
    
    
    /**
     * @dev Internal check to see if at least 1000 segments passed without withdrawal prior to rewarding a cluster
     */ 
    function isEntitledForCluster(address _sender) private constant returns (bool) {
        
        uint t1 = currentCluster().mul(1000).add(currentSegment()); 
        uint t2 = backers[_sender].withdrawnAtSegment;      

        if (t1.sub(t2) >= 1000) { return true; }
        return false;
        
    }
    
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"currentUnit","outputs":[{"name":"currentUnit","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"burn","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"withdrawPayments","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"emergencyStop","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"contributors","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"stopped","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"release","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"claimSegments","outputs":[{"name":"amount","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"buyClusterToken","outputs":[{"name":"amount","type":"uint256"}],"payable":true,"type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"currentSegment","outputs":[{"name":"currentSegment","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"currentCluster","outputs":[{"name":"currentCluster","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"backers","outputs":[{"name":"buyer","type":"address"},{"name":"contribution","type":"uint256"},{"name":"withdrawnAtSegment","type":"uint256"},{"name":"withdrawnAtCluster","type":"uint256"},{"name":"state","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"claimClusters","outputs":[{"name":"amount","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"Drain","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"currentBlock","outputs":[{"name":"blockNumber","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"payments","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"initialBlockCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"type":"function"},{"inputs":[],"payable":false,"type":"constructor"},{"payable":true,"type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"LogRefundETH","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","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"}]

6060604052662386f26fc10000600555341561001757fe5b5b5b60048054600160a060020a03191633600160a060020a03161790555b6828a857425466f800006000818155600160a060020a033316815260016020526040812091909155623e5a546006556008555b5b61140c806100786000396000f300606060405236156101675763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde038114610190578063095ea7b3146102205780630a0278251461024157806318160ddd1461026357806323b872dd14610285578063313ce567146102ac57806342966c68146102ce5780636103d70b146102f557806363a599a4146103075780636e7e3b2b1461031957806370a082311461033b57806375f12b211461036957806386d1a69f1461038d5780638b57ebc61461039f5780638da5cb5b146103c1578063953b42b3146103ed57806395d89b411461040757806399b465cb14610497578063a9059cbb146104b9578063b281c478146104da578063b85dfb80146104fc578063b99f1d021461054f578063d67a073f14610571578063dd62ed3e14610583578063e12ed13c146105b7578063e2982c21146105d9578063e5f65c7114610607578063f2fde38b14610629575b61018e5b60045433600160a060020a0390811691161461018b57610189610647565b505b5b565b005b341561019857fe5b6101a0610785565b6040805160208082528351818301528351919283929083019185019080838382156101e6575b8051825260208311156101e657601f1990920191602091820191016101c6565b505050905090810190601f1680156102125780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561022857fe5b61018e600160a060020a03600435166024356107bc565b005b341561024957fe5b61025161085c565b60408051918252519081900360200190f35b341561026b57fe5b6102516108c8565b60408051918252519081900360200190f35b341561028d57fe5b61018e600160a060020a03600435811690602435166044356108ce565b005b34156102b457fe5b6102516109e0565b60408051918252519081900360200190f35b34156102d657fe5b6102e16004356109e5565b604080519115158252519081900360200190f35b34156102fd57fe5b61018e610a96565b005b341561030f57fe5b61018e610b5d565b005b341561032157fe5b610251610bb2565b60408051918252519081900360200190f35b341561034357fe5b610251600160a060020a0360043516610bb8565b60408051918252519081900360200190f35b341561037157fe5b6102e1610bd7565b604080519115158252519081900360200190f35b341561039557fe5b61018e610bf8565b005b34156103a757fe5b610251610c61565b60408051918252519081900360200190f35b34156103c957fe5b6103d1610e21565b60408051600160a060020a039092168252519081900360200190f35b610251610647565b60408051918252519081900360200190f35b341561040f57fe5b6101a0610e30565b6040805160208082528351818301528351919283929083019185019080838382156101e6575b8051825260208311156101e657601f1990920191602091820191016101c6565b505050905090810190601f1680156102125780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561049f57fe5b610251610e67565b60408051918252519081900360200190f35b34156104c157fe5b61018e600160a060020a0360043516602435610ebb565b005b34156104e257fe5b610251610f77565b60408051918252519081900360200190f35b341561050457fe5b610518600160a060020a0360043516610f9e565b60408051600160a060020a039096168652602086019490945284840192909252606084015215156080830152519081900360a00190f35b341561055757fe5b610251610fda565b60408051918252519081900360200190f35b341561057957fe5b61018e611172565b005b341561058b57fe5b610251600160a060020a03600435811690602435166111dc565b60408051918252519081900360200190f35b34156105bf57fe5b610251611209565b60408051918252519081900360200190f35b34156105e157fe5b610251600160a060020a0360043516611212565b60408051918252519081900360200190f35b341561060f57fe5b610251611224565b60408051918252519081900360200190f35b341561063157fe5b61018e600160a060020a036004351661122a565b005b600160a060020a0330166000908152600160205260408120548190819010156106705760006000fd5b61069d670de0b6b3a76400006106916005543461128390919063ffffffff16565b9063ffffffff6112b216565b600160a060020a03338116600081815260016020908152604080832080548701905530909416808352918490208054869003905583518581529351949650919390926000805160206113c183398151915292908290030190a350600160a060020a0333166000908152600d602052604090206001810154610724908363ffffffff6112f516565b6001820155600281015461073f90600063ffffffff6112f516565b6002820155600381015461075a90600063ffffffff6112f516565b6003820155600481018054600160ff19918216811790911681179091556008805490910190555b5090565b60408051808201909152600c81527f436c7573746572546f6b656e0000000000000000000000000000000000000000602082015281565b80158015906107ef5750600160a060020a0333811660009081526002602090815260408083209386168352929052205415155b156107fa5760006000fd5b600160a060020a03338116600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a35b5050565b60065460009043038180610881620f4240610875610f77565b9063ffffffff61128316565b915061089d6103e8610875610e67565b9063ffffffff61128316565b90506108bf816108b3858563ffffffff61131116565b9063ffffffff61131116565b93505b50505090565b60005481565b6000606060643610156108e15760006000fd5b600160a060020a038086166000908152600260209081526040808320338516845282528083205493881683526001909152902054909250610928908463ffffffff6112f516565b600160a060020a03808616600090815260016020526040808220939093559087168152205461095d908463ffffffff61131116565b600160a060020a038616600090815260016020526040902055610986828463ffffffff61131116565b600160a060020a038087166000818152600260209081526040808320338616845282529182902094909455805187815290519288169391926000805160206113c1833981519152929181900390910190a35b5b5050505050565b601281565b60045460009033600160a060020a03908116911614610a045760006000fd5b600160a060020a033316600090815260016020526040902054610a2d908363ffffffff61131116565b600160a060020a03331660009081526001602052604081209190915554610a5a908363ffffffff61131116565b6000908155604080518481529051600160a060020a033316916000805160206113c1833981519152919081900360200190a35060015b5b919050565b33600160a060020a038116600090815260036020526040902054801515610abd5760006000fd5b8030600160a060020a0316311015610ad55760006000fd5b600160a060020a0382166000818152600360205260408082208290555183156108fc0291849190818181858888f193505050501515610b145760006000fd5b60408051600160a060020a03841681526020810183905281517f991678bf7f45816a1ff5cf860f3dabd3e26c34d959aa479904bf9caec17af1c5929181900390910190a15b5050565b60045433600160a060020a03908116911614610b795760006000fd5b6004805474ff00000000000000000000000000000000000000001916740100000000000000000000000000000000000000001790555b5b565b60085481565b600160a060020a0381166000908152600160205260409020545b919050565b60045474010000000000000000000000000000000000000000900460ff1681565b60045433600160a060020a03908116911614610c145760006000fd5b60045474010000000000000000000000000000000000000000900460ff161515610c3e5760006000fd5b6004805474ff0000000000000000000000000000000000000000191690555b5b5b565b60006000600060006000610c73610e67565b1515610c7f5760006000fd5b600160a060020a0333166000908152600d602052604090206004015460ff161515610caa5760006000fd5b600160a060020a0333166000908152600d6020526040902060020154610cde90610cd2610f77565b9063ffffffff6112f516565b9350610d0f610cfb856108b3610e67565b9063ffffffff61131116565b610cd2610f77565b9063ffffffff6112f516565b9250821515610d1e5760006000fd5b600160a060020a0333166000908152600d6020526040902060010154610d519066038d7ea4c6800063ffffffff6112b216565b9150610d6a6008546005546112b290919063ffffffff16565b9050610d9c6002610691600a81858763ffffffff61128316565b9063ffffffff6112b216565b9063ffffffff6112b216565b600160a060020a03338116600081815260016020908152604080832080548701905530909416808352918490208054869003905583518581529351949950919390926000805160206113c183398151915292908290030190a3610dfd610e67565b600160a060020a0333166000908152600d60205260409020600201555b5050505090565b600454600160a060020a031681565b60408051808201909152600481527f434c525400000000000000000000000000000000000000000000000000000000602082015281565b60065460009043038180610e8b6103e8610875610f77565b9063ffffffff61128316565b9150610eaf826108b3856103e863ffffffff6112b216565b9063ffffffff61131116565b90508093505b50505090565b60406044361015610ecc5760006000fd5b600160a060020a033316600090815260016020526040902054610ef5908363ffffffff61131116565b600160a060020a033381166000908152600160205260408082209390935590851681522054610f2a908363ffffffff6112f516565b600160a060020a038085166000818152600160209081526040918290209490945580518681529051919333909316926000805160206113c183398151915292918290030190a35b5b505050565b600654600090430381610f9382620f424063ffffffff6112b216565b90508092505b505090565b600d6020526000908152604090208054600182015460028301546003840154600490940154600160a060020a0390931693919290919060ff1685565b60006000600060006000610fec610e67565b1515610ff85760006000fd5b600160a060020a0333166000908152600d602052604090206004015460ff1615156110235760006000fd5b600160a060020a0333166000908152600d60205260409020600301549350611059846108b3610f77565b9063ffffffff61131116565b92508215156110685760006000fd5b6110713361132a565b151561107d5760006000fd5b600160a060020a0333166000908152600d60205260409020600101546110b09066038d7ea4c6800063ffffffff6112b216565b91506110c96008546005546112b290919063ffffffff16565b90506110ed6103e8610875838563ffffffff61128316565b9063ffffffff61128316565b600160a060020a03338116600081815260016020908152604080832080548701905530909416808352918490208054869003905583518581529351949950919390926000805160206113c183398151915292908290030190a361114e610f77565b600160a060020a0333166000908152600d60205260409020600301555b5050505090565b60045433600160a060020a0390811691161461118e5760006000fd5b600030600160a060020a031631111561018b57600454604051600160a060020a039182169130163180156108fc02916000818181858888f19350505050151561018b5760006000fd5b5b5b5b565b600160a060020a038083166000908152600260209081526040808320938516835292905220545b92915050565b60065443035b90565b60036020526000908152604090205481565b60065481565b60045433600160a060020a039081169116146112465760006000fd5b600160a060020a03811615610189576004805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b5b50565b60008282026112a78415806112a2575083858381151561129f57fe5b04145b6113af565b8091505b5092915050565b600060006112c2600084116113af565b82848115156112cd57fe5b0490506112a783858115156112de57fe5b068285020185146113af565b8091505b5092915050565b60008282016112a7848210156113af565b8091505b5092915050565b600061131f838311156113af565b508082035b92915050565b60006000600061136161133b610e67565b610cd26103e8610875610f77565b9063ffffffff61128316565b9063ffffffff6112f516565b600160a060020a0385166000908152600d602052604090206002015490925090506103e8611395838363ffffffff61131116565b106113a357600192506113a8565b600092505b5050919050565b8015156101895760006000fd5b5b505600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a723058205921529dc31cd98e5e6a10fc52c855ecb617f657ff728146f6ee2109a24c92d30029

Deployed Bytecode

0x606060405236156101675763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde038114610190578063095ea7b3146102205780630a0278251461024157806318160ddd1461026357806323b872dd14610285578063313ce567146102ac57806342966c68146102ce5780636103d70b146102f557806363a599a4146103075780636e7e3b2b1461031957806370a082311461033b57806375f12b211461036957806386d1a69f1461038d5780638b57ebc61461039f5780638da5cb5b146103c1578063953b42b3146103ed57806395d89b411461040757806399b465cb14610497578063a9059cbb146104b9578063b281c478146104da578063b85dfb80146104fc578063b99f1d021461054f578063d67a073f14610571578063dd62ed3e14610583578063e12ed13c146105b7578063e2982c21146105d9578063e5f65c7114610607578063f2fde38b14610629575b61018e5b60045433600160a060020a0390811691161461018b57610189610647565b505b5b565b005b341561019857fe5b6101a0610785565b6040805160208082528351818301528351919283929083019185019080838382156101e6575b8051825260208311156101e657601f1990920191602091820191016101c6565b505050905090810190601f1680156102125780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561022857fe5b61018e600160a060020a03600435166024356107bc565b005b341561024957fe5b61025161085c565b60408051918252519081900360200190f35b341561026b57fe5b6102516108c8565b60408051918252519081900360200190f35b341561028d57fe5b61018e600160a060020a03600435811690602435166044356108ce565b005b34156102b457fe5b6102516109e0565b60408051918252519081900360200190f35b34156102d657fe5b6102e16004356109e5565b604080519115158252519081900360200190f35b34156102fd57fe5b61018e610a96565b005b341561030f57fe5b61018e610b5d565b005b341561032157fe5b610251610bb2565b60408051918252519081900360200190f35b341561034357fe5b610251600160a060020a0360043516610bb8565b60408051918252519081900360200190f35b341561037157fe5b6102e1610bd7565b604080519115158252519081900360200190f35b341561039557fe5b61018e610bf8565b005b34156103a757fe5b610251610c61565b60408051918252519081900360200190f35b34156103c957fe5b6103d1610e21565b60408051600160a060020a039092168252519081900360200190f35b610251610647565b60408051918252519081900360200190f35b341561040f57fe5b6101a0610e30565b6040805160208082528351818301528351919283929083019185019080838382156101e6575b8051825260208311156101e657601f1990920191602091820191016101c6565b505050905090810190601f1680156102125780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561049f57fe5b610251610e67565b60408051918252519081900360200190f35b34156104c157fe5b61018e600160a060020a0360043516602435610ebb565b005b34156104e257fe5b610251610f77565b60408051918252519081900360200190f35b341561050457fe5b610518600160a060020a0360043516610f9e565b60408051600160a060020a039096168652602086019490945284840192909252606084015215156080830152519081900360a00190f35b341561055757fe5b610251610fda565b60408051918252519081900360200190f35b341561057957fe5b61018e611172565b005b341561058b57fe5b610251600160a060020a03600435811690602435166111dc565b60408051918252519081900360200190f35b34156105bf57fe5b610251611209565b60408051918252519081900360200190f35b34156105e157fe5b610251600160a060020a0360043516611212565b60408051918252519081900360200190f35b341561060f57fe5b610251611224565b60408051918252519081900360200190f35b341561063157fe5b61018e600160a060020a036004351661122a565b005b600160a060020a0330166000908152600160205260408120548190819010156106705760006000fd5b61069d670de0b6b3a76400006106916005543461128390919063ffffffff16565b9063ffffffff6112b216565b600160a060020a03338116600081815260016020908152604080832080548701905530909416808352918490208054869003905583518581529351949650919390926000805160206113c183398151915292908290030190a350600160a060020a0333166000908152600d602052604090206001810154610724908363ffffffff6112f516565b6001820155600281015461073f90600063ffffffff6112f516565b6002820155600381015461075a90600063ffffffff6112f516565b6003820155600481018054600160ff19918216811790911681179091556008805490910190555b5090565b60408051808201909152600c81527f436c7573746572546f6b656e0000000000000000000000000000000000000000602082015281565b80158015906107ef5750600160a060020a0333811660009081526002602090815260408083209386168352929052205415155b156107fa5760006000fd5b600160a060020a03338116600081815260026020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a35b5050565b60065460009043038180610881620f4240610875610f77565b9063ffffffff61128316565b915061089d6103e8610875610e67565b9063ffffffff61128316565b90506108bf816108b3858563ffffffff61131116565b9063ffffffff61131116565b93505b50505090565b60005481565b6000606060643610156108e15760006000fd5b600160a060020a038086166000908152600260209081526040808320338516845282528083205493881683526001909152902054909250610928908463ffffffff6112f516565b600160a060020a03808616600090815260016020526040808220939093559087168152205461095d908463ffffffff61131116565b600160a060020a038616600090815260016020526040902055610986828463ffffffff61131116565b600160a060020a038087166000818152600260209081526040808320338616845282529182902094909455805187815290519288169391926000805160206113c1833981519152929181900390910190a35b5b5050505050565b601281565b60045460009033600160a060020a03908116911614610a045760006000fd5b600160a060020a033316600090815260016020526040902054610a2d908363ffffffff61131116565b600160a060020a03331660009081526001602052604081209190915554610a5a908363ffffffff61131116565b6000908155604080518481529051600160a060020a033316916000805160206113c1833981519152919081900360200190a35060015b5b919050565b33600160a060020a038116600090815260036020526040902054801515610abd5760006000fd5b8030600160a060020a0316311015610ad55760006000fd5b600160a060020a0382166000818152600360205260408082208290555183156108fc0291849190818181858888f193505050501515610b145760006000fd5b60408051600160a060020a03841681526020810183905281517f991678bf7f45816a1ff5cf860f3dabd3e26c34d959aa479904bf9caec17af1c5929181900390910190a15b5050565b60045433600160a060020a03908116911614610b795760006000fd5b6004805474ff00000000000000000000000000000000000000001916740100000000000000000000000000000000000000001790555b5b565b60085481565b600160a060020a0381166000908152600160205260409020545b919050565b60045474010000000000000000000000000000000000000000900460ff1681565b60045433600160a060020a03908116911614610c145760006000fd5b60045474010000000000000000000000000000000000000000900460ff161515610c3e5760006000fd5b6004805474ff0000000000000000000000000000000000000000191690555b5b5b565b60006000600060006000610c73610e67565b1515610c7f5760006000fd5b600160a060020a0333166000908152600d602052604090206004015460ff161515610caa5760006000fd5b600160a060020a0333166000908152600d6020526040902060020154610cde90610cd2610f77565b9063ffffffff6112f516565b9350610d0f610cfb856108b3610e67565b9063ffffffff61131116565b610cd2610f77565b9063ffffffff6112f516565b9250821515610d1e5760006000fd5b600160a060020a0333166000908152600d6020526040902060010154610d519066038d7ea4c6800063ffffffff6112b216565b9150610d6a6008546005546112b290919063ffffffff16565b9050610d9c6002610691600a81858763ffffffff61128316565b9063ffffffff6112b216565b9063ffffffff6112b216565b600160a060020a03338116600081815260016020908152604080832080548701905530909416808352918490208054869003905583518581529351949950919390926000805160206113c183398151915292908290030190a3610dfd610e67565b600160a060020a0333166000908152600d60205260409020600201555b5050505090565b600454600160a060020a031681565b60408051808201909152600481527f434c525400000000000000000000000000000000000000000000000000000000602082015281565b60065460009043038180610e8b6103e8610875610f77565b9063ffffffff61128316565b9150610eaf826108b3856103e863ffffffff6112b216565b9063ffffffff61131116565b90508093505b50505090565b60406044361015610ecc5760006000fd5b600160a060020a033316600090815260016020526040902054610ef5908363ffffffff61131116565b600160a060020a033381166000908152600160205260408082209390935590851681522054610f2a908363ffffffff6112f516565b600160a060020a038085166000818152600160209081526040918290209490945580518681529051919333909316926000805160206113c183398151915292918290030190a35b5b505050565b600654600090430381610f9382620f424063ffffffff6112b216565b90508092505b505090565b600d6020526000908152604090208054600182015460028301546003840154600490940154600160a060020a0390931693919290919060ff1685565b60006000600060006000610fec610e67565b1515610ff85760006000fd5b600160a060020a0333166000908152600d602052604090206004015460ff1615156110235760006000fd5b600160a060020a0333166000908152600d60205260409020600301549350611059846108b3610f77565b9063ffffffff61131116565b92508215156110685760006000fd5b6110713361132a565b151561107d5760006000fd5b600160a060020a0333166000908152600d60205260409020600101546110b09066038d7ea4c6800063ffffffff6112b216565b91506110c96008546005546112b290919063ffffffff16565b90506110ed6103e8610875838563ffffffff61128316565b9063ffffffff61128316565b600160a060020a03338116600081815260016020908152604080832080548701905530909416808352918490208054869003905583518581529351949950919390926000805160206113c183398151915292908290030190a361114e610f77565b600160a060020a0333166000908152600d60205260409020600301555b5050505090565b60045433600160a060020a0390811691161461118e5760006000fd5b600030600160a060020a031631111561018b57600454604051600160a060020a039182169130163180156108fc02916000818181858888f19350505050151561018b5760006000fd5b5b5b5b565b600160a060020a038083166000908152600260209081526040808320938516835292905220545b92915050565b60065443035b90565b60036020526000908152604090205481565b60065481565b60045433600160a060020a039081169116146112465760006000fd5b600160a060020a03811615610189576004805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b5b50565b60008282026112a78415806112a2575083858381151561129f57fe5b04145b6113af565b8091505b5092915050565b600060006112c2600084116113af565b82848115156112cd57fe5b0490506112a783858115156112de57fe5b068285020185146113af565b8091505b5092915050565b60008282016112a7848210156113af565b8091505b5092915050565b600061131f838311156113af565b508082035b92915050565b60006000600061136161133b610e67565b610cd26103e8610875610f77565b9063ffffffff61128316565b9063ffffffff6112f516565b600160a060020a0385166000908152600d602052604090206002015490925090506103e8611395838363ffffffff61131116565b106113a357600192506113a8565b600092505b5050919050565b8015156101895760006000fd5b5b505600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a723058205921529dc31cd98e5e6a10fc52c855ecb617f657ff728146f6ee2109a24c92d30029

Swarm Source

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