Sponsored Link: Datum ICO unlocks the $120 Bln User Data Economy. Data is the new Oil. Get Free Tokens worth .05 ETH
Contract Overview
ETH Balance: 0 Ether
ETH USD Value: $0
No Of Transactions: 703 txns
  Latest 25 txns from a total Of 703 transactions View All

TxHash Age From To Value [TxFee]
0x792e43491b1802ebed32b1e36854ea0b938a7a79426763f9476f0130f3179a452 days 12 hrs ago0x80240f2d788e9add2553bac0e0f81849222fa927  IN  0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10.001746402 Ether0.000447846
0xcc13e6e00b9a7811d69c984f046341e21410ffb6f17c6b4888a0b14bba7fe7782 days 16 hrs ago0xe7ed106b9e901895590445906797a2f4762c6bca  IN  0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10 Ether0.005
0xa0d92ccbe3c309baff62b758d68e370264a069a148180c703101eb0981e9a60a2 days 16 hrs ago0xe7ed106b9e901895590445906797a2f4762c6bca  IN  0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10 Ether0.00275
0xeaa14a7649cca15d231ada77997343092d22fc193b68d043aed15900566a2e053 days 10 hrs ago0x1abc1073fb34b90729c208a680a92d6aad3cb358  IN  0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10 Ether0.000446712
0x05f07ccfd584d2a935b22be38b006c7300650921fe7d5a553a62253a6db4a21c3 days 12 hrs ago0x3abbb0967accde028030720160212be9bab60388  IN  0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10 Ether0.00052965
0x4b9aef6ac0d78285618dd01b0594a6c79b9fd7124266c5b2b0549ba84f1b3c693 days 12 hrs ago0x3abbb0967accde028030720160212be9bab60388  IN  0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10 Ether0.00052965
0xe74c33a66be883ee6e7be2031566e24c64d55e83b7d9b4a98614d884cdae87a73 days 12 hrs ago0x3abbb0967accde028030720160212be9bab60388  IN  0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10 Ether0.00052965
0x8ced4ffd7facfdb7976661a73248cdd3651d15cb01daf997f6681ddae9b2661b3 days 12 hrs ago0x3abbb0967accde028030720160212be9bab60388  IN  0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10 Ether0.00052965
0xdd62de8c31930c4c64fa5ff5a7749102d484284753284e7a5a9b5571c03225523 days 14 hrs ago0x7298b777ccb587b72c667011f02843b3fcf24d39  IN  0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10 Ether0.000491232
0xe4402ab05d8a95722704d382c9b6b0ba19246be1132eb0550ae0c5f0e5afbd1d3 days 15 hrs ago0x3abbb0967accde028030720160212be9bab60388  IN  0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10 Ether0.00064548
0xdb2d77ccc2648444962bc5f859fbff7822227ec0e536106c9336d9b773cd45323 days 15 hrs ago0xa20dceda8b403000d53d181dfce96111777573e7  IN  0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10 Ether0.000446712
0xd35e0639218e192783b488030c7ae38162301c25128a1197098b6788b5292b393 days 15 hrs ago0xf1657d0b9027311f175f911ce2576db476d90cc8  IN  0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10 Ether0.00081872
0x331729e9605ea8d32c6cec287dc077092683c236cbfb9bba93dfdd164212625e3 days 15 hrs ago0x3abbb0967accde028030720160212be9bab60388  IN  0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10 Ether0.00052965
0x924f27f15d3359de473a6138cee637b4c5728982524dd667056b4229baa9219f3 days 17 hrs ago0x1501b4bee65d79457b8e4b921095a91f74e8854c  IN  0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10 Ether0.000140352
0x492a2ff7c18359165fd15c3512b5a48bdffd5c68e84780599ac1838b5630c11d3 days 17 hrs ago0x1501b4bee65d79457b8e4b921095a91f74e8854c  IN  0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10 Ether0.000198
0x92d2033bf2f054fb6b04d9e10886a43ae6ec791ed1c475ddc4cccec2cb2aaabc3 days 17 hrs ago0x1501b4bee65d79457b8e4b921095a91f74e8854c  IN  0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10 Ether0.000132
0x04288e5f22dde6e03cd7847a638d91a9be21674428331a81df0c4f587838218c3 days 22 hrs ago0x4b1d0c00ba8ee054d3e75ee366eea6c1066fefb1  IN  0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10 Ether0.00046784
0x4bd46a503aa3dc4008d18f2c89ad3de1c7ad2c2822d99f65fc435449aefb6a553 days 23 hrs ago0x4b1d0c00ba8ee054d3e75ee366eea6c1066fefb1  IN  0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10 Ether0.00042652
0x555b904f0023c9e08ce406f9bdaea6c96a7abb1c37f656be57f2cd7e2c8aa6c54 days 58 mins ago0x06a8b7b29a6605a701b3fe18e9f6a0c19648ab7d  IN  0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10 Ether0.000538016
0xcffb587c4dd8212e3da6fac74657c0c9df6fd82bfb916eafaef79b4eaf7fb43e4 days 1 hr ago0xe2caa8f51b98796a359d7c71d77953ab7312b5bb  IN  0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10 Ether0.000491232
0x6d8df4fe952427d4a2d418e718c62a1b3d6864acda265b23d3c6d6c190db739b4 days 5 hrs ago0xaac8533e4d54429a1664d3f8fb6929a46fd6d019  IN  0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10 Ether0.00525
0xa2e4b21b81f41922eb57148585fd980f957a5950193254f2e08396b2a3e2aad34 days 5 hrs ago0xaac8533e4d54429a1664d3f8fb6929a46fd6d019  IN  0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10 Ether0.00233016
0x7fbafa9537fd1e8793ad4a5cbea3b064aec72db7d49e9c144270a9c75b9ebbf04 days 5 hrs ago0xaac8533e4d54429a1664d3f8fb6929a46fd6d019  IN  0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10 Ether0.012
0x849c3c22ddc0fca52fce67d75ba2a83a0c54a739ed6aba1192bd41de49bfb0104 days 5 hrs ago0xf0571e067930c59f974d3394987bf4392513748e  IN  0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10 Ether0.0005292
0x6066cc58cea039340ab6c97d164a5ac0ddf5940e444b07a9431c4ae16259ea734 days 6 hrs ago0xb238370240ab7402f60ead5bdfaff2d8bf33fc5e  IN  0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10 Ether0.000021
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
  Latest 25 Internal Txns, Click here to View More View All
