ETH Price: $3,465.50 (+2.19%)

Contract

0xF37c4A962e70d813A4D9825942141Cd9Bc5169Fd
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer51661552018-02-27 15:36:332488 days ago1519745793IN
HOQU: Token Sale
1 ETH0.0021952100
Transfer50126472018-02-01 17:31:132514 days ago1517506273IN
HOQU: Token Sale
0.01 ETH0.001139325.1875
Transfer50049702018-01-31 9:48:172515 days ago1517392097IN
HOQU: Token Sale
0 ETH0.00048422
Transfer50016162018-01-30 20:25:342516 days ago1517343934IN
HOQU: Token Sale
0.39 ETH0.0028496763
Transfer49974682018-01-30 3:03:092517 days ago1517281389IN
HOQU: Token Sale
0.01 ETH0.0013569930
Transfer49808742018-01-27 8:28:382519 days ago1517041718IN
HOQU: Token Sale
1 ETH0.0018545541
Transfer49645272018-01-24 14:24:172522 days ago1516803857IN
HOQU: Token Sale
0.73536534 ETH0.0027139860
Transfer49552682018-01-23 0:53:512524 days ago1516668831IN
HOQU: Token Sale
0.05 ETH00
Transfer49515722018-01-22 9:47:062524 days ago1516614426IN
HOQU: Token Sale
0.1 ETH0.0027139860
Transfer49495962018-01-22 1:45:302525 days ago1516585530IN
HOQU: Token Sale
0.05 ETH0.0027410730
Transfer49474582018-01-21 16:58:542525 days ago1516553934IN
HOQU: Token Sale
0.09 ETH0.003640
Transfer49474582018-01-21 16:58:542525 days ago1516553934IN
HOQU: Token Sale
0.989 ETH0.003640
Transfer49474582018-01-21 16:58:542525 days ago1516553934IN
HOQU: Token Sale
0.31 ETH0.003640
Transfer49474582018-01-21 16:58:542525 days ago1516553934IN
HOQU: Token Sale
0.24 ETH0.003640
Transfer49474572018-01-21 16:58:352525 days ago1516553915IN
HOQU: Token Sale
0.1255 ETH0.003640
Transfer49474572018-01-21 16:58:352525 days ago1516553915IN
HOQU: Token Sale
0.0974 ETH0.003640
Transfer49474572018-01-21 16:58:352525 days ago1516553915IN
HOQU: Token Sale
1.244276 ETH0.003640
Transfer49474572018-01-21 16:58:352525 days ago1516553915IN
HOQU: Token Sale
3.989238 ETH0.003640
Transfer49474572018-01-21 16:58:352525 days ago1516553915IN
HOQU: Token Sale
0.99 ETH0.003640
Transfer49474572018-01-21 16:58:352525 days ago1516553915IN
HOQU: Token Sale
0.13 ETH0.003640
Transfer49468712018-01-21 14:26:432525 days ago1516544803IN
HOQU: Token Sale
2.06913 ETH00.00000002
Transfer49442152018-01-21 3:37:142526 days ago1516505834IN
HOQU: Token Sale
1 ETH00.00000003
Transfer49397342018-01-20 9:27:082526 days ago1516440428IN
HOQU: Token Sale
0.989 ETH0.005460
Transfer49397342018-01-20 9:27:082526 days ago1516440428IN
HOQU: Token Sale
0.13 ETH0.005460
Transfer49397342018-01-20 9:27:082526 days ago1516440428IN
HOQU: Token Sale
0.31 ETH0.005460
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
50126472018-02-01 17:31:132514 days ago1517506273
HOQU: Token Sale
0.01 ETH
50016162018-01-30 20:25:342516 days ago1517343934
HOQU: Token Sale
0.39 ETH
49974682018-01-30 3:03:092517 days ago1517281389
HOQU: Token Sale
0.01 ETH
49808742018-01-27 8:28:382519 days ago1517041718
HOQU: Token Sale
1 ETH
49645272018-01-24 14:24:172522 days ago1516803857
HOQU: Token Sale
0.73536534 ETH
49552682018-01-23 0:53:512524 days ago1516668831
HOQU: Token Sale
0.05 ETH
49515722018-01-22 9:47:062524 days ago1516614426
HOQU: Token Sale
0.1 ETH
49495962018-01-22 1:45:302525 days ago1516585530
HOQU: Token Sale
0.05 ETH
49468712018-01-21 14:26:432525 days ago1516544803
HOQU: Token Sale
2.06913 ETH
49358592018-01-19 17:17:052527 days ago1516382225
HOQU: Token Sale
0.005 ETH
49347412018-01-19 12:30:512527 days ago1516365051
HOQU: Token Sale
0.2 ETH
49319592018-01-19 0:43:562528 days ago1516322636
HOQU: Token Sale
0.001 ETH
49283032018-01-18 9:10:172528 days ago1516266617
HOQU: Token Sale
0.095 ETH
49273842018-01-18 5:01:392528 days ago1516251699
HOQU: Token Sale
4 ETH
49251592018-01-17 19:17:212529 days ago1516216641
HOQU: Token Sale
0.08 ETH
49213242018-01-17 2:55:462530 days ago1516157746
HOQU: Token Sale
0.01129325 ETH
49165792018-01-16 6:09:352530 days ago1516082975
HOQU: Token Sale
1 ETH
49146442018-01-15 21:49:092531 days ago1516052949
HOQU: Token Sale
0.75 ETH
49107652018-01-15 4:33:292531 days ago1515990809
HOQU: Token Sale
0.00022971 ETH
49019612018-01-13 14:18:162533 days ago1515853096
HOQU: Token Sale
0.06 ETH
49018412018-01-13 13:46:432533 days ago1515851203
HOQU: Token Sale
0.01 ETH
49007982018-01-13 9:23:492533 days ago1515835429
HOQU: Token Sale
0.08285153 ETH
48996672018-01-13 4:23:172533 days ago1515817397
HOQU: Token Sale
0.00132084 ETH
48990062018-01-13 1:26:542534 days ago1515806814
HOQU: Token Sale
0.00229711 ETH
48987892018-01-13 0:25:092534 days ago1515803109
HOQU: Token Sale
0.03 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ChangeableRateCrowdsale

