Token KEES

 

Overview [ERC-20]

Max Total Supply:
10,000,000,000 KEES

Holders:
1,061

Transfers:
-

 
Loading
[ Download CSV Export  ] 
Loading
[ Download CSV Export  ] 
Loading

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

Contract Source Code Verified (Exact Match)

Contract Name:
KEESToken

Compiler Version
v0.5.17+commit.d19bba13

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity Multiple files format)

File 5 of 8: KeesToken.sol
pragma solidity >=0.4.24 <0.6.0;

import "./ERC20Detailed.sol";
//import "./ERC20.sol";
import "./ERC20Burnable.sol";
import "./Stoppable.sol";

contract KEESToken is ERC20Detailed, /*ERC20,*/ ERC20Burnable, Stoppable {

    constructor (
            string memory name,
            string memory symbol,
            uint256 totalSupply,
            uint8 decimals
    ) ERC20Detailed(name, symbol, decimals)
    public {
        _mint(owner(), totalSupply * 10**uint(decimals));
    }

    // Don't accept ETH
    function () payable external {
        revert();
    }

    /* function mint(address account, uint256 amount) public onlyOwner returns (bool) {
        _mint(account, amount);
        return true;
    } */

    //------------------------
    // Lock account transfer 

    mapping (address => uint256) private _lockTimes;
    mapping (address => uint256) private _lockAmounts;

    event LockChanged(address indexed account, uint256 releaseTime, uint256 amount);

    function setLock(address account, uint256 releaseTime, uint256 amount) onlyOwner public {
        _lockTimes[account] = releaseTime; 
        _lockAmounts[account] = amount;
        emit LockChanged( account, releaseTime, amount ); 
    }

    function getLock(address account) public view returns (uint256 lockTime, uint256 lockAmount) {
        return (_lockTimes[account], _lockAmounts[account]);
    }

    function _isLocked(address account, uint256 amount) internal view returns (bool) {
        return _lockTimes[account] != 0 && 
            _lockAmounts[account] != 0 && 
            _lockTimes[account] > block.timestamp &&
            (
                balanceOf(account) <= _lockAmounts[account] ||
                balanceOf(account).sub(_lockAmounts[account]) < amount
            );
    }

    function transfer(address recipient, uint256 amount) enabled public returns (bool) {
        require( !_isLocked( msg.sender, amount ) , "ERC20: Locked balance");
        return super.transfer(recipient, amount);
    }

    function transferFrom(address sender, address recipient, uint256 amount) enabled public returns (bool) {
        require( !_isLocked( sender, amount ) , "ERC20: Locked balance");
        return super.transferFrom(sender, recipient, amount);
    }

}

File 1 of 8: ERC20.sol
pragma solidity >=0.4.24 <0.6.0;

import "./IERC20.sol";
import "./SafeMath.sol";

/**
 * @title Standard ERC20 token
 *
 * @dev Implementation of the basic standard token.
 * https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20.md
 * Originally based on code by FirstBlood: https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol
 */
