ETH Price: $3,105.58 (+0.78%)
Gas: 4 Gwei

Token

EloPlayToken (ELT)
 

Overview

Max Total Supply

18,612,553.316537184588815602 ELT

Holders

221

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
8,400 ELT

Value
$0.00
0x87c32b5a1697D367f06D58926bC5ce5EB8201F83
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:
EloPlayToken

Compiler Version
v0.4.15+commit.bbb8e64f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2017-10-14
*/

pragma solidity ^0.4.11;

/**
 * Eloplay Crowdsale Token Contract
 * @author Eloplay team (2017)
 * The MIT Licence
 */


/**
 * Safe maths, borrowed from OpenZeppelin
 * https://github.com/OpenZeppelin/zeppelin-solidity/blob/master/contracts/math/SafeMath.sol
 */
library SafeMath {

    /**
     * Add a number to another number, checking for overflows
     *
     * @param a           first number
     * @param b           second number
     * @return            sum of a + b
     */
     function add(uint256 a, uint256 b) internal constant returns (uint256) {
        uint256 c = a + b;
        assert(c >= a);
        return c;
     }

    /**
     * Subtract a number from another number, checking for underflows
     *
     * @param a           first number
     * @param b           second number
     * @return            a - b
     */
    function sub(uint256 a, uint256 b) internal constant returns (uint256) {
        assert(b <= a);
        return a - b;
    }

}


/**
 * Owned contract gives ownership checking
 */
contract Owned {

    /**
     * Current contract owner
     */
    address public owner;
    /**
     * New owner / pretender
     */
    address public newOwner;

    /**
     * Event fires when ownership is transferred and accepted
     *
     * @param _from         initial owner
     * @param _to           new owner
     */
    event OwnershipTransferred(address indexed _from, address indexed _to);

    /**
     * Owned contract constructor
     */
    function Owned() {
        owner = msg.sender;
    }

    /**
     * Modifier - used to check actions allowed only for contract owner
     */
    modifier onlyOwner {
        require(msg.sender == owner);
        _;
    }

    /**
     * Request to change ownership (called by current owner)
     *
     * @param _newOwner         address to transfer ownership to
     */
    function transferOwnership(address _newOwner) onlyOwner {
        newOwner = _newOwner;
    }

    /**
     * Accept ownership request, works only if called by new owner
     */
    function acceptOwnership() {
        // Avoid multiple events triggering in case of several calls from owner
        if (msg.sender == newOwner && owner != newOwner) {
            OwnershipTransferred(owner, newOwner);
            owner = newOwner;
        }
    }
}


/**
 * ERC20 Token, with the addition of symbol, name and decimals
 * https://github.com/ethereum/EIPs/issues/20
 */
contract ERC20Token {
    /**
     * Use SafeMath to check over/underflows
     */
    using SafeMath for uint;

    /**
     * Total Supply
     */
    uint256 public totalSupply = 0;

    /**
     * Balances for each account
     */
    mapping(address => uint256) public balanceOf;

    /**
     * Owner of account approves the transfer of an amount to another account
     */
    mapping(address => mapping (address => uint256)) public allowance;

    /**
     * Event fires when tokens are transferred
     *
     * @param _from         spender address
     * @param _to           target address
     * @param _value        amount of tokens
     */
    event Transfer(address indexed _from, address indexed _to, uint256 _value);

    /**
     * Event fires when spending of tokens are approved
     *
     * @param _owner        owner address
     * @param _spender      spender address
     * @param _value        amount of allowed tokens
     */
    event Approval(address indexed _owner, address indexed _spender, uint256 _value);

    /**
     * Transfer the balance from owner's account to another account
     *
     * @param _to         target address
     * @param _amount     amount of tokens
     * @return            true on success
     */
    function transfer(address _to, uint256 _amount) returns (bool success) {
        if (balanceOf[msg.sender] >= _amount                // User has balance
            && _amount > 0                                 // Non-zero transfer
            && balanceOf[_to] + _amount > balanceOf[_to]     // Overflow check
        ) {
            balanceOf[msg.sender] -= _amount;
            balanceOf[_to] += _amount;
            Transfer(msg.sender, _to, _amount);
            return true;
        } else {
            return false;
        }
    }

    /**
     * Allow _spender to withdraw from your account, multiple times, up to the
     * _value amount. If this function is called again it overwrites the
     * current allowance with _value.
     *
     * @param _spender    spender address
     * @param _amount     amount of tokens
     * @return            true on success
     */
    function approve(address _spender, uint256 _amount) returns (bool success) {
        allowance[msg.sender][_spender] = _amount;
        Approval(msg.sender, _spender, _amount);
        return true;
    }

    /**
     * Spender of tokens transfer an amount of tokens from the token owner's
     * balance to the spender's account. The owner of the tokens must already
     * have approve(...)-d this transfer
     *
     * @param _from       spender address
     * @param _to         target address
     * @param _amount     amount of tokens
     * @return            true on success
     */
    function transferFrom(address _from, address _to, uint256 _amount) returns (bool success) {
        if (balanceOf[_from] >= _amount                  // From a/c has balance
            && allowance[_from][msg.sender] >= _amount    // Transfer approved
            && _amount > 0                              // Non-zero transfer
            && balanceOf[_to] + _amount > balanceOf[_to]  // Overflow check
        ) {
            balanceOf[_from] -= _amount;
            allowance[_from][msg.sender] -= _amount;
            balanceOf[_to] += _amount;
            Transfer(_from, _to, _amount);
            return true;
        } else {
            return false;
        }
    }
}


