ETH Price: $3,424.08 (-2.11%)
Gas: 5 Gwei

Token

KaikenInu (KaikenInu)
 

Overview

Max Total Supply

700,000,000,000,000 KaikenInu

Holders

852

Total Transfers

-

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

KaikenInu token contract has migrated to 0x9C687403Bf2a83b3Ea808af0B512949397be9b00

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
KaikenInuToken

Compiler Version
v0.4.24+commit.e67f0147

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity Multiple files format)

File 3 of 9: KaikenInuToken.sol
pragma solidity ^0.4.24;

import "./ERC20.sol";
import "./SafeMath.sol";
import "./Ownable.sol";

contract KaikenInuToken is ERC20, Ownable {
  using SafeMath for uint256;

    string public constant name = "KaikenInu";
    string public constant symbol = "KaikenInu";
    uint8 public constant decimals = 9;
    uint256 private totalSupply_ = 1000000000 * 10**6 * 10**9;
    uint256 public _taxFee = 2;
    uint256 private _previousTaxFee = _taxFee;
    uint256 public _liquidityFee = 1;
    uint256 private _previousLiquidityFee = _liquidityFee;
    uint256 public _burnFee = 1;
    uint256 private _previousBurnFee = _burnFee;
    uint256 public _marketingFee = 1;
    
    bool public locked = true;
    mapping (address => uint256) private balances;

    mapping (address => mapping (address => uint256)) private allowed;

  modifier onlyWhenUnlocked() {
    require(!locked || msg.sender == owner);
    _;
  }

  constructor() public {
      balances[msg.sender] = totalSupply_;
  }

  function totalSupply() public view returns (uint256) {
    return totalSupply_;
  }

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

  function allowance(
    address _owner,
    address _spender
   )
    public
    view
    returns (uint256)
  {
    return allowed[_owner][_spender];
  }

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

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

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

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

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

  function increaseApproval(
    address _spender,
    uint256 _addedValue
  )
    public
    returns (bool)
  {
    allowed[msg.sender][_spender] = (
      allowed[msg.sender][_spender].add(_addedValue));
    emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
    return true;
  }

  function decreaseApproval(
    address _spender,
    uint256 _subtractedValue
  )
    public
    returns (bool)
  {
    uint256 oldValue = allowed[msg.sender][_spender];
    if (_subtractedValue >= oldValue) {
      allowed[msg.sender][_spender] = 0;
    } else {
      allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue);
    }
    emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
    return true;
  }

  function burn(uint256 _value) public returns (bool success){
    require(_value > 0);
    require(_value <= balances[msg.sender]);
    address burner = msg.sender;
    balances[burner] = balances[burner].sub(_value);
    totalSupply_ = totalSupply_.sub(_value);
    emit Burn(burner, _value);
    return true;
  }

  function unlock() public onlyOwner {
    locked = false;
  }

}

File 1 of 9: Crowdsale.sol
pragma solidity ^0.4.24;


import "./SafeMath.sol";
import "./KaikenInuToken.sol";
import "./Pausable.sol";
import "./PullPayment.sol";
import "./Whitelist.sol";
import "./TokenBonus.sol";

