ETH Price: $2,275.20 (+1.89%)

Token

EBCoin (EBC)
 

Overview

Max Total Supply

1,500,000,000 EBC

Holders

3,615 (0.00%)

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
36,225 EBC

Value
$0.00
0x872c28c8fc1ec6896558fb2a0d61a61d6ec2782d
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:
CrowdsaleToken

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 2018-01-24
*/

pragma solidity ^0.4.11;


library SafeMath {
  function mul(uint256 a, uint256 b) internal pure returns (uint256) 
  {
    uint256 c = a * b;
    assert(a == 0 || 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;
  }

}


/**
 * @title Ownable
 */
contract Ownable 
{
  address public owner;

  event OwnerChanged(address indexed _oldOwner, address indexed _newOwner);
	
	function Ownable() public
  {
    owner = msg.sender;
  }

  modifier onlyOwner() 
  {
    require(msg.sender == owner);
    _;
  }

  function changeOwner(address _newOwner) onlyOwner public 
  {
    require(_newOwner != address(0));
    
    address oldOwner = owner;
    if (oldOwner != _newOwner)
    {
    	owner = _newOwner;
    	
    	OwnerChanged(oldOwner, _newOwner);
    }
  }

}


/**
 * @title Manageable
 */
contract Manageable is Ownable
{
	address public manager;
	
	event ManagerChanged(address indexed _oldManager, address _newManager);
	
	function Manageable() public
	{
		manager = msg.sender;
	}
	
	modifier onlyManager()
	{
		require(msg.sender == manager);
		_;
	}
	
	modifier onlyOwnerOrManager() 
	{
		require(msg.sender == owner || msg.sender == manager);
		_;
	}
	
	function changeManager(address _newManager) onlyOwner public 
	{
		require(_newManager != address(0));
		
		address oldManager = manager;
		if (oldManager != _newManager)
		{
			manager = _newManager;
			
			ManagerChanged(oldManager, _newManager);
		}
	}
	
}


/**
 * @title CrowdsaleToken
 */
contract CrowdsaleToken is Manageable
{
  using SafeMath for uint256;

  string public constant name     = "EBCoin";
  string public constant symbol   = "EBC";
  uint8  public constant decimals = 18;
  
  uint256 public totalSupply;
  mapping(address => uint256) balances;
  mapping (address => mapping (address => uint256)) internal allowed;
  mapping (address => uint256) public releaseTime;
  bool public released;

  event Transfer(address indexed _from, address indexed _to, uint256 _value);
  event Approval(address indexed _owner, address indexed _spender, uint256 _value);
  event Mint(address indexed _to, uint256 _value);
  event ReleaseTimeChanged(address indexed _owner, uint256 _oldReleaseTime, uint256 _newReleaseTime);
  event ReleasedChanged(bool _oldReleased, bool _newReleased);

  modifier canTransfer(address _from)
  {
  	if (releaseTime[_from] == 0)
  	{
  		require(released);
  	}
  	else
  	{
  		require(releaseTime[_from] <= now);
  	}
  	_;
  }

  function balanceOf(address _owner) public constant returns (uint256)
  {
    return balances[_owner];
  }

  function transfer(address _to, uint256 _value) canTransfer(msg.sender) public returns (bool) 
  {
    require(_to != address(0));
    require(_value <= balances[msg.sender]);

    balances[msg.sender] = balances[msg.sender].sub(_value);
    balances[_to] = balances[_to].add(_value);
    
    Transfer(msg.sender, _to, _value);
    
    return true;
  }

  function allowance(address _owner, address _spender) public constant returns (uint256) 
  {
    return allowed[_owner][_spender];
  }
  
  function transferFrom(address _from, address _to, uint256 _value) canTransfer(_from) public returns (bool) 
  {
    require(_to != address(0));
    require(_value <= balances[_from]);
    require(_value <= allowed[_from][msg.sender]);

    balances[_from] = balances[_from].sub(_value);
    balances[_to] = balances[_to].add(_value);
    allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);
    
    Transfer(_from, _to, _value);
    
    return true;
  }
  
  function allocate(address _sale, address _investor, uint256 _value) onlyOwnerOrManager public 
  {
  	require(_sale != address(0));
  	Crowdsale sale = Crowdsale(_sale);
  	address pool = sale.pool();

    require(_investor != address(0));
    require(_value <= balances[pool]);
    require(_value <= allowed[pool][msg.sender]);

    balances[pool] = balances[pool].sub(_value);
    balances[_investor] = balances[_investor].add(_value);
    allowed[pool][_sale] = allowed[pool][_sale].sub(_value);
    
    Transfer(pool, _investor, _value);
  }
  
  function deallocate(address _sale, address _investor, uint256 _value) onlyOwnerOrManager public 
  {
  	require(_sale != address(0));
  	Crowdsale sale = Crowdsale(_sale);
  	address pool = sale.pool();
  	
    require(_investor != address(0));
  	require(_value <= balances[_investor]);
  	
  	balances[_investor] = balances[_investor].sub(_value);
  	balances[pool] = balances[pool].add(_value);
  	allowed[pool][_sale] = allowed[pool][_sale].add(_value);
  	
  	Transfer(_investor, pool, _value);
  }

 	function approve(address _spender, uint256 _value) public returns (bool) 
 	{
    allowed[msg.sender][_spender] = _value;
    
    Approval(msg.sender, _spender, _value);
    
    return true;
  }

  function mint(address _to, uint256 _value, uint256 _releaseTime) onlyOwnerOrManager public returns (bool) 
  {
  	require(_to != address(0));
  	
    totalSupply = totalSupply.add(_value);
    balances[_to] = balances[_to].add(_value);
    
    Mint(_to, _value);
    Transfer(0x0, _to, _value);
    
    setReleaseTime(_to, _releaseTime);
    
    return true;
  }

  function setReleaseTime(address _owner, uint256 _newReleaseTime) onlyOwnerOrManager public
  {
    require(_owner != address(0));
    
  	uint256 oldReleaseTime = releaseTime[_owner];
  	if (oldReleaseTime != _newReleaseTime)
  	{
  		releaseTime[_owner] = _newReleaseTime;
    
    	ReleaseTimeChanged(_owner, oldReleaseTime, _newReleaseTime);
    }
  }
  
  function setReleased(bool _newReleased) onlyOwnerOrManager public
  {
  	bool oldReleased = released;
  	if (oldReleased != _newReleased)
  	{
  		released = _newReleased;
  	
  		ReleasedChanged(oldReleased, _newReleased);
  	}
  }
  
}