contract EloPlayToken is ERC20Token, Owned {

    /**
     * Token data
     */
    string public constant symbol = "ELT";
    string public constant name = "EloPlayToken";
    uint8 public constant decimals = 18;

    /**
     * Wallet where invested Ethers will be sent
     */
    address public TARGET_ADDRESS;

    /**
     * Wallet where bonus tokens will be sent
     */
    address public TARGET_TOKENS_ADDRESS;

    /**
     * Start/end timestamp (unix)
     */
    uint256 public START_TS;
    uint256 public END_TS;

    /**
     * CAP in ether - may be changed before crowdsale starts to match actual ETH/USD rate
     */
    uint256 public CAP;

    /**
     * Usd/eth rate at start of ICO. Used for raised funds calculations
     */
    uint256 public USDETHRATE;

    /**
     * Is contract halted (in case of emergency)
     * Default value will be false (not halted)
     */
    bool public halted;

    /**
     * Total Ethers invested
     */
    uint256 public totalEthers;

    /**
     * Event fires when tokens are bought
     *
     * @param buyer                     tokens buyer
     * @param ethers                    total Ethers invested (in wei)
     * @param new_ether_balance         new Ethers balance (in wei)
     * @param tokens                    tokens bought for transaction
     * @param target_address_tokens     additional tokens generated for multisignature wallet
     * @param new_total_supply          total tokens bought
     * @param buy_price                 tokens/ETH rate for transaction
     */
    event TokensBought(address indexed buyer, uint256 ethers,
        uint256 new_ether_balance, uint256 tokens, uint256 target_address_tokens,
        uint256 new_total_supply, uint256 buy_price);

    /**
     * Event fires when tokens are bought
     *
     * @param backer                    buyer
     * @param amount                    total Ethers invested (in wei)
     * @param isContribution            always true in our case
     */
    event FundTransfer(address backer, uint amount, bool isContribution);


    /**
     * EloPlayToken contract constructor
     *
     * @param _start_ts         crowdsale start timestamp (unix)
     * @param _end_ts           crowdsale end timestamp (unix)
     * @param _cap              crowdsale upper cap (in wei)
     * @param _target_address   multisignature wallet where Ethers will be sent to
     * @param _target_tokens_address   account where 30% of tokens will be sent to
     * @param _usdethrate       USD to ETH rate
     */
    function EloPlayToken(uint256 _start_ts, uint256 _end_ts, uint256 _cap, address _target_address,  address _target_tokens_address, uint256 _usdethrate) {
        START_TS        = _start_ts;
        END_TS          = _end_ts;
        CAP             = _cap;
        USDETHRATE      = _usdethrate;
        TARGET_ADDRESS  = _target_address;
        TARGET_TOKENS_ADDRESS  = _target_tokens_address;
    }

    /**
     * Update cap before crowdsale starts
     *
     * @param _cap          new crowdsale upper cap (in wei)
     * @param _usdethrate   USD to ETH rate
     */
    function updateCap(uint256 _cap, uint256 _usdethrate) onlyOwner {
        // Don't process if halted
        require(!halted);
        // Make sure crowdsale isnt started yet
        require(now < START_TS);
        CAP = _cap;
        USDETHRATE = _usdethrate;
    }

    /**
     * Get raised USD based on USDETHRATE
     *
     * @return            USD raised value
     */
    function totalUSD() constant returns (uint256) {
        return totalEthers * USDETHRATE;
    }

    /**
     * Get tokens per ETH for current date/time
     *
     * @return            current tokens/ETH rate
     */
    function buyPrice() constant returns (uint256) {
        return buyPriceAt(now);
    }

    /**
     * Get tokens per ETH for given date/time
     *
     * @param _at         timestamp (unix)
     * @return            tokens/ETH rate for given timestamp
     */
    function buyPriceAt(uint256 _at) constant returns (uint256) {
        if (_at < START_TS) {
            return 0;
        } else if (_at < START_TS + 3600) {
            // 1st hour = 10000 + 20% = 12000
            return 12000;
        } else if (_at < START_TS + 3600 * 24) {
            // 1st day = 10000 + 15% = 11500
            return 11500;
        } else if (_at < START_TS + 3600 * 24 * 7) {
            // 1st week = 10000 + 10% = 11000
            return 11000;
        } else if (_at < START_TS + 3600 * 24 * 7 * 2) {
            // 2nd week = 10000 + 5% = 10500
            return 10500;
        } else if (_at <= END_TS) {
            // More than 2 weeks = 10000
            return 10000;
        } else {
            return 0;
        }
    }

    /**
     * Halt transactions in case of emergency
     */
    function halt() onlyOwner {
        require(!halted);
        halted = true;
    }

    /**
     * Unhalt halted contract
     */
    function unhalt() onlyOwner {
        require(halted);
        halted = false;
    }

    /**
     * Owner to add precommitment funding token balance before the crowdsale commences
     * Used for pre-sale commitments, added manually
     *
     * @param _participant         address that will receive tokens
     * @param _balance             number of tokens
     * @param _ethers         Ethers value (needed for stats)
     *
     */
    function addPrecommitment(address _participant, uint256 _balance, uint256 _ethers) onlyOwner {
        require(now < START_TS);
        // Minimum value = 1ELT
        // Since we are using 18 decimals for token
        require(_balance >= 1 ether);

        // To avoid overflow, first divide then multiply (to clearly show 70%+30%, result wasn't precalculated)
        uint additional_tokens = _balance / 70 * 30;

        balanceOf[_participant] = balanceOf[_participant].add(_balance);
        balanceOf[TARGET_TOKENS_ADDRESS] = balanceOf[TARGET_TOKENS_ADDRESS].add(additional_tokens);

        totalSupply = totalSupply.add(_balance);
        totalSupply = totalSupply.add(additional_tokens);

        // Add ETH raised to total
        totalEthers = totalEthers.add(_ethers);

        Transfer(0x0, _participant, _balance);
        Transfer(0x0, TARGET_TOKENS_ADDRESS, additional_tokens);
    }

    /**
     * Buy tokens from the contract
     */
    function () payable {
        proxyPayment(msg.sender);
    }

    /**
     * Exchanges can buy on behalf of participant
     *
     * @param _participant         address that will receive tokens
     */
    function proxyPayment(address _participant) payable {
        // Don't process if halted
        require(!halted);
        // No contributions before the start of the crowdsale
        require(now >= START_TS);
        // No contributions after the end of the crowdsale
        require(now <= END_TS);
        // No contributions after CAP is reached
        require(totalEthers < CAP);
        // Require 0.1 eth minimum
        require(msg.value >= 0.1 ether);

        // Add ETH raised to total
        totalEthers = totalEthers.add(msg.value);
        // Cannot exceed cap more than 0.1 ETH (to be able to finish ICO if CAP - totalEthers < 0.1)
        require(totalEthers < CAP + 0.1 ether);

        // What is the ELT to ETH rate
        uint256 _buyPrice = buyPrice();

        // Calculate #ELT - this is safe as _buyPrice is known
        // and msg.value is restricted to valid values
        uint tokens = msg.value * _buyPrice;

        // Check tokens > 0
        require(tokens > 0);
        // Compute tokens for foundation; user tokens = 70%; TARGET_ADDRESS = 30%
        // Number of tokens restricted so maths is safe
        // To clearly show 70%+30%, result wasn't precalculated
        uint additional_tokens = tokens * 30 / 70;

        // Add to total supply
        totalSupply = totalSupply.add(tokens);
        totalSupply = totalSupply.add(additional_tokens);

        // Add to balances
        balanceOf[_participant] = balanceOf[_participant].add(tokens);
        balanceOf[TARGET_TOKENS_ADDRESS] = balanceOf[TARGET_TOKENS_ADDRESS].add(additional_tokens);

        // Log events
        TokensBought(_participant, msg.value, totalEthers, tokens, additional_tokens,
            totalSupply, _buyPrice);
        FundTransfer(_participant, msg.value, true);
        Transfer(0x0, _participant, tokens);
        Transfer(0x0, TARGET_TOKENS_ADDRESS, additional_tokens);

        // Move the funds to a safe wallet
        TARGET_ADDRESS.transfer(msg.value);
    }

    /**
     * Transfer the balance from owner's account to another account, with a
     * check that the crowdsale is finalized
     *
     * @param _to                tokens receiver
     * @param _amount            tokens amount
     * @return                   true on success
     */
    function transfer(address _to, uint _amount) returns (bool success) {
        // Cannot transfer before crowdsale ends or cap reached
        require(now > END_TS || totalEthers >= CAP);
        // Standard transfer
        return super.transfer(_to, _amount);
    }

    /**
     * Spender of tokens transfer an amount of tokens from the token owner's
     * balance to another account, with a check that the crowdsale is
     * finalized
     *
     * @param _from              tokens sender
     * @param _to                tokens receiver
     * @param _amount            tokens amount
     * @return                   true on success
     */
    function transferFrom(address _from, address _to, uint _amount)
            returns (bool success) {
        // Cannot transfer before crowdsale ends or cap reached
        require(now > END_TS || totalEthers >= CAP);
        // Standard transferFrom
        return super.transferFrom(_from, _to, _amount);
    }

    /**
     * Owner can transfer out any accidentally sent ERC20 tokens
     *
     * @param _tokenAddress       tokens address
     * @param _amount             tokens amount
     * @return                   true on success
     */
    function transferAnyERC20Token(address _tokenAddress, uint _amount)
      onlyOwner returns (bool success) {
        return ERC20Token(_tokenAddress).transfer(owner, _amount);
    }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_amount","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalEthers","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_at","type":"uint256"}],"name":"buyPriceAt","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_cap","type":"uint256"},{"name":"_usdethrate","type":"uint256"}],"name":"updateCap","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"halt","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"buyPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"USDETHRATE","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_participant","type":"address"},{"name":"_balance","type":"uint256"},{"name":"_ethers","type":"uint256"}],"name":"addPrecommitment","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"TARGET_TOKENS_ADDRESS","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"END_TS","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalUSD","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"START_TS","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"halted","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"unhalt","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"newOwner","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_tokenAddress","type":"address"},{"name":"_amount","type":"uint256"}],"name":"transferAnyERC20Token","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"CAP","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"TARGET_ADDRESS","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_participant","type":"address"}],"name":"proxyPayment","outputs":[],"payable":true,"type":"function"},{"inputs":[{"name":"_start_ts","type":"uint256"},{"name":"_end_ts","type":"uint256"},{"name":"_cap","type":"uint256"},{"name":"_target_address","type":"address"},{"name":"_target_tokens_address","type":"address"},{"name":"_usdethrate","type":"uint256"}],"payable":false,"type":"constructor"},{"payable":true,"type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"buyer","type":"address"},{"indexed":false,"name":"ethers","type":"uint256"},{"indexed":false,"name":"new_ether_balance","type":"uint256"},{"indexed":false,"name":"tokens","type":"uint256"},{"indexed":false,"name":"target_address_tokens","type":"uint256"},{"indexed":false,"name":"new_total_supply","type":"uint256"},{"indexed":false,"name":"buy_price","type":"uint256"}],"name":"TokensBought","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"backer","type":"address"},{"indexed":false,"name":"amount","type":"uint256"},{"indexed":false,"name":"isContribution","type":"bool"}],"name":"FundTransfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_owner","type":"address"},{"indexed":true,"name":"_spender","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Approval","type":"event"}]