Compiler Version
v0.4.18+commit.9cf6e910

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2017-11-27
*/

pragma solidity ^0.4.11;

/**
 * @title SafeMath
 * @dev Math operations with safety checks that throw on error
 */
library SafeMath {
    function mul(uint256 a, uint256 b) internal constant returns (uint256) {
        uint256 c = a * b;
        assert(a == 0 || c / a == b);
        return c;
    }

    function div(uint256 a, uint256 b) internal constant 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 c;
    }

    function sub(uint256 a, uint256 b) internal constant returns (uint256) {
        assert(b <= a);
        return a - b;
    }

    function add(uint256 a, uint256 b) internal constant returns (uint256) {
        uint256 c = a + b;
        assert(c >= a);
        return c;
    }
}

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


    /**
     * @dev The Ownable constructor sets the original `owner` of the contract to the sender
     * account.
     */
    function Ownable() {
        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 transfer control of the contract to a newOwner.
     * @param newOwner The address to transfer ownership to.
     */
    function transferOwnership(address newOwner) onlyOwner {
        if (newOwner != address(0)) {
            owner = newOwner;
        }
    }

}

/**
 * @title Pausable
 * @dev Base contract which allows children to implement an emergency stop mechanism.
 */
contract Pausable is Ownable {
    event Pause();
    event Unpause();

    bool public paused = false;


    /**
     * @dev modifier to allow actions only when the contract IS paused
     */
    modifier whenNotPaused() {
        require(!paused);
        _;
    }

    /**
     * @dev modifier to allow actions only when the contract IS NOT paused
     */
    modifier whenPaused {
        require(paused);
        _;
    }

    /**
     * @dev called by the owner to pause, triggers stopped state
     */
    function pause() onlyOwner whenNotPaused returns (bool) {
        paused = true;
        Pause();
        return true;
    }

    /**
     * @dev called by the owner to unpause, returns to normal state
     */
    function unpause() onlyOwner whenPaused returns (bool) {
        paused = false;
        Unpause();
        return true;
    }
}

/**
 * @title ERC20Basic
 * @dev Simpler version of ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/179
 */
