ETH Price: $3,452.38 (+1.58%)

Token

CloverCoin (CLC)
 

Overview

Max Total Supply

35,778.285067208991440582 CLC

Holders

649

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
6.711609659577586067 CLC

Value
$0.00
0xa84b900fc185a5bd5639224571f7bbd050143be2
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:
ClubToken

Compiler Version
v0.4.24+commit.e67f0147

Optimization Enabled:
Yes with 10000 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2019-08-16
*/

// File: zeppelin-solidity/contracts/token/ERC20/ERC20Basic.sol

pragma solidity ^0.4.24;


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

// File: zeppelin-solidity/contracts/math/SafeMath.sol

pragma solidity ^0.4.24;


/**
 * @title SafeMath
 * @dev Math operations with safety checks that throw on error
 */
library SafeMath {

  /**
  * @dev Multiplies two numbers, throws on overflow.
  */
  function mul(uint256 a, uint256 b) internal pure returns (uint256 c) {
    // Gas optimization: this is cheaper than asserting '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;
    }

    c = a * b;
    assert(c / a == b);
    return c;
  }

  /**
  * @dev Integer division of two numbers, truncating the quotient.
  */
  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 a / b;
  }

  /**
  * @dev Subtracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend).
  */
  function sub(uint256 a, uint256 b) internal pure returns (uint256) {
    assert(b <= a);
    return a - b;
  }

  /**
  * @dev Adds two numbers, throws on overflow.
  */
  function add(uint256 a, uint256 b) internal pure returns (uint256 c) {
    c = a + b;
    assert(c >= a);
    return c;
  }
}

// File: zeppelin-solidity/contracts/token/ERC20/BasicToken.sol

pragma solidity ^0.4.24;




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

  mapping(address => uint256) balances;

  uint256 totalSupply_;

  /**
  * @dev Total number of tokens in existence
  */
  function totalSupply() public view returns (uint256) {
    return totalSupply_;
  }

  /**
  * @dev Transfer token for a specified address
  * @param _to The address to transfer to.
  * @param _value The amount to be transferred.
  */
  function transfer(address _to, uint256 _value) 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);
    emit Transfer(msg.sender, _to, _value);
    return true;
  }

  /**
  * @dev Gets the balance of the specified address.
  * @param _owner The address to query the the balance of.
  * @return An uint256 representing the amount owned by the passed address.
  */
  function balanceOf(address _owner) public view returns (uint256) {
    return balances[_owner];
  }

}

// File: zeppelin-solidity/contracts/token/ERC20/ERC20.sol

pragma solidity ^0.4.24;



/**
 * @title ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/20
 */
contract ERC20 is ERC20Basic {
  function allowance(address owner, address spender)
    public view returns (uint256);

  function transferFrom(address from, address to, uint256 value)
    public returns (bool);

  function approve(address spender, uint256 value) public returns (bool);
  event Approval(
    address indexed owner,
    address indexed spender,
    uint256 value
  );
}

// File: zeppelin-solidity/contracts/token/ERC20/StandardToken.sol

pragma solidity ^0.4.24;




/**
 * @title Standard ERC20 token
 *
 * @dev Implementation of the basic standard token.
 * https://github.com/ethereum/EIPs/issues/20
 * Based on code by FirstBlood: https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol
 */
contract StandardToken is ERC20, BasicToken {

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


  /**
   * @dev Transfer tokens from one address to another
   * @param _from address The address which you want to send tokens from
   * @param _to address The address which you want to transfer to
   * @param _value uint256 the amount of tokens to be transferred
   */
  function transferFrom(
    address _from,
    address _to,
    uint256 _value
  )
    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);
    emit Transfer(_from, _to, _value);
    return true;
  }

  /**
   * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.
   * Beware that changing an allowance with this method brings the risk that someone may use both the old
   * and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this
   * race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards:
   * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
   * @param _spender The address which will spend the funds.
   * @param _value The amount of tokens to be spent.
   */
  function approve(address _spender, uint256 _value) public returns (bool) {
    allowed[msg.sender][_spender] = _value;
    emit Approval(msg.sender, _spender, _value);
    return true;
  }

  /**
   * @dev Function to check the amount of tokens that an owner allowed to a spender.
   * @param _owner address The address which owns the funds.
   * @param _spender address The address which will spend the funds.
   * @return A uint256 specifying the amount of tokens still available for the spender.
   */
  function allowance(
    address _owner,
    address _spender
   )
    public
    view
    returns (uint256)
  {
    return allowed[_owner][_spender];
  }

  /**
   * @dev Increase the amount of tokens that an owner allowed to a spender.
   * approve should be called when allowed[_spender] == 0. To increment
   * allowed value is better to use this function to avoid 2 calls (and wait until
   * the first transaction is mined)
   * From MonolithDAO Token.sol
   * @param _spender The address which will spend the funds.
   * @param _addedValue The amount of tokens to increase the allowance by.
   */
  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;
  }

  /**
   * @dev Decrease the amount of tokens that an owner allowed to a spender.
   * approve should be called when allowed[_spender] == 0. To decrement
   * allowed value is better to use this function to avoid 2 calls (and wait until
   * the first transaction is mined)
   * From MonolithDAO Token.sol
   * @param _spender The address which will spend the funds.
   * @param _subtractedValue The amount of tokens to decrease the allowance by.
   */
  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;
  }

}

// File: zeppelin-solidity/contracts/token/ERC20/DetailedERC20.sol

pragma solidity ^0.4.24;



/**
 * @title DetailedERC20 token
 * @dev The decimals are only for visualization purposes.
 * All the operations are done using the smallest and indivisible token unit,
 * just as on Ethereum all the operations are done in wei.
 */