606060405260008055341561001357600080fd5b60405160c0806113098339810160405280805191906020018051919060200180519190602001805191906020018051919060200180519150505b5b60038054600160a060020a03191633600160a060020a03161790555b600786905560088590556009849055600a81905560058054600160a060020a03808616600160a060020a03199283161790925560068054928516929091169190911790555b5050505050505b611244806100c56000396000f3006060604052361561017d5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde03811461018a578063095ea7b3146102155780630a4625af1461024b57806318160ddd1461027057806323b872dd14610295578063313ce567146102d1578063383e3a5d146102fa5780633e859fcb146103225780635ed7ca5b1461033d57806370a082311461035257806379ba5097146103835780638620410b146103985780638969fb5f146103bd5780638da5cb5b146103e257806393e4bf4f1461041157806395d89b411461043857806398182950146104c35780639a267230146104f2578063a3ae88a014610517578063a9059cbb1461053c578063b0ea1e2e14610572578063b9b8af0b14610597578063cb3e64fd146105be578063d4ee1d90146105d3578063dc39d06d14610602578063dd62ed3e14610638578063ec81b4831461066f578063eca25f4214610694578063f2fde38b146106c3578063f48c3054146106e4575b5b610187336106fa565b5b005b341561019557600080fd5b61019d6109ad565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101da5780820151818401525b6020016101c1565b50505050905090810190601f1680156102075780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561022057600080fd5b610237600160a060020a03600435166024356109e4565b604051901515815260200160405180910390f35b341561025657600080fd5b61025e610a51565b60405190815260200160405180910390f35b341561027b57600080fd5b61025e610a57565b60405190815260200160405180910390f35b34156102a057600080fd5b610237600160a060020a0360043581169060243516604435610a5d565b604051901515815260200160405180910390f35b34156102dc57600080fd5b6102e4610a93565b60405160ff909116815260200160405180910390f35b341561030557600080fd5b61025e600435610a98565b60405190815260200160405180910390f35b341561032d57600080fd5b610187600435602435610b2c565b005b341561034857600080fd5b610187610b75565b005b341561035d57600080fd5b61025e600160a060020a0360043516610bb1565b60405190815260200160405180910390f35b341561038e57600080fd5b610187610bc3565b005b34156103a357600080fd5b61025e610c69565b60405190815260200160405180910390f35b34156103c857600080fd5b61025e610c7a565b60405190815260200160405180910390f35b34156103ed57600080fd5b6103f5610c80565b604051600160a060020a03909116815260200160405180910390f35b341561041c57600080fd5b610187600160a060020a0360043516602435604435610c8f565b005b341561044357600080fd5b61019d610df8565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101da5780820151818401525b6020016101c1565b50505050905090810190601f1680156102075780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156104ce57600080fd5b6103f5610e2f565b604051600160a060020a03909116815260200160405180910390f35b34156104fd57600080fd5b61025e610e3e565b60405190815260200160405180910390f35b341561052257600080fd5b61025e610e44565b60405190815260200160405180910390f35b341561054757600080fd5b610237600160a060020a0360043516602435610e4f565b604051901515815260200160405180910390f35b341561057d57600080fd5b61025e610e83565b60405190815260200160405180910390f35b34156105a257600080fd5b610237610e89565b604051901515815260200160405180910390f35b34156105c957600080fd5b610187610e92565b005b34156105de57600080fd5b6103f5610ecc565b604051600160a060020a03909116815260200160405180910390f35b341561060d57600080fd5b610237600160a060020a0360043516602435610edb565b604051901515815260200160405180910390f35b341561064357600080fd5b61025e600160a060020a0360043581169060243516610f99565b60405190815260200160405180910390f35b341561067a57600080fd5b61025e610fb6565b60405190815260200160405180910390f35b341561069f57600080fd5b6103f5610fbc565b604051600160a060020a03909116815260200160405180910390f35b34156106ce57600080fd5b610187600160a060020a0360043516610fcb565b005b610187600160a060020a03600435166106fa565b005b600b546000908190819060ff161561071157600080fd5b60075442101561072057600080fd5b60085442111561072f57600080fd5b600954600c541061073f57600080fd5b67016345785d8a000034101561075457600080fd5b600c54610767903463ffffffff61101316565b600c81905560095467016345785d8a000001901061078457600080fd5b61078c610c69565b92503483029150600082116107a057600080fd5b6046601e83025b0490506107bf8260005461101390919063ffffffff16565b60008190556107d4908263ffffffff61101316565b6000908155600160a060020a0385168152600160205260409020546107ff908363ffffffff61101316565b600160a060020a038086166000908152600160205260408082209390935560065490911681522054610837908263ffffffff61101316565b600654600160a060020a0390811660009081526001602052604080822093909355600c549054918716927f6bf42ea559224a77e2bc8d284b9f2eb6ed6b198a7ef7b742b41562c6a20b9adc92349291879187918a905180878152602001868152602001858152602001848152602001838152602001828152602001965050505050505060405180910390a27fe842aea7a5f1b01049d752008c53c52890b1a6daf660cf39e8eec506112bbdf684346001604051600160a060020a039093168352602083019190915215156040808301919091526060909101905180910390a183600160a060020a031660006000805160206111f98339815191528460405190815260200160405180910390a3600654600160a060020a031660006000805160206111f98339815191528360405190815260200160405180910390a3600554600160a060020a03163480156108fc0290604051600060405180830381858888f1935050505015156109a657600080fd5b5b50505050565b60408051908101604052600c81527f456c6f506c6179546f6b656e0000000000000000000000000000000000000000602082015281565b600160a060020a03338116600081815260026020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a35060015b92915050565b600c5481565b60005481565b6000600854421180610a735750600954600c5410155b1515610a7e57600080fd5b610a8984848461102d565b90505b9392505050565b601281565b6000600754821015610aac57506000610b21565b600754610e1001821015610ac35750612ee0610b21565b6007546201518001821015610adb5750612cec610b21565b60075462093a8001821015610af35750612af8610b21565b6007546212750001821015610b0b5750612904610b21565b6008548211610b1d5750612710610b21565b5060005b5b5b5b5b5b5b919050565b60035433600160a060020a03908116911614610b4757600080fd5b600b5460ff1615610b5757600080fd5b6007544210610b6557600080fd5b6009829055600a8190555b5b5050565b60035433600160a060020a03908116911614610b9057600080fd5b600b5460ff1615610ba057600080fd5b600b805460ff191660011790555b5b565b60016020526000908152604090205481565b60045433600160a060020a039081169116148015610bf25750600454600354600160a060020a03908116911614155b15610bae57600454600354600160a060020a0391821691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36004546003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039092169190911790555b5b565b6000610c7442610a98565b90505b90565b600a5481565b600354600160a060020a031681565b60035460009033600160a060020a03908116911614610cad57600080fd5b6007544210610cbb57600080fd5b670de0b6b3a7640000831015610cd057600080fd5b6046835b600160a060020a038616600090815260016020526040902054919004601e029150610cff9084611013565b600160a060020a038086166000908152600160205260408082209390935560065490911681522054610d37908263ffffffff61101316565b600654600160a060020a031660009081526001602052604081209190915554610d66908463ffffffff61101316565b6000819055610d7b908263ffffffff61101316565b600055600c54610d91908363ffffffff61101316565b600c55600160a060020a03841660006000805160206111f98339815191528560405190815260200160405180910390a3600654600160a060020a031660006000805160206111f98339815191528360405190815260200160405180910390a35b5b50505050565b60408051908101604052600381527f454c540000000000000000000000000000000000000000000000000000000000602082015281565b600654600160a060020a031681565b60085481565b600a54600c54025b90565b6000600854421180610e655750600954600c5410155b1515610e7057600080fd5b610e7a838361113b565b90505b92915050565b60075481565b600b5460ff1681565b60035433600160a060020a03908116911614610ead57600080fd5b600b5460ff161515610ebe57600080fd5b600b805460ff191690555b5b565b600454600160a060020a031681565b60035460009033600160a060020a03908116911614610ef957600080fd5b600354600160a060020a038085169163a9059cbb9116846000604051602001526040517c010000000000000000000000000000000000000000000000000000000063ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610f7557600080fd5b6102c65a03f11515610f8657600080fd5b50505060405180519150505b5b92915050565b600260209081526000928352604080842090915290825290205481565b60095481565b600554600160a060020a031681565b60035433600160a060020a03908116911614610fe657600080fd5b6004805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b50565b60008282018381101561102257fe5b8091505b5092915050565b600160a060020a03831660009081526001602052604081205482901080159061107d5750600160a060020a0380851660009081526002602090815260408083203390941683529290522054829010155b80156110895750600082115b80156110ae5750600160a060020a038316600090815260016020526040902054828101115b1561112b57600160a060020a0380851660008181526001602081815260408084208054899003905560028252808420338716855282528084208054899003905594881680845291905290839020805486019055916000805160206111f98339815191529085905190815260200160405180910390a3506001610a8c565b506000610a8c565b5b9392505050565b600160a060020a0333166000908152600160205260408120548290108015906111645750600082115b80156111895750600160a060020a038316600090815260016020526040902054828101115b156111e957600160a060020a033381166000818152600160205260408082208054879003905592861680825290839020805486019055916000805160206111f98339815191529085905190815260200160405180910390a3506001610a4b565b506000610a4b565b5b929150505600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a7230582089f6eb9310338e9e1a2fa11483778d874fccf18d3e1d0047812661209958c9a000290000000000000000000000000000000000000000000000000000000059e49f40000000000000000000000000000000000000000000000000000000005a0c2c40000000000000000000000000000000000000000000000878678326eac9000000000000000000000000000000660cdee72302d2941a43db1275eded7827023baa000000000000000000000000660cdee72302d2941a43db1275eded7827023baa000000000000000000000000000000000000000000000000000000000000012c