contract ERC20 is IERC20 {
    using SafeMath for uint256;

    mapping (address => uint256) public _balances;

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

    uint256 private _totalSupply;

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

    /**
    * @dev Gets the balance of the specified address.
    * @param owner The address to query 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];
    }

    /**
    * @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 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(value <= _balances[msg.sender], "ERC20: Overdrawn balance");
        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;
    }

    /**
    * @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) {
        require(spender != address(0));

        _allowed[msg.sender][spender] = value;
        emit Approval(msg.sender, spender, value);
        return true;
    }

    /**
    * @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(value <= _balances[from], "ERC20: Overdrawn balance");
        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;
    }

    /**
    * @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 increaseAllowance(address spender, uint256 addedValue) public returns (bool) {
        require(spender != address(0));

        _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 decreaseAllowance(address spender, uint256 subtractedValue) public returns (bool) {
        require(spender != address(0));

        _allowed[msg.sender][spender] = (_allowed[msg.sender][spender].sub(subtractedValue));
        emit Approval(msg.sender, spender, _allowed[msg.sender][spender]);
        return true;
    }

    /**
    * @dev Internal function that mints an amount of the token and assigns it to
    * an account. This encapsulates the modification of balances such that the
    * proper events are emitted.
    * @param account The account that will receive the created tokens.
    * @param amount The amount that will be created.
    */
    function _mint(address account, uint256 amount) internal {
        require(account != address(0));
        _totalSupply = _totalSupply.add(amount);
        _balances[account] = _balances[account].add(amount);
        emit Transfer(address(0), account, amount);
    }

    /**
    * @dev Internal function that burns an amount of the token of a given
    * account.
    * @param account The account whose tokens will be burnt.
    * @param amount The amount that will be burnt.
    */
    function _burn(address account, uint256 amount) internal {
        require(account != address(0));
        require(amount <= _balances[account], "ERC20: Overdrawn balance");

        _totalSupply = _totalSupply.sub(amount);
        _balances[account] = _balances[account].sub(amount);
        emit Transfer(account, address(0), amount);
    }

    /**
    * @dev Internal function that burns an amount of the token of a given
    * account, deducting from the sender's allowance for said account. Uses the
    * internal burn function.
    * @param account The account whose tokens will be burnt.
    * @param amount The amount that will be burnt.
    */
    function _burnFrom(address account, uint256 amount) internal {
        require(amount <= _allowed[account][msg.sender], "ERC20: Overdrawn balance");

        // Should https://github.com/OpenZeppelin/zeppelin-solidity/issues/707 be accepted,
        // this function needs to emit an event with the updated approval.
        _allowed[account][msg.sender] = _allowed[account][msg.sender].sub(amount);
        _burn(account, amount);
    }
}

File 2 of 8: ERC20Burnable.sol
pragma solidity >=0.4.24 <0.6.0;

import "./ERC20.sol";

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

    /**
    * @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);
    }

    /**
    * @dev Burns a specific amount of tokens from the target address and decrements allowance
    * @param from address The address which you want to send tokens from
    * @param value uint256 The amount of token to be burned
    */
    function burnFrom(address from, uint256 value) public {
        _burnFrom(from, value);
    }

    /**
    * @dev Overrides ERC20._burn in order for burn and burnFrom to emit
    * an additional Burn event.
    */
    function _burn(address who, uint256 value) internal {
        super._burn(who, value);
    }
}

File 3 of 8: ERC20Detailed.sol
pragma solidity >=0.4.24 <0.6.0;

import "./IERC20.sol";

/**
 * @title ERC20Detailed 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 ERC20Detailed is IERC20 {
    string private _name;
    string private _symbol;
    uint8 private _decimals;

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

    /**
    * @return the name of the token.
    */
    function name() public view returns(string memory) {
        return _name;
    }

    /**
    * @return the symbol of the token.
    */
    function symbol() public view returns(string memory) {
        return _symbol;
    }

    /**
    * @return the number of decimals of the token.
    */
    function decimals() public view returns(uint8) {
        return _decimals;
    }
}

File 4 of 8: IERC20.sol
pragma solidity >=0.4.24 <0.6.0;

/**
 * @title ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/20
 */
interface IERC20 {
    /**
     * @dev Returns the amount of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

    /**
     * @dev Returns the amount of tokens owned by `account`.
     */
    function balanceOf(address who) external view returns (uint256);

    /**
     * @dev Returns the remaining number of tokens that `spender` will be
     * allowed to spend on behalf of `owner` through `transferFrom`. This is
     * zero by default.
     *
     * This value changes when `approve` or `transferFrom` are called.
     */
    function allowance(address owner, address spender) external view returns (uint256);

    /**
     * @dev Moves `amount` tokens from the caller's account to `recipient`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a `Transfer` event.
     */
    function transfer(address to, uint256 value) external returns (bool);