contract ERC20Basic {
    uint256 public totalSupply;
    function balanceOf(address who) constant returns (uint256);
    function transfer(address to, uint256 value) returns (bool);
    event Transfer(address indexed from, address indexed to, 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;

    /**
    * @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) returns (bool) {
        balances[msg.sender] = balances[msg.sender].sub(_value);
        balances[_to] = balances[_to].add(_value);
        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) constant returns (uint256 balance) {
        return balances[_owner];
    }

}

/**
 * @title ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/20
 */
contract ERC20 is ERC20Basic {
    function allowance(address owner, address spender) constant returns (uint256);
    function transferFrom(address from, address to, uint256 value) returns (bool);
    function approve(address spender, uint256 value) returns (bool);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

/**
 * @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)) 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 amout of tokens to be transfered
     */
    function transferFrom(address _from, address _to, uint256 _value) returns (bool) {
        var _allowance = allowed[_from][msg.sender];

        // Check is not needed because sub(_allowance, _value) will already throw if this condition is not met
        // require (_value <= _allowance);

        balances[_to] = balances[_to].add(_value);
        balances[_from] = balances[_from].sub(_value);
        allowed[_from][msg.sender] = _allowance.sub(_value);
        Transfer(_from, _to, _value);
        return true;
    }

    /**
     * @dev Aprove the passed address to spend the specified amount of tokens on behalf of msg.sender.
     * @param _spender The address which will spend the funds.
     * @param _value The amount of tokens to be spent.
     */
    function approve(address _spender, uint256 _value) returns (bool) {

        // To change the approve amount you first have to reduce the addresses`
        //  allowance to zero by calling `approve(_spender, 0)` if it is not
        //  already 0 to mitigate the race condition described here:
        //  https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
        require((_value == 0) || (allowed[msg.sender][_spender] == 0));

        allowed[msg.sender][_spender] = _value;
        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 specifing the amount of tokens still avaible for the spender.
     */
    function allowance(address _owner, address _spender) constant returns (uint256 remaining) {
        return allowed[_owner][_spender];
    }

}

/**
 * @title HoQuToken
 * @dev HoQu.io token contract.
 */
contract HoQuToken is StandardToken, Pausable {

    string public constant name = "HOQU Token";
    string public constant symbol = "HQX";
    uint32 public constant decimals = 18;

    /**
     * @dev Give all tokens to msg.sender.
     */
    function HoQuToken(uint _totalSupply) {
        require (_totalSupply > 0);
        totalSupply = balances[msg.sender] = _totalSupply;
    }

    function transfer(address _to, uint _value) whenNotPaused returns (bool) {
        return super.transfer(_to, _value);
    }

    function transferFrom(address _from, address _to, uint _value) whenNotPaused returns (bool) {
        return super.transferFrom(_from, _to, _value);
    }
}

/**
 * @title ClaimableCrowdsale
 * @title HoQu.io claimable crowdsale contract.
 */
contract ClaimableCrowdsale is Pausable {
    using SafeMath for uint256;

    // all accepted ethers will be sent to this address
    address beneficiaryAddress;

    // all remain tokens after ICO should go to that address
    address public bankAddress;

    // token instance
    HoQuToken public token;

    uint256 public maxTokensAmount;
    uint256 public issuedTokensAmount = 0;
    uint256 public minBuyableAmount;
    uint256 public tokenRate; // amount of HQX per 1 ETH
    
    uint256 endDate;

    bool public isFinished = false;

    // buffer for claimable tokens
    mapping(address => uint256) public tokens;
    mapping(address => bool) public approved;
    mapping(uint32 => address) internal tokenReceivers;
    uint32 internal receiversCount;

    /**
    * Events for token purchase logging
    */
    event TokenBought(address indexed _buyer, uint256 _tokens, uint256 _amount);
    event TokenAdded(address indexed _receiver, uint256 _tokens, uint256 _equivalentAmount);
    event TokenToppedUp(address indexed _receiver, uint256 _tokens, uint256 _equivalentAmount);
    event TokenSubtracted(address indexed _receiver, uint256 _tokens, uint256 _equivalentAmount);
    event TokenSent(address indexed _receiver, uint256 _tokens);

    modifier inProgress() {
        require (!isFinished);
        require (issuedTokensAmount < maxTokensAmount);
        require (now <= endDate);
        _;
    }
    
    /**
    * @param _tokenAddress address of a HQX token contract
    * @param _bankAddress address for remain HQX tokens accumulation
    * @param _beneficiaryAddress accepted ETH go to this address
    * @param _tokenRate rate HQX per 1 ETH
    * @param _minBuyableAmount min ETH per each buy action (in ETH wei)
    * @param _maxTokensAmount ICO HQX capacity (in HQX wei)
    * @param _endDate the date when ICO will expire
    */
    function ClaimableCrowdsale(
        address _tokenAddress,
        address _bankAddress,
        address _beneficiaryAddress,
        uint256 _tokenRate,
        uint256 _minBuyableAmount,
        uint256 _maxTokensAmount,
        uint256 _endDate
    ) {
        token = HoQuToken(_tokenAddress);

        bankAddress = _bankAddress;
        beneficiaryAddress = _beneficiaryAddress;

        tokenRate = _tokenRate;
        minBuyableAmount = _minBuyableAmount;
        maxTokensAmount = _maxTokensAmount;

        endDate = _endDate;
    }

    /*
     * @dev Set new HoQu token exchange rate.
     */
    function setTokenRate(uint256 _tokenRate) onlyOwner {
        require (_tokenRate > 0);
        tokenRate = _tokenRate;
    }

    /**
     * Buy HQX. Tokens will be stored in contract until claim stage
     */
    function buy() payable inProgress whenNotPaused {
        uint256 payAmount = msg.value;
        uint256 returnAmount = 0;

        // calculate token amount to be transfered to investor
        uint256 tokensAmount = tokenRate.mul(payAmount);
    
        if (issuedTokensAmount + tokensAmount > maxTokensAmount) {
            tokensAmount = maxTokensAmount.sub(issuedTokensAmount);
            payAmount = tokensAmount.div(tokenRate);
            returnAmount = msg.value.sub(payAmount);
        }
    
        issuedTokensAmount = issuedTokensAmount.add(tokensAmount);
        require (issuedTokensAmount <= maxTokensAmount);

        storeTokens(msg.sender, tokensAmount);
        TokenBought(msg.sender, tokensAmount, payAmount);

        beneficiaryAddress.transfer(payAmount);
    
        if (returnAmount > 0) {
            msg.sender.transfer(returnAmount);
        }
    }

    /**
     * Add HQX payed by another crypto (BTC, LTC). Tokens will be stored in contract until claim stage
     */
    function add(address _receiver, uint256 _equivalentEthAmount) onlyOwner inProgress whenNotPaused {
        uint256 tokensAmount = tokenRate.mul(_equivalentEthAmount);
        issuedTokensAmount = issuedTokensAmount.add(tokensAmount);

        storeTokens(_receiver, tokensAmount);
        TokenAdded(_receiver, tokensAmount, _equivalentEthAmount);
    }

    /**
     * Add HQX by referral program. Tokens will be stored in contract until claim stage
     */
    function topUp(address _receiver, uint256 _equivalentEthAmount) onlyOwner whenNotPaused {
        uint256 tokensAmount = tokenRate.mul(_equivalentEthAmount);
        issuedTokensAmount = issuedTokensAmount.add(tokensAmount);

        storeTokens(_receiver, tokensAmount);
        TokenToppedUp(_receiver, tokensAmount, _equivalentEthAmount);
    }

    /**
     * Reduce bought HQX amount. Emergency use only
     */
    function sub(address _receiver, uint256 _equivalentEthAmount) onlyOwner whenNotPaused {
        uint256 tokensAmount = tokenRate.mul(_equivalentEthAmount);

        require (tokens[_receiver] >= tokensAmount);

        tokens[_receiver] = tokens[_receiver].sub(tokensAmount);
        issuedTokensAmount = issuedTokensAmount.sub(tokensAmount);

        TokenSubtracted(_receiver, tokensAmount, _equivalentEthAmount);
    }

    /**
     * Internal method for storing tokens in contract until claim stage
     */
    function storeTokens(address _receiver, uint256 _tokensAmount) internal whenNotPaused {
        if (tokens[_receiver] == 0) {
            tokenReceivers[receiversCount] = _receiver;
            receiversCount++;
            approved[_receiver] = false;
        }
        tokens[_receiver] = tokens[_receiver].add(_tokensAmount);
    }

    /**
     * Claim all bought HQX. Available tokens will be sent to transaction sender address if it is approved
     */
    function claim() whenNotPaused {
        claimFor(msg.sender);
    }

    /**
     * Claim all bought HQX for specific approved address
     */
    function claimOne(address _receiver) onlyOwner whenNotPaused {
        claimFor(_receiver);
    }

    /**
     * Claim all bought HQX for all approved addresses
     */
    function claimAll() onlyOwner whenNotPaused {
        for (uint32 i = 0; i < receiversCount; i++) {
            address receiver = tokenReceivers[i];
            if (approved[receiver] && tokens[receiver] > 0) {
                claimFor(receiver);
            }
        }
    }

    /**
     * Internal method for claiming tokens for specific approved address
     */
    function claimFor(address _receiver) internal whenNotPaused {
        require(approved[_receiver]);
        require(tokens[_receiver] > 0);

        uint256 tokensToSend = tokens[_receiver];
        tokens[_receiver] = 0;

        token.transferFrom(bankAddress, _receiver, tokensToSend);
        TokenSent(_receiver, tokensToSend);
    }

    function approve(address _receiver) onlyOwner whenNotPaused {
        approved[_receiver] = true;
    }
    
    /**
     * Finish Sale.
     */
    function finish() onlyOwner {
        require (issuedTokensAmount >= maxTokensAmount || now > endDate);
        require (!isFinished);
        isFinished = true;
        token.transfer(bankAddress, token.balanceOf(this));
    }

    function getReceiversCount() constant onlyOwner returns (uint32) {
        return receiversCount;
    }

    function getReceiver(uint32 i) constant onlyOwner returns (address) {
        return tokenReceivers[i];
    }
    
    /**
     * Buy HQX. Tokens will be stored in contract until claim stage
     */
    function() external payable {
        buy();
    }
}

/**
 * @title ChangeableRateCrowdsale
 * @dev HoQu.io Main Sale stage
 */
contract ChangeableRateCrowdsale is ClaimableCrowdsale {

    struct RateBoundary {
        uint256 amount;
        uint256 rate;
    }

    mapping (uint => RateBoundary) public rateBoundaries;
    uint public currentBoundary = 0;
    uint public numOfBoundaries = 0;
    uint256 public nextBoundaryAmount;

    /**
    * @param _tokenAddress address of a HQX token contract
    * @param _bankAddress address for remain HQX tokens accumulation
    * @param _beneficiaryAddress accepted ETH go to this address
    * @param _tokenRate rate HQX per 1 ETH
    * @param _minBuyableAmount min ETH per each buy action (in ETH wei)
    * @param _maxTokensAmount ICO HQX capacity (in HQX wei)
    * @param _endDate the date when ICO will expire
    */
    function ChangeableRateCrowdsale(
        address _tokenAddress,
        address _bankAddress,
        address _beneficiaryAddress,
        uint256 _tokenRate,
        uint256 _minBuyableAmount,
        uint256 _maxTokensAmount,
        uint256 _endDate
    ) ClaimableCrowdsale(
        _tokenAddress,
        _bankAddress,
        _beneficiaryAddress,
        _tokenRate,
        _minBuyableAmount,
        _maxTokensAmount,
        _endDate
    ) {
        rateBoundaries[numOfBoundaries++] = RateBoundary({
            amount : 13777764 ether,
            rate : 6000
        });
        rateBoundaries[numOfBoundaries++] = RateBoundary({
            amount : 27555528 ether,
            rate : 5750
        });
        rateBoundaries[numOfBoundaries++] = RateBoundary({
            amount : 41333292 ether,
            rate : 5650
        });
        rateBoundaries[numOfBoundaries++] = RateBoundary({
            amount : 55111056 ether,
            rate : 5550
        });
        rateBoundaries[numOfBoundaries++] = RateBoundary({
            amount : 68888820 ether,
            rate : 5450
        });
        rateBoundaries[numOfBoundaries++] = RateBoundary({
            amount : 82666584 ether,
            rate : 5350
        });
        rateBoundaries[numOfBoundaries++] = RateBoundary({
            amount : 96444348 ether,
            rate : 5250
        });
        rateBoundaries[numOfBoundaries++] = RateBoundary({
            amount : 110222112 ether,
            rate : 5150
        });
        rateBoundaries[numOfBoundaries++] = RateBoundary({
            amount : 137777640 ether,
            rate : 5000
        });
        nextBoundaryAmount = rateBoundaries[currentBoundary].amount;
    }

    /**
     * Internal method to change rate if boundary is hit
     */
    function touchRate() internal {
        if (issuedTokensAmount >= nextBoundaryAmount) {
            currentBoundary++;
            if (currentBoundary >= numOfBoundaries) {
                nextBoundaryAmount = maxTokensAmount;
            }
            else {
                nextBoundaryAmount = rateBoundaries[currentBoundary].amount;
                tokenRate = rateBoundaries[currentBoundary].rate;
            }
        }
    }

    /**
     * Inherited internal method for storing tokens in contract until claim stage
     */
    function storeTokens(address _receiver, uint256 _tokensAmount) internal whenNotPaused {
        ClaimableCrowdsale.storeTokens(_receiver, _tokensAmount);
        touchRate();
    }
}

Contract Security Audit

Contract ABI

[{"constant":false,"inputs":[{"name":"_receiver","type":"address"}],"name":"claimOne","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"maxTokensAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"minBuyableAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_receiver","type":"address"},{"name":"_equivalentEthAmount","type":"uint256"}],"name":"sub","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"tokenRate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"i","type":"uint32"}],"name":"getReceiver","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"rateBoundaries","outputs":[{"name":"amount","type":"uint256"},{"name":"rate","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"claim","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_tokenRate","type":"uint256"}],"name":"setTokenRate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"bankAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isFinished","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[{"name":"","type":"bool"}],"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":"currentBoundary","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"buy","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"getReceiversCount","outputs":[{"name":"","type":"uint32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"claimAll","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"numOfBoundaries","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"finish","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_receiver","type":"address"},{"name":"_equivalentEthAmount","type":"uint256"}],"name":"topUp","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"approved","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_receiver","type":"address"}],"name":"approve","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"tokens","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"issuedTokensAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"nextBoundaryAmount","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":false,"inputs":[{"name":"_receiver","type":"address"},{"name":"_equivalentEthAmount","type":"uint256"}],"name":"add","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"token","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_tokenAddress","type":"address"},{"name":"_bankAddress","type":"address"},{"name":"_beneficiaryAddress","type":"address"},{"name":"_tokenRate","type":"uint256"},{"name":"_minBuyableAmount","type":"uint256"},{"name":"_maxTokensAmount","type":"uint256"},{"name":"_endDate","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_buyer","type":"address"},{"indexed":false,"name":"_tokens","type":"uint256"},{"indexed":false,"name":"_amount","type":"uint256"}],"name":"TokenBought","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_receiver","type":"address"},{"indexed":false,"name":"_tokens","type":"uint256"},{"indexed":false,"name":"_equivalentAmount","type":"uint256"}],"name":"TokenAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_receiver","type":"address"},{"indexed":false,"name":"_tokens","type":"uint256"},{"indexed":false,"name":"_equivalentAmount","type":"uint256"}],"name":"TokenToppedUp","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_receiver","type":"address"},{"indexed":false,"name":"_tokens","type":"uint256"},{"indexed":false,"name":"_equivalentAmount","type":"uint256"}],"name":"TokenSubtracted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_receiver","type":"address"},{"indexed":false,"name":"_tokens","type":"uint256"}],"name":"TokenSent","type":"event"},{"anonymous":false,"inputs":[],"name":"Pause","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpause","type":"event"}]

