ETH Price: $3,310.94 (-3.35%)

Contract

0xFA5Ad421ffbc3a0Db61B463D393946c783EDd7F8
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Set Rates65532032018-10-21 0:00:182229 days ago1540080018IN
0xFA5Ad421...783EDd7F8
0 ETH0.000720720
Set Rates65521572018-10-20 20:00:492229 days ago1540065649IN
0xFA5Ad421...783EDd7F8
0 ETH0.000720720
Set Rates65519022018-10-20 19:00:092229 days ago1540062009IN
0xFA5Ad421...783EDd7F8
0 ETH0.000720720
Set Rates65516462018-10-20 18:00:422229 days ago1540058442IN
0xFA5Ad421...783EDd7F8
0 ETH0.000720720
Set Rates65514012018-10-20 17:00:022229 days ago1540054802IN
0xFA5Ad421...783EDd7F8
0 ETH0.000720720
Set Rates65511332018-10-20 16:00:132229 days ago1540051213IN
0xFA5Ad421...783EDd7F8
0 ETH0.000720720
Set Rates65508772018-10-20 15:00:172229 days ago1540047617IN
0xFA5Ad421...783EDd7F8
0 ETH0.000720720
Set Rates65506262018-10-20 14:00:052229 days ago1540044005IN
0xFA5Ad421...783EDd7F8
0 ETH0.000720720
Set Rates65503642018-10-20 13:00:062229 days ago1540040406IN
0xFA5Ad421...783EDd7F8
0 ETH0.000720720
Set Rates65501012018-10-20 12:00:042229 days ago1540036804IN
0xFA5Ad421...783EDd7F8
0 ETH0.000720720
Set Rates65495972018-10-20 10:00:062229 days ago1540029606IN
0xFA5Ad421...783EDd7F8
0 ETH0.000720720
Set Rates65493222018-10-20 8:59:422229 days ago1540025982IN
0xFA5Ad421...783EDd7F8
0 ETH0.000720720
Set Rates65490762018-10-20 8:00:162229 days ago1540022416IN
0xFA5Ad421...783EDd7F8
0 ETH0.000720720
Set Rates65488092018-10-20 7:00:072229 days ago1540018807IN
0xFA5Ad421...783EDd7F8
0 ETH0.000720720
Set Rates65485732018-10-20 6:00:092229 days ago1540015209IN
0xFA5Ad421...783EDd7F8
0 ETH0.000720720
Set Rates65481042018-10-20 4:00:172229 days ago1540008017IN
0xFA5Ad421...783EDd7F8
0 ETH0.000720720
Set Rates65478212018-10-20 3:00:352229 days ago1540004435IN
0xFA5Ad421...783EDd7F8
0 ETH0.000720720
Set Rates65475732018-10-20 2:00:102229 days ago1540000810IN
0xFA5Ad421...783EDd7F8
0 ETH0.000720720
Set Rates65473092018-10-20 1:00:192229 days ago1539997219IN
0xFA5Ad421...783EDd7F8
0 ETH0.000720720
Set Rates65470442018-10-20 0:00:252230 days ago1539993625IN
0xFA5Ad421...783EDd7F8
0 ETH0.000720720
Set Rates65468062018-10-19 23:00:052230 days ago1539990005IN
0xFA5Ad421...783EDd7F8
0 ETH0.000720720
Set Rates65465582018-10-19 22:00:032230 days ago1539986403IN
0xFA5Ad421...783EDd7F8
0 ETH0.000720720
Set Rates65463172018-10-19 21:00:062230 days ago1539982806IN
0xFA5Ad421...783EDd7F8
0 ETH0.000720720
Set Rates65460562018-10-19 20:00:492230 days ago1539979249IN
0xFA5Ad421...783EDd7F8
0 ETH0.000720720
Set Rates65457882018-10-19 19:00:022230 days ago1539975602IN
0xFA5Ad421...783EDd7F8
0 ETH0.000720720
View all transactions

Latest 16 internal transactions

Advanced mode:
Parent Transaction Hash Block From To
57295852018-06-04 7:24:542367 days ago1528097094
0xFA5Ad421...783EDd7F8
0.16050136 ETH
57209732018-06-02 18:39:492369 days ago1527964789
0xFA5Ad421...783EDd7F8
0.09 ETH
57013692018-05-30 7:04:272372 days ago1527663867
0xFA5Ad421...783EDd7F8
0.25 ETH
56821372018-05-26 21:32:362376 days ago1527370356
0xFA5Ad421...783EDd7F8
0.1 ETH
56580182018-05-22 14:46:572380 days ago1527000417
0xFA5Ad421...783EDd7F8
0.34 ETH
56489902018-05-21 0:34:362382 days ago1526862876
0xFA5Ad421...783EDd7F8
2 ETH
56081562018-05-13 19:29:072389 days ago1526239747
0xFA5Ad421...783EDd7F8
1.248 ETH
55498842018-05-03 15:47:362399 days ago1525362456
0xFA5Ad421...783EDd7F8
0.04 ETH
55404162018-05-01 23:44:302401 days ago1525218270
0xFA5Ad421...783EDd7F8
0.01 ETH
55222082018-04-28 19:34:332404 days ago1524944073
0xFA5Ad421...783EDd7F8
0.5 ETH
54799342018-04-21 12:25:022411 days ago1524313502
0xFA5Ad421...783EDd7F8
4.9 ETH
54349012018-04-13 19:42:592419 days ago1523648579
0xFA5Ad421...783EDd7F8
0.418 ETH
54348942018-04-13 19:41:222419 days ago1523648482
0xFA5Ad421...783EDd7F8
0.1 ETH
54289972018-04-12 19:35:182420 days ago1523561718
0xFA5Ad421...783EDd7F8
0.13 ETH
54277502018-04-12 14:29:362420 days ago1523543376
0xFA5Ad421...783EDd7F8
0.61 ETH
53984592018-04-07 17:33:432425 days ago1523122423
0xFA5Ad421...783EDd7F8
0.4 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
CulturalCoinCrowdsale

Compiler Version
v0.4.21+commit.dfe3193c

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2018-04-04
*/

pragma solidity ^0.4.21;