contract Crowdsale is Pausable, PullPayment, Whitelist, TokenBonus {
    using SafeMath for uint256;

    address private wallet = 0x47C8bbEAD537e7d013034B3d83AF6f0ee84e14a2;
    address private team = 0x092406Df82C3631bC0F0D77937379c3CbaABcA8F;

    KaikenInuToken public token;

    // Presale period
    uint256 public presaleRate;                                         
    uint256 public totalTokensForPresale;                                
    bool public ICO;                                                
    bool public presale;                                                

    uint256 public rate;                                                 
    uint256 public totalTokensForSale = 20000000000000000000000000000000000000;      // 200 000 000 000 000 KaikenInu tokens will be sold
    uint256 public totalTokensForPreSale = 20000000000000000000000000000000000000;      // 200 000 000 000 000 KaikenInu tokens will be sold
    uint256 public  maxFundingGoal;                                      
    uint256 public  minFundingGoal;                                      
    bool public crowdsale;                                          

    uint256 public  REFUNDSTART;                                        
    uint256 public  REFUNDEADLINE;                                      
    uint256 public savedBalance;                                        
    uint256 public savedTokenBalance;                                   
    uint256 public savedPresaleTokenBalance;                            
    mapping (address => uint256) balances;                              

    event Contribution(address indexed _contributor, uint256 indexed _value, uint256 indexed _tokens);    
    event PayEther(address indexed _receiver, uint256 indexed _value, uint256 indexed _timestamp);         
    event BurnTokens(uint256 indexed _value, uint256 indexed _timestamp);                                 

    constructor(address _token) public {
        token = KaikenInuToken(_token);
    }

    function () public payable whenNotPaused {
        uint256 _tokensAmount;
        if (msg.sender != wallet) {
          require(ICO || presale || crowdsale);
          if (ICO || presale) {
              buyPresaleTokens(msg.sender,_tokensAmount);
          }else{
              buyTokens(msg.sender);
          }
        }
    }

    // Function to set Rate & tokens to sell for ICO
    function startPresale(uint256 _rate, uint256 _totalTokensForPresale, uint256 _maxCap, uint256 _minCap) public onlyOwner {
        presaleRate = _rate;
        totalTokensForPresale = _totalTokensForPresale;
        maxFundingGoal = _maxCap;
        minFundingGoal = _minCap;
        ICO = true;
    }

    // Function to move to the second period for presale
    function updatePresale() public onlyOwner {
        require(ICO);
        ICO = false;
        presale = true;
    }

    // Function to close the presale
    function closePresale() public onlyOwner {
        require(presale || ICO);
        ICO = false;
        presale = false;
    }

    function startCrowdsale(uint256 _rate, uint256 _maxCap, uint256 _minCap) public onlyOwner {
        require(!presale || !ICO);
        rate = _rate;
        maxFundingGoal = _maxCap;
        minFundingGoal = _minCap;
        crowdsale = true;
    }

    function closeCrowdsale() public onlyOwner{
      require(crowdsale);
	    crowdsale = false;
        REFUNDSTART = now;
	    REFUNDEADLINE = REFUNDSTART + 30 days;
    }

    function isComplete() public view returns (bool) {
        return (savedBalance >= maxFundingGoal) || (savedTokenBalance >= totalTokensForSale) || (crowdsale == false);
    }

    function isSuccessful() public view returns (bool) {
        return (savedBalance >= minFundingGoal);
    }

    function refundPeriodOver() public view returns (bool) {
        return (now > REFUNDEADLINE);
    }

    function refundPeriodStart() public view returns (bool) {
        return (now > REFUNDSTART);
    }

    function finalize() public onlyOwner {
        require(crowdsale);
        crowdsale = false;
        REFUNDSTART = now;
        REFUNDEADLINE = REFUNDSTART+ 30 days;
    }

    function payout(address _newOwner) public onlyOwner {
        require((isSuccessful() && isComplete()) || refundPeriodOver());
        if (isSuccessful() && isComplete()) {
            uint256 tokensToBurn =  token.balanceOf(address(this)).sub(savedBonusToken);
            require(token.burn(tokensToBurn));
            transferTokenOwnership(_newOwner);
            crowdsale = false;
        }else {
            if (refundPeriodOver()) {
                wallet.transfer(address(this).balance);
                emit PayEther(wallet, address(this).balance, now);
                require(token.burn(token.balanceOf(address(this))));
                transferTokenOwnership(_newOwner);
            }
        }
    }

    // Function to transferOwnership of the KaikenInu token
    function transferTokenOwnership(address _newOwner) public onlyOwner {
        token.transferOwnership(_newOwner);
    }
    
    /* When MIN_CAP is not reach the smart contract will be credited to make refund possible by backers
     * 1) backer call the "refund" function of the Crowdsale contract
     * 2) backer call the "withdraw" function of the Crowdsale contract to get a refund in ETH
     */
    function refund() public {
        require(!isSuccessful());
        require(refundPeriodStart());
        require(!refundPeriodOver());
        require(balances[msg.sender] > 0);
        uint256 amountToRefund = balances[msg.sender].mul(95).div(100);
        asyncSend(msg.sender, amountToRefund);
        balances[msg.sender] = 0;
    }

    function withdraw() public {
        withdrawPayments();
        savedBalance = address(this).balance;
    }

    function buyTokens(address buyer) public payable {
        // require(!isComplete());
        address _beneficiary;
        if (isWhitelisted(_beneficiary)) {
            uint256 tokensAmount;
            if (msg.value >= 10 ether) {
                savedBalance = savedBalance.add(msg.value);
                tokensAmount = msg.value.mul(presaleRate);
                uint256 bonus = tokensAmount.mul(30).div(100);
                savedTokenBalance = savedTokenBalance.add(tokensAmount.add(bonus));
                token.transfer(_beneficiary, tokensAmount);
                savedBonusToken = savedBonusToken.add(bonus);
                bonusBalances[_beneficiary] = bonusBalances[_beneficiary].add(bonus);
                bonusList.push(_beneficiary);
                wallet.transfer(msg.value);
                emit PayEther(wallet, msg.value, now);
            }else {
                savedBalance = savedBalance.add(msg.value);
                tokensAmount = msg.value.mul(presaleRate);
                uint256 tokensToTransfer = tokensAmount.mul(130).div(100);
                savedTokenBalance = savedTokenBalance.add(tokensToTransfer);
                token.transfer(_beneficiary, tokensToTransfer);
                wallet.transfer(msg.value);
                emit PayEther(wallet, msg.value, now);
            }
        }else {
            balances[buyer] = balances[buyer].add(msg.value);
            savedBalance = savedBalance.add(msg.value);
            savedTokenBalance = savedTokenBalance.add(msg.value.mul(rate));
            token.transfer(_beneficiary, msg.value.mul(rate));
            wallet.transfer(msg.value);
            emit PayEther(wallet, msg.value, now);
        }
    }

    function buyPresaleTokens(address buyer, uint256 _tokensAmount) public payable {
        // require(isPresaleWhitelisted(_beneficiary));
        require((savedBalance.add(msg.value)) <= maxFundingGoal);
        require((savedPresaleTokenBalance.add(msg.value.mul(presaleRate))) <= totalTokensForPresale);
        uint256 tokensAmount = _tokensAmount;

        if (msg.value >= 10 ether) {
            savedBalance = savedBalance.add(msg.value);
            tokensAmount = msg.value.mul(presaleRate);
            uint256 bonus = tokensAmount.mul(checkPresaleBonus()).div(100);
            savedTokenBalance = savedTokenBalance.add(tokensAmount.add(bonus));
            token.transfer(buyer, tokensAmount);
            savedBonusToken = savedBonusToken.add(bonus);
            bonusBalances[buyer] = bonusBalances[buyer].add(bonus);
            bonusList.push(buyer);
            wallet.transfer(msg.value);
            emit PayEther(wallet, msg.value, now);
        }else {
            savedBalance = savedBalance.add(msg.value);
            tokensAmount = msg.value.mul(presaleRate);
            uint256 tokensToTransfer = tokensAmount.add((tokensAmount.mul(checkPresaleBonus())).div(100));
            savedTokenBalance = savedTokenBalance.add(tokensToTransfer);
            token.transfer(buyer, tokensToTransfer);
            wallet.transfer(msg.value);
            emit PayEther(wallet, msg.value, now);
        }
    }

    function checkPresaleBonus() internal view returns (uint256){
        if(ICO && msg.value >= 1 ether){
          return 40000;
        }else if(presale && msg.value >= 1 ether){
          return 30000;
        }else{
          return 0;
        }
    }
}