contract DetailedERC20 is ERC20 {
  string public name;
  string public symbol;
  uint8 public decimals;

  constructor(string _name, string _symbol, uint8 _decimals) public {
    name = _name;
    symbol = _symbol;
    decimals = _decimals;
  }
}

// File: zeppelin-solidity/contracts/ownership/Ownable.sol

pragma solidity ^0.4.24;


/**
 * @title Ownable
 * @dev The Ownable contract has an owner address, and provides basic authorization control
 * functions, this simplifies the implementation of "user permissions".
 */
contract Ownable {
  address public owner;


  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: zeppelin-solidity/contracts/token/ERC20/MintableToken.sol

pragma solidity ^0.4.24;




/**
 * @title Mintable token
 * @dev Simple ERC20 Token example, with mintable token creation
 * Based on code by TokenMarketNet: https://github.com/TokenMarketNet/ico/blob/master/contracts/MintableToken.sol
 */
contract MintableToken is StandardToken, Ownable {
  event Mint(address indexed to, uint256 amount);
  event MintFinished();

  bool public mintingFinished = false;


  modifier canMint() {
    require(!mintingFinished);
    _;
  }

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

  /**
   * @dev Function to mint tokens
   * @param _to The address that will receive the minted tokens.
   * @param _amount The amount of tokens to mint.
   * @return A boolean that indicates if the operation was successful.
   */
  function mint(
    address _to,
    uint256 _amount
  )
    hasMintPermission
    canMint
    public
    returns (bool)
  {
    totalSupply_ = totalSupply_.add(_amount);
    balances[_to] = balances[_to].add(_amount);
    emit Mint(_to, _amount);
    emit Transfer(address(0), _to, _amount);
    return true;
  }

  /**
   * @dev Function to stop minting new tokens.
   * @return True if the operation was successful.
   */
  function finishMinting() onlyOwner canMint public returns (bool) {
    mintingFinished = true;
    emit MintFinished();
    return true;
  }
}

// File: zeppelin-solidity/contracts/token/ERC20/BurnableToken.sol

pragma solidity ^0.4.24;



/**
 * @title Burnable Token
 * @dev Token that can be irreversibly burned (destroyed).
 */
contract BurnableToken is BasicToken {

  event Burn(address indexed burner, uint256 value);

  /**
   * @dev Burns a specific amount of tokens.
   * @param _value The amount of token to be burned.
   */
  function burn(uint256 _value) public {
    _burn(msg.sender, _value);
  }

  function _burn(address _who, uint256 _value) internal {
    require(_value <= balances[_who]);
    // no need to require value <= totalSupply, since that would imply the
    // sender's balance is greater than the totalSupply, which *should* be an assertion failure

    balances[_who] = balances[_who].sub(_value);
    totalSupply_ = totalSupply_.sub(_value);
    emit Burn(_who, _value);
    emit Transfer(_who, address(0), _value);
  }
}

// File: contracts/ClubToken.sol

pragma solidity ^0.4.18;

/**
 * ClubToken adheres to ERC20
 * it is a continuously mintable token administered by CloversController/ClubTokenController
 */





contract ClubToken is StandardToken, DetailedERC20, MintableToken, BurnableToken {

    address public cloversController;
    address public clubTokenController;

    modifier hasMintPermission() {
      require(
          msg.sender == clubTokenController ||
          msg.sender == cloversController ||
          msg.sender == owner
      );
      _;
    }

    /**
    * @dev constructor for the ClubTokens contract
    * @param _name The name of the token
    * @param _symbol The symbol of the token
    * @param _decimals The decimals of the token
    */
    constructor(string _name, string _symbol, uint8 _decimals) public
        DetailedERC20(_name, _symbol, _decimals)
    {}

    function () public payable {}

    function updateClubTokenControllerAddress(address _clubTokenController) public onlyOwner {
        require(_clubTokenController != 0);
        clubTokenController = _clubTokenController;
    }

    function updateCloversControllerAddress(address _cloversController) public onlyOwner {
        require(_cloversController != 0);
        cloversController = _cloversController;
    }


      /**
       * @dev Transfer tokens from one address to another
       * @param _from address The address which you want to send tokens from
       * @param _to address The address which you want to transfer to
       * @param _value uint256 the amount of tokens to be transferred
       */
      function transferFrom(
        address _from,
        address _to,
        uint256 _value
      )
        public
        returns (bool)
      {
        require(_to != address(0));
        require(_value <= balances[_from]);
        if (msg.sender != cloversController && msg.sender != clubTokenController) {
            require(_value <= allowed[_from][msg.sender]);
            allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);
        }
        balances[_from] = balances[_from].sub(_value);
        balances[_to] = balances[_to].add(_value);
        emit Transfer(_from, _to, _value);
        return true;
      }

    /**
     * @dev Burns a specific amount of tokens.
     * @param _value The amount of token to be burned.
     * NOTE: Disabled as tokens should not be burned under circumstances beside selling tokens.
     */
    function burn(uint256 _value) public {
        _value;
        revert();
    }

    /**
     * @dev Burns a specific amount of tokens.
     * @param _burner The address of the token holder burning their tokens.
     * @param _value The amount of token to be burned.
     */
    function burn(address _burner, uint256 _value) public hasMintPermission {
      _burn(_burner, _value);
    }

    /**
    * @dev Moves Eth to a certain address for use in the ClubTokenController
    * @param _to The address to receive the Eth.
    * @param _amount The amount of Eth to be transferred.
    */
    function moveEth(address _to, uint256 _amount) public hasMintPermission {
        require(this.balance >= _amount);
        _to.transfer(_amount);
    }
    /**
    * @dev Moves Tokens to a certain address for use in the ClubTokenController
    * @param _to The address to receive the Tokens.
    * @param _amount The amount of Tokens to be transferred.
    * @param _token The address of the relevant token contract.
    * @return bool Whether or not the move was successful
    */
    function moveToken(address _to, uint256 _amount, address _token) public hasMintPermission returns (bool) {
        require(_amount <= StandardToken(_token).balanceOf(this));
        return StandardToken(_token).transfer(_to, _amount);
    }
    /**
    * @dev Approves Tokens to a certain address for use in the ClubTokenController
    * @param _to The address to be approved.
    * @param _amount The amount of Tokens to be approved.
    * @param _token The address of the relevant token contract.
    * @return bool Whether or not the approval was successful
    */
    function approveToken(address _to, uint256 _amount, address _token) public hasMintPermission returns (bool) {
        return StandardToken(_token).approve(_to, _amount);
    }
}

