ETH Price: $3,010.14 (+1.55%)
Gas: 7 Gwei

Token

NimiqNetwork (NET)
 

Overview

Max Total Supply

10,500,000 NET

Holders

3,111 (0.00%)

Total Transfers

-

Market

Price

$0.00 @ 0.000000 ETH (+1.93%)

Onchain Market Cap

$12,583.39

Circulating Supply Market Cap

$12,521,106.50

Other Info

Token Contract (WITH 18 Decimals)

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

OVERVIEW

A Browser-based Blockchain & Ecosystem

Profitability / Loss

Since Initial Offer Price
:$1.03 99.88%

Market

Volume (24H):$291,601.57
Market Capitalization:$12,521,106.50
Circulating Supply:10,448,026,768.00 NET
Market Data Source: Coinmarketcap

ICO Information

ICO Start Date : Jun 27, 2017    
Total Cap : $10,787,761
ICO Price  : $1.03 | 0.00405003
Country : Sweden

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
NEToken

Compiler Version
v0.4.11+commit.68ef5810

Optimization Enabled:
Yes with 200 runs

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

pragma solidity ^0.4.11;

/* taking ideas from FirstBlood token */
contract SafeMath {

    function safeAdd(uint256 x, uint256 y) internal returns(uint256) {
        uint256 z = x + y;
        assert((z >= x) && (z >= y));
        return z;
    }

    function safeSubtract(uint256 x, uint256 y) internal returns(uint256) {
        assert(x >= y);
        uint256 z = x - y;
        return z;
    }

    function safeMult(uint256 x, uint256 y) internal returns(uint256) {
        uint256 z = x * y;
        assert((x == 0)||(z/x == y));
        return z;
    }
}

contract Token {
    uint256 public totalSupply;

    function balanceOf(address _owner) constant returns (uint256 balance);
    function transfer(address _to, uint256 _value) returns (bool success);
    function transferFrom(address _from, address _to, uint256 _value) returns (bool success);
    function approve(address _spender, uint256 _value) returns (bool success);
    function allowance(address _owner, address _spender) constant returns (uint256 remaining);

    event Transfer(address indexed _from, address indexed _to, uint256 _value);
    event Approval(address indexed _owner, address indexed _spender, uint256 _value);
}

/*  ERC 20 token */
contract StandardToken is Token, SafeMath {

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

    modifier onlyPayloadSize(uint numwords) {
        assert(msg.data.length == numwords * 32 + 4);
        _;
    }

    function transfer(address _to, uint256 _value)
    returns (bool success)
    {
        if (balances[msg.sender] >= _value && _value > 0 && balances[_to] + _value > balances[_to]) {
            balances[msg.sender] = safeSubtract(balances[msg.sender], _value);
            balances[_to] = safeAdd(balances[_to], _value);
            Transfer(msg.sender, _to, _value);
            return true;
        } else {
            return false;
        }
    }

    function transferFrom(address _from, address _to, uint256 _value)
    returns (bool success)
    {
        if (balances[_from] >= _value && allowed[_from][msg.sender] >= _value && _value > 0 && balances[_to] + _value > balances[_to]) {
            balances[_to] = safeAdd(balances[_to], _value);
            balances[_from] = safeSubtract(balances[_from], _value);
            allowed[_from][msg.sender] = safeSubtract(allowed[_from][msg.sender], _value);
            Transfer(_from, _to, _value);
            return true;
        } else {
            return false;
        }
    }

    function balanceOf(address _owner) constant returns (uint256 balance) {
        return balances[_owner];
    }

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

    function allowance(address _owner, address _spender)
    constant
    onlyPayloadSize(2)
    returns (uint256 remaining)
    {
        return allowed[_owner][_spender];
    }
}