File 2 of 9: ERC20.sol
pragma solidity ^0.4.24;

contract ERC20 {
  function totalSupply() public view returns (uint256);

  function balanceOf(address _who) public view returns (uint256);

  function allowance(address _owner, address _spender)
    public view returns (uint256);

  function transfer(address _to, uint256 _value) public returns (bool);

  function approve(address _spender, uint256 _value)
    public returns (bool);

  function transferFrom(address _from, address _to, uint256 _value)
    public returns (bool);

  function burn(uint256 _value)
    public returns (bool);

  event Transfer(
    address indexed from,
    address indexed to,
    uint256 value
  );

  event Approval(
    address indexed owner,
    address indexed spender,
    uint256 value
  );

  event Burn(
    address indexed burner,
    uint256 value
  );

}

File 4 of 9: Ownable.sol
pragma solidity ^0.4.24;


contract Ownable {
  address public owner;


  event OwnershipRenounced(address indexed previousOwner);
  event OwnershipTransferred(
    address indexed previousOwner,
    address indexed newOwner
  );


  /**
   * @dev The Ownable constructor sets the original `owner` of the contract to the sender
   * account.
   */
  constructor() public {
    owner = msg.sender;
  }

  /**
   * @dev Throws if called by any account other than the owner.
   */
  modifier onlyOwner() {
    require(msg.sender == owner);
    _;
  }

  /**
   * @dev Allows the current owner to relinquish control of the contract.
   * @notice Renouncing to ownership will leave the contract without an owner.
   * It will not be possible to call the functions with the `onlyOwner`
   * modifier anymore.
   */
  function renounceOwnership() public onlyOwner {
    emit OwnershipRenounced(owner);
    owner = address(0);
  }

  /**
   * @dev Allows the current owner to transfer control of the contract to a newOwner.
   * @param _newOwner The address to transfer ownership to.
   */
  function transferOwnership(address _newOwner) public onlyOwner {
    _transferOwnership(_newOwner);
  }

  /**
   * @dev Transfers control of the contract to a newOwner.
   * @param _newOwner The address to transfer ownership to.
   */
  function _transferOwnership(address _newOwner) internal {
    require(_newOwner != address(0));
    emit OwnershipTransferred(owner, _newOwner);
    owner = _newOwner;
  }
}

File 5 of 9: Pausable.sol
pragma solidity ^0.4.24;


import "./Ownable.sol";