/// @title Ownable contract
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) {
        uint256 c = a / b;
        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 contract
contract Ownable {
    
    address public owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    function Ownable() public {
        owner = msg.sender;
    }

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

    /// @dev Change ownership
    /// @param newOwner Address of the new owner
    function transferOwnership(address newOwner) onlyOwner public {
        require(newOwner != address(0));
        emit OwnershipTransferred(owner, newOwner);
        owner = newOwner;
    }

}

/// @title RateSetter contract
contract RateSetter {
  
    address public rateSetter;
    event RateSetterChanged(address indexed previousRateSetter, address indexed newRateSetter);

    function RateSetter() public {
        rateSetter = msg.sender;
    }

    modifier onlyRateSetter() {
        require(msg.sender == rateSetter);
        _;
    }

    function changeRateSetter(address newRateSetter) onlyRateSetter public {
        require(newRateSetter != address(0));
        emit RateSetterChanged(rateSetter, newRateSetter);
        rateSetter = newRateSetter;
    }

}

/// @title ERC20 contract
/// https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20-token-standard.md
contract ERC20 {
    uint public totalSupply;
    function balanceOf(address who) public constant returns (uint);
    function transfer(address to, uint value) public returns (bool);
    event Transfer(address indexed from, address indexed to, uint value);
    
    function allowance(address owner, address spender) public constant returns (uint);
    function transferFrom(address from, address to, uint value) public returns (bool);
    function approve(address spender, uint value) public returns (bool);
    event Approval(address indexed owner, address indexed spender, uint value);
}

/// @title CCWhitelist contract
contract CCWhitelist {
    function isWhitelisted(address addr) public constant returns (bool);
}

/// @title Crowdsale contract
contract Crowdsale is Ownable, RateSetter {
    using SafeMath for uint256;

    /// Token reference
    ERC20 public token;
    /// Whitelist reference
    CCWhitelist public whitelist;
    /// Presale start time (inclusive)
    uint256 public startTimeIco;
    /// ICO end time (inclusive)
    uint256 public endTimeIco;
    /// Address where the funds will be collected
    address public wallet;
    /// EUR per 1 ETH rate
    uint32 public ethEurRate;
    /// ETH per 1 BTC rate (multiplied by 100)
    uint32 public btcEthRate;
    /// Amount of tokens sold in presale
    uint256 public tokensSoldPre;
    /// Amount of tokens sold in ICO
    uint256 public tokensSoldIco;
    /// Amount of raised ethers expressed in weis
    uint256 public weiRaised;
    /// Amount of raised EUR
    uint256 public eurRaised;
    /// Number of contributions
    uint256 public contributions;

    /// ICO time phases
    uint256 public icoPhase1Start;
    uint256 public icoPhase1End;
    uint256 public icoPhase2Start;
    uint256 public icoPhase2End;
    uint256 public icoPhase3Start;
    uint256 public icoPhase3End;
    uint256 public icoPhase4Start;
    uint256 public icoPhase4End;
  

    /// Discount percentages in each phase
    uint8 public icoPhaseDiscountPercentage1;
    uint8 public icoPhaseDiscountPercentage2;
    uint8 public icoPhaseDiscountPercentage3;
    uint8 public icoPhaseDiscountPercentage4;

    /// Hard cap in EUR
    uint32 public HARD_CAP_EUR = 19170000; // 19 170 000 EUR
    /// Soft cap in EUR
    uint32 public SOFT_CAP_EUR = 2000000; // 2 000 000 EUR
    /// Hard cap in tokens
    uint256 public HARD_CAP_IN_TOKENS = 810 * 10**24; //810m CC tokens

    /// Mapping for contributors - to limit max contribution and possibly to extract info for refund if soft cap is not reached
    mapping (address => uint) public contributors;

    function Crowdsale(uint256 _startTimeIco, uint256 _endTimeIco, uint32 _ethEurRate, uint32 _btcEthRate, address _wallet, address _tokenAddress, address _whitelistAddress, uint256 _tokensSoldPre, uint256 _contributions, uint256 _weiRaised, uint256 _eurRaised, uint256 _tokensSoldIco) public {
        require(_endTimeIco >= _startTimeIco);
        require(_ethEurRate > 0 && _btcEthRate > 0);
        require(_wallet != address(0));
        require(_tokenAddress != address(0));
        require(_whitelistAddress != address(0));
        require(_tokensSoldPre > 0);

        startTimeIco = _startTimeIco;
        endTimeIco = _endTimeIco;
        ethEurRate = _ethEurRate;
        btcEthRate = _btcEthRate;
        wallet = _wallet;
        token = ERC20(_tokenAddress);
        whitelist = CCWhitelist(_whitelistAddress);
        tokensSoldPre = _tokensSoldPre;
        contributions = _contributions;
        weiRaised = _weiRaised;
        eurRaised = _eurRaised;
        tokensSoldIco = _tokensSoldIco;
        // set time phases
        icoPhase1Start = 1520208000;
        icoPhase1End = 1520812799;
        icoPhase2Start = 1520812800;
        icoPhase2End = 1526255999;
        icoPhase3Start = 1526256000;
        icoPhase3End = 1527465599;
        icoPhase4Start = 1527465600;
        icoPhase4End = 1528113600;
        icoPhaseDiscountPercentage1 = 40; // 40% discount
        icoPhaseDiscountPercentage2 = 30; // 30% discount
        icoPhaseDiscountPercentage3 = 20; // 20% discount
        icoPhaseDiscountPercentage4 = 0;  // 0% discount
    }


    /// @dev Sets the rates in crowdsale
    /// @param _ethEurRate ETH to EUR rate
    /// @param _btcEthRate BTC to ETH rate 
    function setRates(uint32 _ethEurRate, uint32 _btcEthRate) public onlyRateSetter {
        require(_ethEurRate > 0 && _btcEthRate > 0);
        ethEurRate = _ethEurRate;
        btcEthRate = _btcEthRate;
        emit RatesChanged(rateSetter, ethEurRate, btcEthRate);
    }


    /// @dev Sets the ICO start and end time
    /// @param _start Start time
    /// @param _end End time 
    function setICOtime(uint256 _start, uint256 _end) external onlyOwner {
        require(_start < _end);
        startTimeIco = _start;
        endTimeIco = _end;
        emit ChangeIcoPhase(0, _start, _end);
    }


    /// @dev Sets the ICO phase 1 duration
    /// @param _start Start time
    /// @param _end End time 
    function setIcoPhase1(uint256 _start, uint256 _end) external onlyOwner {
        require(_start < _end);
        icoPhase1Start = _start;
        icoPhase1End = _end;
        emit ChangeIcoPhase(1, _start, _end);
    }

    /// @dev Sets the ICO phase 2 duration
    /// @param _start Start time
    /// @param _end End time 
    function setIcoPhase2(uint256 _start, uint256 _end) external onlyOwner {
        require(_start < _end);
        icoPhase2Start = _start;
        icoPhase2End = _end;
        emit ChangeIcoPhase(2, _start, _end);
    }

      /// @dev Sets the ICO phase 3 duration
      /// @param _start Start time
      /// @param _end End time  
    function setIcoPhase3(uint256 _start, uint256 _end) external onlyOwner {
        require(_start < _end);
        icoPhase3Start = _start;
        icoPhase3End = _end;
        emit ChangeIcoPhase(3, _start, _end);
    }

    /// @dev Sets the ICO phase 4 duration
    /// @param _start Start time
    /// @param _end End time 
    function setIcoPhase4(uint256 _start, uint256 _end) external onlyOwner {
        require(_start < _end);
        icoPhase4Start = _start;
        icoPhase4End = _end;
        emit ChangeIcoPhase(4, _start, _end);
    }

    function setIcoDiscountPercentages(uint8 _icoPhaseDiscountPercentage1, uint8 _icoPhaseDiscountPercentage2, uint8 _icoPhaseDiscountPercentage3, uint8 _icoPhaseDiscountPercentage4) external onlyOwner {
        icoPhaseDiscountPercentage1 = _icoPhaseDiscountPercentage1;
        icoPhaseDiscountPercentage2 = _icoPhaseDiscountPercentage2;
        icoPhaseDiscountPercentage3 = _icoPhaseDiscountPercentage3;
        icoPhaseDiscountPercentage4 = _icoPhaseDiscountPercentage4;
        emit DiscountPercentagesChanged(_icoPhaseDiscountPercentage1, _icoPhaseDiscountPercentage2, _icoPhaseDiscountPercentage3, _icoPhaseDiscountPercentage4);

    }

    /// @dev Fallback function for crowdsale contribution
    function () public payable {
        buyTokens(msg.sender);
    }

    /// @dev Buy tokens function
    /// @param beneficiary Address which will receive the tokens
    function buyTokens(address beneficiary) public payable {
        require(beneficiary != address(0));
        require(whitelist.isWhitelisted(beneficiary));
        uint256 weiAmount = msg.value;
        require(weiAmount > 0);
        require(contributors[beneficiary].add(weiAmount) <= 200 ether);
        uint256 tokenAmount = 0;
        if (isIco()) {
            uint8 discountPercentage = getIcoDiscountPercentage();
            tokenAmount = getTokenAmount(weiAmount, discountPercentage);
            /// Minimum contribution 1 token during ICO
            require(tokenAmount >= 10**18); 
            uint256 newTokensSoldIco = tokensSoldIco.add(tokenAmount); 
            require(newTokensSoldIco <= HARD_CAP_IN_TOKENS);
            tokensSoldIco = newTokensSoldIco;
        } else {
            /// Stop execution and return remaining gas
            require(false);
        }
        executeTransaction(beneficiary, weiAmount, tokenAmount);
    }

    /// @dev Internal function used for calculating ICO discount percentage depending on phases
    function getIcoDiscountPercentage() internal constant returns (uint8) {
        if (icoPhase1Start >= now && now < icoPhase1End) {
            return icoPhaseDiscountPercentage1;
        }
        else if (icoPhase2Start >= now && now < icoPhase2End) {
            return icoPhaseDiscountPercentage2;
        } else if (icoPhase3Start >= now && now < icoPhase3End) {
            return icoPhaseDiscountPercentage3;
        } else {
            return icoPhaseDiscountPercentage4;
        }
    }

    /// @dev Internal function used to calculate amount of tokens based on discount percentage
    function getTokenAmount(uint256 weiAmount, uint8 discountPercentage) internal constant returns (uint256) {
        /// Less than 100 to avoid division with zero
        require(discountPercentage >= 0 && discountPercentage < 100); 
        uint256 baseTokenAmount = weiAmount.mul(ethEurRate);
        uint256 denominator = 3 * (100 - discountPercentage);
        uint256 tokenAmount = baseTokenAmount.mul(10000).div(denominator);
        return tokenAmount;
    }

   
    /// point out that it works for the last block
    /// @dev This method is used to get the current amount user can receive for 1ETH -- Used by frontend for easier calculation
    /// @return Amount of CC tokens
    function getCurrentTokenAmountForOneEth() public constant returns (uint256) {
        if (isIco()) {
            uint8 discountPercentage = getIcoDiscountPercentage();
            return getTokenAmount(1 ether, discountPercentage);
        } 
        return 0;
    }
  
    /// @dev This method is used to get the current amount user can receive for 1BTC -- Used by frontend for easier calculation
    /// @return Amount of CC tokens
    function getCurrentTokenAmountForOneBtc() public constant returns (uint256) {
        uint256 amountForOneEth = getCurrentTokenAmountForOneEth();
        return amountForOneEth.mul(btcEthRate).div(100);
    }

    /// @dev Internal function for execution of crowdsale transaction and proper logging used by payable functions
    function executeTransaction(address beneficiary, uint256 weiAmount, uint256 tokenAmount) internal {
        weiRaised = weiRaised.add(weiAmount);
        uint256 eurAmount = weiAmount.mul(ethEurRate).div(10**18);
        eurRaised = eurRaised.add(eurAmount);
        token.transfer(beneficiary, tokenAmount);
        emit TokenPurchase(msg.sender, beneficiary, weiAmount, tokenAmount);
        contributions = contributions.add(1);
        contributors[beneficiary] = contributors[beneficiary].add(weiAmount);
        wallet.transfer(weiAmount);
    }

    /// @dev Check if ICO is active
    function isIco() public constant returns (bool) {
        return now >= startTimeIco && now <= endTimeIco;
    }

    /// @dev Check if ICO has ended
    function hasIcoEnded() public constant returns (bool) {
        return now > endTimeIco;
    }

    /// @dev Amount of tokens that have been sold during both presale and ICO phase
    function cummulativeTokensSold() public constant returns (uint256) {
        return tokensSoldPre + tokensSoldIco;
    }

    /// @dev Function to extract mistakenly sent ERC20 tokens sent to Crowdsale contract and to extract unsold CC tokens
    /// @param _token Address of token we want to extract
    function claimTokens(address _token) public onlyOwner {
        if (_token == address(0)) { 
            owner.transfer(this.balance);
            return;
        }

        ERC20 erc20Token = ERC20(_token);
        uint balance = erc20Token.balanceOf(this);
        erc20Token.transfer(owner, balance);
        emit ClaimedTokens(_token, owner, balance);
    }

    /// Events
    event TokenPurchase(address indexed _purchaser, address indexed _beneficiary, uint256 _value, uint256 _amount);
    event ClaimedTokens(address indexed _token, address indexed _owner, uint _amount);
    event IcoPhaseAmountsChanged(uint256 _icoPhaseAmount1, uint256 _icoPhaseAmount2, uint256 _icoPhaseAmount3, uint256 _icoPhaseAmount4);
    event RatesChanged(address indexed _rateSetter, uint32 _ethEurRate, uint32 _btcEthRate);
    event DiscountPercentagesChanged(uint8 _icoPhaseDiscountPercentage1, uint8 _icoPhaseDiscountPercentage2, uint8 _icoPhaseDiscountPercentage3, uint8 _icoPhaseDiscountPercentage4);
    /// 0 is for changing start and end time of ICO
    event ChangeIcoPhase(uint8 _phase, uint256 _start, uint256 _end);

}

/// @title CulturalCoinCrowdsale contract
contract CulturalCoinCrowdsale is Crowdsale {

    function CulturalCoinCrowdsale(uint256 _startTimeIco, uint256 _endTimeIco, uint32 _ethEurRate, uint32 _btcEthRate, address _wallet, address _tokenAddress, address _whitelistAddress, uint256 _tokensSoldPre, uint256 _contributions, uint256 _weiRaised, uint256 _eurRaised, uint256 _tokensSoldIco) 
    Crowdsale(_startTimeIco, _endTimeIco, _ethEurRate, _btcEthRate, _wallet, _tokenAddress, _whitelistAddress, _tokensSoldPre, _contributions, _weiRaised, _eurRaised, _tokensSoldIco) public {

    }

}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"HARD_CAP_EUR","outputs":[{"name":"","type":"uint32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"contributions","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"icoPhase1End","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"icoPhaseDiscountPercentage3","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"icoPhase4End","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"contributors","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"icoPhase2Start","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_start","type":"uint256"},{"name":"_end","type":"uint256"}],"name":"setICOtime","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"eurRaised","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"startTimeIco","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"weiRaised","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokensSoldPre","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"HARD_CAP_IN_TOKENS","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_start","type":"uint256"},{"name":"_end","type":"uint256"}],"name":"setIcoPhase1","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"endTimeIco","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"wallet","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"icoPhase2End","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"icoPhase3End","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"SOFT_CAP_EUR","outputs":[{"name":"","type":"uint32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokensSoldIco","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newRateSetter","type":"address"}],"name":"changeRateSetter","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"btcEthRate","outputs":[{"name":"","type":"uint32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"icoPhase4Start","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"hasIcoEnded","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_start","type":"uint256"},{"name":"_end","type":"uint256"}],"name":"setIcoPhase2","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_ethEurRate","type":"uint32"},{"name":"_btcEthRate","type":"uint32"}],"name":"setRates","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"whitelist","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getCurrentTokenAmountForOneEth","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_icoPhaseDiscountPercentage1","type":"uint8"},{"name":"_icoPhaseDiscountPercentage2","type":"uint8"},{"name":"_icoPhaseDiscountPercentage3","type":"uint8"},{"name":"_icoPhaseDiscountPercentage4","type":"uint8"}],"name":"setIcoDiscountPercentages","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"icoPhase1Start","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"icoPhaseDiscountPercentage1","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_start","type":"uint256"},{"name":"_end","type":"uint256"}],"name":"setIcoPhase3","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"cummulativeTokensSold","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"icoPhaseDiscountPercentage2","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"icoPhaseDiscountPercentage4","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_token","type":"address"}],"name":"claimTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getCurrentTokenAmountForOneBtc","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"ethEurRate","outputs":[{"name":"","type":"uint32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"beneficiary","type":"address"}],"name":"buyTokens","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"rateSetter","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"icoPhase3Start","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"token","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_start","type":"uint256"},{"name":"_end","type":"uint256"}],"name":"setIcoPhase4","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"isIco","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_startTimeIco","type":"uint256"},{"name":"_endTimeIco","type":"uint256"},{"name":"_ethEurRate","type":"uint32"},{"name":"_btcEthRate","type":"uint32"},{"name":"_wallet","type":"address"},{"name":"_tokenAddress","type":"address"},{"name":"_whitelistAddress","type":"address"},{"name":"_tokensSoldPre","type":"uint256"},{"name":"_contributions","type":"uint256"},{"name":"_weiRaised","type":"uint256"},{"name":"_eurRaised","type":"uint256"},{"name":"_tokensSoldIco","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_purchaser","type":"address"},{"indexed":true,"name":"_beneficiary","type":"address"},{"indexed":false,"name":"_value","type":"uint256"},{"indexed":false,"name":"_amount","type":"uint256"}],"name":"TokenPurchase","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_token","type":"address"},{"indexed":true,"name":"_owner","type":"address"},{"indexed":false,"name":"_amount","type":"uint256"}],"name":"ClaimedTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_icoPhaseAmount1","type":"uint256"},{"indexed":false,"name":"_icoPhaseAmount2","type":"uint256"},{"indexed":false,"name":"_icoPhaseAmount3","type":"uint256"},{"indexed":false,"name":"_icoPhaseAmount4","type":"uint256"}],"name":"IcoPhaseAmountsChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_rateSetter","type":"address"},{"indexed":false,"name":"_ethEurRate","type":"uint32"},{"indexed":false,"name":"_btcEthRate","type":"uint32"}],"name":"RatesChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_icoPhaseDiscountPercentage1","type":"uint8"},{"indexed":false,"name":"_icoPhaseDiscountPercentage2","type":"uint8"},{"indexed":false,"name":"_icoPhaseDiscountPercentage3","type":"uint8"},{"indexed":false,"name":"_icoPhaseDiscountPercentage4","type":"uint8"}],"name":"DiscountPercentagesChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_phase","type":"uint8"},{"indexed":false,"name":"_start","type":"uint256"},{"indexed":false,"name":"_end","type":"uint256"}],"name":"ChangeIcoPhase","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousRateSetter","type":"address"},{"indexed":true,"name":"newRateSetter","type":"address"}],"name":"RateSetterChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]