Deployed Bytecode

0x6060604052361561017d5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde03811461018a578063095ea7b3146102155780630a4625af1461024b57806318160ddd1461027057806323b872dd14610295578063313ce567146102d1578063383e3a5d146102fa5780633e859fcb146103225780635ed7ca5b1461033d57806370a082311461035257806379ba5097146103835780638620410b146103985780638969fb5f146103bd5780638da5cb5b146103e257806393e4bf4f1461041157806395d89b411461043857806398182950146104c35780639a267230146104f2578063a3ae88a014610517578063a9059cbb1461053c578063b0ea1e2e14610572578063b9b8af0b14610597578063cb3e64fd146105be578063d4ee1d90146105d3578063dc39d06d14610602578063dd62ed3e14610638578063ec81b4831461066f578063eca25f4214610694578063f2fde38b146106c3578063f48c3054146106e4575b5b610187336106fa565b5b005b341561019557600080fd5b61019d6109ad565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101da5780820151818401525b6020016101c1565b50505050905090810190601f1680156102075780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561022057600080fd5b610237600160a060020a03600435166024356109e4565b604051901515815260200160405180910390f35b341561025657600080fd5b61025e610a51565b60405190815260200160405180910390f35b341561027b57600080fd5b61025e610a57565b60405190815260200160405180910390f35b34156102a057600080fd5b610237600160a060020a0360043581169060243516604435610a5d565b604051901515815260200160405180910390f35b34156102dc57600080fd5b6102e4610a93565b60405160ff909116815260200160405180910390f35b341561030557600080fd5b61025e600435610a98565b60405190815260200160405180910390f35b341561032d57600080fd5b610187600435602435610b2c565b005b341561034857600080fd5b610187610b75565b005b341561035d57600080fd5b61025e600160a060020a0360043516610bb1565b60405190815260200160405180910390f35b341561038e57600080fd5b610187610bc3565b005b34156103a357600080fd5b61025e610c69565b60405190815260200160405180910390f35b34156103c857600080fd5b61025e610c7a565b60405190815260200160405180910390f35b34156103ed57600080fd5b6103f5610c80565b604051600160a060020a03909116815260200160405180910390f35b341561041c57600080fd5b610187600160a060020a0360043516602435604435610c8f565b005b341561044357600080fd5b61019d610df8565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101da5780820151818401525b6020016101c1565b50505050905090810190601f1680156102075780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156104ce57600080fd5b6103f5610e2f565b604051600160a060020a03909116815260200160405180910390f35b34156104fd57600080fd5b61025e610e3e565b60405190815260200160405180910390f35b341561052257600080fd5b61025e610e44565b60405190815260200160405180910390f35b341561054757600080fd5b610237600160a060020a0360043516602435610e4f565b604051901515815260200160405180910390f35b341561057d57600080fd5b61025e610e83565b60405190815260200160405180910390f35b34156105a257600080fd5b610237610e89565b604051901515815260200160405180910390f35b34156105c957600080fd5b610187610e92565b005b34156105de57600080fd5b6103f5610ecc565b604051600160a060020a03909116815260200160405180910390f35b341561060d57600080fd5b610237600160a060020a0360043516602435610edb565b604051901515815260200160405180910390f35b341561064357600080fd5b61025e600160a060020a0360043581169060243516610f99565b60405190815260200160405180910390f35b341561067a57600080fd5b61025e610fb6565b60405190815260200160405180910390f35b341561069f57600080fd5b6103f5610fbc565b604051600160a060020a03909116815260200160405180910390f35b34156106ce57600080fd5b610187600160a060020a0360043516610fcb565b005b610187600160a060020a03600435166106fa565b005b600b546000908190819060ff161561071157600080fd5b60075442101561072057600080fd5b60085442111561072f57600080fd5b600954600c541061073f57600080fd5b67016345785d8a000034101561075457600080fd5b600c54610767903463ffffffff61101316565b600c81905560095467016345785d8a000001901061078457600080fd5b61078c610c69565b92503483029150600082116107a057600080fd5b6046601e83025b0490506107bf8260005461101390919063ffffffff16565b60008190556107d4908263ffffffff61101316565b6000908155600160a060020a0385168152600160205260409020546107ff908363ffffffff61101316565b600160a060020a038086166000908152600160205260408082209390935560065490911681522054610837908263ffffffff61101316565b600654600160a060020a0390811660009081526001602052604080822093909355600c549054918716927f6bf42ea559224a77e2bc8d284b9f2eb6ed6b198a7ef7b742b41562c6a20b9adc92349291879187918a905180878152602001868152602001858152602001848152602001838152602001828152602001965050505050505060405180910390a27fe842aea7a5f1b01049d752008c53c52890b1a6daf660cf39e8eec506112bbdf684346001604051600160a060020a039093168352602083019190915215156040808301919091526060909101905180910390a183600160a060020a031660006000805160206111f98339815191528460405190815260200160405180910390a3600654600160a060020a031660006000805160206111f98339815191528360405190815260200160405180910390a3600554600160a060020a03163480156108fc0290604051600060405180830381858888f1935050505015156109a657600080fd5b5b50505050565b60408051908101604052600c81527f456c6f506c6179546f6b656e0000000000000000000000000000000000000000602082015281565b600160a060020a03338116600081815260026020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a35060015b92915050565b600c5481565b60005481565b6000600854421180610a735750600954600c5410155b1515610a7e57600080fd5b610a8984848461102d565b90505b9392505050565b601281565b6000600754821015610aac57506000610b21565b600754610e1001821015610ac35750612ee0610b21565b6007546201518001821015610adb5750612cec610b21565b60075462093a8001821015610af35750612af8610b21565b6007546212750001821015610b0b5750612904610b21565b6008548211610b1d5750612710610b21565b5060005b5b5b5b5b5b5b919050565b60035433600160a060020a03908116911614610b4757600080fd5b600b5460ff1615610b5757600080fd5b6007544210610b6557600080fd5b6009829055600a8190555b5b5050565b60035433600160a060020a03908116911614610b9057600080fd5b600b5460ff1615610ba057600080fd5b600b805460ff191660011790555b5b565b60016020526000908152604090205481565b60045433600160a060020a039081169116148015610bf25750600454600354600160a060020a03908116911614155b15610bae57600454600354600160a060020a0391821691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36004546003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039092169190911790555b5b565b6000610c7442610a98565b90505b90565b600a5481565b600354600160a060020a031681565b60035460009033600160a060020a03908116911614610cad57600080fd5b6007544210610cbb57600080fd5b670de0b6b3a7640000831015610cd057600080fd5b6046835b600160a060020a038616600090815260016020526040902054919004601e029150610cff9084611013565b600160a060020a038086166000908152600160205260408082209390935560065490911681522054610d37908263ffffffff61101316565b600654600160a060020a031660009081526001602052604081209190915554610d66908463ffffffff61101316565b6000819055610d7b908263ffffffff61101316565b600055600c54610d91908363ffffffff61101316565b600c55600160a060020a03841660006000805160206111f98339815191528560405190815260200160405180910390a3600654600160a060020a031660006000805160206111f98339815191528360405190815260200160405180910390a35b5b50505050565b60408051908101604052600381527f454c540000000000000000000000000000000000000000000000000000000000602082015281565b600654600160a060020a031681565b60085481565b600a54600c54025b90565b6000600854421180610e655750600954600c5410155b1515610e7057600080fd5b610e7a838361113b565b90505b92915050565b60075481565b600b5460ff1681565b60035433600160a060020a03908116911614610ead57600080fd5b600b5460ff161515610ebe57600080fd5b600b805460ff191690555b5b565b600454600160a060020a031681565b60035460009033600160a060020a03908116911614610ef957600080fd5b600354600160a060020a038085169163a9059cbb9116846000604051602001526040517c010000000000000000000000000000000000000000000000000000000063ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610f7557600080fd5b6102c65a03f11515610f8657600080fd5b50505060405180519150505b5b92915050565b600260209081526000928352604080842090915290825290205481565b60095481565b600554600160a060020a031681565b60035433600160a060020a03908116911614610fe657600080fd5b6004805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b50565b60008282018381101561102257fe5b8091505b5092915050565b600160a060020a03831660009081526001602052604081205482901080159061107d5750600160a060020a0380851660009081526002602090815260408083203390941683529290522054829010155b80156110895750600082115b80156110ae5750600160a060020a038316600090815260016020526040902054828101115b1561112b57600160a060020a0380851660008181526001602081815260408084208054899003905560028252808420338716855282528084208054899003905594881680845291905290839020805486019055916000805160206111f98339815191529085905190815260200160405180910390a3506001610a8c565b506000610a8c565b5b9392505050565b600160a060020a0333166000908152600160205260408120548290108015906111645750600082115b80156111895750600160a060020a038316600090815260016020526040902054828101115b156111e957600160a060020a033381166000818152600160205260408082208054879003905592861680825290839020805486019055916000805160206111f98339815191529085905190815260200160405180910390a3506001610a4b565b506000610a4b565b5b929150505600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a7230582089f6eb9310338e9e1a2fa11483778d874fccf18d3e1d0047812661209958c9a00029

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