ParentTxHash Block Age From To Value
0x05f07ccfd584d2a935b22be38b006c7300650921fe7d5a553a62253a6db4a21c43719833 days 12 hrs ago0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10x92f0c33c5040685bf6243ab84f5142a2d9a3ad350.39 Ether
0x4b9aef6ac0d78285618dd01b0594a6c79b9fd7124266c5b2b0549ba84f1b3c6943719793 days 12 hrs ago0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10x455c198cc07df9cb87db633cd8e6224e1bcf3d250.987038386 Ether
0xe74c33a66be883ee6e7be2031566e24c64d55e83b7d9b4a98614d884cdae87a743719753 days 12 hrs ago0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10x3c48a3a1fd851ee697ecb2e6d0fed84de6db959d0.45 Ether
0x8ced4ffd7facfdb7976661a73248cdd3651d15cb01daf997f6681ddae9b2661b43719643 days 12 hrs ago0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10x6fefe6b2f73cf0f6de1e98df4cf346b578dbbe561 Ether
0x6d148a1140fd949ecab637e1864a5fe3f4fcd48b89158550f25d85c3ce53ca9a43716473 days 14 hrs ago0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10x864e60007a0cd1c71b248d42be06d44e2e20ec4c0.01470155836518671 Ether
0x6d148a1140fd949ecab637e1864a5fe3f4fcd48b89158550f25d85c3ce53ca9a43716473 days 14 hrs ago0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10xf36b5cb19a4128be78b59b609276d8ccc14fa7c41 Ether
0x6d148a1140fd949ecab637e1864a5fe3f4fcd48b89158550f25d85c3ce53ca9a43716473 days 14 hrs ago0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10xd1766681a6c1192bdb5fab1cd504c3f638468aeb1.01 Ether
0x6d148a1140fd949ecab637e1864a5fe3f4fcd48b89158550f25d85c3ce53ca9a43716473 days 14 hrs ago0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10xd3f4aef794bf8b1c5ef4fdb617b82635827ea5751.50515464 Ether
0x6d148a1140fd949ecab637e1864a5fe3f4fcd48b89158550f25d85c3ce53ca9a43716473 days 14 hrs ago0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10x0215861487e5d44be98528a6628906e9076098230.5 Ether
0x6d148a1140fd949ecab637e1864a5fe3f4fcd48b89158550f25d85c3ce53ca9a43716473 days 14 hrs ago0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10x8dc9cf745ec707faf04995fa937423f77b63340c0.01 Ether
0x6d148a1140fd949ecab637e1864a5fe3f4fcd48b89158550f25d85c3ce53ca9a43716473 days 14 hrs ago0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10xf75d4a30e2d50e03fbc491101995131ca4ab79980.23 Ether
0x6d148a1140fd949ecab637e1864a5fe3f4fcd48b89158550f25d85c3ce53ca9a43716473 days 14 hrs ago0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10xbdb05d23045ab3df85fb3c47e82d935804e428db0.3 Ether
0x6d148a1140fd949ecab637e1864a5fe3f4fcd48b89158550f25d85c3ce53ca9a43716473 days 14 hrs ago0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10xc63969c7d2f1a401b7f3af8c09bcf65a21ae99990.198 Ether
0x6d148a1140fd949ecab637e1864a5fe3f4fcd48b89158550f25d85c3ce53ca9a43716473 days 14 hrs ago0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10x234e6ad7f69ea7c4d4cd9b2af21f44ac5a4988e90.667 Ether
0x6d148a1140fd949ecab637e1864a5fe3f4fcd48b89158550f25d85c3ce53ca9a43716473 days 14 hrs ago0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10x5087ffe116e74666a3acaefe4c3c6c803777d2e20.63 Ether
0x6d148a1140fd949ecab637e1864a5fe3f4fcd48b89158550f25d85c3ce53ca9a43716473 days 14 hrs ago0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10x1ba9228d388727f389150ea03b73c82de8eb2e091.5 Ether
0x6d148a1140fd949ecab637e1864a5fe3f4fcd48b89158550f25d85c3ce53ca9a43716473 days 14 hrs ago0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10x1ed4b18a2d29f60a030a97c7d29c5f396a397b730.297 Ether
0x6d148a1140fd949ecab637e1864a5fe3f4fcd48b89158550f25d85c3ce53ca9a43716473 days 14 hrs ago0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10x03b83418870fb03a6c45a7b510343424a593ecc30.2 Ether
0x6d148a1140fd949ecab637e1864a5fe3f4fcd48b89158550f25d85c3ce53ca9a43716473 days 14 hrs ago0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10xaa85b24ac88a0a235f1977821194adce1cda91440.1 Ether
0x6d148a1140fd949ecab637e1864a5fe3f4fcd48b89158550f25d85c3ce53ca9a43716473 days 14 hrs ago0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10x7f7bc7b9095dcff870840d1ee5ff1a75b0ed54680.001148913 Ether
0x6d148a1140fd949ecab637e1864a5fe3f4fcd48b89158550f25d85c3ce53ca9a43716473 days 14 hrs ago0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10x8b73238451879d922d7497f0ed08ecc7c4ada25f1.3 Ether
0x6d148a1140fd949ecab637e1864a5fe3f4fcd48b89158550f25d85c3ce53ca9a43716473 days 14 hrs ago0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10x19c5bee1e6009e19c0b927f4fb278b52c0baef660.5 Ether
0x6d148a1140fd949ecab637e1864a5fe3f4fcd48b89158550f25d85c3ce53ca9a43716473 days 14 hrs ago0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10x4c1602c29edf72b5a66381f5afe196581291b55a2.5 Ether
0x6d148a1140fd949ecab637e1864a5fe3f4fcd48b89158550f25d85c3ce53ca9a43716473 days 14 hrs ago0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10x48ed4cd267d6dc81270f22a2348341d1213a7f2e0.17312125 Ether
0x6d148a1140fd949ecab637e1864a5fe3f4fcd48b89158550f25d85c3ce53ca9a43716473 days 14 hrs ago0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10x842373a5c4559f3c6ba26804780c0e9a16f5eec50.03 Ether
[ Download CSV Export  ] 
Warning: The compiled contract might be susceptible to ZeroFunctionSelector (very low-severity) Solidity compiler bugs.

Contract Source Code Verified
Contract Name: ImmlaIco
Compiler Version: v0.4.16+commit.d7661dd9
Optimization Enabled: Yes
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts
pragma solidity ^0.4.15;

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

  function div(uint256 a, uint256 b) constant internal 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) constant internal returns (uint256) {
    assert(b <= a);
    return a - b;
  }

  function add(uint256 a, uint256 b) constant internal returns (uint256) {
    uint256 c = a + b;
    assert(c >= a);
    return c;
  }
  
  function mulByFraction(uint256 number, uint256 numerator, uint256 denominator) internal returns (uint256) {
      return div(mul(number, numerator), denominator);
  }
}


/// Implements ERC 20 Token standard: https://github.com/ethereum/EIPs/issues/20
/// @title Abstract token contract - Functions to be implemented by token contracts.