/**
 * @title Crowdsale
 */
contract Crowdsale is Manageable
{
  using SafeMath for uint256;

  CrowdsaleToken public token;

  uint256 public startTime;
  uint256 public endTime  ;

  uint256 public rate;
  
  uint256 public constant decimals = 18;
  
  uint256 public tokenSaleWeiCap;		
  uint256 public tokenSaleWeiGoal;	
  uint256 public tokenSaleWeiMax;		
  uint256 public tokenSaleWeiMin;		
  
  address public pool; 
  address public wallet;

  bool public isFinalized = false;

  enum State { Created, Active, Closed }

  uint256 public totalAllocated;
  mapping (address => uint256) public allocated;
  
  uint256 public totalDeposited;
  mapping (address => uint256) public deposited;

  State public state;

  event Closed();
  event Finalized();
  event FundWithdrawed(uint256 ethAmount);
  event TokenPurchased(address indexed _purchaser, address indexed _investor, uint256 _value, uint256 _amount, bytes _data);
  event TokenReturned(address indexed _investor, uint256 _value);

  function Crowdsale() public
  {
  	state = State.Created;
  }
  
  function initCrowdsale(address _pool, address _token, uint256 _startTime, uint256 _endTime, uint256 _rate, uint256 _tokenSaleWeiCap, uint256 _tokenSaleWeiGoal, uint256 _tokenSaleWeiMax, uint256 _tokenSaleWeiMin, address _wallet) onlyOwnerOrManager public
  {
    require(state == State.Created);
  	require(_pool != address(0));
    require(_token != address(0));
    require(_startTime >= now);
    require(_endTime >= _startTime);
    require(_endTime >= now);
    require(_rate > 0);
    require(_tokenSaleWeiCap >= _tokenSaleWeiGoal);
    require(_wallet != 0x0);
    
    state = State.Active;
    
    pool             = _pool;
    token            = CrowdsaleToken(_token);
    startTime        = _startTime;
    endTime          = _endTime;
    rate             = _rate;
    tokenSaleWeiCap  = _tokenSaleWeiCap;
    tokenSaleWeiGoal = _tokenSaleWeiGoal;
    tokenSaleWeiMax  = _tokenSaleWeiMax;
    tokenSaleWeiMin  = _tokenSaleWeiMin;
    wallet           = _wallet;
  }

  function allocation(address _investor) public constant returns (uint256)
  {
  	return allocated[_investor];
  }

  function () payable public
  {
    buyTokens(msg.sender);
  }

  function buyTokens(address _investor) public payable 
  {
    require(_investor != 0x0);
    require(startTime <= now && now <= endTime);
    require(msg.value != 0);
    require(state == State.Active);
    
    require(totalAllocated <= tokenSaleWeiCap);
    
    uint256 ethWeiAmount = msg.value;
    
    uint256 tokenWeiAmount = ethWeiAmount.mul(rate);
    
    uint256 personTokenWeiAmount = allocated[_investor].add(tokenWeiAmount);
    
    require(tokenSaleWeiMin <= personTokenWeiAmount);
    require(personTokenWeiAmount <= tokenSaleWeiMax);
    
    totalAllocated = totalAllocated.add(tokenWeiAmount);

    totalDeposited = totalDeposited.add(ethWeiAmount);
    
    allocated[_investor] = personTokenWeiAmount;
    
    deposited[_investor] = deposited[_investor].add(ethWeiAmount);
    
    token.allocate(this, _investor, tokenWeiAmount);
    
    TokenPurchased(msg.sender, _investor, ethWeiAmount, tokenWeiAmount, msg.data);
  }

  function deallocate(address _investor, uint256 _value) onlyOwnerOrManager public 
  {
  	require(_investor != address(0));
  	require(_value > 0);
    require(_value <= allocated[_investor]);

		totalAllocated = totalAllocated.sub(_value);
		
		allocated[_investor] = allocated[_investor].sub(_value);
		
		token.deallocate(this, _investor, _value);
		
		TokenReturned(_investor, _value);
  }

  function goalReached() public constant returns (bool)
  {
    return totalAllocated >= tokenSaleWeiGoal;
  }

  function hasEnded() public constant returns (bool) 
  {
    bool capReached = (totalAllocated >= tokenSaleWeiCap);
    return (now > endTime) || capReached;
  }

  function finalize() onlyOwnerOrManager public 
  {
    require(!isFinalized);
    require(hasEnded());

    if (goalReached()) 
    {
      close();
    } 
    
    Finalized();

    isFinalized = true;
  }

  function close() onlyOwnerOrManager public
  {
    require(state == State.Active);
    
    state = State.Closed;
    
    Closed();
  }

  function withdraw() onlyOwnerOrManager public
  {
  	require(state == State.Closed);
  	
  	uint256 depositedValue = this.balance;
  	if (depositedValue > 0)
  	{
  		wallet.transfer(depositedValue);
  	
  		FundWithdrawed(depositedValue);
  	}
  }
  
}