0000000000000000000000000000000000000000000000000000000059e49f40000000000000000000000000000000000000000000000000000000005a0c2c40000000000000000000000000000000000000000000000878678326eac9000000000000000000000000000000660cdee72302d2941a43db1275eded7827023baa000000000000000000000000660cdee72302d2941a43db1275eded7827023baa000000000000000000000000000000000000000000000000000000000000012c

-----Decoded View---------------
Arg [0] : _start_ts (uint256): 1508155200
Arg [1] : _end_ts (uint256): 1510747200
Arg [2] : _cap (uint256): 40000000000000000000000
Arg [3] : _target_address (address): 0x660cDee72302D2941A43db1275EDED7827023baA
Arg [4] : _target_tokens_address (address): 0x660cDee72302D2941A43db1275EDED7827023baA
Arg [5] : _usdethrate (uint256): 300

-----Encoded View---------------
6 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000059e49f40
Arg [1] : 000000000000000000000000000000000000000000000000000000005a0c2c40
Arg [2] : 000000000000000000000000000000000000000000000878678326eac9000000
Arg [3] : 000000000000000000000000660cdee72302d2941a43db1275eded7827023baa
Arg [4] : 000000000000000000000000660cdee72302d2941a43db1275eded7827023baa
Arg [5] : 000000000000000000000000000000000000000000000000000000000000012c


Swarm Source

bzzr://89f6eb9310338e9e1a2fa11483778d874fccf18d3e1d0047812661209958c9a0
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.