60606040526000805460a060020a60ff021916815560058190556009805460ff19169055600f819055601055341561003657600080fd5b60405160e08061150f8339810160405280805191906020018051919060200180519190602001805191906020018051919060200180519190602001805160008054600160a060020a03338116600160a060020a03199283161790925560038054838d1690831617905560028054838c1690831617905560018054928a16929091169190911790556007869055600685905560048490556008819055915060409050805190810160409081526a0b658e154215c96f100000825261177060208084019190915260108054600181019091556000908152600e90915220815181556020820151600190910155506040805190810160409081526a16cb1c2a842b92de200000825261167660208084019190915260108054600181019091556000908152600e90915220815181556020820151600190910155506040805190810160409081526a2230aa3fc6415c4d300000825261161260208084019190915260108054600181019091556000908152600e90915220815181556020820151600190910155506040805190810160409081526a2d963855085725bc40000082526115ae60208084019190915260108054600181019091556000908152600e90915220815181556020820151600190910155506040805190810160409081526a38fbc66a4a6cef2b500000825261154a60208084019190915260108054600181019091556000908152600e90915220815181556020820151600190910155506040805190810160409081526a4461547f8c82b89a60000082526114e660208084019190915260108054600181019091556000908152600e90915220815181556020820151600190910155506040805190810160409081526a4fc6e294ce988209700000825261148260208084019190915260108054600181019091556000908152600e90915220815181556020820151600190910155506040805190810160409081526a5b2c70aa10ae4b78800000825261141e60208084019190915260108054600181019091556000908152600e90915220815181556020820151600190910155506040805190810160409081526a71f78cd494d9de56a00000825261138860208084019190915260108054600181019091556000908152600e909152208151815560208201516001909101555050600f546000908152600e6020526040902054601155505050505050611163806103ac6000396000f3006060604052600436106101665763ffffffff60e060020a6000350416630262dc1381146101705780630a3846651461018f5780632511b182146101b457806326ffee08146101c757806331711884146101e95780633c78fe07146101fc5780633f4ba83a146102345780634a7510721461025b5780634e71d92d146102895780635c975abb1461029c57806361241c28146102af5780637822ed49146102c55780637b352962146102d85780638456cb59146102eb5780638da5cb5b146102fe578063a4bd7a2014610311578063a6f2ae3a14610166578063a72a05f714610324578063d1058e5914610350578063d4f114a614610363578063d56b288914610376578063d6f7ddf914610389578063d8b964e6146103ab578063daea85c5146103ca578063e4860339146103e9578063e69b414b14610408578063f07255e31461041b578063f2fde38b1461042e578063f5d82b6b1461044d578063fc0c546a1461046f575b61016e610482565b005b341561017b57600080fd5b61016e600160a060020a0360043516610621565b341561019a57600080fd5b6101a261065f565b60405190815260200160405180910390f35b34156101bf57600080fd5b6101a2610665565b34156101d257600080fd5b61016e600160a060020a036004351660243561066b565b34156101f457600080fd5b6101a261077b565b341561020757600080fd5b61021863ffffffff60043516610781565b604051600160a060020a03909116815260200160405180910390f35b341561023f57600080fd5b6102476107bf565b604051901515815260200160405180910390f35b341561026657600080fd5b610271600435610843565b60405191825260208201526040908101905180910390f35b341561029457600080fd5b61016e61085c565b34156102a757600080fd5b61024761087e565b34156102ba57600080fd5b61016e60043561088e565b34156102d057600080fd5b6102186108bb565b34156102e357600080fd5b6102476108ca565b34156102f657600080fd5b6102476108d3565b341561030957600080fd5b61021861095c565b341561031c57600080fd5b6101a261096b565b341561032f57600080fd5b610337610971565b60405163ffffffff909116815260200160405180910390f35b341561035b57600080fd5b61016e61099a565b341561036e57600080fd5b6101a2610a59565b341561038157600080fd5b61016e610a5f565b341561039457600080fd5b61016e600160a060020a0360043516602435610ba1565b34156103b657600080fd5b610247600160a060020a0360043516610c53565b34156103d557600080fd5b61016e600160a060020a0360043516610c68565b34156103f457600080fd5b6101a2600160a060020a0360043516610cbe565b341561041357600080fd5b6101a2610cd0565b341561042657600080fd5b6101a2610cd6565b341561043957600080fd5b61016e600160a060020a0360043516610cdc565b341561045857600080fd5b61016e600160a060020a0360043516602435610d33565b341561047a57600080fd5b610218610e14565b6009546000908190819060ff161561049957600080fd5b600454600554106104a957600080fd5b6008544211156104b857600080fd5b60005460a060020a900460ff16156104cf57600080fd5b600754349350600092506104e9908463ffffffff610e2316565b90506004548160055401111561053a5760055460045461050e9163ffffffff610e4e16565b905061052560075482610e6090919063ffffffff16565b9250610537348463ffffffff610e4e16565b91505b60055461054d908263ffffffff610e7716565b600581905560045490111561056157600080fd5b61056b3382610e86565b33600160a060020a03167f28cab0d660ed8aedd61a8c9db00b97f6a2d67e07d87795994f440b18bc5f1aa3828560405191825260208201526040908101905180910390a2600154600160a060020a031683156108fc0284604051600060405180830381858888f1935050505015156105e257600080fd5b600082111561061c57600160a060020a03331682156108fc0283604051600060405180830381858888f19350505050151561061c57600080fd5b505050565b60005433600160a060020a0390811691161461063c57600080fd5b60005460a060020a900460ff161561065357600080fd5b61065c81610eaf565b50565b60045481565b60065481565b6000805433600160a060020a0390811691161461068757600080fd5b60005460a060020a900460ff161561069e57600080fd5b6007546106b1908363ffffffff610e2316565b600160a060020a0384166000908152600a6020526040902054909150819010156106da57600080fd5b600160a060020a0383166000908152600a6020526040902054610703908263ffffffff610e4e16565b600160a060020a0384166000908152600a602052604090205560055461072f908263ffffffff610e4e16565b600555600160a060020a0383167f2da8b2becb27b189a54d21689aa110c877379a94c6f59f115cedc91d66239b33828460405191825260208201526040908101905180910390a2505050565b60075481565b6000805433600160a060020a0390811691161461079d57600080fd5b5063ffffffff166000908152600c6020526040902054600160a060020a031690565b6000805433600160a060020a039081169116146107db57600080fd5b60005460a060020a900460ff1615156107f357600080fd5b6000805474ff0000000000000000000000000000000000000000191690557f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a150600190565b600e602052600090815260409020805460019091015482565b60005460a060020a900460ff161561087357600080fd5b61087c33610eaf565b565b60005460a060020a900460ff1681565b60005433600160a060020a039081169116146108a957600080fd5b600081116108b657600080fd5b600755565b600254600160a060020a031681565b60095460ff1681565b6000805433600160a060020a039081169116146108ef57600080fd5b60005460a060020a900460ff161561090657600080fd5b6000805474ff0000000000000000000000000000000000000000191660a060020a1790557f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a150600190565b600054600160a060020a031681565b600f5481565b6000805433600160a060020a0390811691161461098d57600080fd5b50600d5463ffffffff1690565b60008054819033600160a060020a039081169116146109b857600080fd5b60005460a060020a900460ff16156109cf57600080fd5b600091505b600d5463ffffffff9081169083161015610a55575063ffffffff81166000908152600c6020908152604080832054600160a060020a0316808452600b9092529091205460ff168015610a3c5750600160a060020a0381166000908152600a6020526040812054115b15610a4a57610a4a81610eaf565b6001909101906109d4565b5050565b60105481565b60005433600160a060020a03908116911614610a7a57600080fd5b600454600554101580610a8e575060085442115b1515610a9957600080fd5b60095460ff1615610aa957600080fd5b6009805460ff19166001179055600354600254600160a060020a039182169163a9059cbb9116826370a082313060006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610b1d57600080fd5b6102c65a03f11515610b2e57600080fd5b5050506040518051905060006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610b8457600080fd5b6102c65a03f11515610b9557600080fd5b50505060405180515050565b6000805433600160a060020a03908116911614610bbd57600080fd5b60005460a060020a900460ff1615610bd457600080fd5b600754610be7908363ffffffff610e2316565b600554909150610bfd908263ffffffff610e7716565b600555610c0a8382610e86565b82600160a060020a03167ff10143e1b37ebaf3698e98976d8bddabcea045adc939c03b245da18e81ea9651828460405191825260208201526040908101905180910390a2505050565b600b6020526000908152604090205460ff1681565b60005433600160a060020a03908116911614610c8357600080fd5b60005460a060020a900460ff1615610c9a57600080fd5b600160a060020a03166000908152600b60205260409020805460ff19166001179055565b600a6020526000908152604090205481565b60055481565b60115481565b60005433600160a060020a03908116911614610cf757600080fd5b600160a060020a0381161561065c5760008054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff1990911617905550565b6000805433600160a060020a03908116911614610d4f57600080fd5b60095460ff1615610d5f57600080fd5b60045460055410610d6f57600080fd5b600854421115610d7e57600080fd5b60005460a060020a900460ff1615610d9557600080fd5b600754610da8908363ffffffff610e2316565b600554909150610dbe908263ffffffff610e7716565b600555610dcb8382610e86565b82600160a060020a03167fa818a22273fc309f0a3682b642c74c5b5c25c0615ff378d07767cd231e19fffc828460405191825260208201526040908101905180910390a2505050565b600354600160a060020a031681565b6000828202831580610e3f5750828482811515610e3c57fe5b04145b1515610e4757fe5b9392505050565b600082821115610e5a57fe5b50900390565b6000808284811515610e6e57fe5b04949350505050565b600082820183811015610e4757fe5b60005460a060020a900460ff1615610e9d57600080fd5b610ea78282610ffd565b610a556110ee565b6000805460a060020a900460ff1615610ec757600080fd5b600160a060020a0382166000908152600b602052604090205460ff161515610eee57600080fd5b600160a060020a0382166000908152600a602052604081205411610f1157600080fd5b50600160a060020a038082166000908152600a60205260408082208054908390556003546002549194908116936323b872dd93929091169186918691516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b1515610fa157600080fd5b6102c65a03f11515610fb257600080fd5b50505060405180515050600160a060020a0382167fd4ff88d569a7ad2bfd6b17da9dbe82e2ccc016fd0051e08ff1ad1e6fe8fc9b558260405190815260200160405180910390a25050565b60005460a060020a900460ff161561101457600080fd5b600160a060020a0382166000908152600a602052604090205415156110a557600d805463ffffffff9081166000908152600c60209081526040808320805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a038916908117909155855463ffffffff19811690861660010190951694909417909455918152600b90915220805460ff191690555b600160a060020a0382166000908152600a60205260409020546110ce908263ffffffff610e7716565b600160a060020a039092166000908152600a602052604090209190915550565b6011546005541061087c57600f80546001019081905560105490106111185760045460115561087c565b600f546000908152600e602052604090208054601155600101546007555600a165627a7a723058205dcd51c36e6f1408ac87e0e8d000b315fa16ccd0bbf97ffbb808e16ac1dc65b400290000000000000000000000001b957dc4aefeed3b4a2351a6a6d5cbfbba0cecfa00000000000000000000000029f5ffb0e38e72ea60226f24b0e241bcc12868b80000000000000000000000008c097a9c954894c8779edef955398d6b8ea7226a0000000000000000000000000000000000000000000000000000000000001770000000000000000000000000000000000000000000000000002386f26fc1000000000000000000000000000000000000000000000071f78cd494d9de56a00000000000000000000000000000000000000000000000000000000000005a949f7f