606060405263012482d0601460046101000a81548163ffffffff021916908363ffffffff160217905550621e8480601460086101000a81548163ffffffff021916908363ffffffff1602179055506b029e042bfc5467df6a00000060155534156200006957600080fd5b60405161018080620025de833981016040528080519060200190919080519060200190919080519060200190919080519060200190919080519060200190919080519060200190919080519060200190919080519060200190919080519060200190919080519060200190919080519060200190919080519060200190919050508b8b8b8b8b8b8b8b8b8b8b8b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508b8b101515156200018757600080fd5b60008a63ffffffff16118015620001a4575060008963ffffffff16115b1515620001b057600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614151515620001ed57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff16141515156200022a57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16141515156200026757600080fd5b6000851115156200027757600080fd5b8b6004819055508a60058190555089600660146101000a81548163ffffffff021916908363ffffffff16021790555088600660186101000a81548163ffffffff021916908363ffffffff16021790555087600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555086600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555085600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508460078190555083600b819055508260098190555081600a8190555080600881905550635a9c8880600c81905550635aa5c2ff600d81905550635aa5c300600e81905550635af8d17f600f81905550635af8d180601081905550635b0b467f601181905550635b0b4680601281905550635b1529c06013819055506028601460006101000a81548160ff021916908360ff160217905550601e601460016101000a81548160ff021916908360ff16021790555060148060026101000a81548160ff021916908360ff1602179055506000601460036101000a81548160ff021916908360ff160217905550505050505050505050505050505050505050505050505050612142806200049c6000396000f300606060405260043610610230576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806301db61e01461023b578063029eabcb1461027057806304f182f41461029957806315527006146102c25780631ca3d4b7146102f15780631f6d49421461031a5780632ac110c51461036757806330fee9b1146103905780633a3650cf146103bc5780633b6ea083146103e55780634042b66f1461040e578063426b71131461043757806342d02b3014610460578063455770a41461048957806345cc50ce146104b5578063521eb273146104de5780635568fd5d146105335780636251aee61461055c578063673756d8146105855780636e0da971146105ba578063713be126146105e357806372f79b561461061c5780637528a6ab146106515780637b851f651461067a578063808c1499146106a75780638da5cb5b146106d3578063913188741461072857806393e59dc114610760578063c00e4306146107b5578063c3d59369146107de578063c601b7f814610828578063ce13929614610851578063cff1279714610880578063d0d89ce3146108ac578063d8e476ab146108d5578063da9bf54c14610904578063df8de3e714610933578063e5d8011f1461096c578063e5e7b82b14610995578063ec8ac4d8146109ca578063f265d351146109f8578063f274a82814610a4d578063f2fde38b14610a76578063fc0c546a14610aaf578063fec0cc1914610b04578063ff3a5eea14610b30575b61023933610b5d565b005b341561024657600080fd5b61024e610d8a565b604051808263ffffffff1663ffffffff16815260200191505060405180910390f35b341561027b57600080fd5b610283610da0565b6040518082815260200191505060405180910390f35b34156102a457600080fd5b6102ac610da6565b6040518082815260200191505060405180910390f35b34156102cd57600080fd5b6102d5610dac565b604051808260ff1660ff16815260200191505060405180910390f35b34156102fc57600080fd5b610304610dbf565b6040518082815260200191505060405180910390f35b341561032557600080fd5b610351600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610dc5565b6040518082815260200191505060405180910390f35b341561037257600080fd5b61037a610ddd565b6040518082815260200191505060405180910390f35b341561039b57600080fd5b6103ba6004808035906020019091908035906020019091905050610de3565b005b34156103c757600080fd5b6103cf610ea9565b6040518082815260200191505060405180910390f35b34156103f057600080fd5b6103f8610eaf565b6040518082815260200191505060405180910390f35b341561041957600080fd5b610421610eb5565b6040518082815260200191505060405180910390f35b341561044257600080fd5b61044a610ebb565b6040518082815260200191505060405180910390f35b341561046b57600080fd5b610473610ec1565b6040518082815260200191505060405180910390f35b341561049457600080fd5b6104b36004808035906020019091908035906020019091905050610ec7565b005b34156104c057600080fd5b6104c8610f8d565b6040518082815260200191505060405180910390f35b34156104e957600080fd5b6104f1610f93565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561053e57600080fd5b610546610fb9565b6040518082815260200191505060405180910390f35b341561056757600080fd5b61056f610fbf565b6040518082815260200191505060405180910390f35b341561059057600080fd5b610598610fc5565b604051808263ffffffff1663ffffffff16815260200191505060405180910390f35b34156105c557600080fd5b6105cd610fdb565b6040518082815260200191505060405180910390f35b34156105ee57600080fd5b61061a600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610fe1565b005b341561062757600080fd5b61062f611139565b604051808263ffffffff1663ffffffff16815260200191505060405180910390f35b341561065c57600080fd5b61066461114f565b6040518082815260200191505060405180910390f35b341561068557600080fd5b61068d611155565b604051808215151515815260200191505060405180910390f35b34156106b257600080fd5b6106d16004808035906020019091908035906020019091905050611161565b005b34156106de57600080fd5b6106e6611227565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561073357600080fd5b61075e600480803563ffffffff1690602001909190803563ffffffff1690602001909190505061124c565b005b341561076b57600080fd5b6107736113c9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156107c057600080fd5b6107c86113ef565b6040518082815260200191505060405180910390f35b34156107e957600080fd5b610826600480803560ff1690602001909190803560ff1690602001909190803560ff1690602001909190803560ff1690602001909190505061142b565b005b341561083357600080fd5b61083b61155f565b6040518082815260200191505060405180910390f35b341561085c57600080fd5b610864611565565b604051808260ff1660ff16815260200191505060405180910390f35b341561088b57600080fd5b6108aa6004808035906020019091908035906020019091905050611578565b005b34156108b757600080fd5b6108bf61163e565b6040518082815260200191505060405180910390f35b34156108e057600080fd5b6108e861164c565b604051808260ff1660ff16815260200191505060405180910390f35b341561090f57600080fd5b61091761165f565b604051808260ff1660ff16815260200191505060405180910390f35b341561093e57600080fd5b61096a600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611672565b005b341561097757600080fd5b61097f61199f565b6040518082815260200191505060405180910390f35b34156109a057600080fd5b6109a86119f0565b604051808263ffffffff1663ffffffff16815260200191505060405180910390f35b6109f6600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610b5d565b005b3415610a0357600080fd5b610a0b611a06565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3415610a5857600080fd5b610a60611a2c565b6040518082815260200191505060405180910390f35b3415610a8157600080fd5b610aad600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611a32565b005b3415610aba57600080fd5b610ac2611b87565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3415610b0f57600080fd5b610b2e6004808035906020019091908035906020019091905050611bad565b005b3415610b3b57600080fd5b610b43611c73565b604051808215151515815260200191505060405180910390f35b600080600080600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614151515610b9f57600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633af32abf866040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1515610c5b57600080fd5b5af11515610c6857600080fd5b505050604051805190501515610c7d57600080fd5b349350600084111515610c8f57600080fd5b680ad78ebc5ac6200000610ceb85601660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c8e90919063ffffffff16565b11151515610cf857600080fd5b60009250610d04611c73565b15610d6a57610d11611cac565b9150610d1d8483611d51565b9250670de0b6b3a76400008310151515610d3657600080fd5b610d4b83600854611c8e90919063ffffffff16565b90506015548111151515610d5e57600080fd5b80600881905550610d78565b60001515610d7757600080fd5b5b610d83858585611de7565b5050505050565b601460049054906101000a900463ffffffff1681565b600b5481565b600d5481565b601460029054906101000a900460ff1681565b60135481565b60166020528060005260406000206000915090505481565b600e5481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610e3e57600080fd5b8082101515610e4c57600080fd5b81600481905550806005819055507fbac91f1de4c14cf75a49bd70fedc2b96bcea270a30fa4c30adc0c056fd4dbe6260008383604051808460ff168152602001838152602001828152602001935050505060405180910390a15050565b600a5481565b60045481565b60095481565b60075481565b60155481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610f2257600080fd5b8082101515610f3057600080fd5b81600c8190555080600d819055507fbac91f1de4c14cf75a49bd70fedc2b96bcea270a30fa4c30adc0c056fd4dbe6260018383604051808460ff168152602001838152602001828152602001935050505060405180910390a15050565b60055481565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600f5481565b60115481565b601460089054906101000a900463ffffffff1681565b60085481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561103d57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561107957600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f77d555b79ccf31c4eb1a22c8c92cf27785375c5e0cb45126b2653654bc03f57b60405160405180910390a380600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600660189054906101000a900463ffffffff1681565b60125481565b60006005544211905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156111bc57600080fd5b80821015156111ca57600080fd5b81600e8190555080600f819055507fbac91f1de4c14cf75a49bd70fedc2b96bcea270a30fa4c30adc0c056fd4dbe6260028383604051808460ff168152602001838152602001828152602001935050505060405180910390a15050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156112a857600080fd5b60008263ffffffff161180156112c4575060008163ffffffff16115b15156112cf57600080fd5b81600660146101000a81548163ffffffff021916908363ffffffff16021790555080600660186101000a81548163ffffffff021916908363ffffffff160217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167ff6d3d52d61fd312009ee66ad075ee261539d9ac43ce1a0d91aa711cff5795f2a600660149054906101000a900463ffffffff16600660189054906101000a900463ffffffff16604051808363ffffffff1663ffffffff1681526020018263ffffffff1663ffffffff1681526020019250505060405180910390a25050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806113fa611c73565b1561142257611407611cac565b905061141b670de0b6b3a764000082611d51565b9150611427565b600091505b5090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561148657600080fd5b83601460006101000a81548160ff021916908360ff16021790555082601460016101000a81548160ff021916908360ff16021790555081601460026101000a81548160ff021916908360ff16021790555080601460036101000a81548160ff021916908360ff1602179055507f5a8768544835ee50e7793e9665bd89729f65702ea58b5673d07218445054f46984848484604051808560ff1660ff1681526020018460ff1660ff1681526020018360ff1660ff1681526020018260ff1660ff16815260200194505050505060405180910390a150505050565b600c5481565b601460009054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156115d357600080fd5b80821015156115e157600080fd5b81601081905550806011819055507fbac91f1de4c14cf75a49bd70fedc2b96bcea270a30fa4c30adc0c056fd4dbe6260038383604051808460ff168152602001838152602001828152602001935050505060405180910390a15050565b600060085460075401905090565b601460019054906101000a900460ff1681565b601460039054906101000a900460ff1681565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156116d057600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611782576000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f19350505050151561177d57600080fd5b61199a565b8291508173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b151561181f57600080fd5b5af1151561182c57600080fd5b5050506040518051905090508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15156118fb57600080fd5b5af1151561190857600080fd5b50505060405180519050506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167ff931edb47c50b4b4104c187b5814a9aef5f709e17e2ecf9617e860cacade929c836040518082815260200191505060405180910390a35b505050565b6000806119aa6113ef565b90506119ea60646119dc600660189054906101000a900463ffffffff1663ffffffff16846120c890919063ffffffff16565b6120fb90919063ffffffff16565b91505090565b600660149054906101000a900463ffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60105481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611a8d57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611ac957600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611c0857600080fd5b8082101515611c1657600080fd5b81601281905550806013819055507fbac91f1de4c14cf75a49bd70fedc2b96bcea270a30fa4c30adc0c056fd4dbe6260048383604051808460ff168152602001838152602001828152602001935050505060405180910390a15050565b60006004544210158015611c8957506005544211155b905090565b6000808284019050838110151515611ca257fe5b8091505092915050565b600042600c5410158015611cc15750600d5442105b15611cdd57601460009054906101000a900460ff169050611d4e565b42600e5410158015611cf05750600f5442105b15611d0c57601460019054906101000a900460ff169050611d4e565b4260105410158015611d1f575060115442105b15611d3b57601460029054906101000a900460ff169050611d4e565b601460039054906101000a900460ff1690505b90565b60008060008060008560ff1610158015611d6e575060648560ff16105b1515611d7957600080fd5b611da4600660149054906101000a900463ffffffff1663ffffffff16876120c890919063ffffffff16565b92508460640360030260ff169150611dd982611dcb612710866120c890919063ffffffff16565b6120fb90919063ffffffff16565b905080935050505092915050565b6000611dfe83600954611c8e90919063ffffffff16565b600981905550611e49670de0b6b3a7640000611e3b600660149054906101000a900463ffffffff1663ffffffff16866120c890919063ffffffff16565b6120fb90919063ffffffff16565b9050611e6081600a54611c8e90919063ffffffff16565b600a81905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb85846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1515611f2a57600080fd5b5af11515611f3757600080fd5b50505060405180519050508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f623b3804fa71d67900d064613da8f94b9617215ee90799290593e1745087ad188585604051808381526020018281526020019250505060405180910390a3611fc56001600b54611c8e90919063ffffffff16565b600b8190555061201d83601660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c8e90919063ffffffff16565b601660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f1935050505015156120c257600080fd5b50505050565b600080828402905060008414806120e957508284828115156120e657fe5b04145b15156120f157fe5b8091505092915050565b600080828481151561210957fe5b04905080915050929150505600a165627a7a7230582058f39d3eb1f31441234e163675b10393dd58565cb867d56e3764e33e8a1466720029000000000000000000000000000000000000000000000000000000005a9c8880000000000000000000000000000000000000000000000000000000005b1529c0000000000000000000000000000000000000000000000000000000000000013900000000000000000000000000000000000000000000000000000000000007310000000000000000000000001b6b58b7d8226cc5242e57864519b8310055a1eb0000000000000000000000003c159c0b03974f4b2befdde6f9f4ef09fd8d697b00000000000000000000000080199cf8cf5292458e8a6f56499b6de69c240e9d0000000000000000000000000000000000000000000270d617cc71ffa25d55500000000000000000000000000000000000000000000000000000000000000039000000000000000000000000000000000000000000000008e9a870ca366f98000000000000000000000000000000000000000000000000000000000000018d99000000000000000000000000000000000000000000029fb6ae63048381f44178

