Sponsored:   HOLD IT | CRED IT | PROF IT - #INLOCK we trust. Join here.
 Latest 25 txns From a total of 22139 Transactions

TxHash Age From To Value [TxFee]
0x173e46186436f54f6d73e4f1b09862f3a8c3d3fff01382a7c54b58bbfa6113644 hrs 38 mins ago0x334cb54edcda73cf1b89c40c757af98a47138b87  IN   IUNGO0 Ether0.000548448
0x861921079d306bc8753a191494aa9d06189d1bdd6f2886d1564885e4ff1b07ed5 hrs 13 mins ago0xed7494de207a1784b0af9267af260ddbb67d7114  IN   IUNGO0 Ether0.000449544
0x613aedd31de2583b59845d255dd8b31077b62b1b84429512ad7f12565653ef9a18 hrs 1 min agoKucoin  IN   IUNGO0 Ether0.00056097
0xb7321e0cc71e827ab9c141643ea40940dbe0f27cb73ea2a504a36ba7c969d7771 day 3 hrs ago0xef784137b2acc9b75d249e556729ee8a31296140  IN   IUNGO0 Ether0.00018667
0x15c587d904a86668ead189c28414ce530d30a860d6d1e9ba6dc4f91eb55e62fd1 day 11 hrs ago0x7c6ca3d5adef517c47280dcdba04b40e39936fda  IN   IUNGO0 Ether0.00018763
0x86e56616ff5b1faf909523317f09759b3b41c1e912b832b103e6a3213592cb951 day 17 hrs ago0x493325d64df7ebd21cdc6245166cc1129a932314  IN   IUNGO0 Ether0.000149592
0xab50d5ed6de6220b6a3dcade9c49bc3f18ca2c0ac950654d3a95fb103c9bd4622 days 20 hrs ago0x35362596e207b01e5385b26ff7e343afda5f6a35  IN   IUNGO0 Ether0.00018667
0xf8a6a5ddf1ff97d0439b1395312559c5c67c1d721d4adc6326d28bae7091a6453 days 1 hr ago0x50c50f6fae2a46096e86188dace72d3b6ac49619  IN   IUNGO0 Ether0.00182623
0x2cd43330de6efcaea1e988cde2b9b3429edbd24cf7ce9e432d502f4e6e35e33e3 days 4 hrs ago0x092c8afd4c366c99894c3a5d91d0d97a752cd27f  IN   IUNGO0 Ether0.001533318
0xb7654a86704755935fbda0d414930b024cfc57971addd759cc93985e59cdd4693 days 8 hrs ago0x245d3755f631025b335f1acecf1ac89b486174fb  IN   IUNGO0 Ether0.001533318
0x20d1967f6994e9271720660444261daf09be964a571029367eae39e39429e08d3 days 14 hrs ago0x02545de95a2bd2826785561e6c52872e6d0ab3ff  IN   IUNGO0 Ether0.000364608
0xc95b51ab37b1f6c5113eff947946a21dfc6dc8258a243dc8d3f2ab9f8954229a3 days 14 hrs ago0xe423960c2fedbda3d6f4c4398143a4c78a82ed43  IN   IUNGO0 Ether0.001530694
0xd24a68dce46e45e2298aa53d7252519006d96be4165fa9298decc0d00db762ed5 days 6 hrs agoKucoin  IN   IUNGO0 Ether0.00078597
0x98389f3309ad5da896982b60fa90d45a47642e9074082da9c5237303fa29fe015 days 10 hrs ago0xbf8c73ca501be9f3667c37eb261192a30949e07a  IN   IUNGO0 Ether0.0011181
0x780bf4fba54ed41ffa670fb30376bfe9d2cb9f9ee1c843df4e30641b5dff0a485 days 18 hrs ago0xeb73b471c051384ca31469d3de50cd0b92408d2d  IN   IUNGO0 Ether0.00078
0xd307fca8e1ed36e53f6545b6d741e8e03f9c49efafa4ca7600ebfe71f295e8886 days 17 hrs agoKucoin  IN   IUNGO0 Ether0.00056097
0x1b97ecfea66f500077e3b47bc5f34b86236153bc8c01790a44ba8f06596f09c36 days 23 hrs ago0xb863f5a6d024d71723ab0d393f9e0f575638b87c  IN   IUNGO0 Ether0.001535942
0x0a90b5378c2f9270d01bc5e9549f2645739f2b53d2ebef89d2c5d739c4e941097 days 21 mins agoKucoin  IN   IUNGO0 Ether0.00056097
0xa80bdd1cde5dfbeb1edb96eb73ec72910f6a82012361c0f56a97947b516db1647 days 1 hr ago0xba599abfd9cb2209f00df0b033b18736b50396fd  IN   IUNGO0 Ether0.001535942
0x168f5e36d47f4a657c96935c1085d235195caa14fbe9b1b8afee8c878ee01b187 days 5 hrs agoKucoin  IN   IUNGO0 Ether0.00078501
0x87440975714dfee898759317ec84d314432f5ceb33b9d2fd5b10d78eb8f4338e7 days 12 hrs agoKucoin  IN   IUNGO0 Ether0.00078597
0x1033a2f1934063a513ced21a66f61a173db92491822ffef6eaf4785c346987f77 days 21 hrs ago0x76609f1ab03cb566d92f2cd07833825f5c5b744e  IN   IUNGO0 Ether0.00006722534
0xc3044949f653474a1e3394d15b518f31856d3a739a6d5e65e9161650e3ee8dc97 days 22 hrs ago0x33145a47e171fd0475546743b09917e63d946c2e  IN   IUNGO0 Ether0.00006722534
0x09b395aaf5dbe14aa76f8e325bea36770089d0cc61264e37016fc9e0e4ea8bcc8 days 55 mins ago0x2d81069af5d35ea31b5edbf38889082289f28a57  IN   IUNGO0 Ether0.00006722534
0x1f1084c52996fade601fb6e85c285bef41f4d18872cbeb67d3d58a5021e8ad778 days 4 hrs ago0x56465988bcac303fc83ef562de7e607a0307dcf7  IN   IUNGO0 Ether0.000410674
[ 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
0x6b2ff32980e91c3d1726727767ababb51743df52e10ccdac09ea3b521bfb53dc5008415229 days 19 hrs ago0x24ddff6d8b8a42d835af3b440de91f3386554aa4  Contract Creation0 Ether
0x6b2ff32980e91c3d1726727767ababb51743df52e10ccdac09ea3b521bfb53dc5008415229 days 19 hrs ago0x24ddff6d8b8a42d835af3b440de91f3386554aa4  Contract Creation0 Ether
0x6b2ff32980e91c3d1726727767ababb51743df52e10ccdac09ea3b521bfb53dc5008415229 days 19 hrs ago0x24ddff6d8b8a42d835af3b440de91f3386554aa4  Contract Creation0 Ether
0x26c971bb6d9a33b17776ee803674d3f1a221d738ac94b61a3c52a6b7e1c8900a5008412229 days 19 hrs ago0x24ddff6d8b8a42d835af3b440de91f3386554aa40x31a633c4ee2c317de2c65beb00593eadd9f172d60.4 Ether
0xdd2afb633f142d722a92c08d6cdd5c472a95538e6c2701ae928b960a53be187f5008408229 days 19 hrs ago0x24ddff6d8b8a42d835af3b440de91f3386554aa40x31a633c4ee2c317de2c65beb00593eadd9f172d60.011 Ether
0xc14c6e5b9a3cfd8585f829b3ebfabd435b9404d8929a6562d6ef9a98a0ab656e5008402229 days 19 hrs ago0x24ddff6d8b8a42d835af3b440de91f3386554aa40x31a633c4ee2c317de2c65beb00593eadd9f172d60.15 Ether
0xcf1bd3a21c42965525c7804d6c5fb04d4fe38ba4820fd8d7b5e186bd4ca6472f5008389229 days 19 hrs ago0x24ddff6d8b8a42d835af3b440de91f3386554aa40x31a633c4ee2c317de2c65beb00593eadd9f172d60.1 Ether
0x9a29ff92b35a613bcb7efcaf5b7cdd1fcd5605ac78ea8057ee75dccb1b5d6a735008387229 days 19 hrs ago0x24ddff6d8b8a42d835af3b440de91f3386554aa40x31a633c4ee2c317de2c65beb00593eadd9f172d60.27084017 Ether
0xa83d3cf878baaaade3de7a6037f305f3540264a56f4a41ab59a4cc8551cc1f0a5008385229 days 19 hrs ago0x24ddff6d8b8a42d835af3b440de91f3386554aa40x31a633c4ee2c317de2c65beb00593eadd9f172d61.3 Ether
0x1c030489170ea693f46c09db6099d02b48eb77480876ca8525772c860d58eff65008383229 days 19 hrs ago0x24ddff6d8b8a42d835af3b440de91f3386554aa40x31a633c4ee2c317de2c65beb00593eadd9f172d61 Ether
0x8a76f739aee1ec4c083a2d087739189eecca1064ad67c2ddf856f86f60456ff95008381229 days 19 hrs ago0x24ddff6d8b8a42d835af3b440de91f3386554aa40x31a633c4ee2c317de2c65beb00593eadd9f172d62.09 Ether
0x26acc2b625b7e42a28191a7db2e70982071def38f847790e015ebb1ac1b597da5008381229 days 19 hrs ago0x24ddff6d8b8a42d835af3b440de91f3386554aa40x31a633c4ee2c317de2c65beb00593eadd9f172d625 Ether
0x4972cf46857ba375aa25cdd8cd7fd6e62016c030bb6da616f3a534d358d1ef425008372229 days 19 hrs ago0x24ddff6d8b8a42d835af3b440de91f3386554aa40x31a633c4ee2c317de2c65beb00593eadd9f172d60.054 Ether
0x981ceb924b9b45a7cfc7a7426152cb1d52ba678b038f1e285336e0d01f930bf75008364229 days 19 hrs ago0x24ddff6d8b8a42d835af3b440de91f3386554aa40x31a633c4ee2c317de2c65beb00593eadd9f172d60.04362701 Ether
0x8c3668fc7367d59314169572289da52b2a8bbf1bce0878a9754178f6c600458d5008362229 days 19 hrs ago0x24ddff6d8b8a42d835af3b440de91f3386554aa40x31a633c4ee2c317de2c65beb00593eadd9f172d61.5 Ether
0x669fa33d4dfeeb690bee9c932fafe1a17c43a0e2f219d9d55dd32da7c0a9b5195008360229 days 19 hrs ago0x24ddff6d8b8a42d835af3b440de91f3386554aa40x31a633c4ee2c317de2c65beb00593eadd9f172d64.997314664 Ether
0x782696c88eb1394af0a456f095ae9baccee08e1f5ef5c49c5c0cca2a9aaa14cf5008360229 days 19 hrs ago0x24ddff6d8b8a42d835af3b440de91f3386554aa40x31a633c4ee2c317de2c65beb00593eadd9f172d60.2 Ether
0x1b2b3e753c105640654d363d9b83c458bfd22dc6b5559f827fff6544ab3561b45008360229 days 19 hrs ago0x24ddff6d8b8a42d835af3b440de91f3386554aa40x31a633c4ee2c317de2c65beb00593eadd9f172d60.157 Ether
0xb99782d0731ad125b08e53a8de850b3814a0cf4b12bed28fc31d3327756edbde5008348229 days 20 hrs ago0x24ddff6d8b8a42d835af3b440de91f3386554aa40x31a633c4ee2c317de2c65beb00593eadd9f172d60.5 Ether
0x4b36ac91e2583528a80e59ef9edec75b390cd89808b6841ace6fc6d5483686ca5008343229 days 20 hrs ago0x24ddff6d8b8a42d835af3b440de91f3386554aa40x31a633c4ee2c317de2c65beb00593eadd9f172d61.040719874 Ether
0x6cdbe3a35f68b69e6ea2284c283c4d233464ba8182c0c62608b495515dbe51d85008323229 days 20 hrs ago0x24ddff6d8b8a42d835af3b440de91f3386554aa40x31a633c4ee2c317de2c65beb00593eadd9f172d60.45290623 Ether
0x8a7556e9dffcc46c8afb5d585816c7f991e1edac7697845c1f315b9d88c979aa5008323229 days 20 hrs ago0x24ddff6d8b8a42d835af3b440de91f3386554aa40x31a633c4ee2c317de2c65beb00593eadd9f172d60.5 Ether
0x1f466f95cd052f9ceb48ad022cd8f21c04b202b2c1eff30ac7d0fff86ca022435008323229 days 20 hrs ago0x24ddff6d8b8a42d835af3b440de91f3386554aa40x31a633c4ee2c317de2c65beb00593eadd9f172d60.275 Ether
0xf625ffbbf156c3097c1fe0f2367b9016a0aad64e53c6cf7fe3001447ce632ff65008316229 days 20 hrs ago0x24ddff6d8b8a42d835af3b440de91f3386554aa40x31a633c4ee2c317de2c65beb00593eadd9f172d60.05 Ether
0xb335a85eb246fe7e97f67021332b022541c595d85668e54e3a39031e9a5e9c215008315229 days 20 hrs ago0x24ddff6d8b8a42d835af3b440de91f3386554aa40x31a633c4ee2c317de2c65beb00593eadd9f172d60.08827861 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: IungoToken
Compiler Text: v0.4.18+commit.9cf6e910
Optimization Enabled: No
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts

pragma solidity 0.4.18;


/**
 * @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;
        require(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) {
        require(b <= a);
        return a - b;
    }

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

/**
 * @title ERC20Basic
 * @dev Simpler version of ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/179
 */
contract ERC20Basic {
    uint256 public totalSupply;
    function balanceOf(address who) public view returns (uint256);
    function transfer(address to, uint256 value) public returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
}

/**
 * @title Basic token
 * @dev Basic version of StandardToken, with no allowances.
 */
contract BasicToken is ERC20Basic {
    using SafeMath for uint256;

    mapping(address => uint256) public balances;

    /**
    * @dev transfer token for a specified address
    * @param _to The address to transfer to.
    * @param _value The amount to be transferred.
    */
    function transfer(address _to, uint256 _value) public returns (bool) {
        require(_to != address(0));
        require(_value <= balances[msg.sender]);

        // SafeMath.sub will throw if there is not enough balance.
        balances[msg.sender] = balances[msg.sender].sub(_value);
        balances[_to] = balances[_to].add(_value);
        Transfer(msg.sender, _to, _value);
        return true;
    }

    /**
    * @dev Gets the balance of the specified address.
    * @param _owner The address to query the the balance of.
    * @return An uint256 representing the amount owned by the passed address.
    */
    function balanceOf(address _owner) public view returns (uint256 balance) {
        return balances[_owner];
    }

}

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

/**
 * @title SafeERC20
 * @dev Wrappers around ERC20 operations that throw on failure.
 * To use this library you can add a `using SafeERC20 for ERC20;` statement to your contract,
 * which allows you to call the safe operations as `token.safeTransfer(...)`, etc.
 */
library SafeERC20 {
  function safeTransfer(ERC20Basic token, address to, uint256 value) internal {
    assert(token.transfer(to, value));
  }

  function safeTransferFrom(ERC20 token, address from, address to, uint256 value) internal {
    assert(token.transferFrom(from, to, value));
  }

  function safeApprove(ERC20 token, address spender, uint256 value) internal {
    assert(token.approve(spender, value));
  }
}

/**
 * @title TokenTimelock
 * @dev TokenTimelock is a token holder contract that will allow a
 * beneficiary to extract the tokens after a given release time
 */
contract TokenTimelock {
  using SafeERC20 for ERC20Basic;

  // ERC20 basic token contract being held
  ERC20Basic public token;

  // beneficiary of tokens after they are released
  address public beneficiary;

  // timestamp when token release is enabled
  uint64 public releaseTime;

  function TokenTimelock(ERC20Basic _token, address _beneficiary, uint64 _releaseTime) public {
    require(_releaseTime > uint64(block.timestamp));
    token = _token;
    beneficiary = _beneficiary;
    releaseTime = _releaseTime;
  }

  /**
   * @notice Transfers tokens held by timelock to beneficiary.
   */
  function release() public {
    require(uint64(block.timestamp) >= releaseTime);

    uint256 amount = token.balanceOf(this);
    require(amount > 0);

    token.safeTransfer(beneficiary, amount);
  }
}

/**
 * @title Standard ERC20 token
 *
 * @dev Implementation of the basic standard token.
 * @dev https://github.com/ethereum/EIPs/issues/20
 * @dev Based on code by FirstBlood: https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol
 */
contract StandardToken is ERC20, BasicToken {

    mapping (address => mapping (address => uint256)) internal allowed;


    /**
     * @dev Transfer tokens from one address to another
     * @param _from address The address which you want to send tokens from
     * @param _to address The address which you want to transfer to
     * @param _value uint256 the amount of tokens to be transferred
     */
    function transferFrom(address _from, address _to, uint256 _value) public returns (bool) {
        require(_to != address(0));
        require(_value <= balances[_from]);
        require(_value <= allowed[_from][msg.sender]);

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

    /**
     * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.
     *
     * Beware that changing an allowance with this method brings the risk that someone may use both the old
     * and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this
     * race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards:
     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
     * @param _spender The address which will spend the funds.
     * @param _value The amount of tokens to be spent.
     */
    function approve(address _spender, uint256 _value) public returns (bool) {
        allowed[msg.sender][_spender] = _value;
        Approval(msg.sender, _spender, _value);
        return true;
    }

    /**
     * @dev Function to check the amount of tokens that an owner allowed to a spender.
     * @param _owner address The address which owns the funds.
     * @param _spender address The address which will spend the funds.
     * @return A uint256 specifying the amount of tokens still available for the spender.
     */
    function allowance(address _owner, address _spender) public view returns (uint256 remaining) {
        return allowed[_owner][_spender];
    }

    /**
     * approve should be called when allowed[_spender] == 0. To increment
     * allowed value is better to use this function to avoid 2 calls (and wait until
     * the first transaction is mined)
     * From MonolithDAO Token.sol
     */
    function increaseApproval (address _spender, uint _addedValue) public returns (bool success) {
        allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add(_addedValue);
        Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
        return true;
    }

    function decreaseApproval (address _spender, uint _subtractedValue) public returns (bool success) {
        uint oldValue = allowed[msg.sender][_spender];
        if (_subtractedValue > oldValue) {
            allowed[msg.sender][_spender] = 0;
        } else {
            allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue);
        }
        Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
        return true;
    }

}

contract Owned {
    address public owner;

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

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

contract IungoToken is StandardToken, Owned {
    string public constant name = "IUNGO token";
    string public constant symbol = "ING";
    uint8 public constant decimals = 18;

    /// Maximum tokens to be allocated (100 million)
    uint256 public constant HARD_CAP = 100000000 * 10**uint256(decimals);

    /// Maximum tokens to be allocated on the sale (64 million)
    uint256 public constant TOKENS_SALE_HARD_CAP = 64000000 * 10**uint256(decimals);

    /// The owner of this address is the Iungo Founders fund
    address public foundersFundAddress;

    /// The owner of this address is the Iungo Team Foundation fund
    address public teamFundAddress;

    /// The owner of this address is the Reserve fund
    address public reserveFundAddress;

    /// This address will be sent all the received ether
    address public fundsTreasury;

    /// This is the address of the timelock contract for 
    /// the first 1/3 of the Founders fund tokens
    address public foundersFundTimelock1Address;

    /// This is the address of the timelock contract for 
    /// the second 1/3 of the Founders fund tokens
    address public foundersFundTimelock2Address;

    /// This is the address of the timelock contract for 
    /// the third 1/3 of the Founders fund tokens
    address public foundersFundTimelock3Address;

    /// seconds since 01.01.1970 to 06.12.2017 12:00:00 UTC
    /// tier 1 start time
    uint64 private constant date06Dec2017 = 1512561600;

    /// seconds since 01.01.1970 to 21.12.2017 14:00:00 UTC
    /// tier 1 end time; tier 2 start time
    uint64 private constant date21Dec2017 = 1513864800;

    /// seconds since 01.01.1970 to 12.01.2018 14:00:00 UTC
    /// tier 2 end time; tier 3 start time
    uint64 private constant date12Jan2018 = 1515765600;

    /// seconds since 01.01.1970 to 21.01.2018 14:00:00 UTC
    /// tier 3 end time; tier 4 start time
    uint64 private constant date21Jan2018 = 1516543200;

    /// seconds since 01.01.1970 to 31.01.2018 23:59:59 UTC
    /// tier 4 end time; closing token sale; trading open
    uint64 private constant date31Jan2018 = 1517443199;

    /// Base exchange rate is set to 1 ETH = 1000 ING
    uint256 public constant BASE_RATE = 1000;

    /// no tokens can be ever issued when this is set to "true"
    bool public tokenSaleClosed = false;

    /// Issue event index starting from 0.
    uint256 public issueIndex = 0;

    /// Emitted for each sucuessful token purchase.
    event Issue(uint _issueIndex, address addr, uint tokenAmount);

    /// Require that the buyers can still purchase
    modifier inProgress {
        require(totalSupply < TOKENS_SALE_HARD_CAP
                && !tokenSaleClosed
                && !saleDue());
        _;
    }

    /// Allow the closing to happen only once 
    modifier beforeEnd {
        require(!tokenSaleClosed);
        _;
    }

    /// Require that the end of the sale has passed (time is 01 Feb 2018 or later)
    modifier tradingOpen {
        require(saleDue());
        _;
    }

    /**
     * CONSTRUCTOR
     *
     * @dev Initialize the IungoToken Token
     * @param _foundersFundAddress The owner of this address is the Iungo Founders fund
     * @param _teamFundAddress The owner of this address is the Iungo Team Foundation fund
     * @param _reserveFundAddress The owner of this address is the Reserve fund
     */
    function IungoToken (address _foundersFundAddress, address _teamFundAddress,
                         address _reserveFundAddress, address _fundsTreasury) public {
        foundersFundAddress = 0x9CB0016511Fb93EAc7bC585A2bc2f0C34DEcEa15;
        teamFundAddress = 0xDda7003998244f6161A5BBAf0F4ed5a40E908b51;
        reserveFundAddress = 0x9186b48Db83E63adEDaB43C19345f39c83928E3f;
        fundsTreasury = 0x31a633c4eE2C317DE2C65beb00593EAdD9f172d6;
    }

    /// @dev Returns the current price.
    function price() public view returns (uint256 tokens) {
        return computeTokenAmount(1 ether);
    }

    /// @dev This default function allows token to be purchased by directly
    /// sending ether to this smart contract.
    function () public payable {
        purchaseTokens(msg.sender);
    }

    /// @dev Issue token based on Ether received.
    /// @param _beneficiary Address that newly issued token will be sent to.
    function purchaseTokens(address _beneficiary) public payable inProgress {
        // only accept a minimum amount of ETH?
        require(msg.value >= 0.01 ether);

        uint256 tokens = computeTokenAmount(msg.value);
        doIssueTokens(_beneficiary, tokens);

        /// forward the raised funds to the fund address
        fundsTreasury.transfer(msg.value);
    }

    /// @dev Batch issue tokens on the presale
    /// @param _addresses addresses that the presale tokens will be sent to.
    /// @param _addresses the amounts of tokens, with decimals expanded (full).
    function issueTokensMulti(address[] _addresses, uint256[] _tokens) public onlyOwner inProgress {
        require(_addresses.length == _tokens.length);
        require(_addresses.length <= 100);

        for (uint256 i = 0; i < _tokens.length; i = i.add(1)) {
            doIssueTokens(_addresses[i], _tokens[i]);
        }
    }

    /// @dev Issue tokens for a single buyer on the presale
    /// @param _beneficiary addresses that the presale tokens will be sent to.
    /// @param _tokensAmount the amount of tokens, with decimals expanded (full).
    function issueTokens(address _beneficiary, uint256 _tokensAmount) public onlyOwner inProgress {
        doIssueTokens(_beneficiary, _tokensAmount);
    }

    /// @dev issue tokens for a single buyer
    /// @param _beneficiary addresses that the tokens will be sent to.
    /// @param _tokensAmount the amount of tokens, with decimals expanded (full).
    function doIssueTokens(address _beneficiary, uint256 _tokensAmount) internal {
        require(_beneficiary != address(0));

        // compute without actually increasing it
        uint256 increasedTotalSupply = totalSupply.add(_tokensAmount);
        // roll back if hard cap reached
        require(increasedTotalSupply <= TOKENS_SALE_HARD_CAP);

        // increase token total supply
        totalSupply = increasedTotalSupply;
        // update the buyer's balance to number of tokens sent
        balances[_beneficiary] = balances[_beneficiary].add(_tokensAmount);
        // event is fired when tokens issued
        Issue(
            issueIndex++,
            _beneficiary,
            _tokensAmount
        );
    }

    /// @dev Compute the amount of ING token that can be purchased.
    /// @param ethAmount Amount of Ether to purchase ING.
    /// @return Amount of ING token to purchase
    function computeTokenAmount(uint256 ethAmount) internal view returns (uint256 tokens) {
        /// the percentage value (0-100) of the discount for each tier
        uint64 discountPercentage = currentTierDiscountPercentage();

        uint256 tokenBase = ethAmount.mul(BASE_RATE);
        uint256 tokenBonus = tokenBase.mul(discountPercentage).div(100);

        tokens = tokenBase.add(tokenBonus);
    }

    /// @dev Determine the current sale tier.
    /// @return the index of the current sale tier.
    function currentTierDiscountPercentage() internal view returns (uint64) {
        uint64 _now = uint64(block.timestamp);
        require(_now <= date31Jan2018);

        if(_now > date21Jan2018) return 0;
        if(_now > date12Jan2018) return 15;
        if(_now > date21Dec2017) return 35;
        return 50;
    }

    // function getnow() public view returns (uint64) {
    //     return uint64(block.timestamp);
    // }
    // 
    // function setnow(uint64 time) public {
    //     _now = time;
    // }

    /// @dev Finalize the sale and distribute the reserve, team tokens, lock the founders tokens
    function close() public onlyOwner beforeEnd {
        uint64 _now = uint64(block.timestamp);

        /// Final (sold tokens) / (team + reserve + founders funds tokens) = 64 / 36 proportion = 0.5625
        /// (sold tokens) + (team + reserve + founders funds tokens) = 64% + 36% = 100%
        /// Therefore, (team + reserve + founders funds tokens) = 56.25% of the sold tokens = 36% of the total tokens
        uint256 totalTokens = totalSupply.add(totalSupply.mul(5625).div(10000));

        /// Tokens to be allocated to the Reserve fund (12% of total ING)
        uint256 reserveFundTokens = totalTokens.mul(12).div(100);
        balances[reserveFundAddress] = balances[reserveFundAddress].add(reserveFundTokens);
        totalSupply = totalSupply.add(reserveFundTokens);
        /// fire event when tokens issued
        Issue(
            issueIndex++,
            reserveFundAddress,
            reserveFundTokens
        );

        /// Tokens to be allocated to the Team fund (12% of total ING)
        uint256 teamFundTokens = totalTokens.mul(12).div(100);
        balances[teamFundAddress] = balances[teamFundAddress].add(teamFundTokens);
        totalSupply = totalSupply.add(teamFundTokens);
        /// fire event when tokens issued
        Issue(
            issueIndex++,
            teamFundAddress,
            teamFundTokens
        );

        /// Tokens to be allocated to the locked Founders fund
        /// 12% (3 x 4%) of total ING allocated to the Founders fund locked as follows:
        /// first 4% locked for 6 months (183 days)
        TokenTimelock lock1_6months = new TokenTimelock(this, foundersFundAddress, _now + 183*24*60*60);
        foundersFundTimelock1Address = address(lock1_6months);
        uint256 foundersFund1Tokens = totalTokens.mul(4).div(100);
        /// update the contract balance to number of tokens issued
        balances[foundersFundTimelock1Address] = balances[foundersFundTimelock1Address].add(foundersFund1Tokens);
        /// increase total supply respective to the tokens issued
        totalSupply = totalSupply.add(foundersFund1Tokens);
        /// fire event when tokens issued
        Issue(
            issueIndex++,
            foundersFundTimelock1Address,
            foundersFund1Tokens
        );

        /// second 4% locked for 12 months (365 days)
        TokenTimelock lock2_12months = new TokenTimelock(this, foundersFundAddress, _now + 365*24*60*60);
        foundersFundTimelock2Address = address(lock2_12months);
        uint256 foundersFund2Tokens = totalTokens.mul(4).div(100);
        balances[foundersFundTimelock2Address] = balances[foundersFundTimelock2Address].add(foundersFund2Tokens);
        /// increase total supply respective to the tokens issued
        totalSupply = totalSupply.add(foundersFund2Tokens);
        /// fire event when tokens issued
        Issue(
            issueIndex++,
            foundersFundTimelock2Address,
            foundersFund2Tokens
        );

        /// third 4% locked for 18 months (548 days)
        TokenTimelock lock3_18months = new TokenTimelock(this, foundersFundAddress, _now + 548*24*60*60);
        foundersFundTimelock3Address = address(lock3_18months);
        uint256 foundersFund3Tokens = totalTokens.mul(4).div(100);
        balances[foundersFundTimelock3Address] = balances[foundersFundTimelock3Address].add(foundersFund3Tokens);
        /// increase total supply respective to the tokens issued
        totalSupply = totalSupply.add(foundersFund3Tokens);
        /// fire event when tokens issued
        Issue(
            issueIndex++,
            foundersFundTimelock3Address,
            foundersFund3Tokens
        );

        /// burn the unallocated tokens - no more tokens can be issued after this line
        tokenSaleClosed = true;

        /// forward the raised funds to the fund address
        fundsTreasury.transfer(this.balance);
    }

    /// @return if the token sale is finished
    function saleDue() public view returns (bool) {
        return date31Jan2018 < uint64(block.timestamp);
    }

    /// Transfer limited by the tradingOpen modifier (time is 01 Feb 2018 or later)
    function transferFrom(address _from, address _to, uint256 _value) public tradingOpen returns (bool) {
        return super.transferFrom(_from, _to, _value);
    }

    /// Transfer limited by the tradingOpen modifier (time is 01 Feb 2018 or later)
    function transfer(address _to, uint256 _value) public tradingOpen returns (bool) {
        return super.transfer(_to, _value);
    }
}

    Contract ABI  
[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"balances","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"fundsTreasury","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"HARD_CAP","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"BASE_RATE","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"close","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"foundersFundTimelock1Address","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_beneficiary","type":"address"},{"name":"_tokensAmount","type":"uint256"}],"name":"issueTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"reserveFundAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"foundersFundTimelock3Address","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"issueIndex","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"teamFundAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_addresses","type":"address[]"},{"name":"_tokens","type":"uint256[]"}],"name":"issueTokensMulti","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"price","outputs":[{"name":"tokens","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"saleDue","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"foundersFundAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_beneficiary","type":"address"}],"name":"purchaseTokens","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"foundersFundTimelock2Address","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokenSaleClosed","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"TOKENS_SALE_HARD_CAP","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_foundersFundAddress","type":"address"},{"name":"_teamFundAddress","type":"address"},{"name":"_reserveFundAddress","type":"address"},{"name":"_fundsTreasury","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_issueIndex","type":"uint256"},{"indexed":false,"name":"addr","type":"address"},{"indexed":false,"name":"tokenAmount","type":"uint256"}],"name":"Issue","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"}]

  Contract Creation Code Switch To Opcodes View
