ETH Price: $2,364.29 (+1.02%)

Token

EmcoToken (EMCO)
 

Overview

Max Total Supply

9,503,150.684375713027616227 EMCO

Holders

3,203

Total Transfers

-

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

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:
EmcoToken

Compiler Version
v0.4.25+commit.59dbf8f1

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2019-02-27
*/

pragma solidity 0.4.25;
/**
 * @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;
  }
}


/**
 * @title ERC20Basic
 * @dev Simpler version of ERC20 interface
 * @dev 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);
}

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

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

}

/**
 * @title Standard ERC20 token
 *
 * @dev Implementation of the basic standard token.
 * @dev https://github.com/ethereum/EIPs/issues/20
 * @dev Based on code by FirstBlood: https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol
 */
contract StandardToken is 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,
    uint _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,
    uint _subtractedValue
  )
    public
    returns (bool)
  {
    uint 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;
  }

}


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

contract EmcoTokenInterface is ERC20 {

    function setReferral(bytes32 _code) public;
    function setReferralCode(bytes32 _code) public view returns (bytes32);

    function referralCodeOwners(bytes32 _code) public view returns (address);
    function referrals(address _address) public view returns (address);
    function userReferralCodes(address _address) public view returns (bytes32);

}

/**
* @title Emco token 2nd version
* @dev Emco token implementation
*/
contract EmcoToken is StandardToken, Ownable {

    string public constant name = "EmcoToken";
    string public constant symbol = "EMCO";
    uint8 public constant decimals = 18;

    uint public constant MAX_SUPPLY = 36000000 * (10 ** uint(decimals));

    mapping (address => uint) public miningBalances;
    mapping (address => uint) public lastMiningBalanceUpdateTime;

    address systemAddress;

    EmcoTokenInterface private oldContract;

    uint public constant DAY_MINING_DEPOSIT_LIMIT = 360000 * (10 ** uint(decimals));
    uint public constant TOTAL_MINING_DEPOSIT_LIMIT = 3600000 * (10 ** uint(decimals));
    uint private currentDay;
    uint private currentDayDeposited;
    uint public miningTotalDeposited;

    mapping(address => bytes32) private userRefCodes;
    mapping(bytes32 => address) private refCodeOwners;
    mapping(address => address) private refs;

    event Mine(address indexed beneficiary, uint value);

    event MiningBalanceUpdated(address indexed owner, uint amount, bool isDeposit);

    event Migrate(address indexed user, uint256 amount);

    event TransferComment(address indexed to, uint256 amount, bytes comment);

    event SetReferral(address whoSet, address indexed referrer);

    constructor(address emcoAddress) public {
        systemAddress = msg.sender;
        oldContract = EmcoTokenInterface(emcoAddress);
    }

    /**
    * @dev Function for migration from old token
    * @param _amount Amount of old EMCO tokens to exchnage for new ones
    */
    function migrate(uint _amount) public {
        require(oldContract.transferFrom(msg.sender, this, _amount), "old token transfer exception");
        totalSupply_ = totalSupply_.add(_amount);
        balances[msg.sender] = balances[msg.sender].add(_amount);
        emit Migrate(msg.sender, _amount);
        emit Transfer(address(0), msg.sender, _amount);
    }

    /**
    * @dev Set referral (inviter) code
    * @param _code Code to be set. Code should be initially encoded with web3.utils.asciiToHex function
    */
    function setReferralCode(bytes32 _code) public returns (bytes32) {
        require(_code != "", "code can't be empty");
        require(referralCodeOwners(_code) == address(0), "code is already used");
        require(userReferralCodes(msg.sender) == "", "another code is already set");
        userRefCodes[msg.sender] = _code;
        refCodeOwners[_code] = msg.sender;
        return _code;
    }

    /**
    * @dev Get owner of referral (inviter) code
    * @param _code code to check
    * @return owner of code
    */
    function referralCodeOwners(bytes32 _code) public view returns (address owner) {
        address refCodeOwner = refCodeOwners[_code];
        if(refCodeOwner == address(0)) {
            return oldContract.referralCodeOwners(_code);
        } else {
            return refCodeOwner;
        }
    }

    /**
    * @dev Get account's referral (inviter) code
    * @param _address address of user to check for code
    * @return referral code of user
    */
    function userReferralCodes(address _address) public view returns (bytes32) {
        bytes32 code = oldContract.userReferralCodes(_address);
        if(code != "") {
            return code;
        } else {
            return userRefCodes[_address];
        }
    }

    /**
    * @dev Get referral (inviter) of account
    * @param _address Account's address
    * @return Address of referral (inviter)
    */
    function referrals(address _address) public view returns (address) {
        address refInOldContract = oldContract.referrals(_address);
        if(refInOldContract != address(0)) {
            return refInOldContract;
        } else {
            return refs[_address];
        }
    }

    /**
    * @dev Set referral (inviter) by his referral code
    * @param _code Inviter's code
    */
    function setReferral(bytes32 _code) public {
        require(referralCodeOwners(_code) != address(0), "no referral with this code");
        require(referrals(msg.sender) == address(0), "referral is already set");
        address referrer = referralCodeOwners(_code);
        require(referrer != msg.sender, "Can not invite yourself");
        refs[msg.sender] = referrer;
        emit SetReferral(msg.sender, referrer);
    }

    /**
    * @dev Transfer token with comment
    * @param _to The address to transfer to.
    * @param _value The amount to be transferred.
    @ @param _comment The comemnt of transaction
    */
    function transferWithComment(address _to, uint256 _value, bytes _comment) public returns (bool) {
        emit TransferComment(_to, _value, _comment);
        return transfer(_to, _value);
    }

	/**
	* @dev Gets the balance of specified address (amount of tokens on main balance 
	* plus amount of tokens on mining balance).
	* @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 (uint balance) {
        return balances[_owner].add(miningBalances[_owner]);
    }

	/**
	* @dev Gets the mining balance if caller.
	* @param _owner The address to query the balance of.
	* @return An uint256 representing the amount of tokens of caller's mining balance
	*/
    function miningBalanceOf(address _owner) public view returns (uint balance) {
        return miningBalances[_owner];
    }

	/**
	* @dev Moves specified amount of tokens from main balance to mining balance 
	* @param _amount An uint256 representing the amount of tokens to transfer to main balance
	*/
    function depositToMiningBalance(uint _amount) public {
        require(balances[msg.sender] >= _amount, "not enough tokens");
        require(getCurrentDayDeposited().add(_amount) <= DAY_MINING_DEPOSIT_LIMIT, "Day mining deposit exceeded");
        require(miningTotalDeposited.add(_amount) <= TOTAL_MINING_DEPOSIT_LIMIT, "Total mining deposit exceeded");

        balances[msg.sender] = balances[msg.sender].sub(_amount);
        miningBalances[msg.sender] = miningBalances[msg.sender].add(_amount);
        miningTotalDeposited = miningTotalDeposited.add(_amount);
        updateCurrentDayDeposited(_amount);
        lastMiningBalanceUpdateTime[msg.sender] = now;
        emit MiningBalanceUpdated(msg.sender, _amount, true);
    }

	/**
	* @dev Moves specified amount of tokens from mining balance to main balance
	* @param _amount An uint256 representing the amount of tokens to transfer to mining balance
	*/
    function withdrawFromMiningBalance(uint _amount) public {
        require(miningBalances[msg.sender] >= _amount, "not enough mining tokens");

        miningBalances[msg.sender] = miningBalances[msg.sender].sub(_amount);
        balances[msg.sender] = balances[msg.sender].add(_amount);

        //updating mining limits
        miningTotalDeposited = miningTotalDeposited.sub(_amount);
        lastMiningBalanceUpdateTime[msg.sender] = now;
        emit MiningBalanceUpdated(msg.sender, _amount, false);
    }

	/**
	* @dev Mine tokens. For every 24h for each user�s token on mining balance, 
	* 1% is burnt on mining balance and Reward % is minted to the main balance. 15% fee of difference 
	* between minted coins and burnt coins goes to system address.
	*/ 
    function mine() public {
        require(totalSupply_ < MAX_SUPPLY, "mining is over");
        uint reward = getReward(totalSupply_);
        uint daysForReward = getDaysForReward();

        uint mintedAmount = miningBalances[msg.sender].mul(reward.sub(1000000000)).mul(daysForReward).div(100000000000);
        require(mintedAmount != 0, "no reward");

        uint amountToBurn = miningBalances[msg.sender].mul(daysForReward).div(100);

        //check exceeding max number of tokens
        if(totalSupply_.add(mintedAmount) > MAX_SUPPLY) {
            uint availableToMint = MAX_SUPPLY.sub(totalSupply_);
            amountToBurn = availableToMint.div(mintedAmount).mul(amountToBurn);
            mintedAmount = availableToMint;
        }

        miningBalances[msg.sender] = miningBalances[msg.sender].sub(amountToBurn);
        balances[msg.sender] = balances[msg.sender].add(amountToBurn);

        uint userReward;
        uint referrerReward = 0;
        address referrer = referrals(msg.sender);

        if(referrer == address(0)) {
            userReward = mintedAmount.mul(85).div(100);
        } else {
            userReward = mintedAmount.mul(86).div(100);
            referrerReward = mintedAmount.div(100);
            mineReward(referrer, referrerReward);
        }
        mineReward(msg.sender, userReward);

        totalSupply_ = totalSupply_.add(mintedAmount);

        //update limits
        miningTotalDeposited = miningTotalDeposited.sub(amountToBurn);
        emit MiningBalanceUpdated(msg.sender, amountToBurn, false);

        //set system fee
        uint systemFee = mintedAmount.sub(userReward).sub(referrerReward);
        mineReward(systemAddress, systemFee);

        lastMiningBalanceUpdateTime[msg.sender] = now;
    }

    function mineReward(address _to, uint _amount) private {
        balances[_to] = balances[_to].add(_amount);
        emit Mine(_to, _amount);
        emit Transfer(address(0), _to, _amount);
    }

	/**
	* @dev Set system address
	* @param _systemAddress An address to set
	*/
    function setSystemAddress(address _systemAddress) public onlyOwner {
        systemAddress = _systemAddress;
    }

	/**
	* @dev Get sum of deposits to mining accounts for current day
    * @return sum of deposits to mining accounts for current day
	*/
    function getCurrentDayDeposited() public view returns (uint) {
        if(now / 1 days == currentDay) {
            return currentDayDeposited;
        } else {
            return 0;
        }
    }

	/**
	* @dev Get number of days for reward on mining. Maximum 100 days.
	* @return An uint256 representing number of days user will get reward for.
	*/
    function getDaysForReward() public view returns (uint rewardDaysNum){
        if(lastMiningBalanceUpdateTime[msg.sender] == 0) {
            return 0;
        } else {
            uint value = (now - lastMiningBalanceUpdateTime[msg.sender]) / (1 days);
            if(value > 100) {
                return 100;
            } else {
                return value;
            }
        }
    }

	/**
	* @dev Calculate current mining reward based on total supply of tokens
	* @return An uint256 representing reward in percents multiplied by 1000000000
	*/
    function getReward(uint _totalSupply) public pure returns (uint rewardPercent){
        uint rewardFactor = 1000000 * (10 ** uint256(decimals));
        uint decreaseFactor = 41666666;

        if(_totalSupply < 23 * rewardFactor) {
            return 2000000000 - (decreaseFactor.mul(_totalSupply.div(rewardFactor)));
        }

        if(_totalSupply < MAX_SUPPLY) {
            return 1041666666;
        } else {
            return 1000000000;
        } 
    }

    function updateCurrentDayDeposited(uint _addedTokens) private {
        if(now / 1 days == currentDay) {
            currentDayDeposited = currentDayDeposited.add(_addedTokens);
        } else {
            currentDay = now / 1 days;
            currentDayDeposited = _addedTokens;
        }
    }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"TOTAL_MINING_DEPOSIT_LIMIT","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_systemAddress","type":"address"}],"name":"setSystemAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","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":"DAY_MINING_DEPOSIT_LIMIT","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_totalSupply","type":"uint256"}],"name":"getReward","outputs":[{"name":"rewardPercent","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"getDaysForReward","outputs":[{"name":"rewardDaysNum","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_code","type":"bytes32"}],"name":"setReferralCode","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MAX_SUPPLY","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_code","type":"bytes32"}],"name":"setReferral","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_amount","type":"uint256"}],"name":"migrate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_amount","type":"uint256"}],"name":"withdrawFromMiningBalance","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"miningTotalDeposited","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_code","type":"bytes32"}],"name":"referralCodeOwners","outputs":[{"name":"owner","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"lastMiningBalanceUpdateTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","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":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"mine","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_address","type":"address"}],"name":"userReferralCodes","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_address","type":"address"}],"name":"referrals","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"},{"name":"_comment","type":"bytes"}],"name":"transferWithComment","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_amount","type":"uint256"}],"name":"depositToMiningBalance","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"miningBalances","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"miningBalanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getCurrentDayDeposited","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"emcoAddress","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"beneficiary","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Mine","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":false,"name":"amount","type":"uint256"},{"indexed":false,"name":"isDeposit","type":"bool"}],"name":"MiningBalanceUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"user","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Migrate","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"amount","type":"uint256"},{"indexed":false,"name":"comment","type":"bytes"}],"name":"TransferComment","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"whoSet","type":"address"},{"indexed":true,"name":"referrer","type":"address"}],"name":"SetReferral","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"}]