/**
 * @title CrowdsaleManager
 */
contract CrowdsaleManager is Manageable 
{
  using SafeMath for uint256;
  
  uint256 public constant decimals = 18;

  CrowdsaleToken public token;
  Crowdsale      public sale1;
  Crowdsale      public sale2;
  Crowdsale      public sale3;
  
  address public constant tokenReserved1Deposit = 0x6EE96ba492a738BDD080d7353516133ea806DDee;
  address public constant tokenReserved2Deposit = 0xAFBcB72fE97A5191d03E328dE07BB217dA21EaE4;
  address public constant tokenReserved3Deposit = 0xd7118eE872870040d86495f13E61b88EE5C93586;
  address public constant tokenReserved4Deposit = 0x08ce2b3512aE0387495AB5f61e6B0Cf846Ae59a7;
  
  address public constant withdrawWallet1       = 0xf8dafE5ee19a28b95Ad93e05575269EcEE19DDf2;
  address public constant withdrawWallet2       = 0x6f4aF515ECcE22EA0D1AB82F8742E058Ac4d9cb3;
  address public constant withdrawWallet3       = 0xd172E0DEe60Af67dA3019Ad539ce3190a191d71D;

  uint256 public constant tokenSale      = 750000000 * 10**decimals + 3000 * 1000 * 10**decimals;
  uint256 public constant tokenReserved1 = 150000000 * 10**decimals - 3000 * 1000 * 10**decimals;
  uint256 public constant tokenReserved2 = 270000000 * 10**decimals;           			 
  uint256 public constant tokenReserved3 = 105000000 * 10**decimals;                		
  uint256 public constant tokenReserved4 = 225000000 * 10**decimals;                      	
  
  function CrowdsaleManager() public
  {
  }
  
  function createToken() onlyOwnerOrManager public
  {
    token = new CrowdsaleToken();
  }
  
  function mintToken() onlyOwnerOrManager public
  {
    token.mint(this                 , tokenSale     , now       );
    token.mint(tokenReserved1Deposit, tokenReserved1, now       );
    token.mint(tokenReserved2Deposit, tokenReserved2, 1544158800);
    token.mint(tokenReserved3Deposit, tokenReserved3, 1544158800);
    token.mint(tokenReserved4Deposit, tokenReserved4, 0         );
  }
  
  function createSale1() onlyOwnerOrManager public
  {
    sale1 = new Crowdsale();
  }
  
  function initSale1() onlyOwnerOrManager public
  {
    uint256 startTime 				= 1512622800;
    uint256 endTime   				= 1515301200;
    uint256 rate      				= 3450;		
    
    uint256 tokenSaleWeiCap		= 150000000000000000000000000;
    uint256 tokenSaleWeiGoal	=  10350000000000000000000000;		
    uint256 tokenSaleWeiMax		=    345000000000000000000000;	
    uint256 tokenSaleWeiMin		=      3450000000000000000000;	
    
    sale1.initCrowdsale(this, token, startTime, endTime, rate, tokenSaleWeiCap, tokenSaleWeiGoal, tokenSaleWeiMax, tokenSaleWeiMin, withdrawWallet1);
    
    token.approve(sale1, tokenSaleWeiCap.add(tokenSaleWeiMax));
    
    token.changeManager(sale1);
  }
  
  function finalizeSale1() onlyOwnerOrManager public
  {
  	sale1.finalize();
  }
  
  function closeSale1() onlyOwnerOrManager public
  {
  	sale1.close();
  }
  
  function withdrawSale1() onlyOwnerOrManager public
  {
  	sale1.withdraw();
  }
  
  function createSale2() onlyOwnerOrManager public
  {
    sale2 = new Crowdsale();
  }
  
  function initSale2() onlyOwnerOrManager public
  {
    uint256 startTime 				= 1515474000;
    uint256 endTime   				= 1517288400;
    uint256 rate      				= 3000;		
    
    uint256 tokenSaleWeiCap		= 375000000000000000000000000;
    uint256 tokenSaleWeiGoal	=                           0;		
    uint256 tokenSaleWeiMax		=   3000000000000000000000000;	
    uint256 tokenSaleWeiMin		=      3000000000000000000000;	

   	tokenSaleWeiCap = tokenSaleWeiCap.add(sale1.tokenSaleWeiCap());
   	tokenSaleWeiCap = tokenSaleWeiCap.sub(sale1.totalAllocated());
    
    sale2.initCrowdsale(this, token, startTime, endTime, rate, tokenSaleWeiCap, tokenSaleWeiGoal, tokenSaleWeiMax, tokenSaleWeiMin, withdrawWallet2);
    
    token.approve(sale2, tokenSaleWeiCap.add(tokenSaleWeiMax));
    
    token.changeManager(sale2);
  }
  
  function finalizeSale2() onlyOwnerOrManager public
  {
  	sale2.finalize();
  }
  
  function closeSale2() onlyOwnerOrManager public
  {
  	sale2.close();
  }
  
  function withdrawSale2() onlyOwnerOrManager public
  {
  	sale2.withdraw();
  }
  
  function createSale3() onlyOwnerOrManager public
  {
    sale3 = new Crowdsale();
  }
  
  function initSale3(uint256 _startTime, uint256 _endTime, uint256 _rate, uint256 _cap, uint256 _goal, uint256 _max, uint _min) onlyOwnerOrManager public
  {
    require(_startTime >= now);
    require(_endTime >= _startTime);
    require(_rate > 0);
    require(_cap >= _goal);
  
    uint256 startTime 				= _startTime;
    uint256 endTime   				= _endTime;
    uint256 rate      				= _rate;
    
    uint256 tokenSaleWeiCap		= _cap;
    uint256 tokenSaleWeiGoal	= _goal;	
    uint256 tokenSaleWeiMax		= _max;	
    uint256 tokenSaleWeiMin		= _min;	

    sale3.initCrowdsale(this, token, startTime, endTime, rate, tokenSaleWeiCap, tokenSaleWeiGoal, tokenSaleWeiMax, tokenSaleWeiMin, withdrawWallet3);
    
    token.approve(sale3, tokenSaleWeiCap.add(tokenSaleWeiMax));
    
    token.changeManager(sale3);
  }
  
  function finalizeSale3() onlyOwnerOrManager public
  {
  	sale3.finalize();
  }
  
  function closeSale3() onlyOwnerOrManager public
  {
  	sale3.close();
  }
  
  function withdrawSale3() onlyOwnerOrManager public
  {
  	sale3.withdraw();
  }
  
  function releaseTokenTransfer(bool _newReleased) onlyOwner public
  {
  	token.setReleased(_newReleased);
  }
  
  function changeTokenManager(address _newManager) onlyOwner public
  {
  	token.changeManager(_newManager);
  }
  
  function changeSaleManager(address _sale, address _newManager) onlyOwner public
  {
  	require(_sale != address(0));
  	Crowdsale sale = Crowdsale(_sale);
  	
  	sale.changeManager(_newManager);
  }
  
  function deallocate(address _sale, address _investor) onlyOwner public
  {
  	require(_sale != address(0));
  	Crowdsale sale = Crowdsale(_sale);
  	
  	uint256 allocatedValue = sale.allocation(_investor);
  	
  	sale.deallocate(_investor, allocatedValue);
  }
  
  function promotionAllocate(address _investor, uint256 _value) onlyOwner public
  {
  	token.transfer(_investor, _value);
  }
  
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"},{"name":"_releaseTime","type":"uint256"}],"name":"mint","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_sale","type":"address"},{"name":"_investor","type":"address"},{"name":"_value","type":"uint256"}],"name":"allocate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"releaseTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_owner","type":"address"},{"name":"_newReleaseTime","type":"uint256"}],"name":"setReleaseTime","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"manager","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_sale","type":"address"},{"name":"_investor","type":"address"},{"name":"_value","type":"uint256"}],"name":"deallocate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"released","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newManager","type":"address"}],"name":"changeManager","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"changeOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","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":false,"inputs":[{"name":"_newReleased","type":"bool"}],"name":"setReleased","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"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"},{"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":"_to","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_owner","type":"address"},{"indexed":false,"name":"_oldReleaseTime","type":"uint256"},{"indexed":false,"name":"_newReleaseTime","type":"uint256"}],"name":"ReleaseTimeChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_oldReleased","type":"bool"},{"indexed":false,"name":"_newReleased","type":"bool"}],"name":"ReleasedChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_oldManager","type":"address"},{"indexed":false,"name":"_newManager","type":"address"}],"name":"ManagerChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_oldOwner","type":"address"},{"indexed":true,"name":"_newOwner","type":"address"}],"name":"OwnerChanged","type":"event"}]