contract AbstractToken {
    // This is not an abstract function, because solc won't recognize generated getter functions for public variables as functions
    function totalSupply() constant returns (uint256) {}
    function balanceOf(address owner) constant returns (uint256 balance);
    function transfer(address to, uint256 value) returns (bool success);
    function transferFrom(address from, address to, uint256 value) returns (bool success);
    function approve(address spender, uint256 value) returns (bool success);
    function allowance(address owner, address spender) constant returns (uint256 remaining);

    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
    event Issuance(address indexed to, uint256 value);
}

contract StandardToken is AbstractToken {
    /*
     *  Data structures
     */
    mapping (address => uint256) balances;
    mapping (address => mapping (address => uint256)) allowed;
    uint256 public totalSupply;

    /*
     *  Read and write storage functions
     */
    /// @dev Transfers sender's tokens to a given address. Returns success.
    /// @param _to Address of token receiver.
    /// @param _value Number of tokens to transfer.
    function transfer(address _to, uint256 _value) returns (bool success) {
        if (balances[msg.sender] >= _value && balances[_to] + _value > balances[_to]) {
            balances[msg.sender] -= _value;
            balances[_to] += _value;
            Transfer(msg.sender, _to, _value);
            return true;
        }
        else {
            return false;
        }
    }

    /// @dev Allows allowed third party to transfer tokens from one address to another. Returns success.
    /// @param _from Address from where tokens are withdrawn.
    /// @param _to Address to where tokens are sent.
    /// @param _value Number of tokens to transfer.
    function transferFrom(address _from, address _to, uint256 _value) returns (bool success) {
      if (balances[_from] >= _value && allowed[_from][msg.sender] >= _value && balances[_to] + _value > balances[_to]) {
            balances[_to] += _value;
            balances[_from] -= _value;
            allowed[_from][msg.sender] -= _value;
            Transfer(_from, _to, _value);
            return true;
        }
        else {
            return false;
        }
    }

    /// @dev Returns number of tokens owned by given address.
    /// @param _owner Address of token owner.
    function balanceOf(address _owner) constant returns (uint256 balance) {
        return balances[_owner];
    }

    /// @dev Sets approved amount of tokens for spender. Returns success.
    /// @param _spender Address of allowed account.
    /// @param _value Number of approved tokens.
    function approve(address _spender, uint256 _value) returns (bool success) {
        allowed[msg.sender][_spender] = _value;
        Approval(msg.sender, _spender, _value);
        return true;
    }

    /*
     * Read storage functions
     */
    /// @dev Returns number of allowed tokens for given address.
    /// @param _owner Address of token owner.
    /// @param _spender Address of token spender.
    function allowance(address _owner, address _spender) constant returns (uint256 remaining) {
      return allowed[_owner][_spender];
    }

}


contract ImmlaToken is StandardToken, SafeMath {
    /*
     * Token meta data
     */
    string public constant name = "IMMLA";
    string public constant symbol = "IML";
    uint public constant decimals = 18;
    uint public constant supplyLimit = 550688955000000000000000000;
    
    address public icoContract = 0x0;
    /*
     * Modifiers
     */
    
    modifier onlyIcoContract() {
        // only ICO contract is allowed to proceed
        require(msg.sender == icoContract);
        _;
    }
    
    /*
     * Contract functions
     */
    
    /// @dev Contract is needed in icoContract address
    /// @param _icoContract Address of account which will be mint tokens
    function ImmlaToken(address _icoContract) {
        assert(_icoContract != 0x0);
        icoContract = _icoContract;
    }
    
    /// @dev Burns tokens from address. It's can be applied by account with address this.icoContract
    /// @param _from Address of account, from which will be burned tokens
    /// @param _value Amount of tokens, that will be burned
    function burnTokens(address _from, uint _value) onlyIcoContract {
        assert(_from != 0x0);
        require(_value > 0);
        
        balances[_from] = sub(balances[_from], _value);
    }
    
    /// @dev Adds tokens to address. It's can be applied by account with address this.icoContract
    /// @param _to Address of account to which the tokens will pass
    /// @param _value Amount of tokens
    function emitTokens(address _to, uint _value) onlyIcoContract {
        assert(_to != 0x0);
        require(_value > 0);
        
        balances[_to] = add(balances[_to], _value);
    }
}


