Sponsored:   [Largest VC Funded] TEMCO, millions sold out in seconds. Join TEMCO's last presale at CoinBene!
 Latest 25 transactions from a total of 830 transactions

TxHash Age From To Value [TxFee]
0x4dc1c128e209c999f88385e360b3d094a6950f6c1764002f9db32ee2651eedf1110 days 11 hrs ago0x96af1b9f15c506790f8a654c2a438c9533f84e92  IN   0xf53cbc0a85bc81e1b99d6197d74d735df749f8a50.1 Ether0.00152544
0x733de184d1a3156399dadaa42f72c0b55af5c43658a58d08286aca8f90ced270110 days 11 hrs ago0x96af1b9f15c506790f8a654c2a438c9533f84e92  IN   0xf53cbc0a85bc81e1b99d6197d74d735df749f8a50.85 Ether0.000101696
0xa1737f7f5b631b0a061665736b2bccd8eb49c3d74fbce26abed4dd9934fa81cd110 days 11 hrs ago0x95ca2017a50dc941e187b51612e65a41ca884855  IN   0xf53cbc0a85bc81e1b99d6197d74d735df749f8a51.134 Ether0.000076272
0xf3625384ff560b0cdfe4ecb724bae853cc55960a0c1be9b603ab22b472862dc6142 days 8 hrs ago0xf3713b90cf982ba3f006437b29c7aded7c3f123a  IN   0xf53cbc0a85bc81e1b99d6197d74d735df749f8a52 Ether0.00025424
0xf8e0099f310641f21c40394d83b587a73cd287602b9270184c75fd8741e4be3f142 days 8 hrs ago0xb9ec1c836174b9148efa9e849476fc1c1fb6b976  IN   0xf53cbc0a85bc81e1b99d6197d74d735df749f8a50 Ether0.00106341
0xdac782f688fe806061c9db86d398d8a1abe14eb3a7a0458c5cd537ec0b072956145 days 20 hrs ago0x00c2a1017b663b16e459c96df5574c69cdc5cea0  IN   0xf53cbc0a85bc81e1b99d6197d74d735df749f8a51.99074 Ether0.001634325
0xced62f2e2b29c77312f83e57a0ea61ef9b6f9c4ff49012e816da14d2a08d5b03145 days 23 hrs ago0xc4567ae3ba603e1ba9efe042a55b979c81981254  IN   0xf53cbc0a85bc81e1b99d6197d74d735df749f8a51.3613402 Ether0.00162
0xe2c6158f241b1782ec64e8f366db13ab16d52a97b192d93d1980dd02d665e66a145 days 23 hrs ago0xb9ec1c836174b9148efa9e849476fc1c1fb6b976  IN   0xf53cbc0a85bc81e1b99d6197d74d735df749f8a50 Ether0.010462935
0x6cb4bd7f36b762cf953db94eae3699d40a726a0316cfa50cc398513009ee9ad3146 days 3 mins ago0xf3e387bc45d9fb81ee90532afda4c753f05f6aa2  IN   0xf53cbc0a85bc81e1b99d6197d74d735df749f8a50.5 Ether0.006091575
0x4a6076823f735bb41750b88fa97c4fe1a38e8aed5cb6d78faa471aaf8b33a317146 days 21 mins ago0xf3713b90cf982ba3f006437b29c7aded7c3f123a  IN   0xf53cbc0a85bc81e1b99d6197d74d735df749f8a52 Ether0.0029715
0x6a9c0ee74fcc0f14e5da3f29209b63d7ca8d7f544ede6a20b86988cb513d10ca146 days 28 mins ago0xe6b0d7f7d18c14015d47ecc77cf5c0009f34bb18  IN   0xf53cbc0a85bc81e1b99d6197d74d735df749f8a51 Ether0.005917612
0xfd4f8179871350f62328464d4cff046701098db3c64e2e190939f574ea56fb1e146 days 1 hr ago0x9774e063cc60693f6536de4a61202870c1f4fc00  IN   0xf53cbc0a85bc81e1b99d6197d74d735df749f8a50.1 Ether0.007989998
0xd1eca9126c390d02ba0c1fab2d26805253c337b8aa7488b7d55ef111fac4d52a146 days 1 hr ago0xb01c15e9983aef7bfcab6a934ec85460704fcc86  IN   0xf53cbc0a85bc81e1b99d6197d74d735df749f8a50.28 Ether0.006091575
0x9e55ce1106cada4e6cf85d5f3ac4748e31ecb15874942e74910b9fb77e185303146 days 2 hrs ago0x8efcb11635a827693f1d5446eb619257e8347c10  IN   0xf53cbc0a85bc81e1b99d6197d74d735df749f8a50.9 Ether0.001169268
0xa334dee217687801c7ab0637cf7b282f4b9c658ac86fac03b9ae74398a75c06f146 days 3 hrs ago0xdfecf495e6c8e1cef2b499c1f5cb1b2067f7420f  IN   0xf53cbc0a85bc81e1b99d6197d74d735df749f8a50.158391435621308 Ether0.010900178
0x57e66bc5c700437e4a893e11fece200c71c73e92a0cd1cd9cfd8a7329e508abb146 days 3 hrs ago0x8363821000a225a0f076e77a790a70afe352f674  IN   0xf53cbc0a85bc81e1b99d6197d74d735df749f8a510 Ether0.00445725
0xb123dd9868edf8832b813f88e37d17254ec5be89394e13b5bfb7a826c8afddd0146 days 8 hrs ago0xb9ec1c836174b9148efa9e849476fc1c1fb6b976  IN   0xf53cbc0a85bc81e1b99d6197d74d735df749f8a50 Ether0.00032598
0x4c033aacfce90bf130110cd85b03e646cdf593ed9b6d9529f76cf991003ca24c146 days 8 hrs ago0xb9ec1c836174b9148efa9e849476fc1c1fb6b976  IN   0xf53cbc0a85bc81e1b99d6197d74d735df749f8a50 Ether0.004642898
0x1343e886d345b0bf7195fbff4c8b1cf1b407c069e3cead4d1c2ce0151e65defb146 days 8 hrs ago0xb9ec1c836174b9148efa9e849476fc1c1fb6b976  IN   0xf53cbc0a85bc81e1b99d6197d74d735df749f8a50 Ether0.005008446
0xc900eb95b3fb5fab9dabbca77e8ed0992d1198bf8ddc14713e528619ebcbcaa5146 days 8 hrs ago0xb9ec1c836174b9148efa9e849476fc1c1fb6b976  IN   0xf53cbc0a85bc81e1b99d6197d74d735df749f8a50 Ether0.004106408
0x8d1b2066c1e050c4cbd360a4e24a05713bf46612b7c54449853f2fbd124946e2146 days 9 hrs ago0x27dc97abff287fb5cec64766964a81ed9ef56d98  IN   0xf53cbc0a85bc81e1b99d6197d74d735df749f8a50.32 Ether0.00925495
0x89064580336d55935a39fcbc065bac98776c1422e72abe80a5e61ecdaa0b4ba1146 days 11 hrs ago0xbfa4b5b1bb81b94da619b7612a5b9875ce6bafb5  IN   0xf53cbc0a85bc81e1b99d6197d74d735df749f8a50.1 Ether0.0029715
0x3a031b6704e3da9b2ac128de4ff58a4fe23df8da28d601f74e45d3edf527eadd146 days 15 hrs ago0xf442012e10a37d7b6bf9ec31cea837b1d50b5e46  IN   0xf53cbc0a85bc81e1b99d6197d74d735df749f8a50.2998257 Ether0.0005943
0x19b2340f94a27803b5c9fb143e8bf4171e5e282c8c8bed5d53eb7f63127bea06146 days 16 hrs ago0xda5852aa8a72acf7b7fc4442758608792801f13f  IN   0xf53cbc0a85bc81e1b99d6197d74d735df749f8a50.1 Ether0.0005943
0xd0cc989be31284989d97f7c8dba3a346bbf87915d3a6449440db4992f1b80e68146 days 21 hrs ago0x1a8b46217915a6e28efaa75dc74f6059cb737bc8  IN   0xf53cbc0a85bc81e1b99d6197d74d735df749f8a50.5 Ether0.0006091575
[ 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
0xf8e0099f310641f21c40394d83b587a73cd287602b9270184c75fd8741e4be3f6036077142 days 8 hrs ago0xf53cbc0a85bc81e1b99d6197d74d735df749f8a50x00c2a1017b663b16e459c96df5574c69cdc5cea01.99074 Ether
0xf8e0099f310641f21c40394d83b587a73cd287602b9270184c75fd8741e4be3f6036077142 days 8 hrs ago0xf53cbc0a85bc81e1b99d6197d74d735df749f8a50xf3713b90cf982ba3f006437b29c7aded7c3f123a2 Ether
0xf8e0099f310641f21c40394d83b587a73cd287602b9270184c75fd8741e4be3f6036077142 days 8 hrs ago0xf53cbc0a85bc81e1b99d6197d74d735df749f8a50xbfa4b5b1bb81b94da619b7612a5b9875ce6bafb50.1 Ether
0xf8e0099f310641f21c40394d83b587a73cd287602b9270184c75fd8741e4be3f6036077142 days 8 hrs ago0xf53cbc0a85bc81e1b99d6197d74d735df749f8a50x0aa750f22510d540b03cec5abcb40c7dd9ee0fbf0.1 Ether
0xf8e0099f310641f21c40394d83b587a73cd287602b9270184c75fd8741e4be3f6036077142 days 8 hrs ago0xf53cbc0a85bc81e1b99d6197d74d735df749f8a50x4ffafc354b1dd3fc7d47917150a581549b9cc20a0.38664514 Ether
0xf8e0099f310641f21c40394d83b587a73cd287602b9270184c75fd8741e4be3f6036077142 days 8 hrs ago0xf53cbc0a85bc81e1b99d6197d74d735df749f8a50x4d07d7aa6475c29f4540532647d5e9410761ad2b0.99 Ether
0xf8e0099f310641f21c40394d83b587a73cd287602b9270184c75fd8741e4be3f6036077142 days 8 hrs ago0xf53cbc0a85bc81e1b99d6197d74d735df749f8a50xa6122aed07862808c3f3af65d4164660028aed8a0.2 Ether
0xf8e0099f310641f21c40394d83b587a73cd287602b9270184c75fd8741e4be3f6036077142 days 8 hrs ago0xf53cbc0a85bc81e1b99d6197d74d735df749f8a50x3f5ce5fbfe3e9af3971dd833d26ba9b5c936f0be1 Ether
0xf8e0099f310641f21c40394d83b587a73cd287602b9270184c75fd8741e4be3f6036077142 days 8 hrs ago0xf53cbc0a85bc81e1b99d6197d74d735df749f8a50x8f46901fc234cd942b88e6056ea58226207f4ca50.5 Ether
0xf8e0099f310641f21c40394d83b587a73cd287602b9270184c75fd8741e4be3f6036077142 days 8 hrs ago0xf53cbc0a85bc81e1b99d6197d74d735df749f8a50xed9dc0e3720ee2624ddc97a3c125d63ea915c5691.4 Ether
0xf8e0099f310641f21c40394d83b587a73cd287602b9270184c75fd8741e4be3f6036077142 days 8 hrs ago0xf53cbc0a85bc81e1b99d6197d74d735df749f8a50x3f5ce5fbfe3e9af3971dd833d26ba9b5c936f0be0.2 Ether
0xf8e0099f310641f21c40394d83b587a73cd287602b9270184c75fd8741e4be3f6036077142 days 8 hrs ago0xf53cbc0a85bc81e1b99d6197d74d735df749f8a50x63e27b80ddae9889392ed1f0c1c60abcbeb77faf0.333 Ether
0xf8e0099f310641f21c40394d83b587a73cd287602b9270184c75fd8741e4be3f6036077142 days 8 hrs ago0xf53cbc0a85bc81e1b99d6197d74d735df749f8a50xfbb1b73c4f0bda4f67dca266ce6ef42f520fbb980.1 Ether
0xf8e0099f310641f21c40394d83b587a73cd287602b9270184c75fd8741e4be3f6036077142 days 8 hrs ago0xf53cbc0a85bc81e1b99d6197d74d735df749f8a50xcb71c5763aa5cd4dfa3c2888f231b2ce990c0aed0.25 Ether
0xf8e0099f310641f21c40394d83b587a73cd287602b9270184c75fd8741e4be3f6036077142 days 8 hrs ago0xf53cbc0a85bc81e1b99d6197d74d735df749f8a50xb5c767eb2107e8d7ea6c98e72c72892ade91566a0.131 Ether
0xf8e0099f310641f21c40394d83b587a73cd287602b9270184c75fd8741e4be3f6036077142 days 8 hrs ago0xf53cbc0a85bc81e1b99d6197d74d735df749f8a50xb585c4d414e8ce1fe11fcd7fbb466d2ad5c54dfa0.43033 Ether
0xf8e0099f310641f21c40394d83b587a73cd287602b9270184c75fd8741e4be3f6036077142 days 8 hrs ago0xf53cbc0a85bc81e1b99d6197d74d735df749f8a50xdc512ea60e70fa8da5051b2db805a1ff9afe74730.1 Ether
0xf8e0099f310641f21c40394d83b587a73cd287602b9270184c75fd8741e4be3f6036077142 days 8 hrs ago0xf53cbc0a85bc81e1b99d6197d74d735df749f8a50xb1318886445533a2d21eaf50368b80bc04a07ea10.3 Ether
0xf8e0099f310641f21c40394d83b587a73cd287602b9270184c75fd8741e4be3f6036077142 days 8 hrs ago0xf53cbc0a85bc81e1b99d6197d74d735df749f8a50x1413e11bff0c81d87cb8977c1d9a59b6325610980.1 Ether
0xf8e0099f310641f21c40394d83b587a73cd287602b9270184c75fd8741e4be3f6036077142 days 8 hrs ago0xf53cbc0a85bc81e1b99d6197d74d735df749f8a50x7d7c3ec1cb362d90b5d398215bea4249ec25d6ef0.11135 Ether
0xf8e0099f310641f21c40394d83b587a73cd287602b9270184c75fd8741e4be3f6036077142 days 8 hrs ago0xf53cbc0a85bc81e1b99d6197d74d735df749f8a50x6df7977ae1cfd6720cf87385ae155dbccf7e43a00.1 Ether
0xf8e0099f310641f21c40394d83b587a73cd287602b9270184c75fd8741e4be3f6036077142 days 8 hrs ago0xf53cbc0a85bc81e1b99d6197d74d735df749f8a50xa95350d70b18fa29f6b5eb8d627ceeeee499340d0.286826 Ether
0xf8e0099f310641f21c40394d83b587a73cd287602b9270184c75fd8741e4be3f6036077142 days 8 hrs ago0xf53cbc0a85bc81e1b99d6197d74d735df749f8a50xf69db41fd51c5ce16c3e471bb4b8387580273d6b0.1 Ether
0xf8e0099f310641f21c40394d83b587a73cd287602b9270184c75fd8741e4be3f6036077142 days 8 hrs ago0xf53cbc0a85bc81e1b99d6197d74d735df749f8a50x5e37d9602fccd911d9e8170db1e1b039cea938eb0.1 Ether
0xe2c6158f241b1782ec64e8f366db13ab16d52a97b192d93d1980dd02d665e66a6014921145 days 23 hrs ago0xf53cbc0a85bc81e1b99d6197d74d735df749f8a50x64386613c1abc7a2ce3c00765f505c025d10b8b10.5 Ether
[ Download CSV Export  ] 
Warning: The Compiled Contract might be susceptible to ExpExponentCleanup (medium/high-severity), EventStructWrongData (very low-severity), NestedArrayFunctionCallDecoder (medium-severity) SolidityCompiler Bugs.

Contract Source Code Verified (Exact Match)
Contract Name: EthealDeposit
Compiler Text: v0.4.19+commit.c4cbbb05
Optimization Enabled: Yes
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts

pragma solidity ^0.4.17;

/**
 * @title ERC20
 * @dev ERC20 interface
 */
contract ERC20 {
    function balanceOf(address who) public constant returns (uint256);
    function transfer(address to, uint256 value) public returns (bool);
    function allowance(address owner, address spender) public constant returns (uint256);
    function transferFrom(address from, address to, uint256 value) public returns (bool);
    function approve(address spender, uint256 value) public returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

/// @dev Crowdsale interface for Etheal Normal Sale, functions needed from outside.
contract iEthealSale {
    bool public paused;
    uint256 public minContribution;
    uint256 public whitelistThreshold;
    mapping (address => uint256) public stakes;
    function setPromoBonus(address _investor, uint256 _value) public;
    function buyTokens(address _beneficiary) public payable;
    function depositEth(address _beneficiary, uint256 _time, bytes _whitelistSign) public payable;
    function depositOffchain(address _beneficiary, uint256 _amount, uint256 _time) public;
    function hasEnded() public constant returns (bool);
}


/**
 * @title Ownable
 * @dev The Ownable contract has an owner address, and provides basic authorization control
 * functions, this simplifies the implementation of "user permissions".
 */
contract Ownable {
  address public owner;


  event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);


  /**
   * @dev The Ownable constructor sets the original `owner` of the contract to the sender
   * account.
   */
  function Ownable() {
    owner = msg.sender;
  }


  /**
   * @dev Throws if called by any account other than the owner.
   */
  modifier onlyOwner() {
    require(msg.sender == owner);
    _;
  }


  /**
   * @dev Allows the current owner to transfer control of the contract to a newOwner.
   * @param newOwner The address to transfer ownership to.
   */
  function transferOwnership(address newOwner) onlyOwner public {
    require(newOwner != address(0));
    OwnershipTransferred(owner, newOwner);
    owner = newOwner;
  }

}




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

  function div(uint256 a, uint256 b) internal pure returns (uint256) {
    // assert(b > 0); // Solidity automatically throws when dividing by 0
    uint256 c = a / b;
    // assert(a == b * c + a % b); // There is no case in which this doesn't hold
    return c;
  }

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

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






/**
 * @title claim accidentally sent tokens
 */
contract HasNoTokens is Ownable {
    event ExtractedTokens(address indexed _token, address indexed _claimer, uint _amount);

    /// @notice This method can be used to extract mistakenly
    ///  sent tokens to this contract.
    /// @param _token The address of the token contract that you want to recover
    ///  set to 0 in case you want to extract ether.
    /// @param _claimer Address that tokens will be send to
    function extractTokens(address _token, address _claimer) onlyOwner public {
        if (_token == 0x0) {
            _claimer.transfer(this.balance);
            return;
        }

        ERC20 token = ERC20(_token);
        uint balance = token.balanceOf(this);
        token.transfer(_claimer, balance);
        ExtractedTokens(_token, _claimer, balance);
    }
}






/**
 * @title Eliptic curve signature operations
 *
 * @dev Based on https://gist.github.com/axic/5b33912c6f61ae6fd96d6c4a47afde6d
 */

library ECRecovery {

  /**
   * @dev Recover signer address from a message by using his signature
   * @param hash bytes32 message, the hash is the signed message. What is recovered is the signer address.
   * @param sig bytes signature, the signature is generated using web3.eth.sign()
   */
  function recover(bytes32 hash, bytes sig) public pure returns (address) {
    bytes32 r;
    bytes32 s;
    uint8 v;

    //Check the signature length
    if (sig.length != 65) {
      return (address(0));
    }

    // Divide the signature in r, s and v variables
    assembly {
      r := mload(add(sig, 32))
      s := mload(add(sig, 64))
      v := byte(0, mload(add(sig, 96)))
    }

    // Version of signature should be 27 or 28, but 0 and 1 are also possible versions
    if (v < 27) {
      v += 27;
    }

    // If the version is correct return the signer address
    if (v != 27 && v != 28) {
      return (address(0));
    } else {
      return ecrecover(hash, v, r, s);
    }
  }

}

/**
 * @title EthealWhitelist
 * @author thesved
 * @notice EthealWhitelist contract which handles KYC
 */
contract EthealWhitelist is Ownable {
    using ECRecovery for bytes32;

    // signer address for offchain whitelist signing
    address public signer;

    // storing whitelisted addresses
    mapping(address => bool) public isWhitelisted;

    event WhitelistSet(address indexed _address, bool _state);

    ////////////////
    // Constructor
    ////////////////
    function EthealWhitelist(address _signer) {
        require(_signer != address(0));

        signer = _signer;
    }

    /// @notice set signing address after deployment
    function setSigner(address _signer) public onlyOwner {
        require(_signer != address(0));

        signer = _signer;
    }

    ////////////////
    // Whitelisting: only owner
    ////////////////

    /// @notice Set whitelist state for an address.
    function setWhitelist(address _addr, bool _state) public onlyOwner {
        require(_addr != address(0));
        isWhitelisted[_addr] = _state;
        WhitelistSet(_addr, _state);
    }

    /// @notice Set whitelist state for multiple addresses
    function setManyWhitelist(address[] _addr, bool _state) public onlyOwner {
        for (uint256 i = 0; i < _addr.length; i++) {
            setWhitelist(_addr[i], _state);
        }
    }

    /// @notice offchain whitelist check
    function isOffchainWhitelisted(address _addr, bytes _sig) public view returns (bool) {
        bytes32 hash = keccak256("\x19Ethereum Signed Message:\n20",_addr);
        return hash.recover(_sig) == signer;
    }
}


/**
 * @title EthealDeposit
 * @author thesved
 * @dev This contract is used for storing funds while doing Whitelist
 */
contract EthealDeposit is Ownable, HasNoTokens {
    using SafeMath for uint256;

    // storing deposits: make sure they fit in 2 x 32 byte
    struct Deposit {
        uint256 amount;         // 32 byte
        address beneficiary;    // 20 byte
        uint64 time;            // 8 byte
        bool cleared;           // 1 bit
    }
    uint256 public transactionCount;
    uint256 public pendingCount;
    mapping (uint256 => Deposit) public transactions;    // store transactions
    mapping (address => uint256[]) public addressTransactions;  // store transaction ids for addresses
    
    // sale contract to which we forward funds
    iEthealSale public sale;
    EthealWhitelist public whitelist;

    event LogDeposited(address indexed beneficiary, uint256 weiAmount, uint256 id);
    event LogRefunded(address indexed beneficiary, uint256 weiAmount, uint256 id);
    event LogForwarded(address indexed beneficiary, uint256 weiAmount, uint256 id);

    ////////////////
    // Constructor
    ////////////////

    /// @notice Etheal deposit constructor
    /// @param _sale address of sale contract
    /// @param _whitelist address of whitelist contract
    function EthealDeposit(address _sale, address _whitelist) {
        require(_sale != address(0));
        sale = iEthealSale(_sale);
        whitelist = EthealWhitelist(_whitelist);
    }

    /// @notice Set sale contract address
    function setSale(address _sale) public onlyOwner {
        sale = iEthealSale(_sale);
    }

    /// @notice Set whitelist contract address
    function setWhitelist(address _whitelist) public onlyOwner {
        whitelist = EthealWhitelist(_whitelist);
    }

    /// @dev Override HasNoTokens#extractTokens to not be able to extract tokens until saleEnd and everyone got their funds back
    function extractTokens(address _token, address _claimer) public onlyOwner saleEnded {
        require(pendingCount == 0);

        super.extractTokens(_token, _claimer);
    }


    ////////////////
    // Deposit, forward, refund
    ////////////////

    modifier whitelistSet() {
        require(address(whitelist) != address(0));
        _;
    }

    modifier saleNotEnded() {
        require(address(sale) != address(0) && !sale.hasEnded());
        _;
    }

    modifier saleNotPaused() {
        require(address(sale) != address(0) && !sale.paused());
        _;
    }

    modifier saleEnded() {
        require(address(sale) != address(0) && sale.hasEnded());
        _;
    }

    /// @notice payable fallback calls the deposit function
    function() public payable {
        deposit(msg.sender, "");
    }

    /// @notice depositing for investor, return transaction Id
    /// @param _investor address of investor
    /// @param _whitelistSign offchain whitelist signiture for address, optional
    function deposit(address _investor, bytes _whitelistSign) public payable whitelistSet saleNotEnded returns (uint256) {
        require(_investor != address(0));
        require(msg.value > 0);
        require(msg.value >= sale.minContribution());

        uint256 transactionId = addTransaction(_investor, msg.value);

        // forward transaction automatically if whitelist is okay, so the transaction doesnt revert
        if (whitelist.isWhitelisted(_investor) 
            || whitelist.isOffchainWhitelisted(_investor, _whitelistSign) 
            || sale.whitelistThreshold() >= sale.stakes(_investor).add(msg.value)
        ) {
            // only forward if sale is not paused
            if (!sale.paused()) {
                forwardTransactionInternal(transactionId, _whitelistSign);
            }
        }

        return transactionId;
    }

    /// @notice forwarding a transaction
    function forwardTransaction(uint256 _id, bytes _whitelistSign) public whitelistSet saleNotEnded saleNotPaused {
        require(forwardTransactionInternal(_id, _whitelistSign));
    }

    /// @notice forwarding multiple transactions: check whitelist
    function forwardManyTransaction(uint256[] _ids) public whitelistSet saleNotEnded saleNotPaused {
        uint256 _threshold = sale.whitelistThreshold();

        for (uint256 i=0; i<_ids.length; i++) {
            // only forward if it is within threshold or whitelisted, so the transaction doesnt revert
            if ( whitelist.isWhitelisted(transactions[_ids[i]].beneficiary) 
                || _threshold >= sale.stakes(transactions[_ids[i]].beneficiary).add(transactions[_ids[i]].amount )
            ) {
                forwardTransactionInternal(_ids[i],"");
            }
        }
    }

    /// @notice forwarding transactions for an investor
    function forwardInvestorTransaction(address _investor, bytes _whitelistSign) public whitelistSet saleNotEnded saleNotPaused {
        bool _whitelisted = whitelist.isWhitelisted(_investor) || whitelist.isOffchainWhitelisted(_investor, _whitelistSign);
        uint256 _amount = sale.stakes(_investor);
        uint256 _threshold = sale.whitelistThreshold();

        for (uint256 i=0; i<addressTransactions[_investor].length; i++) {
            _amount = _amount.add(transactions[ addressTransactions[_investor][i] ].amount);
            // only forward if it is within threshold or whitelisted, so the transaction doesnt revert
            if (_whitelisted || _threshold >= _amount) {
                forwardTransactionInternal(addressTransactions[_investor][i], _whitelistSign);
            }
        }
    }

    /// @notice refunding a transaction
    function refundTransaction(uint256 _id) public saleEnded {
        require(refundTransactionInternal(_id));
    }

    /// @notice refunding multiple transactions
    function refundManyTransaction(uint256[] _ids) public saleEnded {
        for (uint256 i=0; i<_ids.length; i++) {
            refundTransactionInternal(_ids[i]);
        }
    }

    /// @notice refunding an investor
    function refundInvestor(address _investor) public saleEnded {
        for (uint256 i=0; i<addressTransactions[_investor].length; i++) {
            refundTransactionInternal(addressTransactions[_investor][i]);
        }
    }


    ////////////////
    // Internal functions
    ////////////////

    /// @notice add transaction and returns its id
    function addTransaction(address _investor, uint256 _amount) internal returns (uint256) {
        uint256 transactionId = transactionCount;

        // save transaction
        transactions[transactionId] = Deposit({
            amount: _amount,
            beneficiary: _investor,
            time: uint64(now),
            cleared : false
        });

        // save transactionId for investor address
        addressTransactions[_investor].push(transactionId);

        transactionCount = transactionCount.add(1);
        pendingCount = pendingCount.add(1);
        LogDeposited(_investor, _amount, transactionId);

        return transactionId;
    }

    /// @notice Forwarding a transaction, internal function, doesn't check sale status for speed up mass actions.
    /// @return whether forward was successful or not
    function forwardTransactionInternal(uint256 _id, bytes memory _whitelistSign) internal returns (bool) {
        require(_id < transactionCount);

        // if already cleared then return false
        if (transactions[_id].cleared) {
            return false;
        }

        // fixing bytes data to argument call data: data -> {data position}{data length}data
        bytes memory _whitelistCall = bytesToArgument(_whitelistSign, 96);

        // forwarding transaction to sale contract
        if (! sale.call.value(transactions[_id].amount)(bytes4(keccak256('depositEth(address,uint256,bytes)')), transactions[_id].beneficiary, uint256(transactions[_id].time), _whitelistCall) ) {
            return false;
        }
        transactions[_id].cleared = true;

        pendingCount = pendingCount.sub(1);
        LogForwarded(transactions[_id].beneficiary, transactions[_id].amount, _id);

        return true;
    }

    /// @dev Fixing low level call for providing signature information: create proper padding for bytes information
    function bytesToArgument(bytes memory _sign, uint256 _position) internal pure returns (bytes memory c) {
        uint256 signLength = _sign.length;
        uint256 totalLength = signLength.add(64);
        uint256 loopMax = signLength.add(31).div(32);
        assembly {
            let m := mload(0x40)
            mstore(m, totalLength)          // store the total length
            mstore(add(m,32), _position)    // where does the data start
            mstore(add(m,64), signLength)   // store the length of signature
            for {  let i := 0 } lt(i, loopMax) { i := add(1, i) } { mstore(add(m, mul(32, add(3, i))), mload(add(_sign, mul(32, add(1, i))))) }
            mstore(0x40, add(m, add(32, totalLength)))
            c := m
        }
    }

    /// @notice Send back non-cleared transactions after sale is over, not checking status for speeding up mass actions
    function refundTransactionInternal(uint256 _id) internal returns (bool) {
        require(_id < transactionCount);

        // if already cleared then return false
        if (transactions[_id].cleared) {
            return false;
        }

        // sending back funds
        transactions[_id].cleared = true;
        transactions[_id].beneficiary.transfer(transactions[_id].amount);

        pendingCount = pendingCount.sub(1);
        LogRefunded(transactions[_id].beneficiary, transactions[_id].amount, _id);

        return true;
    }


    ////////////////
    // External functions
    ////////////////

    /// @notice gives back transaction ids based on filtering
    function getTransactionIds(uint256 from, uint256 to, bool _cleared, bool _nonCleared) view external returns (uint256[] ids) {
        uint256 i = 0;
        uint256 results = 0;
        uint256[] memory _ids = new uint256[](transactionCount);

        // search in contributors
        for (i = 0; i < transactionCount; i++) {
            if (_cleared && transactions[i].cleared || _nonCleared && !transactions[i].cleared) {
                _ids[results] = i;
                results++;
            }
        }

        ids = new uint256[](results);
        for (i = from; i <= to && i < results; i++) {
            ids[i] = _ids[i];
        }

        return ids;
    }
}

    Contract ABI  
[{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"uint256"}],"name":"addressTransactions","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_sale","type":"address"}],"name":"setSale","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_investor","type":"address"},{"name":"_whitelistSign","type":"bytes"}],"name":"forwardInvestorTransaction","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"sale","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_whitelist","type":"address"}],"name":"setWhitelist","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_ids","type":"uint256[]"}],"name":"forwardManyTransaction","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"whitelist","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"transactions","outputs":[{"name":"amount","type":"uint256"},{"name":"beneficiary","type":"address"},{"name":"time","type":"uint64"},{"name":"cleared","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"from","type":"uint256"},{"name":"to","type":"uint256"},{"name":"_cleared","type":"bool"},{"name":"_nonCleared","type":"bool"}],"name":"getTransactionIds","outputs":[{"name":"ids","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_ids","type":"uint256[]"}],"name":"refundManyTransaction","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"transactionCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_id","type":"uint256"},{"name":"_whitelistSign","type":"bytes"}],"name":"forwardTransaction","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_investor","type":"address"},{"name":"_whitelistSign","type":"bytes"}],"name":"deposit","outputs":[{"name":"","type":"uint256"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"_id","type":"uint256"}],"name":"refundTransaction","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"pendingCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_token","type":"address"},{"name":"_claimer","type":"address"}],"name":"extractTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_investor","type":"address"}],"name":"refundInvestor","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_sale","type":"address"},{"name":"_whitelist","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"beneficiary","type":"address"},{"indexed":false,"name":"weiAmount","type":"uint256"},{"indexed":false,"name":"id","type":"uint256"}],"name":"LogDeposited","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"beneficiary","type":"address"},{"indexed":false,"name":"weiAmount","type":"uint256"},{"indexed":false,"name":"id","type":"uint256"}],"name":"LogRefunded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"beneficiary","type":"address"},{"indexed":false,"name":"weiAmount","type":"uint256"},{"indexed":false,"name":"id","type":"uint256"}],"name":"LogForwarded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_token","type":"address"},{"indexed":true,"name":"_claimer","type":"address"},{"indexed":false,"name":"_amount","type":"uint256"}],"name":"ExtractedTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]

  Contract Creation Code Switch To Opcodes View