606060405260008054600160a060020a033316600160a060020a031991821681179092556001805490911690911790556110e18061003e6000396000f3006060604052600436106100f85763ffffffff60e060020a60003504166306fdde0381146100fd578063095ea7b314610187578063156e29f6146101bd57806318160ddd146101e257806323b872dd146102075780632de02bfa1461022f578063313ce5671461025957806334265c4814610282578063476fe919146102a1578063481c6a75146102c35780634e8a411b146102f257806370a082311461031a5780638da5cb5b1461033957806395d89b411461034c578063961325211461035f578063a3fbbaae14610372578063a6f9dae114610391578063a9059cbb146103b0578063d1fea3d5146103d2578063dd62ed3e146103ea575b600080fd5b341561010857600080fd5b61011061040f565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561014c578082015183820152602001610134565b50505050905090810190601f1680156101795780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561019257600080fd5b6101a9600160a060020a0360043516602435610446565b604051901515815260200160405180910390f35b34156101c857600080fd5b6101a9600160a060020a03600435166024356044356104b2565b34156101ed57600080fd5b6101f56105d0565b60405190815260200160405180910390f35b341561021257600080fd5b6101a9600160a060020a03600435811690602435166044356105d6565b341561023a57600080fd5b610257600160a060020a03600435811690602435166044356107a2565b005b341561026457600080fd5b61026c6109bf565b60405160ff909116815260200160405180910390f35b341561028d57600080fd5b6101f5600160a060020a03600435166109c4565b34156102ac57600080fd5b610257600160a060020a03600435166024356109d6565b34156102ce57600080fd5b6102d6610aa1565b604051600160a060020a03909116815260200160405180910390f35b34156102fd57600080fd5b610257600160a060020a0360043581169060243516604435610ab0565b341561032557600080fd5b6101f5600160a060020a0360043516610c96565b341561034457600080fd5b6102d6610cb1565b341561035757600080fd5b610110610cc0565b341561036a57600080fd5b6101a9610cf7565b341561037d57600080fd5b610257600160a060020a0360043516610d00565b341561039c57600080fd5b610257600160a060020a0360043516610dba565b34156103bb57600080fd5b6101a9600160a060020a0360043516602435610e62565b34156103dd57600080fd5b6102576004351515610fa9565b34156103f557600080fd5b6101f5600160a060020a0360043581169060243516611042565b60408051908101604052600681527f4542436f696e0000000000000000000000000000000000000000000000000000602082015281565b600160a060020a03338116600081815260046020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b6000805433600160a060020a03908116911614806104de575060015433600160a060020a039081169116145b15156104e957600080fd5b600160a060020a03841615156104fe57600080fd5b600254610511908463ffffffff61106d16565b600255600160a060020a03841660009081526003602052604090205461053d908463ffffffff61106d16565b600160a060020a0385166000818152600360205260409081902092909255907f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968859085905190815260200160405180910390a283600160a060020a031660006000805160206110968339815191528560405190815260200160405180910390a36105c684836109d6565b5060019392505050565b60025481565b600160a060020a0383166000908152600560205260408120548490151561060d5760065460ff16151561060857600080fd5b610633565b600160a060020a0381166000908152600560205260409020544290111561063357600080fd5b600160a060020a038416151561064857600080fd5b600160a060020a03851660009081526003602052604090205483111561066d57600080fd5b600160a060020a03808616600090815260046020908152604080832033909416835292905220548311156106a057600080fd5b600160a060020a0385166000908152600360205260409020546106c9908463ffffffff61108316565b600160a060020a0380871660009081526003602052604080822093909355908616815220546106fe908463ffffffff61106d16565b600160a060020a03808616600090815260036020908152604080832094909455888316825260048152838220339093168252919091522054610746908463ffffffff61108316565b600160a060020a03808716600081815260046020908152604080832033861684529091529081902093909355908616916000805160206110968339815191529086905190815260200160405180910390a3506001949350505050565b60008054819033600160a060020a03908116911614806107d0575060015433600160a060020a039081169116145b15156107db57600080fd5b600160a060020a03851615156107f057600080fd5b84915081600160a060020a03166316f0115b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561083957600080fd5b6102c65a03f1151561084a57600080fd5b5050506040518051915050600160a060020a038416151561086a57600080fd5b600160a060020a03811660009081526003602052604090205483111561088f57600080fd5b600160a060020a03808216600090815260046020908152604080832033909416835292905220548311156108c257600080fd5b600160a060020a0381166000908152600360205260409020546108eb908463ffffffff61108316565b600160a060020a038083166000908152600360205260408082209390935590861681522054610920908463ffffffff61106d16565b600160a060020a038086166000908152600360209081526040808320949094558483168252600481528382209289168252919091522054610967908463ffffffff61108316565b600160a060020a0380831660008181526004602090815260408083208b861684529091529081902093909355908616916000805160206110968339815191529086905190815260200160405180910390a35050505050565b601281565b60056020526000908152604090205481565b6000805433600160a060020a0390811691161480610a02575060015433600160a060020a039081169116145b1515610a0d57600080fd5b600160a060020a0383161515610a2257600080fd5b50600160a060020a038216600090815260056020526040902054818114610a9c57600160a060020a038316600081815260056020526040908190208490557fa2d3e2be5517b26a9235b3e40b39b7a10f6c60242b51f1df3ec962302bd334bf90839085905191825260208201526040908101905180910390a25b505050565b600154600160a060020a031681565b60008054819033600160a060020a0390811691161480610ade575060015433600160a060020a039081169116145b1515610ae957600080fd5b600160a060020a0385161515610afe57600080fd5b84915081600160a060020a03166316f0115b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610b4757600080fd5b6102c65a03f11515610b5857600080fd5b5050506040518051915050600160a060020a0384161515610b7857600080fd5b600160a060020a038416600090815260036020526040902054831115610b9d57600080fd5b600160a060020a038416600090815260036020526040902054610bc6908463ffffffff61108316565b600160a060020a038086166000908152600360205260408082209390935590831681522054610bfb908463ffffffff61106d16565b600160a060020a03808316600090815260036020908152604080832094909455600481528382209289168252919091522054610c3d908463ffffffff61106d16565b600160a060020a0380831660008181526004602090815260408083208b86168452909152908190209390935591908616906000805160206110968339815191529086905190815260200160405180910390a35050505050565b600160a060020a031660009081526003602052604090205490565b600054600160a060020a031681565b60408051908101604052600381527f4542430000000000000000000000000000000000000000000000000000000000602082015281565b60065460ff1681565b6000805433600160a060020a03908116911614610d1c57600080fd5b600160a060020a0382161515610d3157600080fd5b50600154600160a060020a039081169082168114610db6576001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a038481169190911790915581167f605c2dbf762e5f7d60a546d42e7205dcb1b011ebc62a61736a57c9089d3a435083604051600160a060020a03909116815260200160405180910390a25b5050565b6000805433600160a060020a03908116911614610dd657600080fd5b600160a060020a0382161515610deb57600080fd5b50600054600160a060020a039081169082168114610db6576000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a038481169182179092559082167fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c60405160405180910390a35050565b33600160a060020a0381166000908152600560205260408120549091901515610e9b5760065460ff161515610e9657600080fd5b610ec1565b600160a060020a03811660009081526005602052604090205442901115610ec157600080fd5b600160a060020a0384161515610ed657600080fd5b600160a060020a033316600090815260036020526040902054831115610efb57600080fd5b600160a060020a033316600090815260036020526040902054610f24908463ffffffff61108316565b600160a060020a033381166000908152600360205260408082209390935590861681522054610f59908463ffffffff61106d16565b600160a060020a0380861660008181526003602052604090819020939093559133909116906000805160206110968339815191529086905190815260200160405180910390a35060019392505050565b6000805433600160a060020a0390811691161480610fd5575060015433600160a060020a039081169116145b1515610fe057600080fd5b5060065460ff1680151582151514610db6576006805460ff19168315151790557f08d84b827eb2198831f99014e4b9731d9029359b812830a30b6bff6e063d98cc81836040519115158252151560208201526040908101905180910390a15050565b600160a060020a03918216600090815260046020908152604080832093909416825291909152205490565b60008282018381101561107c57fe5b9392505050565b60008282111561108f57fe5b509003905600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a723058203e9c309c536e61af351215833ce199420c4297415f71d73d0fbbbc9170e21d670029