contract ImmlaIco is SafeMath {
    /*
     * ICO meta data
     */
    ImmlaToken public immlaToken;
    AbstractToken public preIcoToken;

    // Address of account to which ethers will be tranfered in case of successful ICO
    address public escrow;
    // Address of manager
    address public icoManager;
    // Address of a account, that will transfer tokens from pre-ICO
    address public tokenImporter = 0x0;
    // Addresses of founders, team and bountyOwner
    address public founder1;
    address public founder2;
    address public founder3;
    address public team;
    address public bountyOwner;
    
    // 38548226,7 IML is reward for team
    uint public constant teamsReward = 38548226701232220000000000;
    //  9361712,2 IML is token for bountyOwner
    uint public constant bountyOwnersTokens = 9361712198870680000000000;
    
    // BASE = 10^18
    uint constant BASE = 1000000000000000000;
    
    // 2017.09.14 21:00 UTC or 2017.09.15 0:00 MSK
    uint public constant defaultIcoStart = 1505422800;
    // ICO start time
    uint public icoStart = defaultIcoStart;
    
    // 2017.10.15 21:00 UTC or 2017.10.16 0:00 MSK
    uint public constant defaultIcoDeadline = 1508101200;
    // ICO end time
    uint public  icoDeadline = defaultIcoDeadline;
    
    // 2018.03.14 21:00 UTC or 2018.03.15 0:00 MSK
    uint public constant defaultFoundersRewardTime = 1521061200;
    // founders' reward time
    uint public foundersRewardTime = defaultFoundersRewardTime;
    
    // Min limit of tokens is 18 000 000 IML
    uint public constant minIcoTokenLimit = 18000000 * BASE;
    // Max limit of tokens is 434 477 177 IML
    uint public constant maxIcoTokenLimit = 434477177 * BASE;
    
    // Amount of imported tokens from pre-ICO
    uint public importedTokens = 0;
    // Amount of sold tokens on ICO
    uint public soldTokensOnIco = 0;
    // Amount of issued tokens on pre-ICO = 13232941,7 IML
    uint public constant soldTokensOnPreIco = 13232941687168431951684000;
    
    // There are 170053520 tokens in stage 1
    // 1 ETH = 3640 IML
    uint tokenPrice1 = 3640;
    uint tokenSupply1 = 170053520 * BASE;
    
    // There are 103725856 tokens in stage 2
    // 1 ETH = 3549 IML
    uint tokenPrice2 = 3549;
    uint tokenSupply2 = 103725856 * BASE;
    
    // There are 100319718 tokens in stage 3
    // 1 ETH = 3458 IML
    uint tokenPrice3 = 3458;
    uint tokenSupply3 = 100319718 * BASE;
    
    // There are 60378083 tokens in stage 4
    // 1 ETH = 3367 IML
    uint tokenPrice4 = 3367;
    uint tokenSupply4 = 60378083 * BASE;
    
    // Token's prices in stages in array
    uint[] public tokenPrices;
    // Token's remaining amounts in stages in array
    uint[] public tokenSupplies;
    
    // Check if manager can be setted
    bool public initialized = false;
    // If flag migrated=false, token can be burned
    bool public migrated = false;
    // Tokens to founders can be sent only if sentTokensToFounders == false and time > foundersRewardTime
    bool public sentTokensToFounders = false;
    // If stopICO is called, then ICO 
    bool public icoStoppedManually = false;
    
    // mapping of ether balances info
    mapping (address => uint) public balances;
    
    /*
     * Events
     */
    
    event BuyTokens(address buyer, uint value, uint amount);
    event WithdrawEther();
    event StopIcoManually();
    event SendTokensToFounders(uint founder1Reward, uint founder2Reward, uint founder3Reward);
    event ReturnFundsFor(address account);
    
    /*
     * Modifiers
     */
    
    modifier whenInitialized() {
        // only when contract is initialized
        require(initialized);
        _;
    } 
    
    modifier onlyManager() {
        // only ICO manager can do this action
        require(msg.sender == icoManager);
        _;
    }
    
    modifier onIcoRunning() {
        // Checks, if ICO is running and has not been stopped
        require(!icoStoppedManually && now >= icoStart && now <= icoDeadline);
        _;
    }
    
    modifier onGoalAchievedOrDeadline() {
        // Checks if amount of sold tokens >= min limit or deadline is reached
        require(soldTokensOnIco >= minIcoTokenLimit || now > icoDeadline || icoStoppedManually);
        _;
    }
    
    modifier onIcoStopped() {
        // Checks if ICO was stopped or deadline is reached
        require(icoStoppedManually || now > icoDeadline);
        _;
    }
    
    modifier notMigrated() {
        // Checks if base can be migrated
        require(!migrated);
        _;
    }
    
    /// @dev Constructor of ICO. Requires address of icoManager,
    /// address of preIcoToken, time of start ICO (or zero),
    /// time of ICO deadline (or zero), founders' reward time (or zero)
    /// @param _icoManager Address of ICO manager
    /// @param _preIcoToken Address of pre-ICO contract
    /// @param _icoStart Timestamp of ICO start (if equals 0, sets defaultIcoStart)
    /// @param _icoDeadline Timestamp of ICO deadline (if equals 0, sets defaultIcoDeadline)
    /// @param _foundersRewardTime Timestamp of founders rewarding time 
    /// (if equals 0, sets defaultFoundersRewardTime)
    function ImmlaIco(address _icoManager, address _preIcoToken, 
        uint _icoStart, uint _icoDeadline, uint _foundersRewardTime) {
        assert(_preIcoToken != 0x0);
        assert(_icoManager != 0x0);
        
        immlaToken = new ImmlaToken(this);
        icoManager = _icoManager;
        preIcoToken = AbstractToken(_preIcoToken);
        
        if (_icoStart != 0) {
            icoStart = _icoStart;
        }
        if (_icoDeadline != 0) {
            icoDeadline = _icoDeadline;
        }
        if (_foundersRewardTime != 0) {
            foundersRewardTime = _foundersRewardTime;
        }
        
        // tokenPrices and tokenSupplies arrays initialisation
        tokenPrices.push(tokenPrice1);
        tokenPrices.push(tokenPrice2);
        tokenPrices.push(tokenPrice3);
        tokenPrices.push(tokenPrice4);
        
        tokenSupplies.push(tokenSupply1);
        tokenSupplies.push(tokenSupply2);
        tokenSupplies.push(tokenSupply3);
        tokenSupplies.push(tokenSupply4);
    }
    
    /// @dev Initialises addresses of team, founders, tokens owner, escrow.
    /// Initialises balances of team and tokens owner
    /// @param _founder1 Address of founder 1
    /// @param _founder2 Address of founder 2
    /// @param _founder3 Address of founder 3
    /// @param _team Address of team
    /// @param _bountyOwner Address of bounty owner
    /// @param _escrow Address of escrow
    function init(
        address _founder1, address _founder2, address _founder3, 
        address _team, address _bountyOwner, address _escrow) onlyManager {
        assert(!initialized);
        assert(_founder1 != 0x0);
        assert(_founder2 != 0x0);
        assert(_founder3 != 0x0);
        assert(_team != 0x0);
        assert(_bountyOwner != 0x0);
        assert(_escrow != 0x0);
        
        founder1 = _founder1;
        founder2 = _founder2;
        founder3 = _founder3;
        team = _team;
        bountyOwner = _bountyOwner;
        escrow = _escrow;
        
        immlaToken.emitTokens(team, teamsReward);
        immlaToken.emitTokens(bountyOwner, bountyOwnersTokens);
        
        initialized = true;
    }
    
    /// @dev Sets new manager. Only manager can do it
    /// @param _newIcoManager Address of new ICO manager
    function setNewManager(address _newIcoManager) onlyManager {
        assert(_newIcoManager != 0x0);
        
        icoManager = _newIcoManager;
    }
    
    /// @dev Sets new token importer. Only manager can do it
    /// @param _newTokenImporter Address of token importer
    function setNewTokenImporter(address _newTokenImporter) onlyManager {
        tokenImporter = _newTokenImporter;
    } 
    
    // saves info if account's tokens were imported from pre-ICO
    mapping (address => bool) private importedFromPreIco;
    /// @dev Imports account's tokens from pre-ICO. It can be done only by user, ICO manager or token importer
    /// @param _account Address of account which tokens will be imported
    function importTokens(address _account) {
        // only tokens holder or manager or tokenImporter can do migration
        require(msg.sender == tokenImporter || msg.sender == icoManager || msg.sender == _account);
        require(!importedFromPreIco[_account]);
        
        uint preIcoBalance = preIcoToken.balanceOf(_account);
        if (preIcoBalance > 0) {
            immlaToken.emitTokens(_account, preIcoBalance);
            importedTokens = add(importedTokens, preIcoBalance);
        }
        
        importedFromPreIco[_account] = true;
    }
    
    /// @dev Stops ICO manually. Only manager can do it
    function stopIco() onlyManager /* onGoalAchievedOrDeadline */ {
        icoStoppedManually = true;
        StopIcoManually();
    }
    
    /// @dev If ICO is successful, sends funds to escrow (Only manager can do it). If ICO is failed, sends funds to caller (Anyone can do it)
    function withdrawEther() onGoalAchievedOrDeadline {
        if (soldTokensOnIco >= minIcoTokenLimit) {
            assert(initialized);
            assert(this.balance > 0);
            assert(msg.sender == icoManager);
            
            escrow.transfer(this.balance);
            WithdrawEther();
        } 
        else {
            returnFundsFor(msg.sender);
        }
    }
    
    /// @dev Returns funds to funder if ICO is unsuccessful. Dont removes IMMLA balance. Can be called only by manager or contract
    /// @param _account Address of funder
    function returnFundsFor(address _account) onGoalAchievedOrDeadline {
        assert(msg.sender == address(this) || msg.sender == icoManager || msg.sender == _account);
        assert(soldTokensOnIco < minIcoTokenLimit);
        assert(balances[_account] > 0);
        
        _account.transfer(balances[_account]);
        balances[_account] = 0;
        
        ReturnFundsFor(_account);
    }
    
    /// @dev count tokens that can be sold with amount of money. Can be called only by contract
    /// @param _weis Amount of weis
    function countTokens(uint _weis) private returns(uint) { 
        uint result = 0;
        uint stage;
        for (stage = 0; stage < 4; stage++) {
            if (_weis == 0) {
                break;
            }
            if (tokenSupplies[stage] == 0) {
                continue;
            }
            uint maxTokenAmount = tokenPrices[stage] * _weis;
            if (maxTokenAmount <= tokenSupplies[stage]) {
                result = add(result, maxTokenAmount);
                break;
            }
            result = add(result, tokenSupplies[stage]);
            _weis = sub(_weis, div(tokenSupplies[stage], tokenPrices[stage]));
        }
        
        if (stage == 4) {
            result = add(result, tokenPrices[3] * _weis);
        }
        
        return result;
    }
    
    /// @dev Invalidates _amount tokens. Can be called only by contract
    /// @param _amount Amount of tokens
    function removeTokens(uint _amount) private {
        for (uint i = 0; i < 4; i++) {
            if (_amount == 0) {
                break;
            }
            if (tokenSupplies[i] > _amount) {
                tokenSupplies[i] = sub(tokenSupplies[i], _amount);
                break;
            }
            _amount = sub(_amount, tokenSupplies[i]);
            tokenSupplies[i] = 0;
        }
    }
    
    /// @dev Buys quantity of tokens for the amount of sent ethers.
    /// @param _buyer Address of account which will receive tokens
    function buyTokens(address _buyer) private {
        assert(_buyer != 0x0);
        require(msg.value > 0);
        require(soldTokensOnIco < maxIcoTokenLimit);
        
        uint boughtTokens = countTokens(msg.value);
        assert(add(soldTokensOnIco, boughtTokens) <= maxIcoTokenLimit);
        
        removeTokens(boughtTokens);
        soldTokensOnIco = add(soldTokensOnIco, boughtTokens);
        immlaToken.emitTokens(_buyer, boughtTokens);
        
        balances[_buyer] = add(balances[_buyer], msg.value);
        
        BuyTokens(_buyer, msg.value, boughtTokens);
    }
    
    /// @dev Fall back function ~50k-100k gas
    function () payable onIcoRunning {
        buyTokens(msg.sender);
    }
    
    /// @dev Burn tokens from accounts only in state "not migrated". Only manager can do it
    /// @param _from Address of account 
    function burnTokens(address _from, uint _value) onlyManager notMigrated {
        immlaToken.burnTokens(_from, _value);
    }
    
    /// @dev Set state "migrated". Only manager can do it 
    function setStateMigrated() onlyManager {
        migrated = true;
    }
    
    /// @dev Send tokens to founders. Can be sent only after immlaToken.rewardTime() (2018.03.15 0:00 UTC)
    /// Sends 43% * 10% of all tokens to founder 1
    /// Sends 43% * 10% of all tokens to founder 2
    /// Sends 14% * 10% of all tokens to founder 3
    function sendTokensToFounders() onlyManager whenInitialized {
        require(!sentTokensToFounders && now >= foundersRewardTime);
        
        // soldTokensOnPreIco + soldTokensOnIco is ~81.3% of tokens 
        uint totalCountOfTokens = mulByFraction(add(soldTokensOnIco, soldTokensOnPreIco), 1000, 813);
        uint totalRewardToFounders = mulByFraction(totalCountOfTokens, 1, 10);
        
        uint founder1Reward = mulByFraction(totalRewardToFounders, 43, 100);
        uint founder2Reward = mulByFraction(totalRewardToFounders, 43, 100);
        uint founder3Reward = mulByFraction(totalRewardToFounders, 14, 100);
        immlaToken.emitTokens(founder1, founder1Reward);
        immlaToken.emitTokens(founder2, founder2Reward);
        immlaToken.emitTokens(founder3, founder3Reward);
        SendTokensToFounders(founder1Reward, founder2Reward, founder3Reward);
        sentTokensToFounders = true;
    }
}

    Contract ABI  