Contract Security Audit

Contract ABI

[{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"},{"name":"_token","type":"address"}],"name":"moveToken","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"mintingFinished","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":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":"cloversController","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"moveEth","outputs":[],"payable":false,"stateMutability":"nonpayable","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":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"mint","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"burn","outputs":[],"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":"_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":false,"inputs":[],"name":"finishMinting","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_cloversController","type":"address"}],"name":"updateCloversControllerAddress","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":"_burner","type":"address"},{"name":"_value","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"clubTokenController","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_clubTokenController","type":"address"}],"name":"updateClubTokenControllerAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"},{"name":"_token","type":"address"}],"name":"approveToken","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","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":[{"name":"_name","type":"string"},{"name":"_symbol","type":"string"},{"name":"_decimals","type":"uint8"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"burner","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[],"name":"MintFinished","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"}],"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":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"}]

60806040526005805460a860020a60ff02191690553480156200002157600080fd5b50604051620019e4380380620019e48339810160409081528151602080840151928401519184018051909493909301928491849184916200006891600391860190620000b0565b5081516200007e906004906020850190620000b0565b506005805460ff191660ff929092169190911761010060a860020a031916610100330217905550620001559350505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620000f357805160ff191683800117855562000123565b8280016001018555821562000123579182015b828111156200012357825182559160200191906001019062000106565b506200013192915062000135565b5090565b6200015291905b808211156200013157600081556001016200013c565b90565b61187f80620001656000396000f3006080604052600436106101535763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663048e62ca811461015557806305d2035b146101a157806306fdde03146101b6578063095ea7b314610240578063124141981461027157806318160ddd146102af5780631cc1472d146102d657806323b872dd14610307578063313ce5671461033e57806340c10f191461036957806342966c681461039a57806366188463146103b257806370a08231146103e3578063715018a6146104115780637d64bcb4146104265780638a56a2261461043b5780638da5cb5b1461046957806395d89b411461047e5780639dc29fac14610493578063a89b55da146104c4578063a9059cbb146104d9578063a91cf1c51461050a578063c863bac114610538578063d73dd62314610570578063dd62ed3e146105a1578063f2fde38b146105d5575b005b34801561016157600080fd5b5061018d73ffffffffffffffffffffffffffffffffffffffff6004358116906024359060443516610603565b604080519115158252519081900360200190f35b3480156101ad57600080fd5b5061018d6107f2565b3480156101c257600080fd5b506101cb610814565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102055781810151838201526020016101ed565b50505050905090810190601f1680156102325780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561024c57600080fd5b5061018d73ffffffffffffffffffffffffffffffffffffffff600435166024356108c0565b34801561027d57600080fd5b50610286610933565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b3480156102bb57600080fd5b506102c461094f565b60408051918252519081900360200190f35b3480156102e257600080fd5b5061015373ffffffffffffffffffffffffffffffffffffffff60043516602435610955565b34801561031357600080fd5b5061018d73ffffffffffffffffffffffffffffffffffffffff60043581169060243516604435610a1a565b34801561034a57600080fd5b50610353610c49565b6040805160ff9092168252519081900360200190f35b34801561037557600080fd5b5061018d73ffffffffffffffffffffffffffffffffffffffff60043516602435610c52565b3480156103a657600080fd5b50610153600435610ded565b3480156103be57600080fd5b5061018d73ffffffffffffffffffffffffffffffffffffffff60043516602435610df2565b3480156103ef57600080fd5b506102c473ffffffffffffffffffffffffffffffffffffffff60043516610f16565b34801561041d57600080fd5b50610153610f3e565b34801561043257600080fd5b5061018d610fda565b34801561044757600080fd5b5061015373ffffffffffffffffffffffffffffffffffffffff6004351661109e565b34801561047557600080fd5b50610286611130565b34801561048a57600080fd5b506101cb611151565b34801561049f57600080fd5b5061015373ffffffffffffffffffffffffffffffffffffffff600435166024356111ca565b3480156104d057600080fd5b50610286611247565b3480156104e557600080fd5b5061018d73ffffffffffffffffffffffffffffffffffffffff60043516602435611263565b34801561051657600080fd5b5061015373ffffffffffffffffffffffffffffffffffffffff6004351661136b565b34801561054457600080fd5b5061018d73ffffffffffffffffffffffffffffffffffffffff60043581169060243590604435166113fd565b34801561057c57600080fd5b5061018d73ffffffffffffffffffffffffffffffffffffffff60043516602435611512565b3480156105ad57600080fd5b506102c473ffffffffffffffffffffffffffffffffffffffff600435811690602435166115c5565b3480156105e157600080fd5b5061015373ffffffffffffffffffffffffffffffffffffffff600435166115fd565b60075460009073ffffffffffffffffffffffffffffffffffffffff16331480610643575060065473ffffffffffffffffffffffffffffffffffffffff1633145b8061066a5750600554610100900473ffffffffffffffffffffffffffffffffffffffff1633145b151561067557600080fd5b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a082319160248083019260209291908290030181600087803b1580156106e357600080fd5b505af11580156106f7573d6000803e3d6000fd5b505050506040513d602081101561070d57600080fd5b505183111561071b57600080fd5b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb85856040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156107be57600080fd5b505af11580156107d2573d6000803e3d6000fd5b505050506040513d60208110156107e857600080fd5b5051949350505050565b6005547501000000000000000000000000000000000000000000900460ff1681565b6003805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156108b85780601f1061088d576101008083540402835291602001916108b8565b820191906000526020600020905b81548152906001019060200180831161089b57829003601f168201915b505050505081565b33600081815260026020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60015490565b60075473ffffffffffffffffffffffffffffffffffffffff16331480610992575060065473ffffffffffffffffffffffffffffffffffffffff1633145b806109b95750600554610100900473ffffffffffffffffffffffffffffffffffffffff1633145b15156109c457600080fd5b30318111156109d257600080fd5b60405173ffffffffffffffffffffffffffffffffffffffff83169082156108fc029083906000818181858888f19350505050158015610a15573d6000803e3d6000fd5b505050565b600073ffffffffffffffffffffffffffffffffffffffff83161515610a3e57600080fd5b73ffffffffffffffffffffffffffffffffffffffff8416600090815260208190526040902054821115610a7057600080fd5b60065473ffffffffffffffffffffffffffffffffffffffff163314801590610ab0575060075473ffffffffffffffffffffffffffffffffffffffff163314155b15610b655773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054821115610af257600080fd5b73ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610b33908363ffffffff61163216565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b73ffffffffffffffffffffffffffffffffffffffff8416600090815260208190526040902054610b9b908363ffffffff61163216565b73ffffffffffffffffffffffffffffffffffffffff8086166000908152602081905260408082209390935590851681522054610bdd908363ffffffff61164416565b73ffffffffffffffffffffffffffffffffffffffff8085166000818152602081815260409182902094909455805186815290519193928816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a35060019392505050565b60055460ff1681565b60075460009073ffffffffffffffffffffffffffffffffffffffff16331480610c92575060065473ffffffffffffffffffffffffffffffffffffffff1633145b80610cb95750600554610100900473ffffffffffffffffffffffffffffffffffffffff1633145b1515610cc457600080fd5b6005547501000000000000000000000000000000000000000000900460ff1615610ced57600080fd5b600154610d00908363ffffffff61164416565b60015573ffffffffffffffffffffffffffffffffffffffff8316600090815260208190526040902054610d39908363ffffffff61164416565b73ffffffffffffffffffffffffffffffffffffffff841660008181526020818152604091829020939093558051858152905191927f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d412139688592918290030190a260408051838152905173ffffffffffffffffffffffffffffffffffffffff8516916000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a350600192915050565b600080fd5b33600090815260026020908152604080832073ffffffffffffffffffffffffffffffffffffffff8616845290915281205480831115610e615733600090815260026020908152604080832073ffffffffffffffffffffffffffffffffffffffff88168452909152812055610ea3565b610e71818463ffffffff61163216565b33600090815260026020908152604080832073ffffffffffffffffffffffffffffffffffffffff891684529091529020555b33600081815260026020908152604080832073ffffffffffffffffffffffffffffffffffffffff89168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b600554610100900473ffffffffffffffffffffffffffffffffffffffff163314610f6757600080fd5b60055460405161010090910473ffffffffffffffffffffffffffffffffffffffff16907ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482090600090a2600580547fffffffffffffffffffffff0000000000000000000000000000000000000000ff169055565b600554600090610100900473ffffffffffffffffffffffffffffffffffffffff16331461100657600080fd5b6005547501000000000000000000000000000000000000000000900460ff161561102f57600080fd5b600580547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff1675010000000000000000000000000000000000000000001790556040517fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0890600090a150600190565b600554610100900473ffffffffffffffffffffffffffffffffffffffff1633146110c757600080fd5b73ffffffffffffffffffffffffffffffffffffffff811615156110e957600080fd5b600680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600554610100900473ffffffffffffffffffffffffffffffffffffffff1681565b6004805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156108b85780601f1061088d576101008083540402835291602001916108b8565b60075473ffffffffffffffffffffffffffffffffffffffff16331480611207575060065473ffffffffffffffffffffffffffffffffffffffff1633145b8061122e5750600554610100900473ffffffffffffffffffffffffffffffffffffffff1633145b151561123957600080fd5b6112438282611657565b5050565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b600073ffffffffffffffffffffffffffffffffffffffff8316151561128757600080fd5b336000908152602081905260409020548211156112a357600080fd5b336000908152602081905260409020546112c3908363ffffffff61163216565b336000908152602081905260408082209290925573ffffffffffffffffffffffffffffffffffffffff851681522054611302908363ffffffff61164416565b73ffffffffffffffffffffffffffffffffffffffff8416600081815260208181526040918290209390935580518581529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a350600192915050565b600554610100900473ffffffffffffffffffffffffffffffffffffffff16331461139457600080fd5b73ffffffffffffffffffffffffffffffffffffffff811615156113b657600080fd5b600780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60075460009073ffffffffffffffffffffffffffffffffffffffff1633148061143d575060065473ffffffffffffffffffffffffffffffffffffffff1633145b806114645750600554610100900473ffffffffffffffffffffffffffffffffffffffff1633145b151561146f57600080fd5b8173ffffffffffffffffffffffffffffffffffffffff1663095ea7b385856040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156107be57600080fd5b33600090815260026020908152604080832073ffffffffffffffffffffffffffffffffffffffff86168452909152812054611553908363ffffffff61164416565b33600081815260026020908152604080832073ffffffffffffffffffffffffffffffffffffffff89168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260026020908152604080832093909416825291909152205490565b600554610100900473ffffffffffffffffffffffffffffffffffffffff16331461162657600080fd5b61162f81611799565b50565b60008282111561163e57fe5b50900390565b8181018281101561165157fe5b92915050565b73ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604090205481111561168957600080fd5b73ffffffffffffffffffffffffffffffffffffffff82166000908152602081905260409020546116bf908263ffffffff61163216565b73ffffffffffffffffffffffffffffffffffffffff83166000908152602081905260409020556001546116f8908263ffffffff61163216565b60015560408051828152905173ffffffffffffffffffffffffffffffffffffffff8416917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a260408051828152905160009173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b73ffffffffffffffffffffffffffffffffffffffff811615156117bb57600080fd5b60055460405173ffffffffffffffffffffffffffffffffffffffff80841692610100900416907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36005805473ffffffffffffffffffffffffffffffffffffffff909216610100027fffffffffffffffffffffff0000000000000000000000000000000000000000ff9092169190911790555600a165627a7a72305820474295f438dd471eec4077eecb7209fe347ce63fb62df81d199df4962afbab240029000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000a436c6f766572436f696e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003434c430000000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x6080604052600436106101535763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663048e62ca811461015557806305d2035b146101a157806306fdde03146101b6578063095ea7b314610240578063124141981461027157806318160ddd146102af5780631cc1472d146102d657806323b872dd14610307578063313ce5671461033e57806340c10f191461036957806342966c681461039a57806366188463146103b257806370a08231146103e3578063715018a6146104115780637d64bcb4146104265780638a56a2261461043b5780638da5cb5b1461046957806395d89b411461047e5780639dc29fac14610493578063a89b55da146104c4578063a9059cbb146104d9578063a91cf1c51461050a578063c863bac114610538578063d73dd62314610570578063dd62ed3e146105a1578063f2fde38b146105d5575b005b34801561016157600080fd5b5061018d73ffffffffffffffffffffffffffffffffffffffff6004358116906024359060443516610603565b604080519115158252519081900360200190f35b3480156101ad57600080fd5b5061018d6107f2565b3480156101c257600080fd5b506101cb610814565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102055781810151838201526020016101ed565b50505050905090810190601f1680156102325780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561024c57600080fd5b5061018d73ffffffffffffffffffffffffffffffffffffffff600435166024356108c0565b34801561027d57600080fd5b50610286610933565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b3480156102bb57600080fd5b506102c461094f565b60408051918252519081900360200190f35b3480156102e257600080fd5b5061015373ffffffffffffffffffffffffffffffffffffffff60043516602435610955565b34801561031357600080fd5b5061018d73ffffffffffffffffffffffffffffffffffffffff60043581169060243516604435610a1a565b34801561034a57600080fd5b50610353610c49565b6040805160ff9092168252519081900360200190f35b34801561037557600080fd5b5061018d73ffffffffffffffffffffffffffffffffffffffff60043516602435610c52565b3480156103a657600080fd5b50610153600435610ded565b3480156103be57600080fd5b5061018d73ffffffffffffffffffffffffffffffffffffffff60043516602435610df2565b3480156103ef57600080fd5b506102c473ffffffffffffffffffffffffffffffffffffffff60043516610f16565b34801561041d57600080fd5b50610153610f3e565b34801561043257600080fd5b5061018d610fda565b34801561044757600080fd5b5061015373ffffffffffffffffffffffffffffffffffffffff6004351661109e565b34801561047557600080fd5b50610286611130565b34801561048a57600080fd5b506101cb611151565b34801561049f57600080fd5b5061015373ffffffffffffffffffffffffffffffffffffffff600435166024356111ca565b3480156104d057600080fd5b50610286611247565b3480156104e557600080fd5b5061018d73ffffffffffffffffffffffffffffffffffffffff60043516602435611263565b34801561051657600080fd5b5061015373ffffffffffffffffffffffffffffffffffffffff6004351661136b565b34801561054457600080fd5b5061018d73ffffffffffffffffffffffffffffffffffffffff60043581169060243590604435166113fd565b34801561057c57600080fd5b5061018d73ffffffffffffffffffffffffffffffffffffffff60043516602435611512565b3480156105ad57600080fd5b506102c473ffffffffffffffffffffffffffffffffffffffff600435811690602435166115c5565b3480156105e157600080fd5b5061015373ffffffffffffffffffffffffffffffffffffffff600435166115fd565b60075460009073ffffffffffffffffffffffffffffffffffffffff16331480610643575060065473ffffffffffffffffffffffffffffffffffffffff1633145b8061066a5750600554610100900473ffffffffffffffffffffffffffffffffffffffff1633145b151561067557600080fd5b604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff8416916370a082319160248083019260209291908290030181600087803b1580156106e357600080fd5b505af11580156106f7573d6000803e3d6000fd5b505050506040513d602081101561070d57600080fd5b505183111561071b57600080fd5b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb85856040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156107be57600080fd5b505af11580156107d2573d6000803e3d6000fd5b505050506040513d60208110156107e857600080fd5b5051949350505050565b6005547501000000000000000000000000000000000000000000900460ff1681565b6003805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156108b85780601f1061088d576101008083540402835291602001916108b8565b820191906000526020600020905b81548152906001019060200180831161089b57829003601f168201915b505050505081565b33600081815260026020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60015490565b60075473ffffffffffffffffffffffffffffffffffffffff16331480610992575060065473ffffffffffffffffffffffffffffffffffffffff1633145b806109b95750600554610100900473ffffffffffffffffffffffffffffffffffffffff1633145b15156109c457600080fd5b30318111156109d257600080fd5b60405173ffffffffffffffffffffffffffffffffffffffff83169082156108fc029083906000818181858888f19350505050158015610a15573d6000803e3d6000fd5b505050565b600073ffffffffffffffffffffffffffffffffffffffff83161515610a3e57600080fd5b73ffffffffffffffffffffffffffffffffffffffff8416600090815260208190526040902054821115610a7057600080fd5b60065473ffffffffffffffffffffffffffffffffffffffff163314801590610ab0575060075473ffffffffffffffffffffffffffffffffffffffff163314155b15610b655773ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054821115610af257600080fd5b73ffffffffffffffffffffffffffffffffffffffff84166000908152600260209081526040808320338452909152902054610b33908363ffffffff61163216565b73ffffffffffffffffffffffffffffffffffffffff851660009081526002602090815260408083203384529091529020555b73ffffffffffffffffffffffffffffffffffffffff8416600090815260208190526040902054610b9b908363ffffffff61163216565b73ffffffffffffffffffffffffffffffffffffffff8086166000908152602081905260408082209390935590851681522054610bdd908363ffffffff61164416565b73ffffffffffffffffffffffffffffffffffffffff8085166000818152602081815260409182902094909455805186815290519193928816927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a35060019392505050565b60055460ff1681565b60075460009073ffffffffffffffffffffffffffffffffffffffff16331480610c92575060065473ffffffffffffffffffffffffffffffffffffffff1633145b80610cb95750600554610100900473ffffffffffffffffffffffffffffffffffffffff1633145b1515610cc457600080fd5b6005547501000000000000000000000000000000000000000000900460ff1615610ced57600080fd5b600154610d00908363ffffffff61164416565b60015573ffffffffffffffffffffffffffffffffffffffff8316600090815260208190526040902054610d39908363ffffffff61164416565b73ffffffffffffffffffffffffffffffffffffffff841660008181526020818152604091829020939093558051858152905191927f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d412139688592918290030190a260408051838152905173ffffffffffffffffffffffffffffffffffffffff8516916000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a350600192915050565b600080fd5b33600090815260026020908152604080832073ffffffffffffffffffffffffffffffffffffffff8616845290915281205480831115610e615733600090815260026020908152604080832073ffffffffffffffffffffffffffffffffffffffff88168452909152812055610ea3565b610e71818463ffffffff61163216565b33600090815260026020908152604080832073ffffffffffffffffffffffffffffffffffffffff891684529091529020555b33600081815260026020908152604080832073ffffffffffffffffffffffffffffffffffffffff89168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b600554610100900473ffffffffffffffffffffffffffffffffffffffff163314610f6757600080fd5b60055460405161010090910473ffffffffffffffffffffffffffffffffffffffff16907ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482090600090a2600580547fffffffffffffffffffffff0000000000000000000000000000000000000000ff169055565b600554600090610100900473ffffffffffffffffffffffffffffffffffffffff16331461100657600080fd5b6005547501000000000000000000000000000000000000000000900460ff161561102f57600080fd5b600580547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff1675010000000000000000000000000000000000000000001790556040517fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0890600090a150600190565b600554610100900473ffffffffffffffffffffffffffffffffffffffff1633146110c757600080fd5b73ffffffffffffffffffffffffffffffffffffffff811615156110e957600080fd5b600680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600554610100900473ffffffffffffffffffffffffffffffffffffffff1681565b6004805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156108b85780601f1061088d576101008083540402835291602001916108b8565b60075473ffffffffffffffffffffffffffffffffffffffff16331480611207575060065473ffffffffffffffffffffffffffffffffffffffff1633145b8061122e5750600554610100900473ffffffffffffffffffffffffffffffffffffffff1633145b151561123957600080fd5b6112438282611657565b5050565b60075473ffffffffffffffffffffffffffffffffffffffff1681565b600073ffffffffffffffffffffffffffffffffffffffff8316151561128757600080fd5b336000908152602081905260409020548211156112a357600080fd5b336000908152602081905260409020546112c3908363ffffffff61163216565b336000908152602081905260408082209290925573ffffffffffffffffffffffffffffffffffffffff851681522054611302908363ffffffff61164416565b73ffffffffffffffffffffffffffffffffffffffff8416600081815260208181526040918290209390935580518581529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a350600192915050565b600554610100900473ffffffffffffffffffffffffffffffffffffffff16331461139457600080fd5b73ffffffffffffffffffffffffffffffffffffffff811615156113b657600080fd5b600780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60075460009073ffffffffffffffffffffffffffffffffffffffff1633148061143d575060065473ffffffffffffffffffffffffffffffffffffffff1633145b806114645750600554610100900473ffffffffffffffffffffffffffffffffffffffff1633145b151561146f57600080fd5b8173ffffffffffffffffffffffffffffffffffffffff1663095ea7b385856040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156107be57600080fd5b33600090815260026020908152604080832073ffffffffffffffffffffffffffffffffffffffff86168452909152812054611553908363ffffffff61164416565b33600081815260026020908152604080832073ffffffffffffffffffffffffffffffffffffffff89168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260026020908152604080832093909416825291909152205490565b600554610100900473ffffffffffffffffffffffffffffffffffffffff16331461162657600080fd5b61162f81611799565b50565b60008282111561163e57fe5b50900390565b8181018281101561165157fe5b92915050565b73ffffffffffffffffffffffffffffffffffffffff821660009081526020819052604090205481111561168957600080fd5b73ffffffffffffffffffffffffffffffffffffffff82166000908152602081905260409020546116bf908263ffffffff61163216565b73ffffffffffffffffffffffffffffffffffffffff83166000908152602081905260409020556001546116f8908263ffffffff61163216565b60015560408051828152905173ffffffffffffffffffffffffffffffffffffffff8416917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a260408051828152905160009173ffffffffffffffffffffffffffffffffffffffff8516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b73ffffffffffffffffffffffffffffffffffffffff811615156117bb57600080fd5b60055460405173ffffffffffffffffffffffffffffffffffffffff80841692610100900416907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36005805473ffffffffffffffffffffffffffffffffffffffff909216610100027fffffffffffffffffffffff0000000000000000000000000000000000000000ff9092169190911790555600a165627a7a72305820474295f438dd471eec4077eecb7209fe347ce63fb62df81d199df4962afbab240029

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000a436c6f766572436f696e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003434c430000000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : _name (string): CloverCoin
Arg [1] : _symbol (string): CLC
Arg [2] : _decimals (uint8): 18