Deployed Bytecode

0x6060604052600436106100f85763ffffffff60e060020a60003504166306fdde0381146100fd578063095ea7b314610187578063156e29f6146101bd57806318160ddd146101e257806323b872dd146102075780632de02bfa1461022f578063313ce5671461025957806334265c4814610282578063476fe919146102a1578063481c6a75146102c35780634e8a411b146102f257806370a082311461031a5780638da5cb5b1461033957806395d89b411461034c578063961325211461035f578063a3fbbaae14610372578063a6f9dae114610391578063a9059cbb146103b0578063d1fea3d5146103d2578063dd62ed3e146103ea575b600080fd5b341561010857600080fd5b61011061040f565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561014c578082015183820152602001610134565b50505050905090810190601f1680156101795780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561019257600080fd5b6101a9600160a060020a0360043516602435610446565b604051901515815260200160405180910390f35b34156101c857600080fd5b6101a9600160a060020a03600435166024356044356104b2565b34156101ed57600080fd5b6101f56105d0565b60405190815260200160405180910390f35b341561021257600080fd5b6101a9600160a060020a03600435811690602435166044356105d6565b341561023a57600080fd5b610257600160a060020a03600435811690602435166044356107a2565b005b341561026457600080fd5b61026c6109bf565b60405160ff909116815260200160405180910390f35b341561028d57600080fd5b6101f5600160a060020a03600435166109c4565b34156102ac57600080fd5b610257600160a060020a03600435166024356109d6565b34156102ce57600080fd5b6102d6610aa1565b604051600160a060020a03909116815260200160405180910390f35b34156102fd57600080fd5b610257600160a060020a0360043581169060243516604435610ab0565b341561032557600080fd5b6101f5600160a060020a0360043516610c96565b341561034457600080fd5b6102d6610cb1565b341561035757600080fd5b610110610cc0565b341561036a57600080fd5b6101a9610cf7565b341561037d57600080fd5b610257600160a060020a0360043516610d00565b341561039c57600080fd5b610257600160a060020a0360043516610dba565b34156103bb57600080fd5b6101a9600160a060020a0360043516602435610e62565b34156103dd57600080fd5b6102576004351515610fa9565b34156103f557600080fd5b6101f5600160a060020a0360043581169060243516611042565b60408051908101604052600681527f4542436f696e0000000000000000000000000000000000000000000000000000602082015281565b600160a060020a03338116600081815260046020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b6000805433600160a060020a03908116911614806104de575060015433600160a060020a039081169116145b15156104e957600080fd5b600160a060020a03841615156104fe57600080fd5b600254610511908463ffffffff61106d16565b600255600160a060020a03841660009081526003602052604090205461053d908463ffffffff61106d16565b600160a060020a0385166000818152600360205260409081902092909255907f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968859085905190815260200160405180910390a283600160a060020a031660006000805160206110968339815191528560405190815260200160405180910390a36105c684836109d6565b5060019392505050565b60025481565b600160a060020a0383166000908152600560205260408120548490151561060d5760065460ff16151561060857600080fd5b610633565b600160a060020a0381166000908152600560205260409020544290111561063357600080fd5b600160a060020a038416151561064857600080fd5b600160a060020a03851660009081526003602052604090205483111561066d57600080fd5b600160a060020a03808616600090815260046020908152604080832033909416835292905220548311156106a057600080fd5b600160a060020a0385166000908152600360205260409020546106c9908463ffffffff61108316565b600160a060020a0380871660009081526003602052604080822093909355908616815220546106fe908463ffffffff61106d16565b600160a060020a03808616600090815260036020908152604080832094909455888316825260048152838220339093168252919091522054610746908463ffffffff61108316565b600160a060020a03808716600081815260046020908152604080832033861684529091529081902093909355908616916000805160206110968339815191529086905190815260200160405180910390a3506001949350505050565b60008054819033600160a060020a03908116911614806107d0575060015433600160a060020a039081169116145b15156107db57600080fd5b600160a060020a03851615156107f057600080fd5b84915081600160a060020a03166316f0115b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561083957600080fd5b6102c65a03f1151561084a57600080fd5b5050506040518051915050600160a060020a038416151561086a57600080fd5b600160a060020a03811660009081526003602052604090205483111561088f57600080fd5b600160a060020a03808216600090815260046020908152604080832033909416835292905220548311156108c257600080fd5b600160a060020a0381166000908152600360205260409020546108eb908463ffffffff61108316565b600160a060020a038083166000908152600360205260408082209390935590861681522054610920908463ffffffff61106d16565b600160a060020a038086166000908152600360209081526040808320949094558483168252600481528382209289168252919091522054610967908463ffffffff61108316565b600160a060020a0380831660008181526004602090815260408083208b861684529091529081902093909355908616916000805160206110968339815191529086905190815260200160405180910390a35050505050565b601281565b60056020526000908152604090205481565b6000805433600160a060020a0390811691161480610a02575060015433600160a060020a039081169116145b1515610a0d57600080fd5b600160a060020a0383161515610a2257600080fd5b50600160a060020a038216600090815260056020526040902054818114610a9c57600160a060020a038316600081815260056020526040908190208490557fa2d3e2be5517b26a9235b3e40b39b7a10f6c60242b51f1df3ec962302bd334bf90839085905191825260208201526040908101905180910390a25b505050565b600154600160a060020a031681565b60008054819033600160a060020a0390811691161480610ade575060015433600160a060020a039081169116145b1515610ae957600080fd5b600160a060020a0385161515610afe57600080fd5b84915081600160a060020a03166316f0115b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610b4757600080fd5b6102c65a03f11515610b5857600080fd5b5050506040518051915050600160a060020a0384161515610b7857600080fd5b600160a060020a038416600090815260036020526040902054831115610b9d57600080fd5b600160a060020a038416600090815260036020526040902054610bc6908463ffffffff61108316565b600160a060020a038086166000908152600360205260408082209390935590831681522054610bfb908463ffffffff61106d16565b600160a060020a03808316600090815260036020908152604080832094909455600481528382209289168252919091522054610c3d908463ffffffff61106d16565b600160a060020a0380831660008181526004602090815260408083208b86168452909152908190209390935591908616906000805160206110968339815191529086905190815260200160405180910390a35050505050565b600160a060020a031660009081526003602052604090205490565b600054600160a060020a031681565b60408051908101604052600381527f4542430000000000000000000000000000000000000000000000000000000000602082015281565b60065460ff1681565b6000805433600160a060020a03908116911614610d1c57600080fd5b600160a060020a0382161515610d3157600080fd5b50600154600160a060020a039081169082168114610db6576001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a038481169190911790915581167f605c2dbf762e5f7d60a546d42e7205dcb1b011ebc62a61736a57c9089d3a435083604051600160a060020a03909116815260200160405180910390a25b5050565b6000805433600160a060020a03908116911614610dd657600080fd5b600160a060020a0382161515610deb57600080fd5b50600054600160a060020a039081169082168114610db6576000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a038481169182179092559082167fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c60405160405180910390a35050565b33600160a060020a0381166000908152600560205260408120549091901515610e9b5760065460ff161515610e9657600080fd5b610ec1565b600160a060020a03811660009081526005602052604090205442901115610ec157600080fd5b600160a060020a0384161515610ed657600080fd5b600160a060020a033316600090815260036020526040902054831115610efb57600080fd5b600160a060020a033316600090815260036020526040902054610f24908463ffffffff61108316565b600160a060020a033381166000908152600360205260408082209390935590861681522054610f59908463ffffffff61106d16565b600160a060020a0380861660008181526003602052604090819020939093559133909116906000805160206110968339815191529086905190815260200160405180910390a35060019392505050565b6000805433600160a060020a0390811691161480610fd5575060015433600160a060020a039081169116145b1515610fe057600080fd5b5060065460ff1680151582151514610db6576006805460ff19168315151790557f08d84b827eb2198831f99014e4b9731d9029359b812830a30b6bff6e063d98cc81836040519115158252151560208201526040908101905180910390a15050565b600160a060020a03918216600090815260046020908152604080832093909416825291909152205490565b60008282018381101561107c57fe5b9392505050565b60008282111561108f57fe5b509003905600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a723058203e9c309c536e61af351215833ce199420c4297415f71d73d0fbbbc9170e21d670029

Swarm Source

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