    /**
     * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * > 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
     *
     * Emits an `Approval` event.
     */
    function approve(address spender, uint256 value) external returns (bool);

    /**
     * @dev Moves `amount` tokens from `sender` to `recipient` using the
     * allowance mechanism. `amount` is then deducted from the caller's
     * allowance.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a `Transfer` event.
     */
    function transferFrom(address from, address to, uint256 value) external returns (bool);

    /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    event Transfer(address indexed from, address indexed to, uint256 value);

    /**
     * @dev Emitted when the allowance of a `spender` for an `owner` is set by
     * a call to `approve`. `value` is the new allowance.
     */
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

File 6 of 8: Ownable.sol
pragma solidity >=0.4.24 <0.6.0;

/**
 * @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 private _owner;

    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;
    }

    /**
    * @return the address of the owner.
    */
    function owner() public view returns(address) {
        return _owner;
    }

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

    /**
    * @return true if `msg.sender` is the owner of the contract.
    */
    function _isOwner() internal view returns(bool) {
        return msg.sender == _owner;
    }

    /**
    * @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 7 of 8: SafeMath.sol
pragma solidity >=0.4.24 <0.6.0;

/**
 * @title SafeMath
 * @dev Math operations with safety checks that revert on error
 */
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 8: Stoppable.sol
pragma solidity >=0.4.24 <0.6.0;

import "./Ownable.sol";

contract Stoppable is Ownable{
    bool public stopped = false;
    
    modifier enabled {
        require (!stopped);
        _;
    }
    
    function stop() external onlyOwner { 
        stopped = true; 
    }
    
    function start() external onlyOwner {
        stopped = false;
    }    
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"uint256","name":"totalSupply","type":"uint256"},{"internalType":"uint8","name":"decimals","type":"uint8"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"releaseTime","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"LockChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_balances","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"burnFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getLock","outputs":[{"internalType":"uint256","name":"lockTime","type":"uint256"},{"internalType":"uint256","name":"lockAmount","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"releaseTime","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setLock","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"start","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"stop","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"stopped","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]

60806040526000600660146101000a81548160ff0219169083151502179055503480156200002c57600080fd5b506040516200279c3803806200279c833981810160405260808110156200005257600080fd5b81019080805160405193929190846401000000008211156200007357600080fd5b838201915060208201858111156200008a57600080fd5b8251866001820283011164010000000082111715620000a857600080fd5b8083526020830192505050908051906020019080838360005b83811015620000de578082015181840152602081019050620000c1565b50505050905090810190601f1680156200010c5780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200013057600080fd5b838201915060208201858111156200014757600080fd5b82518660018202830111640100000000821117156200016557600080fd5b8083526020830192505050908051906020019080838360005b838110156200019b5780820151818401526020810190506200017e565b50505050905090810190601f168015620001c95780820380516001836020036101000a031916815260200191505b5060405260200180519060200190929190805190602001909291905050508383828260009080519060200190620002029291906200045b565b5081600190805190602001906200021b9291906200045b565b5080600260006101000a81548160ff021916908360ff16021790555050505033600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620002a46200028f620002ae60201b60201c565b8260ff16600a0a8402620002d860201b60201c565b505050506200050a565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156200031357600080fd5b6200032f816005546200043b60201b62001a641790919060201c565b6005819055506200038e81600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546200043b60201b62001a641790919060201c565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b6000808284019050838110156200045157600080fd5b8091505092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200049e57805160ff1916838001178555620004cf565b82800160010185558215620004cf579182015b82811115620004ce578251825591602001919060010190620004b1565b5b509050620004de9190620004e2565b5090565b6200050791905b8082111562000503576000816000905550600101620004e9565b5090565b90565b612282806200051a6000396000f3fe60806040526004361061012a5760003560e01c80636ebcf607116100ab57806395d89b411161006f57806395d89b4114610662578063a457c2d7146106f2578063a9059cbb14610765578063be9a6555146107d8578063dd62ed3e146107ef578063f2fde38b146108745761012a565b80636ebcf607146104b757806370a082311461051c57806375f12b211461058157806379cc6790146105b05780638da5cb5b1461060b5761012a565b8063313ce567116100f2578063313ce5671461030757806339509351146103385780633e05c943146103ab57806342966c68146104105780636b9db4e61461044b5761012a565b806306fdde031461012f57806307da68f5146101bf578063095ea7b3146101d657806318160ddd1461024957806323b872dd14610274575b600080fd5b34801561013b57600080fd5b506101446108c5565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610184578082015181840152602081019050610169565b50505050905090810190601f1680156101b15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101cb57600080fd5b506101d4610967565b005b3480156101e257600080fd5b5061022f600480360360408110156101f957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610995565b604051808215151515815260200191505060405180910390f35b34801561025557600080fd5b5061025e610ac0565b6040518082815260200191505060405180910390f35b34801561028057600080fd5b506102ed6004803603606081101561029757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610aca565b604051808215151515815260200191505060405180910390f35b34801561031357600080fd5b5061031c610b77565b604051808260ff1660ff16815260200191505060405180910390f35b34801561034457600080fd5b506103916004803603604081101561035b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b8e565b604051808215151515815260200191505060405180910390f35b3480156103b757600080fd5b5061040e600480360360608110156103ce57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919080359060200190929190505050610dc3565b005b34801561041c57600080fd5b506104496004803603602081101561043357600080fd5b8101908080359060200190929190505050610eb7565b005b34801561045757600080fd5b5061049a6004803603602081101561046e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610ec4565b604051808381526020018281526020019250505060405180910390f35b3480156104c357600080fd5b50610506600480360360208110156104da57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f50565b6040518082815260200191505060405180910390f35b34801561052857600080fd5b5061056b6004803603602081101561053f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f68565b6040518082815260200191505060405180910390f35b34801561058d57600080fd5b50610596610fb1565b604051808215151515815260200191505060405180910390f35b3480156105bc57600080fd5b50610609600480360360408110156105d357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610fc4565b005b34801561061757600080fd5b50610620610fd2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561066e57600080fd5b50610677610ffc565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156106b757808201518184015260208101905061069c565b50505050905090810190601f1680156106e45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156106fe57600080fd5b5061074b6004803603604081101561071557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061109e565b604051808215151515815260200191505060405180910390f35b34801561077157600080fd5b506107be6004803603604081101561078857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506112d3565b604051808215151515815260200191505060405180910390f35b3480156107e457600080fd5b506107ed61137e565b005b3480156107fb57600080fd5b5061085e6004803603604081101561081257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506113ac565b6040518082815260200191505060405180910390f35b34801561088057600080fd5b506108c36004803603602081101561089757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611433565b005b606060008054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561095d5780601f106109325761010080835404028352916020019161095d565b820191906000526020600020905b81548152906001019060200180831161094057829003601f168201915b5050505050905090565b61096f611450565b61097857600080fd5b6001600660146101000a81548160ff021916908315150217905550565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156109d057600080fd5b81600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600554905090565b6000600660149054906101000a900460ff1615610ae657600080fd5b610af084836114a8565b15610b63576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f45524332303a204c6f636b65642062616c616e6365000000000000000000000081525060200191505060405180910390fd5b610b6e848484611641565b90509392505050565b6000600260009054906101000a900460ff16905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610bc957600080fd5b610c5882600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a6490919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b610dcb611450565b610dd457600080fd5b81600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff167fac9f677e99a4df77ed2008bfe08de2e751aab75dce03486489e20585d79e91ce8383604051808381526020018281526020019250505060405180910390a2505050565b610ec13382611a83565b50565b600080600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205491509150915091565b60036020528060005260406000206000915090505481565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600660149054906101000a900460ff1681565b610fce8282611a91565b5050565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156110945780601f1061106957610100808354040283529160200191611094565b820191906000526020600020905b81548152906001019060200180831161107757829003601f168201915b5050505050905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156110d957600080fd5b61116882600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ca090919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600660149054906101000a900460ff16156112ef57600080fd5b6112f933836114a8565b1561136c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f45524332303a204c6f636b65642062616c616e6365000000000000000000000081525060200191505060405180910390fd5b6113768383611cc0565b905092915050565b611386611450565b61138f57600080fd5b6000600660146101000a81548160ff021916908315150217905550565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61143b611450565b61144457600080fd5b61144d81611f4a565b50565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b600080600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415801561153957506000600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414155b8015611583575042600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b80156116395750600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115d384610f68565b111580611638575081611636600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461162886610f68565b611ca090919063ffffffff16565b105b5b905092915050565b6000600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211156116f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f45524332303a204f766572647261776e2062616c616e6365000000000000000081525060200191505060405180910390fd5b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111561178157600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156117bb57600080fd5b61180d82600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ca090919063ffffffff16565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506118a282600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a6490919063ffffffff16565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061197482600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ca090919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600080828401905083811015611a7957600080fd5b8091505092915050565b611a8d8282612044565b5050565b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054811115611b83576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f45524332303a204f766572647261776e2062616c616e6365000000000000000081525060200191505060405180910390fd5b611c1281600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ca090919063ffffffff16565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611c9c8282611a83565b5050565b600082821115611caf57600080fd5b600082840390508091505092915050565b6000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115611d77576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f45524332303a204f766572647261776e2062616c616e6365000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611db157600080fd5b611e0382600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ca090919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e9882600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611a6490919063ffffffff16565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611f8457600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561207e57600080fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054811115612133576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f45524332303a204f766572647261776e2062616c616e6365000000000000000081525060200191505060405180910390fd5b61214881600554611ca090919063ffffffff16565b6005819055506121a081600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ca090919063ffffffff16565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505056fea265627a7a72315820567074da3a4157cd53a7e593cb32afc4632ab7af22c65c75ff53c9c165c3e60464736f6c63430005110032000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000002540be400000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000044b4545530000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044b45455300000000000000000000000000000000000000000000000000000000

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

000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000002540be400000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000000000000000000000000044b4545530000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044b45455300000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : name (string): KEES
Arg [1] : symbol (string): KEES
Arg [2] : totalSupply (uint256): 10000000000
Arg [3] : decimals (uint8): 18

-----Encoded View---------------
8 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000c0
Arg [2] : 00000000000000000000000000000000000000000000000000000002540be400
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000012
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [5] : 4b45455300000000000000000000000000000000000000000000000000000000
Arg [6] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [7] : 4b45455300000000000000000000000000000000000000000000000000000000


Deployed ByteCode Sourcemap

152:2179:4:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;575:8;;;658:82:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;658:82:2;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;658:82:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;217:70:7;;8:9:-1;5:2;;;30:1;27;20:12;5:2;217:70:7;;;:::i;:::-;;2744:244:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2744:244:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2744:244:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;678:91;;8:9:-1;5:2;;;30:1;27;20:12;5:2;678:91:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2077:249:4;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2077:249:4;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2077:249:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;968:82:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;968:82:2;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4255:325:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4255:325:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4255:325:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1020:242:4;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1020:242:4;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1020:242:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;316:79:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;316:79:1;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;316:79:1;;;;;;;;;;;;;;;;;:::i;:::-;;1270:163:4;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1270:163:4;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1270:163:4;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;447:45:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;447:45:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;447:45:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;985:106;;8:9:-1;5:2;;;30:1;27;20:12;5:2;985:106:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;985:106:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;99:27:7;;8:9:-1;5:2;;;30:1;27;20:12;5:2;99:27:7;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;650:95:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;650:95:1;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;650:95:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;628:78:5;;8:9:-1;5:2;;;30:1;27;20:12;5:2;628:78:5;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;805:86:2;;8:9:-1;5:2;;;30:1;27;20:12;5:2;805:86:2;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;805:86:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5059:335:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5059:335:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5059:335:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1848:221:4;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1848:221:4;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1848:221:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;299:70:7;;8:9:-1;5:2;;;30:1;27;20:12;5:2;299:70:7;;;:::i;:::-;;1425:131:0;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1425:131:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1425:131:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1227:109:5;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1227:109:5;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1227:109:5;;;;;;;;;;;;;;;;;;;:::i;:::-;;658:82:2;694:13;727:5;720:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;658:82;:::o;217:70:7:-;837:10:5;:8;:10::i;:::-;829:19;;;;;;274:4:7;264:7;;:14;;;;;;;;;;;;;;;;;;217:70::o;2744:244:0:-;2809:4;2853:1;2834:21;;:7;:21;;;;2826:30;;;;;;2901:5;2869:8;:20;2878:10;2869:20;;;;;;;;;;;;;;;:29;2890:7;2869:29;;;;;;;;;;;;;;;:37;;;;2943:7;2922:36;;2931:10;2922:36;;;2952:5;2922:36;;;;;;;;;;;;;;;;;;2976:4;2969:11;;2744:244;;;;:::o;678:91::-;722:7;749:12;;742:19;;678:91;:::o;2077:249:4:-;2174:4;177:7:7;;;;;;;;;;;176:8;167:18;;;;;;2201:27:4;2212:6;2220;2201:9;:27::i;:::-;2200:28;2191:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2273:45;2292:6;2300:9;2311:6;2273:18;:45::i;:::-;2266:52;;2077:249;;;;;:::o;968:82:2:-;1008:5;1033:9;;;;;;;;;;;1026:16;;968:82;:::o;4255:325:0:-;4335:4;4379:1;4360:21;;:7;:21;;;;4352:30;;;;;;4428:45;4462:10;4428:8;:20;4437:10;4428:20;;;;;;;;;;;;;;;:29;4449:7;4428:29;;;;;;;;;;;;;;;;:33;;:45;;;;:::i;:::-;4395:8;:20;4404:10;4395:20;;;;;;;;;;;;;;;:29;4416:7;4395:29;;;;;;;;;;;;;;;:79;;;;4511:7;4490:60;;4499:10;4490:60;;;4520:8;:20;4529:10;4520:20;;;;;;;;;;;;;;;:29;4541:7;4520:29;;;;;;;;;;;;;;;;4490:60;;;;;;;;;;;;;;;;;;4568:4;4561:11;;4255:325;;;;:::o;1020:242:4:-;837:10:5;:8;:10::i;:::-;829:19;;;;;;1141:11:4;1119:10;:19;1130:7;1119:19;;;;;;;;;;;;;;;:33;;;;1188:6;1164:12;:21;1177:7;1164:21;;;;;;;;;;;;;;;:30;;;;1223:7;1210:43;;;1232:11;1245:6;1210:43;;;;;;;;;;;;;;;;;;;;;;;;1020:242;;;:::o;316:79:1:-;363:24;369:10;381:5;363;:24::i;:::-;316:79;:::o;1270:163:4:-;1325:16;1343:18;1382:10;:19;1393:7;1382:19;;;;;;;;;;;;;;;;1403:12;:21;1416:7;1403:21;;;;;;;;;;;;;;;;1374:51;;;;1270:163;;;:::o;447:45:0:-;;;;;;;;;;;;;;;;;:::o;985:106::-;1040:7;1067:9;:16;1077:5;1067:16;;;;;;;;;;;;;;;;1060:23;;985:106;;;:::o;99:27:7:-;;;;;;;;;;;;;:::o;650:95:1:-;715:22;725:4;731:5;715:9;:22::i;:::-;650:95;;:::o;628:78:5:-;665:7;692:6;;;;;;;;;;;685:13;;628:78;:::o;805:86:2:-;843:13;876:7;869:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;805:86;:::o;5059:335:0:-;5144:4;5188:1;5169:21;;:7;:21;;;;5161:30;;;;;;5237:50;5271:15;5237:8;:20;5246:10;5237:20;;;;;;;;;;;;;;;:29;5258:7;5237:29;;;;;;;;;;;;;;;;:33;;:50;;;;:::i;:::-;5204:8;:20;5213:10;5204:20;;;;;;;;;;;;;;;:29;5225:7;5204:29;;;;;;;;;;;;;;;:84;;;;5325:7;5304:60;;5313:10;5304:60;;;5334:8;:20;5343:10;5334:20;;;;;;;;;;;;;;;:29;5355:7;5334:29;;;;;;;;;;;;;;;;5304:60;;;;;;;;;;;;;;;;;;5382:4;5375:11;;5059:335;;;;:::o;1848:221:4:-;1925:4;177:7:7;;;;;;;;;;;176:8;167:18;;;;;;1952:31:4;1963:10;1975:6;1952:9;:31::i;:::-;1951:32;1942:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2028:33;2043:9;2054:6;2028:14;:33::i;:::-;2021:40;;1848:221;;;;:::o;299:70:7:-;837:10:5;:8;:10::i;:::-;829:19;;;;;;356:5:7;346:7;;:15;;;;;;;;;;;;;;;;;;299:70::o;1425:131:0:-;1497:7;1524:8;:15;1533:5;1524:15;;;;;;;;;;;;;;;:24;1540:7;1524:24;;;;;;;;;;;;;;;;1517:31;;1425:131;;;;:::o;1227:109:5:-;837:10;:8;:10::i;:::-;829:19;;;;;;1300:28;1319:8;1300:18;:28::i;:::-;1227:109;:::o;959:94::-;1001:4;1039:6;;;;;;;;;;;1025:20;;:10;:20;;;1018:27;;959:94;:::o;1441:399:4:-;1516:4;1563:1;1540:10;:19;1551:7;1540:19;;;;;;;;;;;;;;;;:24;;:68;;;;;1607:1;1582:12;:21;1595:7;1582:21;;;;;;;;;;;;;;;;:26;;1540:68;:123;;;;;1648:15;1626:10;:19;1637:7;1626:19;;;;;;;;;;;;;;;;:37;1540:123;:292;;;;;1721:12;:21;1734:7;1721:21;;;;;;;;;;;;;;;;1699:18;1709:7;1699:9;:18::i;:::-;:43;;:118;;;;1811:6;1763:45;1786:12;:21;1799:7;1786:21;;;;;;;;;;;;;;;;1763:18;1773:7;1763:9;:18::i;:::-;:22;;:45;;;;:::i;:::-;:54;1699:118;1540:292;1533:299;;1441:399;;;;:::o;3277:504:0:-;3356:4;3390:9;:15;3400:4;3390:15;;;;;;;;;;;;;;;;3381:5;:24;;3373:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3462:8;:14;3471:4;3462:14;;;;;;;;;;;;;;;:26;3477:10;3462:26;;;;;;;;;;;;;;;;3453:5;:35;;3445:44;;;;;;3522:1;3508:16;;:2;:16;;;;3500:25;;;;;;3556:26;3576:5;3556:9;:15;3566:4;3556:15;;;;;;;;;;;;;;;;:19;;:26;;;;:::i;:::-;3538:9;:15;3548:4;3538:15;;;;;;;;;;;;;;;:44;;;;3609:24;3627:5;3609:9;:13;3619:2;3609:13;;;;;;;;;;;;;;;;:17;;:24;;;;:::i;:::-;3593:9;:13;3603:2;3593:13;;;;;;;;;;;;;;;:40;;;;3673:37;3704:5;3673:8;:14;3682:4;3673:14;;;;;;;;;;;;;;;:26;3688:10;3673:26;;;;;;;;;;;;;;;;:30;;:37;;;;:::i;:::-;3644:8;:14;3653:4;3644:14;;;;;;;;;;;;;;;:26;3659:10;3644:26;;;;;;;;;;;;;;;:66;;;;3741:2;3726:25;;3735:4;3726:25;;;3745:5;3726:25;;;;;;;;;;;;;;;;;;3769:4;3762:11;;3277:504;;;;;:::o;1433:150:6:-;1491:7;1511:9;1527:1;1523;:5;1511:17;;1552:1;1547;:6;;1539:15;;;;;;1574:1;1567:8;;;1433:150;;;;:::o;876:94:1:-;939:23;951:3;956:5;939:11;:23::i;:::-;876:94;;:::o;6917:444:0:-;7007:8;:17;7016:7;7007:17;;;;;;;;;;;;;;;:29;7025:10;7007:29;;;;;;;;;;;;;;;;6997:6;:39;;6989:76;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7279:41;7313:6;7279:8;:17;7288:7;7279:17;;;;;;;;;;;;;;;:29;7297:10;7279:29;;;;;;;;;;;;;;;;:33;;:41;;;;:::i;:::-;7247:8;:17;7256:7;7247:17;;;;;;;;;;;;;;;:29;7265:10;7247:29;;;;;;;;;;;;;;;:73;;;;7331:22;7337:7;7346:6;7331:5;:22::i;:::-;6917:444;;:::o;1207:150:6:-;1265:7;1298:1;1293;:6;;1285:15;;;;;;1311:9;1327:1;1323;:5;1311:17;;1348:1;1341:8;;;1207:150;;;;:::o;1727:378:0:-;1788:4;1822:9;:21;1832:10;1822:21;;;;;;;;;;;;;;;;1813:5;:30;;1805:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1905:1;1891:16;;:2;:16;;;;1883:25;;;;;;1945:32;1971:5;1945:9;:21;1955:10;1945:21;;;;;;;;;;;;;;;;:25;;:32;;;;:::i;:::-;1921:9;:21;1931:10;1921:21;;;;;;;;;;;;;;;:56;;;;2004:24;2022:5;2004:9;:13;2014:2;2004:13;;;;;;;;;;;;;;;;:17;;:24;;;;:::i;:::-;1988:9;:13;1998:2;1988:13;;;;;;;;;;;;;;;:40;;;;2065:2;2044:31;;2053:10;2044:31;;;2069:5;2044:31;;;;;;;;;;;;;;;;;;2093:4;2086:11;;1727:378;;;;:::o;1483:187:5:-;1577:1;1557:22;;:8;:22;;;;1549:31;;;;;;1625:8;1596:38;;1617:6;;;;;;;;;;;1596:38;;;;;;;;;;;;1654:8;1645:6;;:17;;;;;;;;;;;;;;;;;;1483:187;:::o;6242:349:0:-;6337:1;6318:21;;:7;:21;;;;6310:30;;;;;;6369:9;:18;6379:7;6369:18;;;;;;;;;;;;;;;;6359:6;:28;;6351:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6444:24;6461:6;6444:12;;:16;;:24;;;;:::i;:::-;6429:12;:39;;;;6500:30;6523:6;6500:9;:18;6510:7;6500:18;;;;;;;;;;;;;;;;:22;;:30;;;;:::i;:::-;6479:9;:18;6489:7;6479:18;;;;;;;;;;;;;;;:51;;;;6572:1;6546:37;;6555:7;6546:37;;;6576:6;6546:37;;;;;;;;;;;;;;;;;;6242:349;;:::o

Swarm Source

bzzr://567074da3a4157cd53a7e593cb32afc4632ab7af22c65c75ff53c9c165c3e604

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.