/* Taking ideas from BAT token */
contract NEToken is StandardToken {

    // Token metadata
    string public constant name = "Nimiq Network Interim Token";
    string public constant symbol = "NET";
    uint256 public constant decimals = 18;
    string public version = "0.8";

    // Deposit address of Multisig account controlled by the creators
    address public ethFundDeposit;

    // Fundraising parameters
    enum ContractState { Fundraising, Finalized, Redeeming, Paused }
    ContractState public state;           // Current state of the contract
    ContractState private savedState;     // State of the contract before pause

    uint256 public fundingStartBlock;        // These two blocks need to be chosen to comply with the
    uint256 public fundingEndBlock;          // start date and 28 day duration requirements
    uint256 public exchangeRateChangesBlock; // block number that triggers the exchange rate change

    uint256 public constant TOKEN_FIRST_EXCHANGE_RATE = 175; // 175 NETs per 1 ETH
    uint256 public constant TOKEN_SECOND_EXCHANGE_RATE = 125; // 125 NETs per 1 ETH
    uint256 public constant TOKEN_CREATION_CAP = 10.5 * (10**6) * 10**decimals; // 10.5 million NETs
    uint256 public constant ETH_RECEIVED_CAP = 60 * (10**3) * 10**decimals; // 60 000 ETH
    uint256 public constant ETH_RECEIVED_MIN = 5 * (10**3) * 10**decimals; // 5 000 ETH
    uint256 public constant TOKEN_MIN = 1 * 10**decimals; // 1 NET

    // We need to keep track of how much ether have been contributed, since we have a cap for ETH too
    uint256 public totalReceivedEth = 0;

    // Since we have different exchange rates at different stages, we need to keep track
    // of how much ether each contributed in case that we need to issue a refund
    mapping (address => uint256) private ethBalances;

    // Events used for logging
    event LogRefund(address indexed _to, uint256 _value);
    event LogCreateNET(address indexed _to, uint256 _value);
    event LogRedeemNET(address indexed _to, uint256 _value, bytes32 _nimiqAddress);

    modifier isFinalized() {
        require(state == ContractState.Finalized);
        _;
    }

    modifier isFundraising() {
        require(state == ContractState.Fundraising);
        _;
    }

    modifier isRedeeming() {
        require(state == ContractState.Redeeming);
        _;
    }

    modifier isPaused() {
        require(state == ContractState.Paused);
        _;
    }

    modifier notPaused() {
        require(state != ContractState.Paused);
        _;
    }

    modifier isFundraisingIgnorePaused() {
        require(state == ContractState.Fundraising || (state == ContractState.Paused && savedState == ContractState.Fundraising));
        _;
    }

    modifier onlyOwner() {
        require(msg.sender == ethFundDeposit);
        _;
    }

    modifier minimumReached() {
        require(totalReceivedEth >= ETH_RECEIVED_MIN);
        _;
    }

    // Constructor
    function NEToken(
    address _ethFundDeposit,
    uint256 _fundingStartBlock,
    uint256 _fundingEndBlock,
    uint256 _exchangeRateChangesBlock)
    {
        // Check that the parameters make sense
        require(block.number <= _fundingStartBlock); // The start of the fundraising should happen in the future
        require(_fundingStartBlock <= _exchangeRateChangesBlock); // The exchange rate change should happen after the start of the fundraising
        require(_exchangeRateChangesBlock <= _fundingEndBlock); // And the end of the fundraising should happen after the exchange rate change

        // Contract state
        state = ContractState.Fundraising;
        savedState = ContractState.Fundraising;

        ethFundDeposit = _ethFundDeposit;
        fundingStartBlock = _fundingStartBlock;
        fundingEndBlock = _fundingEndBlock;
        exchangeRateChangesBlock = _exchangeRateChangesBlock;
        totalSupply = 0;
    }

    // Overridden method to check for end of fundraising before allowing transfer of tokens
    function transfer(address _to, uint256 _value)
    isFinalized // Only allow token transfer after the fundraising has ended
    onlyPayloadSize(2)
    returns (bool success)
    {
        return super.transfer(_to, _value);
    }


    // Overridden method to check for end of fundraising before allowing transfer of tokens
    function transferFrom(address _from, address _to, uint256 _value)
    isFinalized // Only allow token transfer after the fundraising has ended
    onlyPayloadSize(3)
    returns (bool success)
    {
        return super.transferFrom(_from, _to, _value);
    }


    /// @dev Accepts ether and creates new NET tokens
    function createTokens()
    payable
    external
    isFundraising
    {
        require(block.number >= fundingStartBlock);
        require(block.number <= fundingEndBlock);
        require(msg.value > 0);

        // First we check the ETH cap, as it's easier to calculate, return
        // the contribution if the cap has been reached already
        uint256 checkedReceivedEth = safeAdd(totalReceivedEth, msg.value);
        require(checkedReceivedEth <= ETH_RECEIVED_CAP);

        // If all is fine with the ETH cap, we continue to check the
        // minimum amount of tokens and the cap for how many tokens
        // have been generated so far
        uint256 tokens = safeMult(msg.value, getCurrentTokenPrice());
        require(tokens >= TOKEN_MIN);
        uint256 checkedSupply = safeAdd(totalSupply, tokens);
        require(checkedSupply <= TOKEN_CREATION_CAP);

        // Only when all the checks have passed, then we update the state (ethBalances,
        // totalReceivedEth, totalSupply, and balances) of the contract
        ethBalances[msg.sender] = safeAdd(ethBalances[msg.sender], msg.value);
        totalReceivedEth = checkedReceivedEth;
        totalSupply = checkedSupply;
        balances[msg.sender] += tokens;  // safeAdd not needed; bad semantics to use here

        // Log the creation of this tokens
        LogCreateNET(msg.sender, tokens);
    }


    /// @dev Returns the current token price
    function getCurrentTokenPrice()
    private
    constant
    returns (uint256 currentPrice)
    {
        if (block.number < exchangeRateChangesBlock) {
            return TOKEN_FIRST_EXCHANGE_RATE;
        } else {
            return TOKEN_SECOND_EXCHANGE_RATE;
        }
    }


    /// @dev Redeems NETs and records the Nimiq address of the sender
    function redeemTokens(bytes32 nimiqAddress)
    external
    isRedeeming
    {
        uint256 netVal = balances[msg.sender];
        require(netVal >= TOKEN_MIN); // At least TOKEN_MIN tokens have to be redeemed

        // Move the tokens of the caller to Nimiq's address
        if (!super.transfer(ethFundDeposit, netVal)) throw;

        // Log the redeeming of this tokens
        LogRedeemNET(msg.sender, netVal, nimiqAddress);
    }


    /// @dev Allows to transfer ether from the contract as soon as the minimum is reached
    function retrieveEth(uint256 _value)
    external
    minimumReached
    onlyOwner
    {
        require(_value <= this.balance);

        // send the eth to Nimiq Creators
        ethFundDeposit.transfer(_value);
    }


    /// @dev Ends the fundraising period and sends the ETH to the Multisig wallet
    function finalize()
    external
    isFundraising
    minimumReached
    onlyOwner // Only the owner of the ethFundDeposit address can finalize the contract
    {
        require(block.number > fundingEndBlock || totalSupply >= TOKEN_CREATION_CAP || totalReceivedEth >= ETH_RECEIVED_CAP); // Only allow to finalize the contract before the ending block if we already reached any of the two caps

        // Move the contract to Finalized state
        state = ContractState.Finalized;
        savedState = ContractState.Finalized;

        // Send the ETH to Nimiq Creators
        ethFundDeposit.transfer(this.balance);
    }


    /// @dev Starts the redeeming period
    function startRedeeming()
    external
    isFinalized // The redeeming period can only be started after the contract is finalized
    onlyOwner   // Only the owner of the ethFundDeposit address can start the redeeming period
    {
        // Move the contract to Redeeming state
        state = ContractState.Redeeming;
        savedState = ContractState.Redeeming;
    }


    /// @dev Pauses the contract
    function pause()
    external
    notPaused   // Prevent the contract getting stuck in the Paused state
    onlyOwner   // Only the owner of the ethFundDeposit address can pause the contract
    {
        // Move the contract to Paused state
        savedState = state;
        state = ContractState.Paused;
    }


    /// @dev Proceeds with the contract
    function proceed()
    external
    isPaused
    onlyOwner   // Only the owner of the ethFundDeposit address can proceed with the contract
    {
        // Move the contract to the previous state
        state = savedState;
    }


    /// @dev Allows contributors to recover their ether in case the minimum funding goal is not reached
    function refund()
    external
    isFundraisingIgnorePaused // Refunding is only possible in the fundraising phase (no matter if paused) by definition
    {
        require(block.number > fundingEndBlock); // Prevents refund until fundraising period is over
        require(totalReceivedEth < ETH_RECEIVED_MIN);  // No refunds if the minimum has been reached

        uint256 netVal = balances[msg.sender];
        require(netVal > 0);
        uint256 ethVal = ethBalances[msg.sender];
        require(ethVal > 0);

        // Update the state only after all the checks have passed
        balances[msg.sender] = 0;
        ethBalances[msg.sender] = 0;
        totalSupply = safeSubtract(totalSupply, netVal); // Extra safe

        // Log this refund
        LogRefund(msg.sender, ethVal);

        // Send the contributions only after we have updated all the balances
        // If you're using a contract, make sure it works with .transfer() gas limits
        msg.sender.transfer(ethVal);
    }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"TOKEN_SECOND_EXCHANGE_RATE","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"TOKEN_FIRST_EXCHANGE_RATE","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"ETH_RECEIVED_MIN","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":"nimiqAddress","type":"bytes32"}],"name":"redeemTokens","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"exchangeRateChangesBlock","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"proceed","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"finalize","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"version","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"refund","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalReceivedEth","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"fundingEndBlock","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"ethFundDeposit","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"createTokens","outputs":[],"payable":true,"type":"function"},{"constant":true,"inputs":[],"name":"state","outputs":[{"name":"","type":"uint8"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"fundingStartBlock","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"ETH_RECEIVED_CAP","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"startRedeeming","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"retrieveEth","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"TOKEN_MIN","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"TOKEN_CREATION_CAP","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"inputs":[{"name":"_ethFundDeposit","type":"address"},{"name":"_fundingStartBlock","type":"uint256"},{"name":"_fundingEndBlock","type":"uint256"},{"name":"_exchangeRateChangesBlock","type":"uint256"}],"payable":false,"type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"LogRefund","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"LogCreateNET","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_value","type":"uint256"},{"indexed":false,"name":"_nimiqAddress","type":"bytes32"}],"name":"LogRedeemNET","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"}]