contract Pausable is Ownable {
  event Pause();
  event Unpause();

  bool public paused = false;


  /**
   * @dev Modifier to make a function callable only when the contract is not paused.
   */
  modifier whenNotPaused() {
    require(!paused);
    _;
  }

  /**
   * @dev Modifier to make a function callable only when the contract is paused.
   */
  modifier whenPaused() {
    require(paused);
    _;
  }

  /**
   * @dev called by the owner to pause, triggers stopped state
   */
  function pause() public onlyOwner whenNotPaused {
    paused = true;
    emit Pause();
  }

  /**
   * @dev called by the owner to unpause, returns to normal state
   */
  function unpause() public onlyOwner whenPaused {
    paused = false;
    emit Unpause();
  }
}

File 6 of 9: PullPayment.sol
pragma solidity ^0.4.24;


import "./SafeMath.sol";


contract PullPayment {
    using SafeMath for uint256;

    mapping (address => uint256) public payments;

    uint256 public totalPayments;

    /**
    * @dev withdraw accumulated balance, called by payee.
    */
    function withdrawPayments() internal {
        uint256 payment = payments[msg.sender];

        require(payment != 0);
        require(address(this).balance >= payment);

        totalPayments = totalPayments.sub(payment);
        payments[msg.sender] = 0;

        msg.sender.transfer(payment);
    }
    /**
    * @dev Called by the payer to store the sent amount as credit to be pulled.
    * @param dest The destination address of the funds.
    * @param amount The amount to transfer.
    */
    function asyncSend(address dest, uint256 amount) internal {
        payments[dest] = payments[dest].add(amount);
        totalPayments = totalPayments.add(amount);
    }


}

File 7 of 9: SafeMath.sol
pragma solidity ^0.4.24;

library SafeMath {

  /**
  * @dev Multiplies two numbers, reverts on overflow.
  */
  function mul(uint256 _a, uint256 _b) internal pure returns (uint256) {
    // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
    // benefit is lost if 'b' is also tested.
    // See: https://github.com/OpenZeppelin/openzeppelin-solidity/pull/522
    if (_a == 0) {
      return 0;
    }

    uint256 c = _a * _b;
    require(c / _a == _b);

    return c;
  }

  /**
  * @dev Integer division of two numbers truncating the quotient, reverts on division by zero.
  */
  function div(uint256 _a, uint256 _b) internal pure returns (uint256) {
    require(_b > 0); // Solidity only automatically asserts 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;
  }

  /**
  * @dev Subtracts two numbers, reverts on overflow (i.e. if subtrahend is greater than minuend).
  */
  function sub(uint256 _a, uint256 _b) internal pure returns (uint256) {
    require(_b <= _a);
    uint256 c = _a - _b;

    return c;
  }

  /**
  * @dev Adds two numbers, reverts on overflow.
  */
  function add(uint256 _a, uint256 _b) internal pure returns (uint256) {
    uint256 c = _a + _b;
    require(c >= _a);

    return c;
  }

  /**
  * @dev Divides two numbers and returns the remainder (unsigned integer modulo),
  * reverts when dividing by zero.
  */
  function mod(uint256 a, uint256 b) internal pure returns (uint256) {
    require(b != 0);
    return a % b;
  }
}

File 8 of 9: TokenBonus.sol
pragma solidity ^0.4.24;


import "./Ownable.sol";
import "./SafeMath.sol";
import "./KaikenInuToken.sol";


contract TokenBonus is Ownable {
    using SafeMath for uint256;

    address public owner;
    mapping (address => uint256) public bonusBalances;   // visible to the public or not ???
    address[] public bonusList;
    uint256 public savedBonusToken;

    constructor() public {
        owner = msg.sender;
    }

    function distributeBonusToken(address _token, uint256 _percent) public onlyOwner {
        for (uint256 i = 0; i < bonusList.length; i++) {
            require(KaikenInuToken(_token).balanceOf(address(this)) >= savedBonusToken);

            uint256 amountToTransfer = bonusBalances[bonusList[i]].mul(_percent).div(100);
            KaikenInuToken(_token).transfer(bonusList[i], amountToTransfer);
            bonusBalances[bonusList[i]] = bonusBalances[bonusList[i]].sub(amountToTransfer);
            savedBonusToken = savedBonusToken.sub(amountToTransfer);
        }
    }
}

File 9 of 9: Whitelist.sol
pragma solidity ^0.4.24;

import "./Ownable.sol";