60606040526000600a60146101000a81548160ff0219169083151502179055506000600b55341561002f57600080fd5b6040516080806134cd8339810160405280805190602001909190805190602001909190805190602001909190805190602001909190505033600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550739cb0016511fb93eac7bc585a2bc2f0c34decea15600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073dda7003998244f6161a5bbaf0f4ed5a40e908b51600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550739186b48db83e63adedab43c19345f39c83928e3f600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507331a633c4ee2c317de2c65beb00593eadd9f172d6600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050506132bf8061020e6000396000f30060606040526004361061018b576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde0314610196578063095ea7b31461022457806318160ddd1461027e57806323b872dd146102a757806327e235e314610320578063313ce5671461036d57806339f5b6b61461039c5780633a03171c146103f157806341910f901461041a57806343d726d6146104435780634446c98c14610458578063475a9fa9146104ad5780634b58d0bb146104ef5780635e8a60441461054457806366188463146105995780636a28f828146105f357806370a082311461061c5780637fdb6720146106695780638da5cb5b146106be57806392e8438c1461071357806395d89b41146107ad578063a035b1fe1461083b578063a9059cbb14610864578063bea4ae88146108be578063ca185022146108eb578063ce55703114610940578063d13bf7691461096e578063d73dd623146109c3578063dd62ed3e14610a1d578063e55a07c214610a89578063f946372c14610ab6575b61019433610adf565b005b34156101a157600080fd5b6101a9610bb9565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101e95780820151818401526020810190506101ce565b50505050905090810190601f1680156102165780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561022f57600080fd5b610264600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610bf2565b604051808215151515815260200191505060405180910390f35b341561028957600080fd5b610291610ce4565b6040518082815260200191505060405180910390f35b34156102b257600080fd5b610306600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610cea565b604051808215151515815260200191505060405180910390f35b341561032b57600080fd5b610357600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610d13565b6040518082815260200191505060405180910390f35b341561037857600080fd5b610380610d2b565b604051808260ff1660ff16815260200191505060405180910390f35b34156103a757600080fd5b6103af610d30565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156103fc57600080fd5b610404610d56565b6040518082815260200191505060405180910390f35b341561042557600080fd5b61042d610d67565b6040518082815260200191505060405180910390f35b341561044e57600080fd5b610456610d6d565b005b341561046357600080fd5b61046b611ad1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156104b857600080fd5b6104ed600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611af7565b005b34156104fa57600080fd5b610502611ba8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561054f57600080fd5b610557611bce565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156105a457600080fd5b6105d9600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611bf4565b604051808215151515815260200191505060405180910390f35b34156105fe57600080fd5b610606611e85565b6040518082815260200191505060405180910390f35b341561062757600080fd5b610653600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611e8b565b6040518082815260200191505060405180910390f35b341561067457600080fd5b61067c611ed4565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156106c957600080fd5b6106d1611efa565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561071e57600080fd5b6107ab60048080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091905050611f20565b005b34156107b857600080fd5b6107c061204c565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156108005780820151818401526020810190506107e5565b50505050905090810190601f16801561082d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561084657600080fd5b61084e612085565b6040518082815260200191505060405180910390f35b341561086f57600080fd5b6108a4600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061209d565b604051808215151515815260200191505060405180910390f35b34156108c957600080fd5b6108d16120c4565b604051808215151515815260200191505060405180910390f35b34156108f657600080fd5b6108fe6120e6565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61096c600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610adf565b005b341561097957600080fd5b61098161210c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156109ce57600080fd5b610a03600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050612132565b604051808215151515815260200191505060405180910390f35b3415610a2857600080fd5b610a73600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061232e565b6040518082815260200191505060405180910390f35b3415610a9457600080fd5b610a9c6123b5565b604051808215151515815260200191505060405180910390f35b3415610ac157600080fd5b610ac96123c8565b6040518082815260200191505060405180910390f35b6000601260ff16600a0a6303d0900002600054108015610b0c5750600a60149054906101000a900460ff16155b8015610b1d5750610b1b6120c4565b155b1515610b2857600080fd5b662386f26fc100003410151515610b3e57600080fd5b610b47346123d9565b9050610b53828261244f565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f193505050501515610bb557600080fd5b5050565b6040805190810160405280600b81526020017f49554e474f20746f6b656e00000000000000000000000000000000000000000081525081565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60005481565b6000610cf46120c4565b1515610cff57600080fd5b610d0a8484846125e3565b90509392505050565b60016020528060005260406000206000915090505481565b601281565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601260ff16600a0a6305f5e1000281565b6103e881565b600080600080600080600080600080600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610dd857600080fd5b600a60149054906101000a900460ff16151515610df457600080fd5b429950610e36610e25612710610e176115f96000546129a290919063ffffffff16565b6129d890919063ffffffff16565b6000546129f390919063ffffffff16565b9850610e5f6064610e51600c8c6129a290919063ffffffff16565b6129d890919063ffffffff16565b9750610ed58860016000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546129f390919063ffffffff16565b60016000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610f4f886000546129f390919063ffffffff16565b6000819055507f3e1d8156c61243a0352920516bb9c7d0517fca750d6d6afebc0bed0d457a609b600b600081548092919060010191905055600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168a604051808481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390a16110216064611013600c8c6129a290919063ffffffff16565b6129d890919063ffffffff16565b96506110978760016000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546129f390919063ffffffff16565b60016000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611111876000546129f390919063ffffffff16565b6000819055507f3e1d8156c61243a0352920516bb9c7d0517fca750d6d6afebc0bed0d457a609b600b600081548092919060010191905055600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1689604051808481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390a130600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1662f142808c016111ee612d05565b808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018267ffffffffffffffff1667ffffffffffffffff1681526020019350505050604051809103906000f080151561128857600080fd5b955085600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506112f260646112e460048c6129a290919063ffffffff16565b6129d890919063ffffffff16565b94506113688560016000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546129f390919063ffffffff16565b60016000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506113e2856000546129f390919063ffffffff16565b6000819055507f3e1d8156c61243a0352920516bb9c7d0517fca750d6d6afebc0bed0d457a609b600b600081548092919060010191905055600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1687604051808481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390a130600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166301e133808c016114c0612d05565b808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018267ffffffffffffffff1667ffffffffffffffff1681526020019350505050604051809103906000f080151561155a57600080fd5b935083600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506115c460646115b660048c6129a290919063ffffffff16565b6129d890919063ffffffff16565b925061163a8360016000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546129f390919063ffffffff16565b60016000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506116b4836000546129f390919063ffffffff16565b6000819055507f3e1d8156c61243a0352920516bb9c7d0517fca750d6d6afebc0bed0d457a609b600b600081548092919060010191905055600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1685604051808481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390a130600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166302d276008c01611792612d05565b808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018267ffffffffffffffff1667ffffffffffffffff1681526020019350505050604051809103906000f080151561182c57600080fd5b915081600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611896606461188860048c6129a290919063ffffffff16565b6129d890919063ffffffff16565b905061190c8160016000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546129f390919063ffffffff16565b60016000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611986816000546129f390919063ffffffff16565b6000819055507f3e1d8156c61243a0352920516bb9c7d0517fca750d6d6afebc0bed0d457a609b600b600081548092919060010191905055600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683604051808481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390a16001600a60146101000a81548160ff021916908315150217905550600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f193505050501515611ac557600080fd5b50505050505050505050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611b5357600080fd5b601260ff16600a0a6303d0900002600054108015611b7e5750600a60149054906101000a900460ff16155b8015611b8f5750611b8d6120c4565b155b1515611b9a57600080fd5b611ba4828261244f565b5050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080831115611d05576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611d99565b611d188382612a1490919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b600b5481565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611f7e57600080fd5b601260ff16600a0a6303d0900002600054108015611fa95750600a60149054906101000a900460ff16155b8015611fba5750611fb86120c4565b155b1515611fc557600080fd5b81518351141515611fd557600080fd5b6064835111151515611fe657600080fd5b600090505b81518110156120475761202c838281518110151561200557fe5b90602001906020020151838381518110151561201d57fe5b9060200190602002015161244f565b6120406001826129f390919063ffffffff16565b9050611feb565b505050565b6040805190810160405280600381526020017f494e47000000000000000000000000000000000000000000000000000000000081525081565b6000612098670de0b6b3a76400006123d9565b905090565b60006120a76120c4565b15156120b257600080fd5b6120bc8383612a30565b905092915050565b60004267ffffffffffffffff16635a72587f67ffffffffffffffff1610905090565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006121c382600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546129f390919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600a60149054906101000a900460ff1681565b601260ff16600a0a6303d090000281565b6000806000806123e7612c54565b92506123fe6103e8866129a290919063ffffffff16565b915061243060646124228567ffffffffffffffff16856129a290919063ffffffff16565b6129d890919063ffffffff16565b905061244581836129f390919063ffffffff16565b9350505050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561248c57600080fd5b6124a1826000546129f390919063ffffffff16565b9050601260ff16600a0a6303d090000281111515156124bf57600080fd5b8060008190555061251882600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546129f390919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507f3e1d8156c61243a0352920516bb9c7d0517fca750d6d6afebc0bed0d457a609b600b6000815480929190600101919050558484604051808481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390a1505050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561262057600080fd5b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115151561266e57600080fd5b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111515156126f957600080fd5b61274b82600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a1490919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506127e082600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546129f390919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506128b282600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a1490919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600080828402905060008414806129c357508284828115156129c057fe5b04145b15156129ce57600080fd5b8091505092915050565b60008082848115156129e657fe5b0490508091505092915050565b6000808284019050838110151515612a0a57600080fd5b8091505092915050565b6000828211151515612a2557600080fd5b818303905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515612a6d57600080fd5b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515612abb57600080fd5b612b0d82600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612a1490919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612ba282600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546129f390919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600080429050635a72587f67ffffffffffffffff168167ffffffffffffffff1611151515612c8157600080fd5b635a649ce067ffffffffffffffff168167ffffffffffffffff161115612caa5760009150612d01565b635a58bf6067ffffffffffffffff168167ffffffffffffffff161115612cd357600f9150612d01565b635a3bbe6067ffffffffffffffff168167ffffffffffffffff161115612cfc5760239150612d01565b603291505b5090565b60405161057e80612d168339019056006060604052341561000f57600080fd5b60405160608061057e833981016040528080519060200190919080519060200190919080519060200190919050504267ffffffffffffffff168167ffffffffffffffff1611151561005f57600080fd5b826000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160146101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505050506104638061011b6000396000f300606060405260043610610062576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806338af3eed1461006757806386d1a69f146100bc578063b91d4001146100d1578063fc0c546a1461010e575b600080fd5b341561007257600080fd5b61007a610163565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156100c757600080fd5b6100cf610189565b005b34156100dc57600080fd5b6100e4610325565b604051808267ffffffffffffffff1667ffffffffffffffff16815260200191505060405180910390f35b341561011957600080fd5b61012161033f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600160149054906101000a900467ffffffffffffffff1667ffffffffffffffff164267ffffffffffffffff16101515156101c457600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b151561028857600080fd5b6102c65a03f1151561029957600080fd5b5050506040518051905090506000811115156102b457600080fd5b610322600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16826000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166103649092919063ffffffff16565b50565b600160149054906101000a900467ffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b151561040f57600080fd5b6102c65a03f1151561042057600080fd5b50505060405180519050151561043257fe5b5050505600a165627a7a7230582037e046f4a517539791172a9c3cfb168d1293b8ece20fdc956cfee0a3a318496f0029a165627a7a7230582000d5d743b32024710ae7578eb25b92b1c95a6ebc2c640dc5ed001b989b5838780029

   Swarm Source:
bzzr://00d5d743b32024710ae7578eb25b92b1c95a6ebc2c640dc5ed001b989b583878

 

View All
Block Age transaction Difficulty 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.