60a0604052600360608190527f302e38000000000000000000000000000000000000000000000000000000000060809081526200003e9190816200013b565b50600060085534156200004d57fe5b6040516080806200163d83398101604090815281516020830151918301516060909301519092905b4383901115620000855760006000fd5b80831115620000945760006000fd5b81811115620000a35760006000fd5b600480546000919060a060020a60ff02191674010000000000000000000000000000000000000000835b0217905550600480546000919060a860020a60ff0219167501000000000000000000000000000000000000000000835b021790555060048054600160a060020a031916600160a060020a038616179055600583905560068290556007819055600080555b50505050620001e5565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200017e57805160ff1916838001178555620001ae565b82800160010185558215620001ae579182015b82811115620001ae57825182559160200191906001019062000191565b5b50620001bd929150620001c1565b5090565b620001e291905b80821115620001bd5760008155600101620001c8565b5090565b90565b61144880620001f56000396000f3006060604052361561017d5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166301e8b608811461017f57806306fdde03146101a1578063095ea7b314610231578063106f6a3d14610264578063168213491461028657806318160ddd146102a85780631fa3c372146102ca57806323b872dd146102df578063249f7aa0146103185780632a33fec61461033a578063313ce5671461034c5780634bb278f31461036e57806354fd4d5014610380578063590e1ae31461041057806370a08231146104225780637801fc3e146104505780638456cb591461047257806391b43d131461048457806395d89b41146104a6578063a81c3bdf14610536578063a9059cbb14610562578063b442726314610595578063c19d93fb1461059f578063d648a647146105d3578063d8e30740146105f5578063daf8f43814610617578063dd62ed3e14610629578063df5f06031461065d578063e74799b414610672578063f9fae4f714610694575bfe5b341561018757fe5b61018f6106b6565b60408051918252519081900360200190f35b34156101a957fe5b6101b16106bb565b6040805160208082528351818301528351919283929083019185019080838382156101f7575b8051825260208311156101f757601f1990920191602091820191016101d7565b505050905090810190601f1680156102235780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561023957fe5b610250600160a060020a03600435166024356106f2565b604080519115158252519081900360200190f35b341561026c57fe5b61018f61076a565b60408051918252519081900360200190f35b341561028e57fe5b61018f61076f565b60408051918252519081900360200190f35b34156102b057fe5b61018f61077d565b60408051918252519081900360200190f35b34156102d257fe5b6102dd600435610783565b005b34156102e757fe5b610250600160a060020a0360043581169060243516604435610846565b604080519115158252519081900360200190f35b341561032057fe5b61018f610892565b60408051918252519081900360200190f35b341561034257fe5b6102dd610898565b005b341561035457fe5b61018f61091d565b60408051918252519081900360200190f35b341561037657fe5b6102dd610922565b005b341561038857fe5b6101b1610a52565b6040805160208082528351818301528351919283929083019185019080838382156101f7575b8051825260208311156101f757601f1990920191602091820191016101d7565b505050905090810190601f1680156102235780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561041857fe5b6102dd610ae0565b005b341561042a57fe5b61018f600160a060020a0360043516610c70565b60408051918252519081900360200190f35b341561045857fe5b61018f610c8f565b60408051918252519081900360200190f35b341561047a57fe5b6102dd610c95565b005b341561048c57fe5b61018f610d4c565b60408051918252519081900360200190f35b34156104ae57fe5b6101b1610d52565b6040805160208082528351818301528351919283929083019185019080838382156101f7575b8051825260208311156101f757601f1990920191602091820191016101d7565b505050905090810190601f1680156102235780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561053e57fe5b610546610d89565b60408051600160a060020a039092168252519081900360200190f35b341561056a57fe5b610250600160a060020a0360043516602435610d98565b604080519115158252519081900360200190f35b6102dd610de2565b005b34156105a757fe5b6105af610f42565b604051808260038111156105bf57fe5b60ff16815260200191505060405180910390f35b34156105db57fe5b61018f610f52565b60408051918252519081900360200190f35b34156105fd57fe5b61018f610f58565b60408051918252519081900360200190f35b341561061f57fe5b6102dd610f66565b005b341561063157fe5b61018f600160a060020a036004358116906024351661100a565b60408051918252519081900360200190f35b341561066557fe5b6102dd600435611049565b005b341561067a57fe5b61018f6110cf565b60408051918252519081900360200190f35b341561069c57fe5b61018f6110db565b60408051918252519081900360200190f35b607d81565b60408051808201909152601b81527f4e696d6971204e6574776f726b20496e746572696d20546f6b656e0000000000602082015281565b600060023660441461070057fe5b600160a060020a03338116600081815260026020908152604080832094891680845294825291829020879055815187815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3600191505b5b5092915050565b60af81565b69010f0cf064dd5920000081565b60005481565b600060025b60045460a060020a900460ff1660038111156107a057fe5b146107ab5760006000fd5b50600160a060020a033316600090815260016020526040902054670de0b6b3a76400008110156107db5760006000fd5b6004546107f190600160a060020a0316826110ea565b15156107fd5760006000fd5b60408051828152602081018490528151600160a060020a033316927f32f07d013bbbed31ffbf01e74743d19f394b593429fd3c9c22e4ad2386fb897c928290030190a25b5b5050565b600060015b60045460a060020a900460ff16600381111561086357fe5b1461086e5760006000fd5b60033660641461087a57fe5b6108858585856111fe565b91505b5b505b9392505050565b60075481565b60035b60045460a060020a900460ff1660038111156108b357fe5b146108be5760006000fd5b60045433600160a060020a039081169116146108da5760006000fd5b6004805460ff60a860020a820416919074ff0000000000000000000000000000000000000000191660a060020a83600381111561091357fe5b02179055505b5b5b565b601281565b60005b60045460a060020a900460ff16600381111561093d57fe5b146109485760006000fd5b60085469010f0cf064dd592000009010156109635760006000fd5b60045433600160a060020a0390811691161461097f5760006000fd5b60065443118061099d57506000546a08af7623fb67bf1a8000009010155b806109b55750600854690cb49b44ba602d8000009010155b15156109c15760006000fd5b600480546001919074ff0000000000000000000000000000000000000000191660a060020a835b0217905550600480546001919075ff000000000000000000000000000000000000000000191660a860020a835b0217905550600454604051600160a060020a039182169130163180156108fc02916000818181858888f19350505050151561091957fe5b5b5b5b5b565b6003805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610ad85780601f10610aad57610100808354040283529160200191610ad8565b820191906000526020600020905b815481529060010190602001808311610abb57829003601f168201915b505050505081565b600080805b60045460a060020a900460ff166003811115610afd57fe5b1480610b44575060035b60045460a060020a900460ff166003811115610b1f57fe5b148015610b44575060005b60045460a860020a900460ff166003811115610b4257fe5b145b5b1515610b515760006000fd5b6006544311610b605760006000fd5b60085469010f0cf064dd592000009010610b7a5760006000fd5b600160a060020a03331660009081526001602052604081205492508211610ba15760006000fd5b50600160a060020a033316600090815260096020526040812054908111610bc85760006000fd5b600160a060020a03331660009081526001602090815260408083208390556009909152812081905554610bfb908361138e565b600055604080518281529051600160a060020a033316917fb6c0eca8138e097d71e2dd31e19a1266487f0553f170b7260ffe68bcbe9ff8a7919081900360200190a2604051600160a060020a0333169082156108fc029083906000818181858888f19350505050151561084157fe5b5b5b5050565b600160a060020a0381166000908152600160205260409020545b919050565b60085481565b60035b60045460a060020a900460ff166003811115610cb057fe5b1415610cbc5760006000fd5b60045433600160a060020a03908116911614610cd85760006000fd5b6004805460ff60a060020a820416919075ff000000000000000000000000000000000000000000191660a860020a836003811115610d1257fe5b0217905550600480546003919074ff0000000000000000000000000000000000000000191660a060020a83610913565b02179055505b5b5b565b60065481565b60408051808201909152600381527f4e45540000000000000000000000000000000000000000000000000000000000602082015281565b600454600160a060020a031681565b600060015b60045460a060020a900460ff166003811115610db557fe5b14610dc05760006000fd5b600236604414610dcc57fe5b610dd684846110ea565b91505b5b505b92915050565b60008080805b60045460a060020a900460ff166003811115610e0057fe5b14610e0b5760006000fd5b600554431015610e1b5760006000fd5b600654431115610e2b5760006000fd5b60003411610e395760006000fd5b610e45600854346113a9565b9250690cb49b44ba602d800000831115610e5f5760006000fd5b610e7034610e6b6113d1565b6113ed565b9150670de0b6b3a7640000821015610e885760006000fd5b610e94600054836113a9565b90506a08af7623fb67bf1a800000811115610eaf5760006000fd5b600160a060020a033316600090815260096020526040902054610ed290346113a9565b600160a060020a033316600081815260096020908152604080832094909455600887905584825560018152908390208054860190558251858152925191927fa851e2f6a23bffc9297b0cf5ce98ab7cc1c12bb5badfd864192c8f760ed58078929081900390910190a25b5b505050565b60045460a060020a900460ff1681565b60055481565b690cb49b44ba602d80000081565b60015b60045460a060020a900460ff166003811115610f8157fe5b14610f8c5760006000fd5b60045433600160a060020a03908116911614610fa85760006000fd5b600480546002919074ff0000000000000000000000000000000000000000191660a060020a835b0217905550600480546002919075ff000000000000000000000000000000000000000000191660a860020a83610913565b02179055505b5b5b565b600060023660441461101857fe5b600160a060020a0380851660009081526002602090815260408083209387168352929052205491505b5b5092915050565b60085469010f0cf064dd592000009010156110645760006000fd5b60045433600160a060020a039081169116146110805760006000fd5b600160a060020a033016318111156110985760006000fd5b600454604051600160a060020a039091169082156108fc029083906000818181858888f1935050505015156110c957fe5b5b5b5b50565b670de0b6b3a764000081565b6a08af7623fb67bf1a80000081565b600160a060020a0333166000908152600160205260408120548290108015906111135750600082115b80156111385750600160a060020a038316600090815260016020526040902054828101115b156111ef57600160a060020a033316600090815260016020526040902054611160908361138e565b600160a060020a03338116600090815260016020526040808220939093559085168152205461118f90836113a9565b600160a060020a038085166000818152600160209081526040918290209490945580518681529051919333909316927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3506001610ddc565b506000610ddc565b5b92915050565b600160a060020a03831660009081526001602052604081205482901080159061124e5750600160a060020a0380851660009081526002602090815260408083203390941683529290522054829010155b801561125a5750600082115b801561127f5750600160a060020a038316600090815260016020526040902054828101115b1561137e57600160a060020a0383166000908152600160205260409020546112a790836113a9565b600160a060020a0380851660009081526001602052604080822093909355908616815220546112d6908361138e565b600160a060020a0380861660009081526001602090815260408083209490945560028152838220339093168252919091522054611313908361138e565b600160a060020a038086166000818152600260209081526040808320338616845282529182902094909455805186815290519287169391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a350600161088b565b50600061088b565b5b9392505050565b6000808284101561139b57fe5b5050808203805b5092915050565b60008282018381108015906113be5750828110155b15156113c657fe5b8091505b5092915050565b60006007544310156113e5575060af6113e9565b50607d5b5b90565b60008282028315806113be575082848281151561140657fe5b04145b15156113c657fe5b8091505b50929150505600a165627a7a72305820ded3953a291dfd70cb7876ef7ecf2087935d6cd5b2e326321960d61488a9586f0029000000000000000000000000efa351d189c367d109859afdf6f3d17eeb0825a500000000000000000000000000000000000000000000000000000000003c290e00000000000000000000000000000000000000000000000000000000003e45ea00000000000000000000000000000000000000000000000000000000003d377c