Deployed Bytecode

0x6060604052600436106101665763ffffffff60e060020a6000350416630262dc1381146101705780630a3846651461018f5780632511b182146101b457806326ffee08146101c757806331711884146101e95780633c78fe07146101fc5780633f4ba83a146102345780634a7510721461025b5780634e71d92d146102895780635c975abb1461029c57806361241c28146102af5780637822ed49146102c55780637b352962146102d85780638456cb59146102eb5780638da5cb5b146102fe578063a4bd7a2014610311578063a6f2ae3a14610166578063a72a05f714610324578063d1058e5914610350578063d4f114a614610363578063d56b288914610376578063d6f7ddf914610389578063d8b964e6146103ab578063daea85c5146103ca578063e4860339146103e9578063e69b414b14610408578063f07255e31461041b578063f2fde38b1461042e578063f5d82b6b1461044d578063fc0c546a1461046f575b61016e610482565b005b341561017b57600080fd5b61016e600160a060020a0360043516610621565b341561019a57600080fd5b6101a261065f565b60405190815260200160405180910390f35b34156101bf57600080fd5b6101a2610665565b34156101d257600080fd5b61016e600160a060020a036004351660243561066b565b34156101f457600080fd5b6101a261077b565b341561020757600080fd5b61021863ffffffff60043516610781565b604051600160a060020a03909116815260200160405180910390f35b341561023f57600080fd5b6102476107bf565b604051901515815260200160405180910390f35b341561026657600080fd5b610271600435610843565b60405191825260208201526040908101905180910390f35b341561029457600080fd5b61016e61085c565b34156102a757600080fd5b61024761087e565b34156102ba57600080fd5b61016e60043561088e565b34156102d057600080fd5b6102186108bb565b34156102e357600080fd5b6102476108ca565b34156102f657600080fd5b6102476108d3565b341561030957600080fd5b61021861095c565b341561031c57600080fd5b6101a261096b565b341561032f57600080fd5b610337610971565b60405163ffffffff909116815260200160405180910390f35b341561035b57600080fd5b61016e61099a565b341561036e57600080fd5b6101a2610a59565b341561038157600080fd5b61016e610a5f565b341561039457600080fd5b61016e600160a060020a0360043516602435610ba1565b34156103b657600080fd5b610247600160a060020a0360043516610c53565b34156103d557600080fd5b61016e600160a060020a0360043516610c68565b34156103f457600080fd5b6101a2600160a060020a0360043516610cbe565b341561041357600080fd5b6101a2610cd0565b341561042657600080fd5b6101a2610cd6565b341561043957600080fd5b61016e600160a060020a0360043516610cdc565b341561045857600080fd5b61016e600160a060020a0360043516602435610d33565b341561047a57600080fd5b610218610e14565b6009546000908190819060ff161561049957600080fd5b600454600554106104a957600080fd5b6008544211156104b857600080fd5b60005460a060020a900460ff16156104cf57600080fd5b600754349350600092506104e9908463ffffffff610e2316565b90506004548160055401111561053a5760055460045461050e9163ffffffff610e4e16565b905061052560075482610e6090919063ffffffff16565b9250610537348463ffffffff610e4e16565b91505b60055461054d908263ffffffff610e7716565b600581905560045490111561056157600080fd5b61056b3382610e86565b33600160a060020a03167f28cab0d660ed8aedd61a8c9db00b97f6a2d67e07d87795994f440b18bc5f1aa3828560405191825260208201526040908101905180910390a2600154600160a060020a031683156108fc0284604051600060405180830381858888f1935050505015156105e257600080fd5b600082111561061c57600160a060020a03331682156108fc0283604051600060405180830381858888f19350505050151561061c57600080fd5b505050565b60005433600160a060020a0390811691161461063c57600080fd5b60005460a060020a900460ff161561065357600080fd5b61065c81610eaf565b50565b60045481565b60065481565b6000805433600160a060020a0390811691161461068757600080fd5b60005460a060020a900460ff161561069e57600080fd5b6007546106b1908363ffffffff610e2316565b600160a060020a0384166000908152600a6020526040902054909150819010156106da57600080fd5b600160a060020a0383166000908152600a6020526040902054610703908263ffffffff610e4e16565b600160a060020a0384166000908152600a602052604090205560055461072f908263ffffffff610e4e16565b600555600160a060020a0383167f2da8b2becb27b189a54d21689aa110c877379a94c6f59f115cedc91d66239b33828460405191825260208201526040908101905180910390a2505050565b60075481565b6000805433600160a060020a0390811691161461079d57600080fd5b5063ffffffff166000908152600c6020526040902054600160a060020a031690565b6000805433600160a060020a039081169116146107db57600080fd5b60005460a060020a900460ff1615156107f357600080fd5b6000805474ff0000000000000000000000000000000000000000191690557f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a150600190565b600e602052600090815260409020805460019091015482565b60005460a060020a900460ff161561087357600080fd5b61087c33610eaf565b565b60005460a060020a900460ff1681565b60005433600160a060020a039081169116146108a957600080fd5b600081116108b657600080fd5b600755565b600254600160a060020a031681565b60095460ff1681565b6000805433600160a060020a039081169116146108ef57600080fd5b60005460a060020a900460ff161561090657600080fd5b6000805474ff0000000000000000000000000000000000000000191660a060020a1790557f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a150600190565b600054600160a060020a031681565b600f5481565b6000805433600160a060020a0390811691161461098d57600080fd5b50600d5463ffffffff1690565b60008054819033600160a060020a039081169116146109b857600080fd5b60005460a060020a900460ff16156109cf57600080fd5b600091505b600d5463ffffffff9081169083161015610a55575063ffffffff81166000908152600c6020908152604080832054600160a060020a0316808452600b9092529091205460ff168015610a3c5750600160a060020a0381166000908152600a6020526040812054115b15610a4a57610a4a81610eaf565b6001909101906109d4565b5050565b60105481565b60005433600160a060020a03908116911614610a7a57600080fd5b600454600554101580610a8e575060085442115b1515610a9957600080fd5b60095460ff1615610aa957600080fd5b6009805460ff19166001179055600354600254600160a060020a039182169163a9059cbb9116826370a082313060006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610b1d57600080fd5b6102c65a03f11515610b2e57600080fd5b5050506040518051905060006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610b8457600080fd5b6102c65a03f11515610b9557600080fd5b50505060405180515050565b6000805433600160a060020a03908116911614610bbd57600080fd5b60005460a060020a900460ff1615610bd457600080fd5b600754610be7908363ffffffff610e2316565b600554909150610bfd908263ffffffff610e7716565b600555610c0a8382610e86565b82600160a060020a03167ff10143e1b37ebaf3698e98976d8bddabcea045adc939c03b245da18e81ea9651828460405191825260208201526040908101905180910390a2505050565b600b6020526000908152604090205460ff1681565b60005433600160a060020a03908116911614610c8357600080fd5b60005460a060020a900460ff1615610c9a57600080fd5b600160a060020a03166000908152600b60205260409020805460ff19166001179055565b600a6020526000908152604090205481565b60055481565b60115481565b60005433600160a060020a03908116911614610cf757600080fd5b600160a060020a0381161561065c5760008054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff1990911617905550565b6000805433600160a060020a03908116911614610d4f57600080fd5b60095460ff1615610d5f57600080fd5b60045460055410610d6f57600080fd5b600854421115610d7e57600080fd5b60005460a060020a900460ff1615610d9557600080fd5b600754610da8908363ffffffff610e2316565b600554909150610dbe908263ffffffff610e7716565b600555610dcb8382610e86565b82600160a060020a03167fa818a22273fc309f0a3682b642c74c5b5c25c0615ff378d07767cd231e19fffc828460405191825260208201526040908101905180910390a2505050565b600354600160a060020a031681565b6000828202831580610e3f5750828482811515610e3c57fe5b04145b1515610e4757fe5b9392505050565b600082821115610e5a57fe5b50900390565b6000808284811515610e6e57fe5b04949350505050565b600082820183811015610e4757fe5b60005460a060020a900460ff1615610e9d57600080fd5b610ea78282610ffd565b610a556110ee565b6000805460a060020a900460ff1615610ec757600080fd5b600160a060020a0382166000908152600b602052604090205460ff161515610eee57600080fd5b600160a060020a0382166000908152600a602052604081205411610f1157600080fd5b50600160a060020a038082166000908152600a60205260408082208054908390556003546002549194908116936323b872dd93929091169186918691516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b1515610fa157600080fd5b6102c65a03f11515610fb257600080fd5b50505060405180515050600160a060020a0382167fd4ff88d569a7ad2bfd6b17da9dbe82e2ccc016fd0051e08ff1ad1e6fe8fc9b558260405190815260200160405180910390a25050565b60005460a060020a900460ff161561101457600080fd5b600160a060020a0382166000908152600a602052604090205415156110a557600d805463ffffffff9081166000908152600c60209081526040808320805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a038916908117909155855463ffffffff19811690861660010190951694909417909455918152600b90915220805460ff191690555b600160a060020a0382166000908152600a60205260409020546110ce908263ffffffff610e7716565b600160a060020a039092166000908152600a602052604090209190915550565b6011546005541061087c57600f80546001019081905560105490106111185760045460115561087c565b600f546000908152600e602052604090208054601155600101546007555600a165627a7a723058205dcd51c36e6f1408ac87e0e8d000b315fa16ccd0bbf97ffbb808e16ac1dc65b40029

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

