Sponsored Link:   SocialMedia.Market - The most cost effective advertising platform with 1069% ROI. Join ICO Now!
Contract Overview
ETH Balance: 0 Ether
ETH USD Value: $0
No Of Transactions: 724 txns
  Latest 25 txns from a total Of 724 transactions View All

TxHash Age From To Value [TxFee]
0x821348d8ab9632e0e4df652a7cb715ff99a40e50effede7c90e100121765127854 days 11 hrs ago0x696a5494a8044c813c8cd7f2242ba97bebfcce5d  IN  0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba11 Ether0.00042652
0x0703eaa4f4d0084c80dc188680cd913a62bc16cc40c394f9d62c9ff6144d7e1254 days 11 hrs ago0x696a5494a8044c813c8cd7f2242ba97bebfcce5d  IN  0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba11 Ether0.00042652
0x7aee099b96787345f0fad144b1b5d7ee590e9abb3df4983250c4e21d1ea06e7161 days 6 hrs ago0x85345e94b5dc0483b5276645fbd598dad1a3e921  IN  0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10.004183796 Ether0.00084
0xba80efe37d871e5e408c3667454eeefcccba2dbf64e8e7ba1ab42579370fcbec85 days 5 hrs ago0x10cfe4da27dcccc702db223887cab630e558cfbf  IN  0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba12 Ether0.000447846
0x19d5eb14d98f2239d90bad8b57e83510616dbe8c422f0a51fab42adf0e15c96788 days 6 hrs ago0x008f636ae0b2bbb668b2f0a76f8ec40ccdfe5fb4  IN  0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10 Ether0.00126
0x714d4ef353fb27fa4d91ed1ce4479871272d2e24553ef9676ed2b77960f537bb88 days 6 hrs ago0x008f636ae0b2bbb668b2f0a76f8ec40ccdfe5fb4  IN  0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10 Ether0.00000750652
0x570bbd809ff0c2bb67cec6b7879877079eb3fb77cdfe65393f2a71c51840290893 days 8 hrs ago0x8659785ae896c2fc6e67284b8696c0a4de79f039  IN  0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10.08 Ether0.000447846
0xc79cef810593c86ea17ea24ead3f28b841e7af4d824b0ef3b4cb981f7014088796 days 9 hrs ago0x245bca440e3a9f05ca66d7a2f41010c58b893dfa  IN  0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10.13 Ether0.000447846
0x8147975d8312ee8ede63de36e060a06f79790e4c46208860c38cb2bef35fbcf196 days 9 hrs ago0x245bca440e3a9f05ca66d7a2f41010c58b893dfa  IN  0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10.13 Ether0.000447846
0x535b5c62a109be5bb2b5857a69b91613bf62168b6ebecc783ef9d0658fe5e4dc100 days 21 hrs ago0xf36b5cb19a4128be78b59b609276d8ccc14fa7c4  IN  0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10 Ether0.0042
0xae1ae6efffac48240d24b07e2f12c6260a448faacfe09491ebc04c650d7b1b9c100 days 21 hrs ago0xf36b5cb19a4128be78b59b609276d8ccc14fa7c4  IN  0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10 Ether0.0021
0x7e4c2c54f4c4583648e4168b9aeb8d63fb90e2e6e064282a4f451891ad905618100 days 21 hrs ago0xf36b5cb19a4128be78b59b609276d8ccc14fa7c4  IN  0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10 Ether0.000441
0x55da20a696f7780156627f4331821e662aec94c01524bc096b0ec2210b19bb8c101 days 4 hrs ago0xf0a9cae8287b7d19768d60142b8f724397e98eca  IN  0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10.07781375 Ether0.00042652
0x1b171727394efd55451594113ebbe383034f487718f0b7821649f00796ffd159104 days 12 hrs ago0x00ba7ea809e32f110e3be6b07c24c6aa65650a98  IN  0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10 Ether0.000025000099
0x32d3b5d71ee94c5d928a91e1aa22792b98b9caffa7a9051cad29cfb0fe7628e1108 days 16 hrs ago0x504266ecc77387c2bf387cdbf868f797fa068c14  IN  0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba118 Ether0.000492345
0x3c7262905e75f6dae1fb3dc9e075074ddca3698f9b3548db73e4135dbab0840e110 days 4 hrs ago0x578051d9eb715319f40e8d875ea04759e694f589  IN  0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10 Ether0.0021
0x96f7c32f60176c014737fef92c44bc14c17bbff3e174d457f72d93ec5f91a71e110 days 5 hrs ago0x578051d9eb715319f40e8d875ea04759e694f589  IN  0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10 Ether0.000525
0x66472ba6f721869beac060de4a3e1ce94242d83003a9ad93d3948c7f8523bf91110 days 5 hrs ago0x578051d9eb715319f40e8d875ea04759e694f589  IN  0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10 Ether0.0004599
0x458aaceb5e31f9a63e985613c7f27328e1783188c66f75cf13de58ddd9ff5463118 days 2 hrs ago0x1abc1073fb34b90729c208a680a92d6aad3cb358  IN  0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10 Ether0.0042
0x39caf5ed6d288be72251151fd6b2f926343a8f3259ba27415dc37e9ff4a3eb3d118 days 22 hrs ago0x2dedd61b790f1bfe8e1d77fdfc2bb680fd4996a4  IN  0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10 Ether0.00105
0x74b2425ea4cfc3397b574f5310275a65c63c7616d3c9b70948a288ed00f54322118 days 22 hrs ago0x2dedd61b790f1bfe8e1d77fdfc2bb680fd4996a4  IN  0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10 Ether0.000462
0x792e43491b1802ebed32b1e36854ea0b938a7a79426763f9476f0130f3179a45124 days 9 hrs ago0x80240f2d788e9add2553bac0e0f81849222fa927  IN  0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10.001746402 Ether0.000447846
0xcc13e6e00b9a7811d69c984f046341e21410ffb6f17c6b4888a0b14bba7fe778124 days 13 hrs ago0xe7ed106b9e901895590445906797a2f4762c6bca  IN  0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10 Ether0.005
0xa0d92ccbe3c309baff62b758d68e370264a069a148180c703101eb0981e9a60a124 days 13 hrs ago0xe7ed106b9e901895590445906797a2f4762c6bca  IN  0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10 Ether0.00275
0xeaa14a7649cca15d231ada77997343092d22fc193b68d043aed15900566a2e05125 days 7 hrs ago0x1abc1073fb34b90729c208a680a92d6aad3cb358  IN  0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10 Ether0.000446712
[ 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
0x05f07ccfd584d2a935b22be38b006c7300650921fe7d5a553a62253a6db4a21c4371983125 days 9 hrs ago0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10x92f0c33c5040685bf6243ab84f5142a2d9a3ad350.39 Ether
0x4b9aef6ac0d78285618dd01b0594a6c79b9fd7124266c5b2b0549ba84f1b3c694371979125 days 9 hrs ago0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10x455c198cc07df9cb87db633cd8e6224e1bcf3d250.987038386 Ether
0xe74c33a66be883ee6e7be2031566e24c64d55e83b7d9b4a98614d884cdae87a74371975125 days 9 hrs ago0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10x3c48a3a1fd851ee697ecb2e6d0fed84de6db959d0.45 Ether
0x8ced4ffd7facfdb7976661a73248cdd3651d15cb01daf997f6681ddae9b2661b4371964125 days 9 hrs ago0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10x6fefe6b2f73cf0f6de1e98df4cf346b578dbbe561 Ether
0x6d148a1140fd949ecab637e1864a5fe3f4fcd48b89158550f25d85c3ce53ca9a4371647125 days 11 hrs ago0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10x864e60007a0cd1c71b248d42be06d44e2e20ec4c0.01470155836518671 Ether
0x6d148a1140fd949ecab637e1864a5fe3f4fcd48b89158550f25d85c3ce53ca9a4371647125 days 11 hrs ago0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10xf36b5cb19a4128be78b59b609276d8ccc14fa7c41 Ether
0x6d148a1140fd949ecab637e1864a5fe3f4fcd48b89158550f25d85c3ce53ca9a4371647125 days 11 hrs ago0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10xd1766681a6c1192bdb5fab1cd504c3f638468aeb1.01 Ether
0x6d148a1140fd949ecab637e1864a5fe3f4fcd48b89158550f25d85c3ce53ca9a4371647125 days 11 hrs ago0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10xd3f4aef794bf8b1c5ef4fdb617b82635827ea5751.50515464 Ether
0x6d148a1140fd949ecab637e1864a5fe3f4fcd48b89158550f25d85c3ce53ca9a4371647125 days 11 hrs ago0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10x0215861487e5d44be98528a6628906e9076098230.5 Ether
0x6d148a1140fd949ecab637e1864a5fe3f4fcd48b89158550f25d85c3ce53ca9a4371647125 days 11 hrs ago0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10x8dc9cf745ec707faf04995fa937423f77b63340c0.01 Ether
0x6d148a1140fd949ecab637e1864a5fe3f4fcd48b89158550f25d85c3ce53ca9a4371647125 days 11 hrs ago0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10xf75d4a30e2d50e03fbc491101995131ca4ab79980.23 Ether
0x6d148a1140fd949ecab637e1864a5fe3f4fcd48b89158550f25d85c3ce53ca9a4371647125 days 11 hrs ago0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10xbdb05d23045ab3df85fb3c47e82d935804e428db0.3 Ether
0x6d148a1140fd949ecab637e1864a5fe3f4fcd48b89158550f25d85c3ce53ca9a4371647125 days 11 hrs ago0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10xc63969c7d2f1a401b7f3af8c09bcf65a21ae99990.198 Ether
0x6d148a1140fd949ecab637e1864a5fe3f4fcd48b89158550f25d85c3ce53ca9a4371647125 days 11 hrs ago0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10x234e6ad7f69ea7c4d4cd9b2af21f44ac5a4988e90.667 Ether
0x6d148a1140fd949ecab637e1864a5fe3f4fcd48b89158550f25d85c3ce53ca9a4371647125 days 11 hrs ago0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10x5087ffe116e74666a3acaefe4c3c6c803777d2e20.63 Ether
0x6d148a1140fd949ecab637e1864a5fe3f4fcd48b89158550f25d85c3ce53ca9a4371647125 days 11 hrs ago0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10x1ba9228d388727f389150ea03b73c82de8eb2e091.5 Ether
0x6d148a1140fd949ecab637e1864a5fe3f4fcd48b89158550f25d85c3ce53ca9a4371647125 days 11 hrs ago0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10x1ed4b18a2d29f60a030a97c7d29c5f396a397b730.297 Ether
0x6d148a1140fd949ecab637e1864a5fe3f4fcd48b89158550f25d85c3ce53ca9a4371647125 days 11 hrs ago0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10x03b83418870fb03a6c45a7b510343424a593ecc30.2 Ether
0x6d148a1140fd949ecab637e1864a5fe3f4fcd48b89158550f25d85c3ce53ca9a4371647125 days 11 hrs ago0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10xaa85b24ac88a0a235f1977821194adce1cda91440.1 Ether
0x6d148a1140fd949ecab637e1864a5fe3f4fcd48b89158550f25d85c3ce53ca9a4371647125 days 11 hrs ago0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10x7f7bc7b9095dcff870840d1ee5ff1a75b0ed54680.001148913 Ether
0x6d148a1140fd949ecab637e1864a5fe3f4fcd48b89158550f25d85c3ce53ca9a4371647125 days 11 hrs ago0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10x8b73238451879d922d7497f0ed08ecc7c4ada25f1.3 Ether
0x6d148a1140fd949ecab637e1864a5fe3f4fcd48b89158550f25d85c3ce53ca9a4371647125 days 11 hrs ago0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10x19c5bee1e6009e19c0b927f4fb278b52c0baef660.5 Ether
0x6d148a1140fd949ecab637e1864a5fe3f4fcd48b89158550f25d85c3ce53ca9a4371647125 days 11 hrs ago0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10x4c1602c29edf72b5a66381f5afe196581291b55a2.5 Ether
0x6d148a1140fd949ecab637e1864a5fe3f4fcd48b89158550f25d85c3ce53ca9a4371647125 days 11 hrs ago0x0c4911ba2a7ef0a82e7bfce61b7e358121196ba10x48ed4cd267d6dc81270f22a2348341d1213a7f2e0.17312125 Ether
0x6d148a1140fd949ecab637e1864a5fe3f4fcd48b89158550f25d85c3ce53ca9a4371647125 days 11 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.