6060604052341561000f57600080fd5b6040516040806120d4833981016040528080519190602001805160008054600160a060020a03191633600160a060020a039081169190911790915590925083161515905061005c57600080fd5b60058054600160a060020a03938416600160a060020a0319918216179091556006805492909316911617905561203d806100976000396000f3006060604052600436106100ed5763ffffffff60e060020a60003504166327dfddbc811461010857806336af50fd1461013c57806369f40ebc1461015d5780636ad1fe02146101bc578063854cff2f146101eb5780638da5cb5b1461020a578063937097881461021d57806393e59dc11461026c5780639ace38c21461027f578063a8abe69a146102d3578063b2f1fe9914610349578063b77bf60014610398578063bfce477f146103ab578063cf2c52cb14610401578063d4e678b814610455578063ea70b4af1461046b578063ed6b2d7d1461047e578063f2fde38b146104a3578063ff53c5a3146104c2575b610105336020604051908101604052600081526104e1565b50005b341561011357600080fd5b61012a600160a060020a03600435166024356108fc565b60405190815260200160405180910390f35b341561014757600080fd5b61015b600160a060020a036004351661092a565b005b341561016857600080fd5b61015b60048035600160a060020a03169060446024803590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965061097495505050505050565b34156101c757600080fd5b6101cf610dc0565b604051600160a060020a03909116815260200160405180910390f35b34156101f657600080fd5b61015b600160a060020a0360043516610dcf565b341561021557600080fd5b6101cf610e19565b341561022857600080fd5b61015b6004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843750949650610e2895505050505050565b341561027757600080fd5b6101cf61117b565b341561028a57600080fd5b61029560043561118a565b604051938452600160a060020a03909216602084015267ffffffffffffffff1660408084019190915290151560608301526080909101905180910390f35b34156102de57600080fd5b6102f6600435602435604435151560643515156111db565b60405160208082528190810183818151815260200191508051906020019060200280838360005b8381101561033557808201518382015260200161031d565b505050509050019250505060405180910390f35b341561035457600080fd5b61015b600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284375094965061132295505050505050565b34156103a357600080fd5b61012a6113e1565b34156103b657600080fd5b61015b600480359060446024803590810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496506113e795505050505050565b61012a60048035600160a060020a03169060446024803590810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496506104e195505050505050565b341561046057600080fd5b61015b60043561151d565b341561047657600080fd5b61012a6115b8565b341561048957600080fd5b61015b600160a060020a03600435811690602435166115be565b34156104ae57600080fd5b61015b600160a060020a0360043516611674565b34156104cd57600080fd5b61015b600160a060020a036004351661170f565b6006546000908190600160a060020a031615156104fd57600080fd5b600554600160a060020a0316158015906105775750600554600160a060020a031663ecb70fb76000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561055a57600080fd5b6102c65a03f1151561056b57600080fd5b50505060405180519050155b151561058257600080fd5b600160a060020a038416151561059757600080fd5b600034116105a457600080fd5b600554600160a060020a031663aaffadf36000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156105ec57600080fd5b6102c65a03f115156105fd57600080fd5b5050506040518051341015905061061357600080fd5b61061d84346117fd565b600654909150600160a060020a0316633af32abf8560006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561067957600080fd5b6102c65a03f1151561068a57600080fd5b50505060405180519050806107855750600654600160a060020a031663a30bdea485856000604051602001526040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561071d578082015183820152602001610705565b50505050905090810190601f16801561074a5780820380516001836020036101000a031916815260200191505b509350505050602060405180830381600087803b151561076957600080fd5b6102c65a03f1151561077a57600080fd5b505050604051805190505b806108775750600554610811903490600160a060020a03166316934fc48760006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b15156107ea57600080fd5b6102c65a03f115156107fb57600080fd5b505050604051805191905063ffffffff61199c16565b600554600160a060020a031663b5dadb176000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561085957600080fd5b6102c65a03f1151561086a57600080fd5b5050506040518051905010155b156108f157600554600160a060020a0316635c975abb6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156108c457600080fd5b6102c65a03f115156108d557600080fd5b5050506040518051905015156108f1576108ef81846119ab565b505b8091505b5092915050565b60046020528160005260406000208181548110151561091757fe5b6000918252602090912001549150829050565b60005433600160a060020a0390811691161461094557600080fd5b6005805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600654600090819081908190600160a060020a0316151561099457600080fd5b600554600160a060020a031615801590610a0e5750600554600160a060020a031663ecb70fb76000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156109f157600080fd5b6102c65a03f11515610a0257600080fd5b50505060405180519050155b1515610a1957600080fd5b600554600160a060020a031615801590610a935750600554600160a060020a0316635c975abb6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610a7657600080fd5b6102c65a03f11515610a8757600080fd5b50505060405180519050155b1515610a9e57600080fd5b600654600160a060020a0316633af32abf8760006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610af757600080fd5b6102c65a03f11515610b0857600080fd5b5050506040518051905080610c035750600654600160a060020a031663a30bdea487876000604051602001526040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610b9b578082015183820152602001610b83565b50505050905090810190601f168015610bc85780820380516001836020036101000a031916815260200191505b509350505050602060405180830381600087803b1515610be757600080fd5b6102c65a03f11515610bf857600080fd5b505050604051805190505b600554909450600160a060020a03166316934fc48760006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610c5f57600080fd5b6102c65a03f11515610c7057600080fd5b5050506040518051600554909450600160a060020a0316905063b5dadb176000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610cc557600080fd5b6102c65a03f11515610cd657600080fd5b5050506040518051925060009150505b600160a060020a038616600090815260046020526040902054811015610db857600160a060020a03861660009081526004602052604081208054610d6092600392909185908110610d3357fe5b9060005260206000209001548152602001908152602001600020600001548461199c90919063ffffffff16565b92508380610d6e5750828210155b15610db057600160a060020a03861660009081526004602052604090208054610dae919083908110610d9c57fe5b906000526020600020900154866119ab565b505b600101610ce6565b505050505050565b600554600160a060020a031681565b60005433600160a060020a03908116911614610dea57600080fd5b6006805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600054600160a060020a031681565b6006546000908190600160a060020a03161515610e4457600080fd5b600554600160a060020a031615801590610ebe5750600554600160a060020a031663ecb70fb76000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610ea157600080fd5b6102c65a03f11515610eb257600080fd5b50505060405180519050155b1515610ec957600080fd5b600554600160a060020a031615801590610f435750600554600160a060020a0316635c975abb6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610f2657600080fd5b6102c65a03f11515610f3757600080fd5b50505060405180519050155b1515610f4e57600080fd5b600554600160a060020a031663b5dadb176000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610f9657600080fd5b6102c65a03f11515610fa757600080fd5b5050506040518051925060009150505b825181101561117657600654600160a060020a0316633af32abf60036000868581518110610fe157fe5b90602001906020020151815260208101919091526040908101600090812060010154600160a060020a031691516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561105057600080fd5b6102c65a03f1151561106157600080fd5b505050604051805190508061113a57506111366003600085848151811061108457fe5b90602001906020020151815260208101919091526040016000908120546005549091600160a060020a03909116906316934fc4906003908887815181106110c757fe5b90602001906020020151815260208101919091526040908101600090812060010154600160a060020a031691516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b15156107ea57600080fd5b8210155b1561116e5761116c83828151811061114e57fe5b906020019060200201516020604051908101604052600081526119ab565b505b600101610fb7565b505050565b600654600160a060020a031681565b60036020526000908152604090208054600190910154600160a060020a0381169074010000000000000000000000000000000000000000810467ffffffffffffffff169060e060020a900460ff1684565b6111e3611fbf565b6000806111ee611fbf565b60009250600091506001546040518059106112065750595b90808252806020026020018201604052509050600092505b6001548310156112a75785801561124d575060008381526003602052604090206001015460e060020a900460ff165b806112795750848015611279575060008381526003602052604090206001015460e060020a900460ff16155b1561129c578281838151811061128b57fe5b602090810290910101526001909101905b60019092019161121e565b816040518059106112b55750595b908082528060200260200182016040525093508792505b8683111580156112db57508183105b15611317578083815181106112ec57fe5b9060200190602002015184848151811061130257fe5b602090810290910101526001909201916112cc565b505050949350505050565b600554600090600160a060020a03161580159061139e5750600554600160a060020a031663ecb70fb76000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561138257600080fd5b6102c65a03f1151561139357600080fd5b505050604051805190505b15156113a957600080fd5b5060005b81518110156113dd576113d48282815181106113c557fe5b90602001906020020151611c2a565b506001016113ad565b5050565b60015481565b600654600160a060020a031615156113fe57600080fd5b600554600160a060020a0316158015906114785750600554600160a060020a031663ecb70fb76000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561145b57600080fd5b6102c65a03f1151561146c57600080fd5b50505060405180519050155b151561148357600080fd5b600554600160a060020a0316158015906114fd5750600554600160a060020a0316635c975abb6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156114e057600080fd5b6102c65a03f115156114f157600080fd5b50505060405180519050155b151561150857600080fd5b61151282826119ab565b15156113dd57600080fd5b600554600160a060020a0316158015906115965750600554600160a060020a031663ecb70fb76000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561157a57600080fd5b6102c65a03f1151561158b57600080fd5b505050604051805190505b15156115a157600080fd5b6115aa81611c2a565b15156115b557600080fd5b50565b60025481565b60005433600160a060020a039081169116146115d957600080fd5b600554600160a060020a0316158015906116525750600554600160a060020a031663ecb70fb76000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561163657600080fd5b6102c65a03f1151561164757600080fd5b505050604051805190505b151561165d57600080fd5b6002541561166a57600080fd5b6113dd8282611d55565b60005433600160a060020a0390811691161461168f57600080fd5b600160a060020a03811615156116a457600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600554600090600160a060020a03161580159061178b5750600554600160a060020a031663ecb70fb76000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561176f57600080fd5b6102c65a03f1151561178057600080fd5b505050604051805190505b151561179657600080fd5b5060005b600160a060020a0382166000908152600460205260409020548110156113dd57600160a060020a038216600090815260046020526040902080546117f49190839081106117e357fe5b906000526020600020900154611c2a565b5060010161179a565b60015460009060806040519081016040908152848252600160a060020a03861660208084019190915267ffffffffffffffff42168284015260006060840181905284815260039091522081518155602082015160018201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039290921691909117905560408201518160010160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060608201516001918201805491151560e060020a027cff0000000000000000000000000000000000000000000000000000000019909216919091179055600160a060020a038616600090815260046020526040902080549092509081016119158382611fd1565b506000918252602090912001819055600180546119379163ffffffff61199c16565b600190815560025461194e9163ffffffff61199c16565b600255600160a060020a0384167f8de097f054bf5282188a61136aa10aff99a4a5ad0ca0985010a52dbc83f8bfd5848360405191825260208201526040908101905180910390a29392505050565b6000828201838110156108f157fe5b60006119b5611fbf565b60015484106119c357600080fd5b60008481526003602052604090206001015460e060020a900460ff16156119ed57600091506108f5565b6119f8836060611f02565b6005546000868152600360205260409081902054929350600160a060020a039091169190517f6465706f73697445746828616464726573732c75696e743235362c627974657381527f29000000000000000000000000000000000000000000000000000000000000006020820152602101604051908190039020600087815260036020526040908190206001015460e060020a9092049291600160a060020a038116917401000000000000000000000000000000000000000090910467ffffffffffffffff16908690518563ffffffff1660e060020a0281526004018084600160a060020a0316600160a060020a03168152602001838152602001828051906020019080838360005b83811015611b19578082015183820152602001611b01565b50505050905090810190601f168015611b465780820380516001836020036101000a031916815260200191505b50935050505060006040518083038185886187965a03f193505050501515611b7157600091506108f5565b6000848152600360205260409020600190810180547cff00000000000000000000000000000000000000000000000000000000191660e060020a179055600254611bc09163ffffffff611f9616565b6002556000848152600360205260409081902060018101549054600160a060020a03909116917f50918e5fa441f8f43efb53b7493950db2e97a69244340910c8c324f88d4bd724919087905191825260208201526040908101905180910390a25060019392505050565b6001546000908210611c3b57600080fd5b60008281526003602052604090206001015460e060020a900460ff1615611c6457506000611d50565b600082815260036020526040908190206001810180547cff00000000000000000000000000000000000000000000000000000000191660e060020a17908190559054600160a060020a039091169181156108fc02919051600060405180830381858888f193505050501515611cd857600080fd5b600254611cec90600163ffffffff611f9616565b6002556000828152600360205260409081902060018101549054600160a060020a03909116917ff34c4309dc2340d780a32f411d8c117bc020f7e525ec5801940c410e254e9e48919085905191825260208201526040908101905180910390a25060015b919050565b60008054819033600160a060020a03908116911614611d7357600080fd5b600160a060020a0384161515611dc55782600160a060020a03166108fc30600160a060020a0316319081150290604051600060405180830381858888f193505050501515611dc057600080fd5b611efc565b83915081600160a060020a03166370a082313060006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515611e1f57600080fd5b6102c65a03f11515611e3057600080fd5b5050506040518051915050600160a060020a03821663a9059cbb848360006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515611e9857600080fd5b6102c65a03f11515611ea957600080fd5b505050604051805190505082600160a060020a031684600160a060020a03167f21e9b296e283cad208b551b3c383bb74e34086eb5691fee8392dcce6794521c28360405190815260200160405180910390a35b50505050565b611f0a611fbf565b600080600085519250611f2483604063ffffffff61199c16565b9150611f486020611f3c85601f63ffffffff61199c16565b9063ffffffff611fa816565b905060405182815285602082015283604082015260005b82811015611f83578060010160200288015160206003830102830152600101611f5f565b5091820160200160405250949350505050565b600082821115611fa257fe5b50900390565b6000808284811515611fb657fe5b04949350505050565b60206040519081016040526000815290565b8154818355818115116111765760008381526020902061117691810190830161200e91905b8082111561200a5760008155600101611ff6565b5090565b905600a165627a7a723058208349127ec195b84ad2fbd0102cd7d41a5f4959fce224a85d71fb85bacaad3b66002900000000000000000000000064386613c1abc7a2ce3c00765f505c025d10b8b1000000000000000000000000dcdb78ba8d4c9eddbe6798b8bb7d05ca52c3be75

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

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 00000000000000000000000064386613c1abc7a2ce3c00765f505c025d10b8b1
Arg [1] : 000000000000000000000000dcdb78ba8d4c9eddbe6798b8bb7d05ca52c3be75


   Swarm Source:
bzzr://8349127ec195b84ad2fbd0102cd7d41a5f4959fce224a85d71fb85bacaad3b66

 

View All
Block Age transaction Difficulty GasUsed Reward
View All
Block Age UncleNumber Difficulty GasUsed Reward
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.