Deployed Bytecode

0x606060405260043610610230576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806301db61e01461023b578063029eabcb1461027057806304f182f41461029957806315527006146102c25780631ca3d4b7146102f15780631f6d49421461031a5780632ac110c51461036757806330fee9b1146103905780633a3650cf146103bc5780633b6ea083146103e55780634042b66f1461040e578063426b71131461043757806342d02b3014610460578063455770a41461048957806345cc50ce146104b5578063521eb273146104de5780635568fd5d146105335780636251aee61461055c578063673756d8146105855780636e0da971146105ba578063713be126146105e357806372f79b561461061c5780637528a6ab146106515780637b851f651461067a578063808c1499146106a75780638da5cb5b146106d3578063913188741461072857806393e59dc114610760578063c00e4306146107b5578063c3d59369146107de578063c601b7f814610828578063ce13929614610851578063cff1279714610880578063d0d89ce3146108ac578063d8e476ab146108d5578063da9bf54c14610904578063df8de3e714610933578063e5d8011f1461096c578063e5e7b82b14610995578063ec8ac4d8146109ca578063f265d351146109f8578063f274a82814610a4d578063f2fde38b14610a76578063fc0c546a14610aaf578063fec0cc1914610b04578063ff3a5eea14610b30575b61023933610b5d565b005b341561024657600080fd5b61024e610d8a565b604051808263ffffffff1663ffffffff16815260200191505060405180910390f35b341561027b57600080fd5b610283610da0565b6040518082815260200191505060405180910390f35b34156102a457600080fd5b6102ac610da6565b6040518082815260200191505060405180910390f35b34156102cd57600080fd5b6102d5610dac565b604051808260ff1660ff16815260200191505060405180910390f35b34156102fc57600080fd5b610304610dbf565b6040518082815260200191505060405180910390f35b341561032557600080fd5b610351600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610dc5565b6040518082815260200191505060405180910390f35b341561037257600080fd5b61037a610ddd565b6040518082815260200191505060405180910390f35b341561039b57600080fd5b6103ba6004808035906020019091908035906020019091905050610de3565b005b34156103c757600080fd5b6103cf610ea9565b6040518082815260200191505060405180910390f35b34156103f057600080fd5b6103f8610eaf565b6040518082815260200191505060405180910390f35b341561041957600080fd5b610421610eb5565b6040518082815260200191505060405180910390f35b341561044257600080fd5b61044a610ebb565b6040518082815260200191505060405180910390f35b341561046b57600080fd5b610473610ec1565b6040518082815260200191505060405180910390f35b341561049457600080fd5b6104b36004808035906020019091908035906020019091905050610ec7565b005b34156104c057600080fd5b6104c8610f8d565b6040518082815260200191505060405180910390f35b34156104e957600080fd5b6104f1610f93565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561053e57600080fd5b610546610fb9565b6040518082815260200191505060405180910390f35b341561056757600080fd5b61056f610fbf565b6040518082815260200191505060405180910390f35b341561059057600080fd5b610598610fc5565b604051808263ffffffff1663ffffffff16815260200191505060405180910390f35b34156105c557600080fd5b6105cd610fdb565b6040518082815260200191505060405180910390f35b34156105ee57600080fd5b61061a600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610fe1565b005b341561062757600080fd5b61062f611139565b604051808263ffffffff1663ffffffff16815260200191505060405180910390f35b341561065c57600080fd5b61066461114f565b6040518082815260200191505060405180910390f35b341561068557600080fd5b61068d611155565b604051808215151515815260200191505060405180910390f35b34156106b257600080fd5b6106d16004808035906020019091908035906020019091905050611161565b005b34156106de57600080fd5b6106e6611227565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561073357600080fd5b61075e600480803563ffffffff1690602001909190803563ffffffff1690602001909190505061124c565b005b341561076b57600080fd5b6107736113c9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156107c057600080fd5b6107c86113ef565b6040518082815260200191505060405180910390f35b34156107e957600080fd5b610826600480803560ff1690602001909190803560ff1690602001909190803560ff1690602001909190803560ff1690602001909190505061142b565b005b341561083357600080fd5b61083b61155f565b6040518082815260200191505060405180910390f35b341561085c57600080fd5b610864611565565b604051808260ff1660ff16815260200191505060405180910390f35b341561088b57600080fd5b6108aa6004808035906020019091908035906020019091905050611578565b005b34156108b757600080fd5b6108bf61163e565b6040518082815260200191505060405180910390f35b34156108e057600080fd5b6108e861164c565b604051808260ff1660ff16815260200191505060405180910390f35b341561090f57600080fd5b61091761165f565b604051808260ff1660ff16815260200191505060405180910390f35b341561093e57600080fd5b61096a600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611672565b005b341561097757600080fd5b61097f61199f565b6040518082815260200191505060405180910390f35b34156109a057600080fd5b6109a86119f0565b604051808263ffffffff1663ffffffff16815260200191505060405180910390f35b6109f6600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610b5d565b005b3415610a0357600080fd5b610a0b611a06565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3415610a5857600080fd5b610a60611a2c565b6040518082815260200191505060405180910390f35b3415610a8157600080fd5b610aad600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611a32565b005b3415610aba57600080fd5b610ac2611b87565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3415610b0f57600080fd5b610b2e6004808035906020019091908035906020019091905050611bad565b005b3415610b3b57600080fd5b610b43611c73565b604051808215151515815260200191505060405180910390f35b600080600080600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614151515610b9f57600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633af32abf866040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1515610c5b57600080fd5b5af11515610c6857600080fd5b505050604051805190501515610c7d57600080fd5b349350600084111515610c8f57600080fd5b680ad78ebc5ac6200000610ceb85601660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c8e90919063ffffffff16565b11151515610cf857600080fd5b60009250610d04611c73565b15610d6a57610d11611cac565b9150610d1d8483611d51565b9250670de0b6b3a76400008310151515610d3657600080fd5b610d4b83600854611c8e90919063ffffffff16565b90506015548111151515610d5e57600080fd5b80600881905550610d78565b60001515610d7757600080fd5b5b610d83858585611de7565b5050505050565b601460049054906101000a900463ffffffff1681565b600b5481565b600d5481565b601460029054906101000a900460ff1681565b60135481565b60166020528060005260406000206000915090505481565b600e5481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610e3e57600080fd5b8082101515610e4c57600080fd5b81600481905550806005819055507fbac91f1de4c14cf75a49bd70fedc2b96bcea270a30fa4c30adc0c056fd4dbe6260008383604051808460ff168152602001838152602001828152602001935050505060405180910390a15050565b600a5481565b60045481565b60095481565b60075481565b60155481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610f2257600080fd5b8082101515610f3057600080fd5b81600c8190555080600d819055507fbac91f1de4c14cf75a49bd70fedc2b96bcea270a30fa4c30adc0c056fd4dbe6260018383604051808460ff168152602001838152602001828152602001935050505060405180910390a15050565b60055481565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600f5481565b60115481565b601460089054906101000a900463ffffffff1681565b60085481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561103d57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561107957600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f77d555b79ccf31c4eb1a22c8c92cf27785375c5e0cb45126b2653654bc03f57b60405160405180910390a380600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600660189054906101000a900463ffffffff1681565b60125481565b60006005544211905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156111bc57600080fd5b80821015156111ca57600080fd5b81600e8190555080600f819055507fbac91f1de4c14cf75a49bd70fedc2b96bcea270a30fa4c30adc0c056fd4dbe6260028383604051808460ff168152602001838152602001828152602001935050505060405180910390a15050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156112a857600080fd5b60008263ffffffff161180156112c4575060008163ffffffff16115b15156112cf57600080fd5b81600660146101000a81548163ffffffff021916908363ffffffff16021790555080600660186101000a81548163ffffffff021916908363ffffffff160217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167ff6d3d52d61fd312009ee66ad075ee261539d9ac43ce1a0d91aa711cff5795f2a600660149054906101000a900463ffffffff16600660189054906101000a900463ffffffff16604051808363ffffffff1663ffffffff1681526020018263ffffffff1663ffffffff1681526020019250505060405180910390a25050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806113fa611c73565b1561142257611407611cac565b905061141b670de0b6b3a764000082611d51565b9150611427565b600091505b5090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561148657600080fd5b83601460006101000a81548160ff021916908360ff16021790555082601460016101000a81548160ff021916908360ff16021790555081601460026101000a81548160ff021916908360ff16021790555080601460036101000a81548160ff021916908360ff1602179055507f5a8768544835ee50e7793e9665bd89729f65702ea58b5673d07218445054f46984848484604051808560ff1660ff1681526020018460ff1660ff1681526020018360ff1660ff1681526020018260ff1660ff16815260200194505050505060405180910390a150505050565b600c5481565b601460009054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156115d357600080fd5b80821015156115e157600080fd5b81601081905550806011819055507fbac91f1de4c14cf75a49bd70fedc2b96bcea270a30fa4c30adc0c056fd4dbe6260038383604051808460ff168152602001838152602001828152602001935050505060405180910390a15050565b600060085460075401905090565b601460019054906101000a900460ff1681565b601460039054906101000a900460ff1681565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156116d057600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611782576000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f19350505050151561177d57600080fd5b61199a565b8291508173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b151561181f57600080fd5b5af1151561182c57600080fd5b5050506040518051905090508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15156118fb57600080fd5b5af1151561190857600080fd5b50505060405180519050506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167ff931edb47c50b4b4104c187b5814a9aef5f709e17e2ecf9617e860cacade929c836040518082815260200191505060405180910390a35b505050565b6000806119aa6113ef565b90506119ea60646119dc600660189054906101000a900463ffffffff1663ffffffff16846120c890919063ffffffff16565b6120fb90919063ffffffff16565b91505090565b600660149054906101000a900463ffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60105481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611a8d57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611ac957600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611c0857600080fd5b8082101515611c1657600080fd5b81601281905550806013819055507fbac91f1de4c14cf75a49bd70fedc2b96bcea270a30fa4c30adc0c056fd4dbe6260048383604051808460ff168152602001838152602001828152602001935050505060405180910390a15050565b60006004544210158015611c8957506005544211155b905090565b6000808284019050838110151515611ca257fe5b8091505092915050565b600042600c5410158015611cc15750600d5442105b15611cdd57601460009054906101000a900460ff169050611d4e565b42600e5410158015611cf05750600f5442105b15611d0c57601460019054906101000a900460ff169050611d4e565b4260105410158015611d1f575060115442105b15611d3b57601460029054906101000a900460ff169050611d4e565b601460039054906101000a900460ff1690505b90565b60008060008060008560ff1610158015611d6e575060648560ff16105b1515611d7957600080fd5b611da4600660149054906101000a900463ffffffff1663ffffffff16876120c890919063ffffffff16565b92508460640360030260ff169150611dd982611dcb612710866120c890919063ffffffff16565b6120fb90919063ffffffff16565b905080935050505092915050565b6000611dfe83600954611c8e90919063ffffffff16565b600981905550611e49670de0b6b3a7640000611e3b600660149054906101000a900463ffffffff1663ffffffff16866120c890919063ffffffff16565b6120fb90919063ffffffff16565b9050611e6081600a54611c8e90919063ffffffff16565b600a81905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb85846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1515611f2a57600080fd5b5af11515611f3757600080fd5b50505060405180519050508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f623b3804fa71d67900d064613da8f94b9617215ee90799290593e1745087ad188585604051808381526020018281526020019250505060405180910390a3611fc56001600b54611c8e90919063ffffffff16565b600b8190555061201d83601660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c8e90919063ffffffff16565b601660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f1935050505015156120c257600080fd5b50505050565b600080828402905060008414806120e957508284828115156120e657fe5b04145b15156120f157fe5b8091505092915050565b600080828481151561210957fe5b04905080915050929150505600a165627a7a7230582058f39d3eb1f31441234e163675b10393dd58565cb867d56e3764e33e8a1466720029

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