0000000000000000000000001b957dc4aefeed3b4a2351a6a6d5cbfbba0cecfa00000000000000000000000029f5ffb0e38e72ea60226f24b0e241bcc12868b80000000000000000000000008c097a9c954894c8779edef955398d6b8ea7226a0000000000000000000000000000000000000000000000000000000000001770000000000000000000000000000000000000000000000000002386f26fc1000000000000000000000000000000000000000000000071f78cd494d9de56a00000000000000000000000000000000000000000000000000000000000005a949f7f

-----Decoded View---------------
Arg [0] : _tokenAddress (address): 0x1B957Dc4aEfeed3b4A2351a6A6d5cbfbbA0CeCFa
Arg [1] : _bankAddress (address): 0x29f5FFB0E38E72eA60226f24b0E241bCC12868b8
Arg [2] : _beneficiaryAddress (address): 0x8c097a9C954894C8779EdEF955398D6b8Ea7226a
Arg [3] : _tokenRate (uint256): 6000
Arg [4] : _minBuyableAmount (uint256): 10000000000000000
Arg [5] : _maxTokensAmount (uint256): 137777640000000000000000000
Arg [6] : _endDate (uint256): 1519689599

-----Encoded View---------------
7 Constructor Arguments found :
Arg [0] : 0000000000000000000000001b957dc4aefeed3b4a2351a6a6d5cbfbba0cecfa
Arg [1] : 00000000000000000000000029f5ffb0e38e72ea60226f24b0e241bcc12868b8
Arg [2] : 0000000000000000000000008c097a9c954894c8779edef955398d6b8ea7226a
Arg [3] : 0000000000000000000000000000000000000000000000000000000000001770
Arg [4] : 000000000000000000000000000000000000000000000000002386f26fc10000
Arg [5] : 00000000000000000000000000000000000000000071f78cd494d9de56a00000
Arg [6] : 000000000000000000000000000000000000000000000000000000005a949f7f


Swarm Source

bzzr://5dcd51c36e6f1408ac87e0e8d000b315fa16ccd0bbf97ffbb808e16ac1dc65b4

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.