contract Whitelist is Ownable{

  // Whitelisted address
  mapping(address => bool) public whitelist;
  mapping(address => bool) public presalewhitelist;

  event AddedBeneficiary(address indexed _beneficiary);
  event AddedPresaleBeneficiary(address indexed _beneficiary);

  function isPresaleWhitelisted(address _beneficiary) public view returns (bool) {
    return (presalewhitelist[_beneficiary]);
  }

  function addManyToPresaleWhitelist(address[] _beneficiaries) public onlyOwner {
    for (uint256 i = 0; i < _beneficiaries.length; i++) {
      presalewhitelist[_beneficiaries[i]] = true;
      emit AddedPresaleBeneficiary(_beneficiaries[i]);
    }
  }

  function removeFromPresaleWhitelist(address _beneficiary) public onlyOwner {
    presalewhitelist[_beneficiary] = false;
  }

  function addManyToWhitelist(address[] _beneficiaries) public onlyOwner {
    for (uint256 i = 0; i < _beneficiaries.length; i++) {
      whitelist[_beneficiaries[i]] = true;
      emit AddedBeneficiary(_beneficiaries[i]);
    }
  }

  function removeFromWhitelist(address _beneficiary) public onlyOwner {
    whitelist[_beneficiary] = false;
  }

  function isWhitelisted(address _beneficiary) public view returns (bool) {
    return (whitelist[_beneficiary]);
  }

}

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":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"_marketingFee","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":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"_taxFee","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"burn","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"_liquidityFee","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","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":false,"inputs":[],"name":"unlock","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":true,"inputs":[],"name":"_burnFee","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"locked","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"name":"","type":"bool"}],"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"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"}],"name":"OwnershipRenounced","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"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":"burner","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Burn","type":"event"}]

608060405269d3c21bcecceda1000000600155600280556002546003556001600455600454600555600160065560065460075560016008556001600960006101000a81548160ff02191690831515021790555034801561005e57600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600154600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611a0d806100f46000396000f30060806040526004361061011d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde0314610122578063095ea7b3146101b257806318160ddd1461021757806322976e0d1461024257806323b872dd1461026d578063313ce567146102f25780633b124fe71461032357806342966c681461034e57806366188463146103935780636bc87c3a146103f857806370a0823114610423578063715018a61461047a5780638da5cb5b1461049157806395d89b41146104e8578063a69df4b514610578578063a9059cbb1461058f578063c0b0fda2146105f4578063cf3090121461061f578063d73dd6231461064e578063dd62ed3e146106b3578063f2fde38b1461072a575b600080fd5b34801561012e57600080fd5b5061013761076d565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561017757808201518184015260208101905061015c565b50505050905090810190601f1680156101a45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101be57600080fd5b506101fd600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506107a6565b604051808215151515815260200191505060405180910390f35b34801561022357600080fd5b5061022c610898565b6040518082815260200191505060405180910390f35b34801561024e57600080fd5b506102576108a2565b6040518082815260200191505060405180910390f35b34801561027957600080fd5b506102d8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108a8565b604051808215151515815260200191505060405180910390f35b3480156102fe57600080fd5b50610307610cdb565b604051808260ff1660ff16815260200191505060405180910390f35b34801561032f57600080fd5b50610338610ce0565b6040518082815260200191505060405180910390f35b34801561035a57600080fd5b5061037960048036038101908080359060200190929190505050610ce6565b604051808215151515815260200191505060405180910390f35b34801561039f57600080fd5b506103de600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610e51565b604051808215151515815260200191505060405180910390f35b34801561040457600080fd5b5061040d6110e3565b6040518082815260200191505060405180910390f35b34801561042f57600080fd5b50610464600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506110e9565b6040518082815260200191505060405180910390f35b34801561048657600080fd5b5061048f611132565b005b34801561049d57600080fd5b506104a6611234565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156104f457600080fd5b506104fd611259565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561053d578082015181840152602081019050610522565b50505050905090810190601f16801561056a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561058457600080fd5b5061058d611292565b005b34801561059b57600080fd5b506105da600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061130a565b604051808215151515815260200191505060405180910390f35b34801561060057600080fd5b506106096115a2565b6040518082815260200191505060405180910390f35b34801561062b57600080fd5b506106346115a8565b604051808215151515815260200191505060405180910390f35b34801561065a57600080fd5b50610699600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506115bb565b604051808215151515815260200191505060405180910390f35b3480156106bf57600080fd5b50610714600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506117b7565b6040518082815260200191505060405180910390f35b34801561073657600080fd5b5061076b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061183e565b005b6040805190810160405280600981526020017f4b61696b656e496e75000000000000000000000000000000000000000000000081525081565b600081600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600154905090565b60085481565b6000600960009054906101000a900460ff16158061091257506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561091d57600080fd5b600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561096b57600080fd5b600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156109f657600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610a3257600080fd5b610a8482600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118a590919063ffffffff16565b600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610b1982600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118c690919063ffffffff16565b600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610beb82600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118a590919063ffffffff16565b600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600981565b60025481565b600080600083111515610cf857600080fd5b600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548311151515610d4657600080fd5b339050610d9b83600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118a590919063ffffffff16565b600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610df3836001546118a590919063ffffffff16565b6001819055508073ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5846040518082815260200191505060405180910390a26001915050919050565b600080600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508083101515610f63576000600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610ff7565b610f7683826118a590919063ffffffff16565b600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b60045481565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561118d57600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482060405160405180910390a260008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6040805190810160405280600981526020017f4b61696b656e496e75000000000000000000000000000000000000000000000081525081565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156112ed57600080fd5b6000600960006101000a81548160ff021916908315150217905550565b6000600960009054906101000a900460ff16158061137457506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561137f57600080fd5b600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156113cd57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561140957600080fd5b61145b82600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118a590919063ffffffff16565b600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506114f082600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118c690919063ffffffff16565b600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60065481565b600960009054906101000a900460ff1681565b600061164c82600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118c690919063ffffffff16565b600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561189957600080fd5b6118a2816118e7565b50565b6000808383111515156118b757600080fd5b82840390508091505092915050565b60008082840190508381101515156118dd57600080fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561192357600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505600a165627a7a723058206e4f3c2e311abddff048ce1539edab8c939a4ff95ddde8660e4d99c0faaddb100029