[{"constant":true,"inputs":[],"name":"defaultIcoStart","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"soldTokensOnPreIco","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"importedTokens","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_value","type":"uint256"}],"name":"burnTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"founder1","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"initialized","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"balances","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"sendTokensToFounders","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"migrated","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"icoManager","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"icoDeadline","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"maxIcoTokenLimit","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"preIcoToken","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokenImporter","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"sentTokensToFounders","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"withdrawEther","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"bountyOwnersTokens","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"stopIco","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"foundersRewardTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_account","type":"address"}],"name":"returnFundsFor","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"founder2","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"immlaToken","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"icoStart","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"team","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"teamsReward","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_founder1","type":"address"},{"name":"_founder2","type":"address"},{"name":"_founder3","type":"address"},{"name":"_team","type":"address"},{"name":"_bountyOwner","type":"address"},{"name":"_escrow","type":"address"}],"name":"init","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"bountyOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"icoStoppedManually","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"defaultFoundersRewardTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"minIcoTokenLimit","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"tokenSupplies","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newIcoManager","type":"address"}],"name":"setNewManager","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"soldTokensOnIco","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"setStateMigrated","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"escrow","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_account","type":"address"}],"name":"importTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newTokenImporter","type":"address"}],"name":"setNewTokenImporter","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"tokenPrices","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"defaultIcoDeadline","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"founder3","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_icoManager","type":"address"},{"name":"_preIcoToken","type":"address"},{"name":"_icoStart","type":"uint256"},{"name":"_icoDeadline","type":"uint256"},{"name":"_foundersRewardTime","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"buyer","type":"address"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"BuyTokens","type":"event"},{"anonymous":false,"inputs":[],"name":"WithdrawEther","type":"event"},{"anonymous":false,"inputs":[],"name":"StopIcoManually","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"founder1Reward","type":"uint256"},{"indexed":false,"name":"founder2Reward","type":"uint256"},{"indexed":false,"name":"founder3Reward","type":"uint256"}],"name":"SendTokensToFounders","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"account","type":"address"}],"name":"ReturnFundsFor","type":"event"}]

  Contract Creation Code Switch To Opcodes View