608060405234801561001057600080fd5b50604051602080611ec583398101604052516003805433600160a060020a0319918216811790925560068054821690921790915560078054909116600160a060020a03909216919091179055611e5a8061006b6000396000f3006080604052600436106101b65763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630557cac081146101bb57806306210197146101e257806306fdde0314610205578063095ea7b31461028f57806317d40160146102c757806318160ddd146102dc5780631c4b774b146102f15780631dcf0dd81461030957806323b872dd1461031e5780632d5aa3ad14610348578063313ce5671461036057806332cb6b0c1461038b57806338b3ee85146103a0578063454b0608146103b85780634a207b75146103d057806355ae74d6146103e85780635d430302146103fd57806362b347bc14610431578063661884631461045257806370a0823114610476578063715018a6146104975780638da5cb5b146104ac57806395d89b41146104c157806399f4b251146104d65780639b2c76d4146104eb5780639ca423b31461050c578063a2b23d9a1461052d578063a9059cbb14610596578063b1e5e928146105ba578063c0c9b55a146105d2578063d73dd623146105f3578063dd62ed3e14610617578063f2fde38b1461063e578063fca4bfdf1461065f578063ff3aac9914610680575b600080fd5b3480156101c757600080fd5b506101d0610695565b60408051918252519081900360200190f35b3480156101ee57600080fd5b50610203600160a060020a03600435166106a4565b005b34801561021157600080fd5b5061021a6106ea565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561025457818101518382015260200161023c565b50505050905090810190601f1680156102815780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561029b57600080fd5b506102b3600160a060020a0360043516602435610721565b604080519115158252519081900360200190f35b3480156102d357600080fd5b506101d0610788565b3480156102e857600080fd5b506101d0610796565b3480156102fd57600080fd5b506101d060043561079d565b34801561031557600080fd5b506101d061081d565b34801561032a57600080fd5b506102b3600160a060020a0360043581169060243516604435610872565b34801561035457600080fd5b506101d06004356109d7565b34801561036c57600080fd5b50610375610b38565b6040805160ff9092168252519081900360200190f35b34801561039757600080fd5b506101d0610b3d565b3480156103ac57600080fd5b50610203600435610b4c565b3480156103c457600080fd5b50610203600435610d00565b3480156103dc57600080fd5b50610203600435610e9b565b3480156103f457600080fd5b506101d0610fc4565b34801561040957600080fd5b50610415600435610fca565b60408051600160a060020a039092168252519081900360200190f35b34801561043d57600080fd5b506101d0600160a060020a036004351661108d565b34801561045e57600080fd5b506102b3600160a060020a036004351660243561109f565b34801561048257600080fd5b506101d0600160a060020a036004351661118f565b3480156104a357600080fd5b506102036111c1565b3480156104b857600080fd5b5061041561122f565b3480156104cd57600080fd5b5061021a61123e565b3480156104e257600080fd5b50610203611275565b3480156104f757600080fd5b506101d0600160a060020a03600435166115d2565b34801561051857600080fd5b50610415600160a060020a0360043516611697565b34801561053957600080fd5b50604080516020600460443581810135601f81018490048402850184019095528484526102b3948235600160a060020a03169460248035953695946064949201919081908401838280828437509497506117679650505050505050565b3480156105a257600080fd5b506102b3600160a060020a0360043516602435611826565b3480156105c657600080fd5b506102036004356118f5565b3480156105de57600080fd5b506101d0600160a060020a0360043516611b18565b3480156105ff57600080fd5b506102b3600160a060020a0360043516602435611b2a565b34801561062357600080fd5b506101d0600160a060020a0360043581169060243516611bc3565b34801561064a57600080fd5b50610203600160a060020a0360043516611bee565b34801561066b57600080fd5b506101d0600160a060020a0360043516611c11565b34801561068c57600080fd5b506101d0611c2c565b6a02fa54641bae8aaa00000081565b600354600160a060020a031633146106bb57600080fd5b6006805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60408051808201909152600981527f456d636f546f6b656e0000000000000000000000000000000000000000000000602082015281565b336000818152600260209081526040808320600160a060020a038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b694c3ba39c5e411100000081565b6001545b90565b600069d3c21bcecceda100000063027bc86a6a1306707f946959770000008410156107ef576107e26107d5858463ffffffff611c4f16565b829063ffffffff611c6416565b6377359400039250610816565b6a1dc74be914d16aa400000084101561080e57633e16926a9250610816565b633b9aca0092505b5050919050565b336000908152600560205260408120548190151561083e576000915061086e565b3360009081526005602052604090205462015180904203049050606481111561086a576064915061086e565b8091505b5090565b6000600160a060020a038316151561088957600080fd5b600160a060020a0384166000908152602081905260409020548211156108ae57600080fd5b600160a060020a03841660009081526002602090815260408083203384529091529020548211156108de57600080fd5b600160a060020a038416600090815260208190526040902054610907908363ffffffff611c8d16565b600160a060020a03808616600090815260208190526040808220939093559085168152205461093c908363ffffffff611c9f16565b600160a060020a0380851660009081526020818152604080832094909455918716815260028252828120338252909152205461097e908363ffffffff611c8d16565b600160a060020a0380861660008181526002602090815260408083203384528252918290209490945580518681529051928716939192600080516020611e0f833981519152929181900390910190a35060019392505050565b6000811515610a30576040805160e560020a62461bcd02815260206004820152601360248201527f636f64652063616e277420626520656d70747900000000000000000000000000604482015290519081900360640190fd5b6000610a3b83610fca565b600160a060020a031614610a99576040805160e560020a62461bcd02815260206004820152601460248201527f636f646520697320616c72656164792075736564000000000000000000000000604482015290519081900360640190fd5b610aa2336115d2565b15610af7576040805160e560020a62461bcd02815260206004820152601b60248201527f616e6f7468657220636f646520697320616c7265616479207365740000000000604482015290519081900360640190fd5b50336000818152600b60209081526040808320859055848352600c9091529020805473ffffffffffffffffffffffffffffffffffffffff1916909117905590565b601281565b6a1dc74be914d16aa400000081565b600080610b5883610fca565b600160a060020a03161415610bb7576040805160e560020a62461bcd02815260206004820152601a60248201527f6e6f20726566657272616c2077697468207468697320636f6465000000000000604482015290519081900360640190fd5b6000610bc233611697565b600160a060020a031614610c20576040805160e560020a62461bcd02815260206004820152601760248201527f726566657272616c20697320616c726561647920736574000000000000000000604482015290519081900360640190fd5b610c2982610fca565b9050600160a060020a038116331415610c8c576040805160e560020a62461bcd02815260206004820152601760248201527f43616e206e6f7420696e7669746520796f757273656c66000000000000000000604482015290519081900360640190fd5b336000818152600d6020908152604091829020805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0386169081179091558251938452915191927f3576c10a3107273bc6535da3c7aef2a8fa869e980ce766193ce37d026d90fb37929081900390910190a25050565b600754604080517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018490529051600160a060020a03909216916323b872dd916064808201926020929091908290030181600087803b158015610d7357600080fd5b505af1158015610d87573d6000803e3d6000fd5b505050506040513d6020811015610d9d57600080fd5b50511515610df5576040805160e560020a62461bcd02815260206004820152601c60248201527f6f6c6420746f6b656e207472616e7366657220657863657074696f6e00000000604482015290519081900360640190fd5b600154610e08908263ffffffff611c9f16565b60015533600090815260208190526040902054610e2b908263ffffffff611c9f16565b3360008181526020818152604091829020939093558051848152905191927fa59785389b00cbd19745afbe8d59b28e3161395c6b1e3525861a2b0dede0b90d92918290030190a26040805182815290513391600091600080516020611e0f8339815191529181900360200190a350565b33600090815260046020526040902054811115610f02576040805160e560020a62461bcd02815260206004820152601860248201527f6e6f7420656e6f756768206d696e696e6720746f6b656e730000000000000000604482015290519081900360640190fd5b33600090815260046020526040902054610f22908263ffffffff611c8d16565b336000908152600460209081526040808320939093558190522054610f4d908263ffffffff611c9f16565b33600090815260208190526040902055600a54610f70908263ffffffff611c8d16565b600a5533600081815260056020908152604080832042905580518581529182019290925281517f822ade8c81d527897e088fa789edb7c459003f063f4f89c9d7fe43a0b0da10f3929181900390910190a250565b600a5481565b6000818152600c6020526040812054600160a060020a031680151561108357600754604080517f5d430302000000000000000000000000000000000000000000000000000000008152600481018690529051600160a060020a0390921691635d430302916024808201926020929091908290030181600087803b15801561105057600080fd5b505af1158015611064573d6000803e3d6000fd5b505050506040513d602081101561107a57600080fd5b50519150611087565b8091505b50919050565b60056020526000908152604090205481565b336000908152600260209081526040808320600160a060020a0386168452909152812054808311156110f457336000908152600260209081526040808320600160a060020a0388168452909152812055611129565b611104818463ffffffff611c8d16565b336000908152600260209081526040808320600160a060020a03891684529091529020555b336000818152600260209081526040808320600160a060020a0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b600160a060020a038116600090815260046020908152604080832054918390528220546107829163ffffffff611c9f16565b600354600160a060020a031633146111d857600080fd5b600354604051600160a060020a03909116907ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482090600090a26003805473ffffffffffffffffffffffffffffffffffffffff19169055565b600354600160a060020a031681565b60408051808201909152600481527f454d434f00000000000000000000000000000000000000000000000000000000602082015281565b6000806000806000806000806000601260ff16600a0a6302255100026001541015156112eb576040805160e560020a62461bcd02815260206004820152600e60248201527f6d696e696e67206973206f766572000000000000000000000000000000000000604482015290519081900360640190fd5b6112f660015461079d565b985061130061081d565b975061135a64174876e80061134e8a6113426113268e633b9aca0063ffffffff611c8d16565b336000908152600460205260409020549063ffffffff611c6416565b9063ffffffff611c6416565b9063ffffffff611c4f16565b96508615156113b3576040805160e560020a62461bcd02815260206004820152600960248201527f6e6f207265776172640000000000000000000000000000000000000000000000604482015290519081900360640190fd5b336000908152600460205260409020546113da9060649061134e908b63ffffffff611c6416565b6001549096506a1dc74be914d16aa4000000906113fd908963ffffffff611c9f16565b111561143e57600154611422906a1dc74be914d16aa40000009063ffffffff611c8d16565b945061143886611342878a63ffffffff611c4f16565b95508496505b3360009081526004602052604090205461145e908763ffffffff611c8d16565b336000908152600460209081526040808320939093558190522054611489908763ffffffff611c9f16565b336000818152602081905260408120929092559093506114a890611697565b9150600160a060020a03821615156114d7576114d0606461134e89605563ffffffff611c6416565b935061150c565b6114ed606461134e89605663ffffffff611c6416565b935061150087606463ffffffff611c4f16565b925061150c8284611cac565b6115163385611cac565b600154611529908863ffffffff611c9f16565b600155600a5461153f908763ffffffff611c8d16565b600a556040805187815260006020820152815133927f822ade8c81d527897e088fa789edb7c459003f063f4f89c9d7fe43a0b0da10f3928290030190a261159c83611590898763ffffffff611c8d16565b9063ffffffff611c8d16565b6006549091506115b590600160a060020a031682611cac565b505033600090815260056020526040902042905550505050505050565b600754604080517f9b2c76d4000000000000000000000000000000000000000000000000000000008152600160a060020a038481166004830152915160009384931691639b2c76d491602480830192602092919082900301818787803b15801561163b57600080fd5b505af115801561164f573d6000803e3d6000fd5b505050506040513d602081101561166557600080fd5b50519050801561167757809150611087565b600160a060020a0383166000908152600b60205260409020549150611087565b600754604080517f9ca423b3000000000000000000000000000000000000000000000000000000008152600160a060020a038481166004830152915160009384931691639ca423b391602480830192602092919082900301818787803b15801561170057600080fd5b505af1158015611714573d6000803e3d6000fd5b505050506040513d602081101561172a57600080fd5b50519050600160a060020a0381161561174557809150611087565b600160a060020a038084166000908152600d6020526040902054169150611087565b600083600160a060020a03167f227c92b63d83e85b123cb2bb76204d097854e4c0ba79282cc0fdec917838f0e784846040518083815260200180602001828103825283818151815260200191508051906020019080838360005b838110156117d95781810151838201526020016117c1565b50505050905090810190601f1680156118065780820380516001836020036101000a031916815260200191505b50935050505060405180910390a261181e8484611826565b949350505050565b6000600160a060020a038316151561183d57600080fd5b3360009081526020819052604090205482111561185957600080fd5b33600090815260208190526040902054611879908363ffffffff611c8d16565b3360009081526020819052604080822092909255600160a060020a038516815220546118ab908363ffffffff611c9f16565b600160a060020a03841660008181526020818152604091829020939093558051858152905191923392600080516020611e0f8339815191529281900390910190a350600192915050565b3360009081526020819052604090205481111561195c576040805160e560020a62461bcd02815260206004820152601160248201527f6e6f7420656e6f75676820746f6b656e73000000000000000000000000000000604482015290519081900360640190fd5b694c3ba39c5e411100000061197f82611973611c2c565b9063ffffffff611c9f16565b11156119d5576040805160e560020a62461bcd02815260206004820152601b60248201527f446179206d696e696e67206465706f7369742065786365656465640000000000604482015290519081900360640190fd5b600a546a02fa54641bae8aaa000000906119f5908363ffffffff611c9f16565b1115611a4b576040805160e560020a62461bcd02815260206004820152601d60248201527f546f74616c206d696e696e67206465706f736974206578636565646564000000604482015290519081900360640190fd5b33600090815260208190526040902054611a6b908263ffffffff611c8d16565b3360009081526020818152604080832093909355600490522054611a95908263ffffffff611c9f16565b33600090815260046020526040902055600a54611ab8908263ffffffff611c9f16565b600a55611ac481611d58565b33600081815260056020908152604091829020429055815184815260019181019190915281517f822ade8c81d527897e088fa789edb7c459003f063f4f89c9d7fe43a0b0da10f3929181900390910190a250565b60046020526000908152604090205481565b336000908152600260209081526040808320600160a060020a0386168452909152812054611b5e908363ffffffff611c9f16565b336000818152600260209081526040808320600160a060020a0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b600354600160a060020a03163314611c0557600080fd5b611c0e81611d90565b50565b600160a060020a031660009081526004602052604090205490565b6008546000906201518042041415611c47575060095461079a565b50600061079a565b60008183811515611c5c57fe5b049392505050565b6000821515611c7557506000610782565b50818102818382811515611c8557fe5b041461078257fe5b600082821115611c9957fe5b50900390565b8181018281101561078257fe5b600160a060020a038216600090815260208190526040902054611cd5908263ffffffff611c9f16565b600160a060020a03831660008181526020818152604091829020939093558051848152905191927ff23a961744a760027f8811c59a0eaef0d29cf965578b17412bcc375b52fa39d192918290030190a2604080518281529051600160a060020a03841691600091600080516020611e0f8339815191529181900360200190a35050565b6008546201518042041415611d8257600954611d7a908263ffffffff611c9f16565b600955611c0e565b620151804204600855600955565b600160a060020a0381161515611da557600080fd5b600354604051600160a060020a038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a723058203a0a386bf0ee194909dfebf64c5640873d20528a6dfa792012b92aa9c80343920029000000000000000000000000d97e471695f73d8186deabc1ab5b8765e667cd96