Deployed Bytecode

0x60806040526004361061011d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde0314610122578063095ea7b3146101b257806318160ddd1461021757806322976e0d1461024257806323b872dd1461026d578063313ce567146102f25780633b124fe71461032357806342966c681461034e57806366188463146103935780636bc87c3a146103f857806370a0823114610423578063715018a61461047a5780638da5cb5b1461049157806395d89b41146104e8578063a69df4b514610578578063a9059cbb1461058f578063c0b0fda2146105f4578063cf3090121461061f578063d73dd6231461064e578063dd62ed3e146106b3578063f2fde38b1461072a575b600080fd5b34801561012e57600080fd5b5061013761076d565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561017757808201518184015260208101905061015c565b50505050905090810190601f1680156101a45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101be57600080fd5b506101fd600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506107a6565b604051808215151515815260200191505060405180910390f35b34801561022357600080fd5b5061022c610898565b6040518082815260200191505060405180910390f35b34801561024e57600080fd5b506102576108a2565b6040518082815260200191505060405180910390f35b34801561027957600080fd5b506102d8600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108a8565b604051808215151515815260200191505060405180910390f35b3480156102fe57600080fd5b50610307610cdb565b604051808260ff1660ff16815260200191505060405180910390f35b34801561032f57600080fd5b50610338610ce0565b6040518082815260200191505060405180910390f35b34801561035a57600080fd5b5061037960048036038101908080359060200190929190505050610ce6565b604051808215151515815260200191505060405180910390f35b34801561039f57600080fd5b506103de600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610e51565b604051808215151515815260200191505060405180910390f35b34801561040457600080fd5b5061040d6110e3565b6040518082815260200191505060405180910390f35b34801561042f57600080fd5b50610464600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506110e9565b6040518082815260200191505060405180910390f35b34801561048657600080fd5b5061048f611132565b005b34801561049d57600080fd5b506104a6611234565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156104f457600080fd5b506104fd611259565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561053d578082015181840152602081019050610522565b50505050905090810190601f16801561056a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561058457600080fd5b5061058d611292565b005b34801561059b57600080fd5b506105da600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061130a565b604051808215151515815260200191505060405180910390f35b34801561060057600080fd5b506106096115a2565b6040518082815260200191505060405180910390f35b34801561062b57600080fd5b506106346115a8565b604051808215151515815260200191505060405180910390f35b34801561065a57600080fd5b50610699600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506115bb565b604051808215151515815260200191505060405180910390f35b3480156106bf57600080fd5b50610714600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506117b7565b6040518082815260200191505060405180910390f35b34801561073657600080fd5b5061076b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061183e565b005b6040805190810160405280600981526020017f4b61696b656e496e75000000000000000000000000000000000000000000000081525081565b600081600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600154905090565b60085481565b6000600960009054906101000a900460ff16158061091257506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561091d57600080fd5b600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561096b57600080fd5b600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156109f657600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610a3257600080fd5b610a8482600a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118a590919063ffffffff16565b600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610b1982600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118c690919063ffffffff16565b600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610beb82600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118a590919063ffffffff16565b600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600981565b60025481565b600080600083111515610cf857600080fd5b600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548311151515610d4657600080fd5b339050610d9b83600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118a590919063ffffffff16565b600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610df3836001546118a590919063ffffffff16565b6001819055508073ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5846040518082815260200191505060405180910390a26001915050919050565b600080600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508083101515610f63576000600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610ff7565b610f7683826118a590919063ffffffff16565b600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b60045481565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561118d57600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482060405160405180910390a260008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6040805190810160405280600981526020017f4b61696b656e496e75000000000000000000000000000000000000000000000081525081565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156112ed57600080fd5b6000600960006101000a81548160ff021916908315150217905550565b6000600960009054906101000a900460ff16158061137457506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561137f57600080fd5b600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156113cd57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561140957600080fd5b61145b82600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118a590919063ffffffff16565b600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506114f082600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118c690919063ffffffff16565b600a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60065481565b600960009054906101000a900460ff1681565b600061164c82600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546118c690919063ffffffff16565b600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561189957600080fd5b6118a2816118e7565b50565b6000808383111515156118b757600080fd5b82840390508091505092915050565b60008082840190508381101515156118dd57600080fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561192357600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505600a165627a7a723058206e4f3c2e311abddff048ce1539edab8c939a4ff95ddde8660e4d99c0faaddb100029