606060405260048054600160a060020a03191690556359baedd0600a556359e3cc50600b55635aa98d50600c556000600d819055600e55610e38600f556a8caa3bca882cb004400000601055610ddd6011556a55cccdebc07db2f8800000601255610d826013556a52fb86cf580242c7d80000601455610d276015556a31f18e701dda1bb9ac00006016556019805463ffffffff191690553415620000a357600080fd5b60405160a080620024f983398101604052808051919060200180519190602001805191906020018051919060200180519150505b600160a060020a0384161515620000ea57fe5b600160a060020a0385161515620000fd57fe5b3062000108620002e5565b600160a060020a039091168152602001604051809103906000f08015156200012f57600080fd5b60008054600160a060020a0319908116600160a060020a03938416179091556003805482168884161790556001805490911691861691909117905582156200017757600a8390555b81156200018457600b8290555b80156200019157600c8190555b6017805460018101620001a58382620002f6565b916000526020600020900160005b50600f549055506017805460018101620001ce8382620002f6565b916000526020600020900160005b506011549055506017805460018101620001f78382620002f6565b916000526020600020900160005b506013549055506017805460018101620002208382620002f6565b916000526020600020900160005b506015549055506018805460018101620002498382620002f6565b916000526020600020900160005b506010549055506018805460018101620002728382620002f6565b916000526020600020900160005b5060125490555060188054600181016200029b8382620002f6565b916000526020600020900160005b506014549055506018805460018101620002c48382620002f6565b916000526020600020900160005b506016549055505b505050505062000347565b6040516108c18062001c3883390190565b8154818355818115116200031d576000838152602090206200031d91810190830162000323565b5b505050565b6200034491905b808211156200034057600081556001016200032a565b5090565b90565b6118e180620003576000396000f300606060405236156101d25763ffffffff60e060020a60003504166308dd14fc81146102155780630a0209d01461023a5780630c823abe1461025f5780630d1118ce14610284578063116b556b146102a8578063158ef93e146102d757806327e235e3146102fe57806327e7c0231461032f5780632c678c6414610344578063319df3bf1461036b57806333cf3ca01461039a5780634c6ebbbe146103bf578063636fa3c6146103e4578063681d52de146104135780636a0d3450146104425780637362377b146104695780637a1ab4071461047e5780637b274afc146104a35780637d61de37146104b85780637dfbdf6d146104dd578063806ba6d6146104fe578063809a812c1461052d578063827037db1461055c57806385f2aef21461058157806388bb0c73146105b057806399e133f9146105d55780639db069d814610614578063a057980114610643578063a19db6821461066a578063b08375241461068f578063c0c81969146106b4578063d30f945a146106dc578063dd09de33146106fd578063de01ec2814610722578063e2fdcc1714610737578063e3ba339814610766578063e3dd164e14610787578063e5afe3e6146107a8578063f85f3b7f146107d0578063fb38ec94146107f5575b5b6019546301000000900460ff161580156101ef5750600a544210155b80156101fd5750600b544211155b151561020857600080fd5b61021133610824565b5b5b005b341561022057600080fd5b6102286109ba565b60405190815260200160405180910390f35b341561024557600080fd5b6102286109c2565b60405190815260200160405180910390f35b341561026a57600080fd5b6102286109d1565b60405190815260200160405180910390f35b341561028f57600080fd5b610211600160a060020a03600435166024356109d7565b005b34156102b357600080fd5b6102bb610a78565b604051600160a060020a03909116815260200160405180910390f35b34156102e257600080fd5b6102ea610a87565b604051901515815260200160405180910390f35b341561030957600080fd5b610228600160a060020a0360043516610a90565b60405190815260200160405180910390f35b341561033a57600080fd5b610211610aa2565b005b341561034f57600080fd5b6102ea610d18565b604051901515815260200160405180910390f35b341561037657600080fd5b6102bb610d26565b604051600160a060020a03909116815260200160405180910390f35b34156103a557600080fd5b610228610d35565b60405190815260200160405180910390f35b34156103ca57600080fd5b610228610d3b565b60405190815260200160405180910390f35b34156103ef57600080fd5b6102bb610d4b565b604051600160a060020a03909116815260200160405180910390f35b341561041e57600080fd5b6102bb610d5a565b604051600160a060020a03909116815260200160405180910390f35b341561044d57600080fd5b6102ea610d69565b604051901515815260200160405180910390f35b341561047457600080fd5b610211610d78565b005b341561048957600080fd5b610228610e7c565b60405190815260200160405180910390f35b34156104ae57600080fd5b610211610e8b565b005b34156104c357600080fd5b610228610ee9565b60405190815260200160405180910390f35b34156104e857600080fd5b610211600160a060020a0360043516610eef565b005b341561050957600080fd5b6102bb611054565b604051600160a060020a03909116815260200160405180910390f35b341561053857600080fd5b6102bb611063565b604051600160a060020a03909116815260200160405180910390f35b341561056757600080fd5b610228611072565b60405190815260200160405180910390f35b341561058c57600080fd5b6102bb611078565b604051600160a060020a03909116815260200160405180910390f35b34156105bb57600080fd5b610228611087565b60405190815260200160405180910390f35b34156105e057600080fd5b610211600160a060020a0360043581169060243581169060443581169060643581169060843581169060a43516611096565b005b341561061f57600080fd5b6102bb61129c565b604051600160a060020a03909116815260200160405180910390f35b341561064e57600080fd5b6102ea6112ab565b604051901515815260200160405180910390f35b341561067557600080fd5b6102286112bb565b60405190815260200160405180910390f35b341561069a57600080fd5b6102286112c3565b60405190815260200160405180910390f35b34156106bf57600080fd5b6102286004356112d2565b60405190815260200160405180910390f35b34156106e757600080fd5b610211600160a060020a03600435166112f5565b005b341561070857600080fd5b61022861134f565b60405190815260200160405180910390f35b341561072d57600080fd5b610211611355565b005b341561074257600080fd5b6102bb611383565b604051600160a060020a03909116815260200160405180910390f35b341561077157600080fd5b610211600160a060020a0360043516611392565b005b341561079257600080fd5b610211600160a060020a036004351661152d565b005b34156107b357600080fd5b610228600435611575565b60405190815260200160405180910390f35b34156107db57600080fd5b610228611598565b60405190815260200160405180910390f35b341561080057600080fd5b6102bb6115a0565b604051600160a060020a03909116815260200160405180910390f35b6000600160a060020a038216151561083857fe5b6000341161084557600080fd5b600e546b0167641ef5be86c17e440000901061086057600080fd5b610869346115af565b9050670de0b6b3a76400006319e5987902610886600e5483611715565b111561088e57fe5b6108978161172f565b6108a3600e5482611715565b600e55600054600160a060020a031663f11b9fc8838360405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401600060405180830381600087803b15156108fc57600080fd5b6102c65a03f1151561090d57600080fd5b505050600160a060020a0382166000908152601a60205260409020546109339034611715565b601a600084600160a060020a0316600160a060020a03168152602001908152602001600020819055507f0a37b72bb67eee30e09084cf386f8a17817c57f620c3ab95fb25d6a20356ec778234836040518084600160a060020a0316600160a060020a03168152602001838152602001828152602001935050505060405180910390a15b5050565b6359baedd081565b6a0af22f34cec5cd87eba1a081565b600d5481565b60035433600160a060020a039081169116146109f257600080fd5b601954610100900460ff1615610a0757600080fd5b600054600160a060020a0316630d1118ce838360405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401600060405180830381600087803b1515610a5d57600080fd5b6102c65a03f11515610a6e57600080fd5b5050505b5b5b5050565b600554600160a060020a031681565b60195460ff1681565b601a6020526000908152604090205481565b600354600090819081908190819033600160a060020a03908116911614610ac857600080fd5b60195460ff161515610ad957600080fd5b60195462010000900460ff16158015610af45750600c544210155b1515610aff57600080fd5b610b24610b19600e546a0af22f34cec5cd87eba1a0611715565b6103e861032d611811565b9450610b33856001600a611811565b9350610b4284602b6064611811565b9250610b5184602b6064611811565b9150610b6084600e6064611811565b600054600554919250600160a060020a039081169163f11b9fc891168560405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401600060405180830381600087803b1515610bc057600080fd5b6102c65a03f11515610bd157600080fd5b5050600054600654600160a060020a03918216925063f11b9fc891168460405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401600060405180830381600087803b1515610c3157600080fd5b6102c65a03f11515610c4257600080fd5b5050600054600754600160a060020a03918216925063f11b9fc891168360405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401600060405180830381600087803b1515610ca257600080fd5b6102c65a03f11515610cb357600080fd5b5050507f36ad6e464cd6d7160304df0eb54bdf17c4f1e8a9ddc9ed94938fae529ac88c1283838360405180848152602001838152602001828152602001935050505060405180910390a16019805462ff00001916620100001790555b5b5b5050505050565b601954610100900460ff1681565b600354600160a060020a031681565b600b5481565b6b0167641ef5be86c17e44000081565b600154600160a060020a031681565b600454600160a060020a031681565b60195462010000900460ff1681565b600e546a0ee3a5f48a68b55200000090101580610d965750600b5442115b80610daa57506019546301000000900460ff165b1515610db557600080fd5b600e546a0ee3a5f48a68b5520000009010610e6e5760195460ff161515610dd857fe5b6000600160a060020a0330163111610dec57fe5b60035433600160a060020a03908116911614610e0457fe5b600254600160a060020a039081169030163180156108fc0290604051600060405180830381858888f193505050501515610e3d57600080fd5b7f18ee1b9f03c782081d77fbeef56556de7e56e0a698cd4c98827718898d590f4760405160405180910390a1610e77565b610e7733610eef565b5b5b5b565b6a07be6b6f69ebdf9463f00081565b60035433600160a060020a03908116911614610ea657600080fd5b6019805463ff000000191663010000001790557f609669eb8341b074254d30befca4d168e482fbad94beb437e40f57139b9dd70760405160405180910390a15b5b565b600c5481565b600e546a0ee3a5f48a68b55200000090101580610f0d5750600b5442115b80610f2157506019546301000000900460ff165b1515610f2c57600080fd5b30600160a060020a031633600160a060020a03161480610f5a575060035433600160a060020a039081169116145b80610f76575080600160a060020a031633600160a060020a0316145b1515610f7e57fe5b600e546a0ee3a5f48a68b5520000009010610f9557fe5b600160a060020a0381166000908152601a602052604081205411610fb557fe5b600160a060020a0381166000818152601a6020526040908190205480156108fc029151600060405180830381858888f193505050501515610ff557600080fd5b600160a060020a0381166000908152601a6020526040808220919091557f420d4f35a6c31f27ba2d478b734271cf34b6afb064317b4ac7f72e1fb67ce5eb90829051600160a060020a03909116815260200160405180910390a15b5b50565b600654600160a060020a031681565b600054600160a060020a031681565b600a5481565b600854600160a060020a031681565b6a1fe2e78e86f86d5cf0980081565b60035433600160a060020a039081169116146110b157600080fd5b60195460ff16156110be57fe5b600160a060020a03861615156110d057fe5b600160a060020a03851615156110e257fe5b600160a060020a03841615156110f457fe5b600160a060020a038316151561110657fe5b600160a060020a038216151561111857fe5b600160a060020a038116151561112a57fe5b6005805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03898116919091179092556006805482168884161790556007805482168784161790556008805482168684161790819055600980548316868516179055600280549092168484161790915560005482169163f11b9fc891166a1fe2e78e86f86d5cf0980060405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401600060405180830381600087803b15156111f557600080fd5b6102c65a03f1151561120657600080fd5b5050600054600954600160a060020a03918216925063f11b9fc891166a07be6b6f69ebdf9463f00060405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401600060405180830381600087803b151561127157600080fd5b6102c65a03f1151561128257600080fd5b50506019805460ff19166001179055505b5b505050505050565b600954600160a060020a031681565b6019546301000000900460ff1681565b635aa98d5081565b6a0ee3a5f48a68b55200000081565b60188054829081106112e057fe5b906000526020600020900160005b5054905081565b60035433600160a060020a0390811691161461131057600080fd5b600160a060020a038116151561132257fe5b6003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b50565b600e5481565b60035433600160a060020a0390811691161461137057600080fd5b6019805461ff0019166101001790555b5b565b600254600160a060020a031681565b60045460009033600160a060020a03908116911614806113c0575060035433600160a060020a039081169116145b806113dc575081600160a060020a031633600160a060020a0316145b15156113e757600080fd5b600160a060020a0382166000908152601b602052604090205460ff161561140d57600080fd5b600154600160a060020a03166370a082318360006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561146657600080fd5b6102c65a03f1151561147757600080fd5b5050506040518051915050600081111561150557600054600160a060020a031663f11b9fc8838360405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401600060405180830381600087803b15156114e157600080fd5b6102c65a03f115156114f257600080fd5b505050611501600d5482611715565b600d555b600160a060020a0382166000908152601b60205260409020805460ff191660011790555b5050565b60035433600160a060020a0390811691161461154857600080fd5b6004805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b50565b60178054829081106112e057fe5b906000526020600020900160005b5054905081565b6359e3cc5081565b600754600160a060020a031681565b60008080805b60048210156116d2578415156115ca576116d2565b60188054839081106115d857fe5b906000526020600020900160005b505415156115f3576116c7565b8460178381548110151561160357fe5b906000526020600020900160005b505402905060188281548110151561162557fe5b906000526020600020900160005b5054811161164c576116458382611715565b92506116d2565b6116748360188481548110151561165f57fe5b906000526020600020900160005b5054611715565b92506116c4856116bf60188581548110151561168c57fe5b906000526020600020900160005b505460178054879081106116aa57fe5b906000526020600020900160005b5054611830565b61186f565b94505b6001909101906115b5565b8160041415611709576117068386601760038154811015156116f057fe5b906000526020600020900160005b505402611715565b92505b8293505b505050919050565b60008282018381101561172457fe5b8091505b5092915050565b60005b60048110156109b657811515611747576109b6565b8160188281548110151561175757fe5b906000526020600020900160005b505411156117b85761179560188281548110151561177f57fe5b906000526020600020900160005b50548361186f565b60188054839081106117a357fe5b906000526020600020900160005b50556109b6565b6117e0826018838154811015156117cb57fe5b906000526020600020900160005b505461186f565b915060006018828154811015156117f357fe5b906000526020600020900160005b50555b600101611732565b5b5050565b60006118266118208585611886565b83611830565b90505b9392505050565b60008082151561183c57fe5b828481151561184757fe5b049050828481151561185557fe5b06818402018414151561172457fe5b8091505b5092915050565b60008282111561187b57fe5b508082035b92915050565b60008282028315806118a2575082848281151561189f57fe5b04145b151561172457fe5b8091505b50929150505600a165627a7a723058203f6ea98b32f823f3e76194abe2e1e9bc91347d12e80b661cc4736017472c045e0029606060405260038054600160a060020a0319169055341561001f57600080fd5b6040516020806108c1833981016040528080519150505b600160a060020a038116151561004857fe5b60038054600160a060020a031916600160a060020a0383161790555b505b61084c806100756000396000f300606060405236156100c25763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146100c7578063095ea7b3146101525780630d1118ce1461018857806318160ddd146101ac57806319d1997a146101d157806323b872dd146101f6578063313ce5671461023257806370a082311461025757806395d89b4114610288578063a9059cbb14610313578063c66e409514610349578063dd62ed3e14610378578063f11b9fc8146103af575b600080fd5b34156100d257600080fd5b6100da6103d3565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101175780820151818401525b6020016100fe565b50505050905090810190601f1680156101445780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561015d57600080fd5b610174600160a060020a036004351660243561040a565b604051901515815260200160405180910390f35b341561019357600080fd5b6101aa600160a060020a0360043516602435610477565b005b34156101b757600080fd5b6101bf6104f3565b60405190815260200160405180910390f35b34156101dc57600080fd5b6101bf6104f9565b60405190815260200160405180910390f35b341561020157600080fd5b610174600160a060020a0360043581169060243516604435610509565b604051901515815260200160405180910390f35b341561023d57600080fd5b6101bf610619565b60405190815260200160405180910390f35b341561026257600080fd5b6101bf600160a060020a036004351661061e565b60405190815260200160405180910390f35b341561029357600080fd5b6100da61063d565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101175780820151818401525b6020016100fe565b50505050905090810190601f1680156101445780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561031e57600080fd5b610174600160a060020a0360043516602435610674565b604051901515815260200160405180910390f35b341561035457600080fd5b61035c610737565b604051600160a060020a03909116815260200160405180910390f35b341561038357600080fd5b6101bf600160a060020a0360043581169060243516610746565b60405190815260200160405180910390f35b34156103ba57600080fd5b6101aa600160a060020a0360043516602435610773565b005b60408051908101604052600581527f494d4d4c41000000000000000000000000000000000000000000000000000000602082015281565b600160a060020a03338116600081815260016020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a35060015b92915050565b60035433600160a060020a0390811691161461049257600080fd5b600160a060020a03821615156104a457fe5b600081116104b157600080fd5b600160a060020a0382166000908152602081905260409020546104d490826107ef565b600160a060020a0383166000908152602081905260409020555b5b5050565b60025481565b6b01c784ec1198da7fa60c000081565b600160a060020a0383166000908152602081905260408120548290108015906105595750600160a060020a0380851660009081526001602090815260408083203390941683529290522054829010155b801561057e5750600160a060020a038316600090815260208190526040902054828101115b1561060d57600160a060020a0380841660008181526020818152604080832080548801905588851680845281842080548990039055600183528184203390961684529490915290819020805486900390559091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a3506001610611565b5060005b5b9392505050565b601281565b600160a060020a0381166000908152602081905260409020545b919050565b60408051908101604052600381527f494d4c0000000000000000000000000000000000000000000000000000000000602082015281565b600160a060020a0333166000908152602081905260408120548290108015906106b65750600160a060020a038316600090815260208190526040902054828101115b1561072857600160a060020a033381166000818152602081905260408082208054879003905592861680825290839020805486019055917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a3506001610471565b506000610471565b5b92915050565b600354600160a060020a031681565b600160a060020a038083166000908152600160209081526040808320938516835292905220545b92915050565b60035433600160a060020a0390811691161461078e57600080fd5b600160a060020a03821615156107a057fe5b600081116107ad57600080fd5b600160a060020a0382166000908152602081905260409020546104d49082610806565b600160a060020a0383166000908152602081905260409020555b5b5050565b6000828211156107fb57fe5b508082035b92915050565b60008282018381101561081557fe5b8091505b50929150505600a165627a7a723058200a610ce96fed9e377055e910d90a541b30770ac7b7c8a0c69dad1d4b56f701d300290000000000000000000000003abbb0967accde028030720160212be9bab60388000000000000000000000000d29ba5f94fb91eefc5e3aaf69f181febed73930e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

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

-----Decoded View---------------
Found 5 constructor arguments :
Arg [0] : 0000000000000000000000003abbb0967accde028030720160212be9bab60388
Arg [1] : 000000000000000000000000d29ba5f94fb91eefc5e3aaf69f181febed73930e
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000000


   Swarm Source:
bzzr://0a610ce96fed9e377055e910d90a541b30770ac7b7c8a0c69dad1d4b56f701d3
View All
Block Age txn Difficulty GasUsed Reward
View All
Block Age UncleNumber Difficulty GasUsed Reward
Make sure to use the "downvote" button for any spammy posts, and the "upvote" for interesting conversations.