Deployed Bytecode

0x6080604052600436106101b65763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630557cac081146101bb57806306210197146101e257806306fdde0314610205578063095ea7b31461028f57806317d40160146102c757806318160ddd146102dc5780631c4b774b146102f15780631dcf0dd81461030957806323b872dd1461031e5780632d5aa3ad14610348578063313ce5671461036057806332cb6b0c1461038b57806338b3ee85146103a0578063454b0608146103b85780634a207b75146103d057806355ae74d6146103e85780635d430302146103fd57806362b347bc14610431578063661884631461045257806370a0823114610476578063715018a6146104975780638da5cb5b146104ac57806395d89b41146104c157806399f4b251146104d65780639b2c76d4146104eb5780639ca423b31461050c578063a2b23d9a1461052d578063a9059cbb14610596578063b1e5e928146105ba578063c0c9b55a146105d2578063d73dd623146105f3578063dd62ed3e14610617578063f2fde38b1461063e578063fca4bfdf1461065f578063ff3aac9914610680575b600080fd5b3480156101c757600080fd5b506101d0610695565b60408051918252519081900360200190f35b3480156101ee57600080fd5b50610203600160a060020a03600435166106a4565b005b34801561021157600080fd5b5061021a6106ea565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561025457818101518382015260200161023c565b50505050905090810190601f1680156102815780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561029b57600080fd5b506102b3600160a060020a0360043516602435610721565b604080519115158252519081900360200190f35b3480156102d357600080fd5b506101d0610788565b3480156102e857600080fd5b506101d0610796565b3480156102fd57600080fd5b506101d060043561079d565b34801561031557600080fd5b506101d061081d565b34801561032a57600080fd5b506102b3600160a060020a0360043581169060243516604435610872565b34801561035457600080fd5b506101d06004356109d7565b34801561036c57600080fd5b50610375610b38565b6040805160ff9092168252519081900360200190f35b34801561039757600080fd5b506101d0610b3d565b3480156103ac57600080fd5b50610203600435610b4c565b3480156103c457600080fd5b50610203600435610d00565b3480156103dc57600080fd5b50610203600435610e9b565b3480156103f457600080fd5b506101d0610fc4565b34801561040957600080fd5b50610415600435610fca565b60408051600160a060020a039092168252519081900360200190f35b34801561043d57600080fd5b506101d0600160a060020a036004351661108d565b34801561045e57600080fd5b506102b3600160a060020a036004351660243561109f565b34801561048257600080fd5b506101d0600160a060020a036004351661118f565b3480156104a357600080fd5b506102036111c1565b3480156104b857600080fd5b5061041561122f565b3480156104cd57600080fd5b5061021a61123e565b3480156104e257600080fd5b50610203611275565b3480156104f757600080fd5b506101d0600160a060020a03600435166115d2565b34801561051857600080fd5b50610415600160a060020a0360043516611697565b34801561053957600080fd5b50604080516020600460443581810135601f81018490048402850184019095528484526102b3948235600160a060020a03169460248035953695946064949201919081908401838280828437509497506117679650505050505050565b3480156105a257600080fd5b506102b3600160a060020a0360043516602435611826565b3480156105c657600080fd5b506102036004356118f5565b3480156105de57600080fd5b506101d0600160a060020a0360043516611b18565b3480156105ff57600080fd5b506102b3600160a060020a0360043516602435611b2a565b34801561062357600080fd5b506101d0600160a060020a0360043581169060243516611bc3565b34801561064a57600080fd5b50610203600160a060020a0360043516611bee565b34801561066b57600080fd5b506101d0600160a060020a0360043516611c11565b34801561068c57600080fd5b506101d0611c2c565b6a02fa54641bae8aaa00000081565b600354600160a060020a031633146106bb57600080fd5b6006805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60408051808201909152600981527f456d636f546f6b656e0000000000000000000000000000000000000000000000602082015281565b336000818152600260209081526040808320600160a060020a038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b694c3ba39c5e411100000081565b6001545b90565b600069d3c21bcecceda100000063027bc86a6a1306707f946959770000008410156107ef576107e26107d5858463ffffffff611c4f16565b829063ffffffff611c6416565b6377359400039250610816565b6a1dc74be914d16aa400000084101561080e57633e16926a9250610816565b633b9aca0092505b5050919050565b336000908152600560205260408120548190151561083e576000915061086e565b3360009081526005602052604090205462015180904203049050606481111561086a576064915061086e565b8091505b5090565b6000600160a060020a038316151561088957600080fd5b600160a060020a0384166000908152602081905260409020548211156108ae57600080fd5b600160a060020a03841660009081526002602090815260408083203384529091529020548211156108de57600080fd5b600160a060020a038416600090815260208190526040902054610907908363ffffffff611c8d16565b600160a060020a03808616600090815260208190526040808220939093559085168152205461093c908363ffffffff611c9f16565b600160a060020a0380851660009081526020818152604080832094909455918716815260028252828120338252909152205461097e908363ffffffff611c8d16565b600160a060020a0380861660008181526002602090815260408083203384528252918290209490945580518681529051928716939192600080516020611e0f833981519152929181900390910190a35060019392505050565b6000811515610a30576040805160e560020a62461bcd02815260206004820152601360248201527f636f64652063616e277420626520656d70747900000000000000000000000000604482015290519081900360640190fd5b6000610a3b83610fca565b600160a060020a031614610a99576040805160e560020a62461bcd02815260206004820152601460248201527f636f646520697320616c72656164792075736564000000000000000000000000604482015290519081900360640190fd5b610aa2336115d2565b15610af7576040805160e560020a62461bcd02815260206004820152601b60248201527f616e6f7468657220636f646520697320616c7265616479207365740000000000604482015290519081900360640190fd5b50336000818152600b60209081526040808320859055848352600c9091529020805473ffffffffffffffffffffffffffffffffffffffff1916909117905590565b601281565b6a1dc74be914d16aa400000081565b600080610b5883610fca565b600160a060020a03161415610bb7576040805160e560020a62461bcd02815260206004820152601a60248201527f6e6f20726566657272616c2077697468207468697320636f6465000000000000604482015290519081900360640190fd5b6000610bc233611697565b600160a060020a031614610c20576040805160e560020a62461bcd02815260206004820152601760248201527f726566657272616c20697320616c726561647920736574000000000000000000604482015290519081900360640190fd5b610c2982610fca565b9050600160a060020a038116331415610c8c576040805160e560020a62461bcd02815260206004820152601760248201527f43616e206e6f7420696e7669746520796f757273656c66000000000000000000604482015290519081900360640190fd5b336000818152600d6020908152604091829020805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0386169081179091558251938452915191927f3576c10a3107273bc6535da3c7aef2a8fa869e980ce766193ce37d026d90fb37929081900390910190a25050565b600754604080517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018490529051600160a060020a03909216916323b872dd916064808201926020929091908290030181600087803b158015610d7357600080fd5b505af1158015610d87573d6000803e3d6000fd5b505050506040513d6020811015610d9d57600080fd5b50511515610df5576040805160e560020a62461bcd02815260206004820152601c60248201527f6f6c6420746f6b656e207472616e7366657220657863657074696f6e00000000604482015290519081900360640190fd5b600154610e08908263ffffffff611c9f16565b60015533600090815260208190526040902054610e2b908263ffffffff611c9f16565b3360008181526020818152604091829020939093558051848152905191927fa59785389b00cbd19745afbe8d59b28e3161395c6b1e3525861a2b0dede0b90d92918290030190a26040805182815290513391600091600080516020611e0f8339815191529181900360200190a350565b33600090815260046020526040902054811115610f02576040805160e560020a62461bcd02815260206004820152601860248201527f6e6f7420656e6f756768206d696e696e6720746f6b656e730000000000000000604482015290519081900360640190fd5b33600090815260046020526040902054610f22908263ffffffff611c8d16565b336000908152600460209081526040808320939093558190522054610f4d908263ffffffff611c9f16565b33600090815260208190526040902055600a54610f70908263ffffffff611c8d16565b600a5533600081815260056020908152604080832042905580518581529182019290925281517f822ade8c81d527897e088fa789edb7c459003f063f4f89c9d7fe43a0b0da10f3929181900390910190a250565b600a5481565b6000818152600c6020526040812054600160a060020a031680151561108357600754604080517f5d430302000000000000000000000000000000000000000000000000000000008152600481018690529051600160a060020a0390921691635d430302916024808201926020929091908290030181600087803b15801561105057600080fd5b505af1158015611064573d6000803e3d6000fd5b505050506040513d602081101561107a57600080fd5b50519150611087565b8091505b50919050565b60056020526000908152604090205481565b336000908152600260209081526040808320600160a060020a0386168452909152812054808311156110f457336000908152600260209081526040808320600160a060020a0388168452909152812055611129565b611104818463ffffffff611c8d16565b336000908152600260209081526040808320600160a060020a03891684529091529020555b336000818152600260209081526040808320600160a060020a0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b600160a060020a038116600090815260046020908152604080832054918390528220546107829163ffffffff611c9f16565b600354600160a060020a031633146111d857600080fd5b600354604051600160a060020a03909116907ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482090600090a26003805473ffffffffffffffffffffffffffffffffffffffff19169055565b600354600160a060020a031681565b60408051808201909152600481527f454d434f00000000000000000000000000000000000000000000000000000000602082015281565b6000806000806000806000806000601260ff16600a0a6302255100026001541015156112eb576040805160e560020a62461bcd02815260206004820152600e60248201527f6d696e696e67206973206f766572000000000000000000000000000000000000604482015290519081900360640190fd5b6112f660015461079d565b985061130061081d565b975061135a64174876e80061134e8a6113426113268e633b9aca0063ffffffff611c8d16565b336000908152600460205260409020549063ffffffff611c6416565b9063ffffffff611c6416565b9063ffffffff611c4f16565b96508615156113b3576040805160e560020a62461bcd02815260206004820152600960248201527f6e6f207265776172640000000000000000000000000000000000000000000000604482015290519081900360640190fd5b336000908152600460205260409020546113da9060649061134e908b63ffffffff611c6416565b6001549096506a1dc74be914d16aa4000000906113fd908963ffffffff611c9f16565b111561143e57600154611422906a1dc74be914d16aa40000009063ffffffff611c8d16565b945061143886611342878a63ffffffff611c4f16565b95508496505b3360009081526004602052604090205461145e908763ffffffff611c8d16565b336000908152600460209081526040808320939093558190522054611489908763ffffffff611c9f16565b336000818152602081905260408120929092559093506114a890611697565b9150600160a060020a03821615156114d7576114d0606461134e89605563ffffffff611c6416565b935061150c565b6114ed606461134e89605663ffffffff611c6416565b935061150087606463ffffffff611c4f16565b925061150c8284611cac565b6115163385611cac565b600154611529908863ffffffff611c9f16565b600155600a5461153f908763ffffffff611c8d16565b600a556040805187815260006020820152815133927f822ade8c81d527897e088fa789edb7c459003f063f4f89c9d7fe43a0b0da10f3928290030190a261159c83611590898763ffffffff611c8d16565b9063ffffffff611c8d16565b6006549091506115b590600160a060020a031682611cac565b505033600090815260056020526040902042905550505050505050565b600754604080517f9b2c76d4000000000000000000000000000000000000000000000000000000008152600160a060020a038481166004830152915160009384931691639b2c76d491602480830192602092919082900301818787803b15801561163b57600080fd5b505af115801561164f573d6000803e3d6000fd5b505050506040513d602081101561166557600080fd5b50519050801561167757809150611087565b600160a060020a0383166000908152600b60205260409020549150611087565b600754604080517f9ca423b3000000000000000000000000000000000000000000000000000000008152600160a060020a038481166004830152915160009384931691639ca423b391602480830192602092919082900301818787803b15801561170057600080fd5b505af1158015611714573d6000803e3d6000fd5b505050506040513d602081101561172a57600080fd5b50519050600160a060020a0381161561174557809150611087565b600160a060020a038084166000908152600d6020526040902054169150611087565b600083600160a060020a03167f227c92b63d83e85b123cb2bb76204d097854e4c0ba79282cc0fdec917838f0e784846040518083815260200180602001828103825283818151815260200191508051906020019080838360005b838110156117d95781810151838201526020016117c1565b50505050905090810190601f1680156118065780820380516001836020036101000a031916815260200191505b50935050505060405180910390a261181e8484611826565b949350505050565b6000600160a060020a038316151561183d57600080fd5b3360009081526020819052604090205482111561185957600080fd5b33600090815260208190526040902054611879908363ffffffff611c8d16565b3360009081526020819052604080822092909255600160a060020a038516815220546118ab908363ffffffff611c9f16565b600160a060020a03841660008181526020818152604091829020939093558051858152905191923392600080516020611e0f8339815191529281900390910190a350600192915050565b3360009081526020819052604090205481111561195c576040805160e560020a62461bcd02815260206004820152601160248201527f6e6f7420656e6f75676820746f6b656e73000000000000000000000000000000604482015290519081900360640190fd5b694c3ba39c5e411100000061197f82611973611c2c565b9063ffffffff611c9f16565b11156119d5576040805160e560020a62461bcd02815260206004820152601b60248201527f446179206d696e696e67206465706f7369742065786365656465640000000000604482015290519081900360640190fd5b600a546a02fa54641bae8aaa000000906119f5908363ffffffff611c9f16565b1115611a4b576040805160e560020a62461bcd02815260206004820152601d60248201527f546f74616c206d696e696e67206465706f736974206578636565646564000000604482015290519081900360640190fd5b33600090815260208190526040902054611a6b908263ffffffff611c8d16565b3360009081526020818152604080832093909355600490522054611a95908263ffffffff611c9f16565b33600090815260046020526040902055600a54611ab8908263ffffffff611c9f16565b600a55611ac481611d58565b33600081815260056020908152604091829020429055815184815260019181019190915281517f822ade8c81d527897e088fa789edb7c459003f063f4f89c9d7fe43a0b0da10f3929181900390910190a250565b60046020526000908152604090205481565b336000908152600260209081526040808320600160a060020a0386168452909152812054611b5e908363ffffffff611c9f16565b336000818152600260209081526040808320600160a060020a0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b600354600160a060020a03163314611c0557600080fd5b611c0e81611d90565b50565b600160a060020a031660009081526004602052604090205490565b6008546000906201518042041415611c47575060095461079a565b50600061079a565b60008183811515611c5c57fe5b049392505050565b6000821515611c7557506000610782565b50818102818382811515611c8557fe5b041461078257fe5b600082821115611c9957fe5b50900390565b8181018281101561078257fe5b600160a060020a038216600090815260208190526040902054611cd5908263ffffffff611c9f16565b600160a060020a03831660008181526020818152604091829020939093558051848152905191927ff23a961744a760027f8811c59a0eaef0d29cf965578b17412bcc375b52fa39d192918290030190a2604080518281529051600160a060020a03841691600091600080516020611e0f8339815191529181900360200190a35050565b6008546201518042041415611d8257600954611d7a908263ffffffff611c9f16565b600955611c0e565b620151804204600855600955565b600160a060020a0381161515611da557600080fd5b600354604051600160a060020a038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a723058203a0a386bf0ee194909dfebf64c5640873d20528a6dfa792012b92aa9c80343920029

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

000000000000000000000000d97e471695f73d8186deabc1ab5b8765e667cd96

-----Decoded View---------------
Arg [0] : emcoAddress (address): 0xD97E471695f73d8186dEABc1AB5B8765e667Cd96

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000d97e471695f73d8186deabc1ab5b8765e667cd96


Swarm Source

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