Deployed Bytecode

0x6060604052361561017d5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166301e8b608811461017f57806306fdde03146101a1578063095ea7b314610231578063106f6a3d14610264578063168213491461028657806318160ddd146102a85780631fa3c372146102ca57806323b872dd146102df578063249f7aa0146103185780632a33fec61461033a578063313ce5671461034c5780634bb278f31461036e57806354fd4d5014610380578063590e1ae31461041057806370a08231146104225780637801fc3e146104505780638456cb591461047257806391b43d131461048457806395d89b41146104a6578063a81c3bdf14610536578063a9059cbb14610562578063b442726314610595578063c19d93fb1461059f578063d648a647146105d3578063d8e30740146105f5578063daf8f43814610617578063dd62ed3e14610629578063df5f06031461065d578063e74799b414610672578063f9fae4f714610694575bfe5b341561018757fe5b61018f6106b6565b60408051918252519081900360200190f35b34156101a957fe5b6101b16106bb565b6040805160208082528351818301528351919283929083019185019080838382156101f7575b8051825260208311156101f757601f1990920191602091820191016101d7565b505050905090810190601f1680156102235780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561023957fe5b610250600160a060020a03600435166024356106f2565b604080519115158252519081900360200190f35b341561026c57fe5b61018f61076a565b60408051918252519081900360200190f35b341561028e57fe5b61018f61076f565b60408051918252519081900360200190f35b34156102b057fe5b61018f61077d565b60408051918252519081900360200190f35b34156102d257fe5b6102dd600435610783565b005b34156102e757fe5b610250600160a060020a0360043581169060243516604435610846565b604080519115158252519081900360200190f35b341561032057fe5b61018f610892565b60408051918252519081900360200190f35b341561034257fe5b6102dd610898565b005b341561035457fe5b61018f61091d565b60408051918252519081900360200190f35b341561037657fe5b6102dd610922565b005b341561038857fe5b6101b1610a52565b6040805160208082528351818301528351919283929083019185019080838382156101f7575b8051825260208311156101f757601f1990920191602091820191016101d7565b505050905090810190601f1680156102235780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561041857fe5b6102dd610ae0565b005b341561042a57fe5b61018f600160a060020a0360043516610c70565b60408051918252519081900360200190f35b341561045857fe5b61018f610c8f565b60408051918252519081900360200190f35b341561047a57fe5b6102dd610c95565b005b341561048c57fe5b61018f610d4c565b60408051918252519081900360200190f35b34156104ae57fe5b6101b1610d52565b6040805160208082528351818301528351919283929083019185019080838382156101f7575b8051825260208311156101f757601f1990920191602091820191016101d7565b505050905090810190601f1680156102235780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561053e57fe5b610546610d89565b60408051600160a060020a039092168252519081900360200190f35b341561056a57fe5b610250600160a060020a0360043516602435610d98565b604080519115158252519081900360200190f35b6102dd610de2565b005b34156105a757fe5b6105af610f42565b604051808260038111156105bf57fe5b60ff16815260200191505060405180910390f35b34156105db57fe5b61018f610f52565b60408051918252519081900360200190f35b34156105fd57fe5b61018f610f58565b60408051918252519081900360200190f35b341561061f57fe5b6102dd610f66565b005b341561063157fe5b61018f600160a060020a036004358116906024351661100a565b60408051918252519081900360200190f35b341561066557fe5b6102dd600435611049565b005b341561067a57fe5b61018f6110cf565b60408051918252519081900360200190f35b341561069c57fe5b61018f6110db565b60408051918252519081900360200190f35b607d81565b60408051808201909152601b81527f4e696d6971204e6574776f726b20496e746572696d20546f6b656e0000000000602082015281565b600060023660441461070057fe5b600160a060020a03338116600081815260026020908152604080832094891680845294825291829020879055815187815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3600191505b5b5092915050565b60af81565b69010f0cf064dd5920000081565b60005481565b600060025b60045460a060020a900460ff1660038111156107a057fe5b146107ab5760006000fd5b50600160a060020a033316600090815260016020526040902054670de0b6b3a76400008110156107db5760006000fd5b6004546107f190600160a060020a0316826110ea565b15156107fd5760006000fd5b60408051828152602081018490528151600160a060020a033316927f32f07d013bbbed31ffbf01e74743d19f394b593429fd3c9c22e4ad2386fb897c928290030190a25b5b5050565b600060015b60045460a060020a900460ff16600381111561086357fe5b1461086e5760006000fd5b60033660641461087a57fe5b6108858585856111fe565b91505b5b505b9392505050565b60075481565b60035b60045460a060020a900460ff1660038111156108b357fe5b146108be5760006000fd5b60045433600160a060020a039081169116146108da5760006000fd5b6004805460ff60a860020a820416919074ff0000000000000000000000000000000000000000191660a060020a83600381111561091357fe5b02179055505b5b5b565b601281565b60005b60045460a060020a900460ff16600381111561093d57fe5b146109485760006000fd5b60085469010f0cf064dd592000009010156109635760006000fd5b60045433600160a060020a0390811691161461097f5760006000fd5b60065443118061099d57506000546a08af7623fb67bf1a8000009010155b806109b55750600854690cb49b44ba602d8000009010155b15156109c15760006000fd5b600480546001919074ff0000000000000000000000000000000000000000191660a060020a835b0217905550600480546001919075ff000000000000000000000000000000000000000000191660a860020a835b0217905550600454604051600160a060020a039182169130163180156108fc02916000818181858888f19350505050151561091957fe5b5b5b5b5b565b6003805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610ad85780601f10610aad57610100808354040283529160200191610ad8565b820191906000526020600020905b815481529060010190602001808311610abb57829003601f168201915b505050505081565b600080805b60045460a060020a900460ff166003811115610afd57fe5b1480610b44575060035b60045460a060020a900460ff166003811115610b1f57fe5b148015610b44575060005b60045460a860020a900460ff166003811115610b4257fe5b145b5b1515610b515760006000fd5b6006544311610b605760006000fd5b60085469010f0cf064dd592000009010610b7a5760006000fd5b600160a060020a03331660009081526001602052604081205492508211610ba15760006000fd5b50600160a060020a033316600090815260096020526040812054908111610bc85760006000fd5b600160a060020a03331660009081526001602090815260408083208390556009909152812081905554610bfb908361138e565b600055604080518281529051600160a060020a033316917fb6c0eca8138e097d71e2dd31e19a1266487f0553f170b7260ffe68bcbe9ff8a7919081900360200190a2604051600160a060020a0333169082156108fc029083906000818181858888f19350505050151561084157fe5b5b5b5050565b600160a060020a0381166000908152600160205260409020545b919050565b60085481565b60035b60045460a060020a900460ff166003811115610cb057fe5b1415610cbc5760006000fd5b60045433600160a060020a03908116911614610cd85760006000fd5b6004805460ff60a060020a820416919075ff000000000000000000000000000000000000000000191660a860020a836003811115610d1257fe5b0217905550600480546003919074ff0000000000000000000000000000000000000000191660a060020a83610913565b02179055505b5b5b565b60065481565b60408051808201909152600381527f4e45540000000000000000000000000000000000000000000000000000000000602082015281565b600454600160a060020a031681565b600060015b60045460a060020a900460ff166003811115610db557fe5b14610dc05760006000fd5b600236604414610dcc57fe5b610dd684846110ea565b91505b5b505b92915050565b60008080805b60045460a060020a900460ff166003811115610e0057fe5b14610e0b5760006000fd5b600554431015610e1b5760006000fd5b600654431115610e2b5760006000fd5b60003411610e395760006000fd5b610e45600854346113a9565b9250690cb49b44ba602d800000831115610e5f5760006000fd5b610e7034610e6b6113d1565b6113ed565b9150670de0b6b3a7640000821015610e885760006000fd5b610e94600054836113a9565b90506a08af7623fb67bf1a800000811115610eaf5760006000fd5b600160a060020a033316600090815260096020526040902054610ed290346113a9565b600160a060020a033316600081815260096020908152604080832094909455600887905584825560018152908390208054860190558251858152925191927fa851e2f6a23bffc9297b0cf5ce98ab7cc1c12bb5badfd864192c8f760ed58078929081900390910190a25b5b505050565b60045460a060020a900460ff1681565b60055481565b690cb49b44ba602d80000081565b60015b60045460a060020a900460ff166003811115610f8157fe5b14610f8c5760006000fd5b60045433600160a060020a03908116911614610fa85760006000fd5b600480546002919074ff0000000000000000000000000000000000000000191660a060020a835b0217905550600480546002919075ff000000000000000000000000000000000000000000191660a860020a83610913565b02179055505b5b5b565b600060023660441461101857fe5b600160a060020a0380851660009081526002602090815260408083209387168352929052205491505b5b5092915050565b60085469010f0cf064dd592000009010156110645760006000fd5b60045433600160a060020a039081169116146110805760006000fd5b600160a060020a033016318111156110985760006000fd5b600454604051600160a060020a039091169082156108fc029083906000818181858888f1935050505015156110c957fe5b5b5b5b50565b670de0b6b3a764000081565b6a08af7623fb67bf1a80000081565b600160a060020a0333166000908152600160205260408120548290108015906111135750600082115b80156111385750600160a060020a038316600090815260016020526040902054828101115b156111ef57600160a060020a033316600090815260016020526040902054611160908361138e565b600160a060020a03338116600090815260016020526040808220939093559085168152205461118f90836113a9565b600160a060020a038085166000818152600160209081526040918290209490945580518681529051919333909316927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3506001610ddc565b506000610ddc565b5b92915050565b600160a060020a03831660009081526001602052604081205482901080159061124e5750600160a060020a0380851660009081526002602090815260408083203390941683529290522054829010155b801561125a5750600082115b801561127f5750600160a060020a038316600090815260016020526040902054828101115b1561137e57600160a060020a0383166000908152600160205260409020546112a790836113a9565b600160a060020a0380851660009081526001602052604080822093909355908616815220546112d6908361138e565b600160a060020a0380861660009081526001602090815260408083209490945560028152838220339093168252919091522054611313908361138e565b600160a060020a038086166000818152600260209081526040808320338616845282529182902094909455805186815290519287169391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a350600161088b565b50600061088b565b5b9392505050565b6000808284101561139b57fe5b5050808203805b5092915050565b60008282018381108015906113be5750828110155b15156113c657fe5b8091505b5092915050565b60006007544310156113e5575060af6113e9565b50607d5b5b90565b60008282028315806113be575082848281151561140657fe5b04145b15156113c657fe5b8091505b50929150505600a165627a7a72305820ded3953a291dfd70cb7876ef7ecf2087935d6cd5b2e326321960d61488a9586f0029

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

000000000000000000000000efa351d189c367d109859afdf6f3d17eeb0825a500000000000000000000000000000000000000000000000000000000003c290e00000000000000000000000000000000000000000000000000000000003e45ea00000000000000000000000000000000000000000000000000000000003d377c

-----Decoded View---------------
Arg [0] : _ethFundDeposit (address): 0xEFa351D189c367D109859AFdF6f3D17EEb0825a5
Arg [1] : _fundingStartBlock (uint256): 3942670
Arg [2] : _fundingEndBlock (uint256): 4081130
Arg [3] : _exchangeRateChangesBlock (uint256): 4011900

-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 000000000000000000000000efa351d189c367d109859afdf6f3d17eeb0825a5
Arg [1] : 00000000000000000000000000000000000000000000000000000000003c290e
Arg [2] : 00000000000000000000000000000000000000000000000000000000003e45ea
Arg [3] : 00000000000000000000000000000000000000000000000000000000003d377c


Swarm Source

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