Deployed Bytecode Sourcemap

98:3386:2:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;177:41;;8:9:-1;5:2;;;30:1;27;20:12;5:2;177:41:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;177:41:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1681:188;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1681:188:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;992:83;;8:9:-1;5:2;;;30:1;27;20:12;5:2;992:83:2;;;;;;;;;;;;;;;;;;;;;;;634:32;;8:9:-1;5:2;;;30:1;27;20:12;5:2;634:32:2;;;;;;;;;;;;;;;;;;;;;;;1873:491;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1873:491:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;273:34;;8:9:-1;5:2;;;30:1;27;20:12;5:2;273:34:2;;;;;;;;;;;;;;;;;;;;;;;;;;;376:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;376:26:2;;;;;;;;;;;;;;;;;;;;;;;3104:313;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3104:313:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2668:432;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2668:432:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;455:32;;8:9:-1;5:2;;;30:1;27;20:12;5:2;455:32:2;;;;;;;;;;;;;;;;;;;;;;;1079:99;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1079:99:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;811:111:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;811:111:3;;;;;;48:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;48:20:3;;;;;;;;;;;;;;;;;;;;;;;;;;;224:43:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;224:43:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;224:43:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3421:60;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3421:60:2;;;;;;1339:338;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1339:338:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;552:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;552:27:2;;;;;;;;;;;;;;;;;;;;;;;677:25;;8:9:-1;5:2;;;30:1;27;20:12;5:2;677:25:2;;;;;;;;;;;;;;;;;;;;;;;;;;;2368:296;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2368:296:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1182:153;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1182:153:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1084:103:3;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1084:103:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;177:41:2;;;;;;;;;;;;;;;;;;;;:::o;1681:188::-;1748:4;1792:6;1760:7;:19;1768:10;1760:19;;;;;;;;;;;;;;;:29;1780:8;1760:29;;;;;;;;;;;;;;;:38;;;;1830:8;1809:38;;1818:10;1809:38;;;1840:6;1809:38;;;;;;;;;;;;;;;;;;1860:4;1853:11;;1681:188;;;;:::o;992:83::-;1036:7;1058:12;;1051:19;;992:83;:::o;634:32::-;;;;:::o;1873:491::-;2000:4;873:6;;;;;;;;;;;872:7;:30;;;;897:5;;;;;;;;;;;883:19;;:10;:19;;;872:30;864:39;;;;;;;;2032:8;:15;2041:5;2032:15;;;;;;;;;;;;;;;;2022:6;:25;;2014:34;;;;;;;;2072:7;:14;2080:5;2072:14;;;;;;;;;;;;;;;:26;2087:10;2072:26;;;;;;;;;;;;;;;;2062:6;:36;;2054:45;;;;;;;;2128:1;2113:17;;:3;:17;;;;2105:26;;;;;;;;2156:27;2176:6;2156:8;:15;2165:5;2156:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;2138:8;:15;2147:5;2138:15;;;;;;;;;;;;;;;:45;;;;2205:25;2223:6;2205:8;:13;2214:3;2205:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;2189:8;:13;2198:3;2189:13;;;;;;;;;;;;;;;:41;;;;2265:38;2296:6;2265:7;:14;2273:5;2265:14;;;;;;;;;;;;;;;:26;2280:10;2265:26;;;;;;;;;;;;;;;;:30;;:38;;;;:::i;:::-;2236:7;:14;2244:5;2236:14;;;;;;;;;;;;;;;:26;2251:10;2236:26;;;;;;;;;;;;;;;:67;;;;2330:3;2314:28;;2323:5;2314:28;;;2335:6;2314:28;;;;;;;;;;;;;;;;;;2355:4;2348:11;;1873:491;;;;;:::o;273:34::-;306:1;273:34;:::o;376:26::-;;;;:::o;3104:313::-;3150:12;3239:14;3186:1;3177:6;:10;3169:19;;;;;;;;3212:8;:20;3221:10;3212:20;;;;;;;;;;;;;;;;3202:6;:30;;3194:39;;;;;;;;3256:10;3239:27;;3291:28;3312:6;3291:8;:16;3300:6;3291:16;;;;;;;;;;;;;;;;:20;;:28;;;;:::i;:::-;3272:8;:16;3281:6;3272:16;;;;;;;;;;;;;;;:47;;;;3340:24;3357:6;3340:12;;:16;;:24;;;;:::i;:::-;3325:12;:39;;;;3380:6;3375:20;;;3388:6;3375:20;;;;;;;;;;;;;;;;;;3408:4;3401:11;;3104:313;;;;:::o;2668:432::-;2774:4;2788:16;2807:7;:19;2815:10;2807:19;;;;;;;;;;;;;;;:29;2827:8;2807:29;;;;;;;;;;;;;;;;2788:48;;2866:8;2846:16;:28;;2842:165;;;2916:1;2884:7;:19;2892:10;2884:19;;;;;;;;;;;;;;;:29;2904:8;2884:29;;;;;;;;;;;;;;;:33;;;;2842:165;;;2970:30;2983:16;2970:8;:12;;:30;;;;:::i;:::-;2938:7;:19;2946:10;2938:19;;;;;;;;;;;;;;;:29;2958:8;2938:29;;;;;;;;;;;;;;;:62;;;;2842:165;3038:8;3017:61;;3026:10;3017:61;;;3048:7;:19;3056:10;3048:19;;;;;;;;;;;;;;;:29;3068:8;3048:29;;;;;;;;;;;;;;;;3017:61;;;;;;;;;;;;;;;;;;3091:4;3084:11;;2668:432;;;;;:::o;455:32::-;;;;:::o;1079:99::-;1135:7;1157:8;:16;1166:6;1157:16;;;;;;;;;;;;;;;;1150:23;;1079:99;;;:::o;811:111:3:-;529:5;;;;;;;;;;;515:19;;:10;:19;;;507:28;;;;;;;;887:5;;;;;;;;;;;868:25;;;;;;;;;;;;915:1;899:5;;:18;;;;;;;;;;;;;;;;;;811:111::o;48:20::-;;;;;;;;;;;;;:::o;224:43:2:-;;;;;;;;;;;;;;;;;;;;:::o;3421:60::-;529:5:3;;;;;;;;;;;515:19;;:10;:19;;;507:28;;;;;;;;3471:5:2;3462:6;;:14;;;;;;;;;;;;;;;;;;3421:60::o;1339:338::-;1419:4;873:6;;;;;;;;;;;872:7;:30;;;;897:5;;;;;;;;;;;883:19;;:10;:19;;;872:30;864:39;;;;;;;;1449:8;:20;1458:10;1449:20;;;;;;;;;;;;;;;;1439:6;:30;;1431:39;;;;;;;;1499:1;1484:17;;:3;:17;;;;1476:26;;;;;;;;1532:32;1557:6;1532:8;:20;1541:10;1532:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;1509:8;:20;1518:10;1509:20;;;;;;;;;;;;;;;:55;;;;1586:25;1604:6;1586:8;:13;1595:3;1586:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;1570:8;:13;1579:3;1570:13;;;;;;;;;;;;;;;:41;;;;1643:3;1622:33;;1631:10;1622:33;;;1648:6;1622:33;;;;;;;;;;;;;;;;;;1668:4;1661:11;;1339:338;;;;:::o;552:27::-;;;;:::o;677:25::-;;;;;;;;;;;;;:::o;2368:296::-;2469:4;2523:46;2557:11;2523:7;:19;2531:10;2523:19;;;;;;;;;;;;;;;:29;2543:8;2523:29;;;;;;;;;;;;;;;;:33;;:46;;;;:::i;:::-;2483:7;:19;2491:10;2483:19;;;;;;;;;;;;;;;:29;2503:8;2483:29;;;;;;;;;;;;;;;:87;;;;2602:8;2581:61;;2590:10;2581:61;;;2612:7;:19;2620:10;2612:19;;;;;;;;;;;;;;;:29;2632:8;2612:29;;;;;;;;;;;;;;;;2581:61;;;;;;;;;;;;;;;;;;2655:4;2648:11;;2368:296;;;;:::o;1182:153::-;1281:7;1305;:15;1313:6;1305:15;;;;;;;;;;;;;;;:25;1321:8;1305:25;;;;;;;;;;;;;;;;1298:32;;1182:153;;;;:::o;1084:103:3:-;529:5;;;;;;;;;;;515:19;;:10;:19;;;507:28;;;;;;;;1153:29;1172:9;1153:18;:29::i;:::-;1084:103;:::o;1003:137:6:-;1063:7;1101:9;1092:2;1086;:8;;1078:17;;;;;;;;1118:2;1113;:7;1101:19;;1134:1;1127:8;;1003:137;;;;;:::o;1203:136::-;1263:7;1278:9;1295:2;1290;:7;1278:19;;1316:2;1311:1;:7;;1303:16;;;;;;;;1333:1;1326:8;;1203:136;;;;;:::o;1322:171:3:-;1413:1;1392:23;;:9;:23;;;;1384:32;;;;;;;;1455:9;1427:38;;1448:5;;;;;;;;;;;1427:38;;;;;;;;;;;;1479:9;1471:5;;:17;;;;;;;;;;;;;;;;;;1322:171;:::o

Swarm Source

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