000000000000000000000000000000000000000000000000000000005a9c8880000000000000000000000000000000000000000000000000000000005b1529c0000000000000000000000000000000000000000000000000000000000000013900000000000000000000000000000000000000000000000000000000000007310000000000000000000000001b6b58b7d8226cc5242e57864519b8310055a1eb0000000000000000000000003c159c0b03974f4b2befdde6f9f4ef09fd8d697b00000000000000000000000080199cf8cf5292458e8a6f56499b6de69c240e9d0000000000000000000000000000000000000000000270d617cc71ffa25d55500000000000000000000000000000000000000000000000000000000000000039000000000000000000000000000000000000000000000008e9a870ca366f98000000000000000000000000000000000000000000000000000000000000018d99000000000000000000000000000000000000000000029fb6ae63048381f44178

-----Decoded View---------------
Arg [0] : _startTimeIco (uint256): 1520208000
Arg [1] : _endTimeIco (uint256): 1528113600
Arg [2] : _ethEurRate (uint32): 313
Arg [3] : _btcEthRate (uint32): 1841
Arg [4] : _wallet (address): 0x1B6B58b7D8226Cc5242e57864519b8310055A1Eb
Arg [5] : _tokenAddress (address): 0x3C159c0b03974f4b2BEfDdE6f9f4Ef09FD8d697B
Arg [6] : _whitelistAddress (address): 0x80199cF8cf5292458e8A6F56499B6De69c240e9d
Arg [7] : _tokensSoldPre (uint256): 2950706003413333333333328
Arg [8] : _contributions (uint256): 57
Arg [9] : _weiRaised (uint256): 164410783810400000000
Arg [10] : _eurRaised (uint256): 101785
Arg [11] : _tokensSoldIco (uint256): 3172077783319295238095224

-----Encoded View---------------
12 Constructor Arguments found :
Arg [0] : 000000000000000000000000000000000000000000000000000000005a9c8880
Arg [1] : 000000000000000000000000000000000000000000000000000000005b1529c0
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000139
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000731
Arg [4] : 0000000000000000000000001b6b58b7d8226cc5242e57864519b8310055a1eb
Arg [5] : 0000000000000000000000003c159c0b03974f4b2befdde6f9f4ef09fd8d697b
Arg [6] : 00000000000000000000000080199cf8cf5292458e8a6f56499b6de69c240e9d
Arg [7] : 0000000000000000000000000000000000000000000270d617cc71ffa25d5550
Arg [8] : 0000000000000000000000000000000000000000000000000000000000000039
Arg [9] : 000000000000000000000000000000000000000000000008e9a870ca366f9800
Arg [10] : 0000000000000000000000000000000000000000000000000000000000018d99
Arg [11] : 000000000000000000000000000000000000000000029fb6ae63048381f44178


Swarm Source

bzzr://58f39d3eb1f31441234e163675b10393dd58565cb867d56e3764e33e8a146672

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.