-----Encoded View---------------
7 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000012
Arg [3] : 000000000000000000000000000000000000000000000000000000000000000a
Arg [4] : 436c6f766572436f696e00000000000000000000000000000000000000000000
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [6] : 434c430000000000000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

13174:4206:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16617:243;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;16617:243:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10984:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10984:35:0;;;;8493:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8493:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;8493:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5741:192;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5741:192:0;;;;;;;;;13264:32;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13264:32:0;;;;;;;;;;;;;;;;;;;;;;;2371:85;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2371:85:0;;;;;;;;;;;;;;;;;;;;16119:155;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;16119:155:0;;;;;;;;;14628:653;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;14628:653:0;;;;;;;;;;;;;;8541:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8541:21:0;;;;;;;;;;;;;;;;;;;;;;;11421:326;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;11421:326:0;;;;;;;;;15508:81;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;15508:81:0;;;;;7660:446;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;7660:446:0;;;;;;;;;3155:101;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3155:101:0;;;;;;;9821:114;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9821:114:0;;;;11867:144;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11867:144:0;;;;14130:185;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;14130:185:0;;;;;;;9026:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9026:20:0;;;;8516;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8516:20:0;;;;15796:111;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;15796:111:0;;;;;;;;;13303:34;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13303:34:0;;;;2617:329;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2617:329:0;;;;;;;;;13927:195;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;13927:195:0;;;;;;;17200:177;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;17200:177:0;;;;;;;;;;;;;;;6885:307;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;6885:307:0;;;;;;;;;6260:162;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;6260:162:0;;;;;;;;;;;;10103:105;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;10103:105:0;;;;;;;16617:243;13418:19;;16716:4;;13418:19;;13404:10;:33;;:79;;-1:-1:-1;13466:17:0;;;;13452:10;:31;13404:79;:113;;;-1:-1:-1;13512:5:0;;;;;;;13498:10;:19;13404:113;13384:142;;;;;;;;16752:37;;;;;;16784:4;16752:37;;;;;;:31;;;;;;:37;;;;;;;;;;;;;;-1:-1:-1;16752:31:0;:37;;;5:2:-1;;;;30:1;27;20:12;5:2;16752:37:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16752:37:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16752:37:0;16741:48;;;16733:57;;;;;;16822:6;16808:30;;;16839:3;16844:7;16808:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16808:44:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16808:44:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;16808:44:0;;16617:243;-1:-1:-1;;;;16617:243:0:o;10984:35::-;;;;;;;;;:::o;8493:18::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5741:192::-;5829:10;5808:4;5821:19;;;:7;:19;;;;;;;;;:29;;;;;;;;;;;:38;;;5871;;;;;;;5808:4;;5821:29;;5829:10;;5871:38;;;;;;;;-1:-1:-1;5923:4:0;5741:192;;;;:::o;13264:32::-;;;;;;:::o;2371:85::-;2438:12;;2371:85;:::o;16119:155::-;13418:19;;;;13404:10;:33;;:79;;-1:-1:-1;13466:17:0;;;;13452:10;:31;13404:79;:113;;;-1:-1:-1;13512:5:0;;;;;;;13498:10;:19;13404:113;13384:142;;;;;;;;16210:4;:12;:23;-1:-1:-1;16210:23:0;16202:32;;;;;;16245:21;;:12;;;;:21;;;;;16258:7;;16245:21;;;;16258:7;16245:12;:21;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16245:21:0;16119:155;;:::o;14628:653::-;14764:4;14796:17;;;;;14788:26;;;;;;14843:15;;;:8;:15;;;;;;;;;;;14833:25;;;14825:34;;;;;;14888:17;;;;14874:10;:31;;;;:68;;-1:-1:-1;14923:19:0;;;;14909:10;:33;;14874:68;14870:228;;;14977:14;;;;;;;:7;:14;;;;;;;;14992:10;14977:26;;;;;;;;14967:36;;;14959:45;;;;;;15048:14;;;;;;;:7;:14;;;;;;;;15063:10;15048:26;;;;;;;;:38;;15079:6;15048:38;:30;:38;:::i;:::-;15019:14;;;;;;;:7;:14;;;;;;;;15034:10;15019:26;;;;;;;:67;14870:228;15126:15;;;:8;:15;;;;;;;;;;;:27;;15146:6;15126:27;:19;:27;:::i;:::-;15108:15;;;;:8;:15;;;;;;;;;;;:45;;;;15180:13;;;;;;;:25;;15198:6;15180:25;:17;:25;:::i;:::-;15164:13;;;;:8;:13;;;;;;;;;;;;:41;;;;15221:28;;;;;;;15164:13;;15221:28;;;;;;;;;;;;;-1:-1:-1;15267:4:0;14628:653;;;;;:::o;8541:21::-;;;;;;:::o;11421:326::-;13418:19;;11542:4;;13418:19;;13404:10;:33;;:79;;-1:-1:-1;13466:17:0;;;;13452:10;:31;13404:79;:113;;;-1:-1:-1;13512:5:0;;;;;;;13498:10;:19;13404:113;13384:142;;;;;;;;11063:15;;;;;;;11062:16;11054:25;;;;;;11573:12;;:25;;11590:7;11573:25;:16;:25;:::i;:::-;11558:12;:40;11621:13;;;:8;:13;;;;;;;;;;;:26;;11639:7;11621:26;:17;:26;:::i;:::-;11605:13;;;:8;:13;;;;;;;;;;;;:42;;;;11659:18;;;;;;;11605:13;;11659:18;;;;;;;;;11689:34;;;;;;;;;;;;11706:1;;11689:34;;;;;;;;;-1:-1:-1;11737:4:0;11421:326;;;;:::o;15508:81::-;15573:8;;;7660:446;7814:10;7771:4;7806:19;;;:7;:19;;;;;;;;;:29;;;;;;;;;;7846:27;;;7842:168;;;7892:10;7916:1;7884:19;;;:7;:19;;;;;;;;;:29;;;;;;;;;:33;7842:168;;;7972:30;:8;7985:16;7972:30;:12;:30;:::i;:::-;7948:10;7940:19;;;;:7;:19;;;;;;;;;:29;;;;;;;;;:62;7842:168;8030:10;8052:19;;;;:7;:19;;;;;;;;8021:61;;;8052:29;;;;;;;;;;;8021:61;;;;;;;;;8030:10;8021:61;;;;;;;;;;;-1:-1:-1;8096:4:0;;7660:446;-1:-1:-1;;;7660:446:0:o;3155:101::-;3234:16;;3211:7;3234:16;;;;;;;;;;;;3155:101::o;9821:114::-;9529:5;;;;;;;9515:10;:19;9507:28;;;;;;9898:5;;9879:25;;9898:5;;;;;;;9879:25;;;;;9911:5;:18;;;;;;9821:114::o;11867:144::-;9529:5;;11926:4;;9529:5;;;;;9515:10;:19;9507:28;;;;;;11063:15;;;;;;;11062:16;11054:25;;;;;;11939:15;:22;;;;;;;;11973:14;;;;11939:22;;11973:14;-1:-1:-1;12001:4:0;11867:144;:::o;14130:185::-;9529:5;;;;;;;9515:10;:19;9507:28;;;;;;14234:23;;;;;14226:32;;;;;;14269:17;:38;;;;;;;;;;;;;;;14130:185::o;9026:20::-;;;;;;;;;:::o;8516:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15796:111;13418:19;;;;13404:10;:33;;:79;;-1:-1:-1;13466:17:0;;;;13452:10;:31;13404:79;:113;;;-1:-1:-1;13512:5:0;;;;;;;13498:10;:19;13404:113;13384:142;;;;;;;;15877:22;15883:7;15892:6;15877:5;:22::i;:::-;15796:111;;:::o;13303:34::-;;;;;;:::o;2617:329::-;2680:4;2701:17;;;;;2693:26;;;;;;2753:10;2744:8;:20;;;;;;;;;;;2734:30;;;2726:39;;;;;;2806:10;2797:8;:20;;;;;;;;;;;:32;;2822:6;2797:32;:24;:32;:::i;:::-;2783:10;2774:8;:20;;;;;;;;;;;:55;;;;:20;2852:13;;;;;;:25;;2870:6;2852:25;:17;:25;:::i;:::-;2836:13;;;:8;:13;;;;;;;;;;;;:41;;;;2889:33;;;;;;;2836:13;;2898:10;;2889:33;;;;;;;;;;-1:-1:-1;2936:4:0;2617:329;;;;:::o;13927:195::-;9529:5;;;;;;;9515:10;:19;9507:28;;;;;;14035:25;;;;;14027:34;;;;;;14072:19;:42;;;;;;;;;;;;;;;13927:195::o;17200:177::-;13418:19;;17302:4;;13418:19;;13404:10;:33;;:79;;-1:-1:-1;13466:17:0;;;;13452:10;:31;13404:79;:113;;;-1:-1:-1;13512:5:0;;;;;;;13498:10;:19;13404:113;13384:142;;;;;;;;17340:6;17326:29;;;17356:3;17361:7;17326:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;6885:307:0;7056:10;6991:4;7048:19;;;:7;:19;;;;;;;;;:29;;;;;;;;;;:46;;7082:11;7048:46;:33;:46;:::i;:::-;7015:10;7007:19;;;;:7;:19;;;;;;;;;:29;;;;;;;;;;;;:88;;;7107:61;;;;;;7007:29;;7107:61;;;;;;;;;;;-1:-1:-1;7182:4:0;6885:307;;;;:::o;6260:162::-;6391:15;;;;6365:7;6391:15;;;:7;:15;;;;;;;;:25;;;;;;;;;;;;;6260:162::o;10103:105::-;9529:5;;;;;;;9515:10;:19;9507:28;;;;;;10173:29;10192:9;10173:18;:29::i;:::-;10103:105;:::o;1661:113::-;1719:7;1742:6;;;;1735:14;;;;-1:-1:-1;1763:5:0;;;1661:113::o;1841:127::-;1921:5;;;1940:6;;;;1933:14;;;;1841:127;;;;:::o;12511:447::-;12590:14;;;:8;:14;;;;;;;;;;;12580:24;;;12572:33;;;;;;12804:14;;;:8;:14;;;;;;;;;;;:26;;12823:6;12804:26;:18;:26;:::i;:::-;12787:14;;;:8;:14;;;;;;;;;;:43;12852:12;;:24;;12869:6;12852:24;:16;:24;:::i;:::-;12837:12;:39;12888:18;;;;;;;;;;;;;;;;;;;;;;12918:34;;;;;;;;12941:1;;12918:34;;;;;;;;;;;;;12511:447;;:::o;10349:175::-;10420:23;;;;;10412:32;;;;;;10477:5;;10456:38;;;;;;;10477:5;;;;;10456:38;;;;;10501:5;:17;;;;;;;;;;;;;;;;;;10349:175::o

Swarm Source

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