Sponsored Link:   Alt.Estate - ERC20 for Real Estate. Live Prototype in Japan, USA, EU.Buy ALT tokens. Endorsed by partners of PWC, Knight Frank.
 Latest 25 txns from a total Of 16540 transactions
View All

TxHash Age From To Value [TxFee]
0xcf58b9d2bcfdb26f8a4e9f376494c34173659f68b5211263ac94a755d74d4bc01 hr 14 mins ago0x65276d60ab36879a6bd88f040d350cd60630fd03  IN   IUNGO Token0 Ether0.000821348
0x900c37a495eadd9d77edf57312feb12f60e249835b0c63edb6df43cb11a402787 hrs 32 mins ago0x2a9bf917f34df082223f93c6e7ff07a96e1a4d92  IN   IUNGO Token0 Ether0.001533318
0x1761e003a3ddf8f2abc7f001c2f5ab67c9657b40409fd4e9f383c64e66b086209 hrs 14 mins ago0xd1883b630c0b0bb431b2c0b2d1f21d1adea9b2f2  IN   IUNGO Token0 Ether0.0004610655
0xa0a26a73eea78610f9d64c445989a626ffd41dbe588e7163ebb5d8a2d5ceb7c39 hrs 28 mins ago0x0088cc12096917013d8fd09d7d98a68b435d0ccd  IN   IUNGO Token0 Ether0.001045352
0x869bdcedab83d674b75cd85e3ba521c9e7fd3a2a6b12542d4e03be4d7f35520b9 hrs 49 mins ago0x2b5634c42055806a59e9107ed44d43c426e58258  IN   IUNGO Token0 Ether0.00056097
0x70e63e16362daee9eec8544cbe8bb4ea0792a04336b72d48cac32150a64f55d29 hrs 57 mins ago0xd1883b630c0b0bb431b2c0b2d1f21d1adea9b2f2  IN   IUNGO Token0 Ether0.00037398
0xf2ccbed6f2c234eda45a37d863576be70b5d3cadc6310b34f72b554ca1dc373515 hrs 28 mins ago0x5a8a06ed0afbe4483fea6f6f763498a90783e2e8  IN   IUNGO Token0 Ether0.00037334
0x6baeceda5e1c5173d2536f9859275110ddce682f4e6464ab44409423e270e27616 hrs 16 mins ago0x2b5634c42055806a59e9107ed44d43c426e58258  IN   IUNGO Token0 Ether0.000942012
0xc52b6f21586c6f4e4ca8ff4796ab1c2015504ecefeed4897b0e7d3db217521b016 hrs 58 mins ago0x1943dac66f5647098142741ab388e5508e2d703b  IN   IUNGO Token0 Ether0.00074668
0x766db9070e1c182a7cf413a91c2eb7ae7ed6fccc8ebcc1172c973d39e60436cb17 hrs 44 mins ago0xef784137b2acc9b75d249e556729ee8a31296140  IN   IUNGO Token0 Ether0.000837344
0x7f2f1ef0c5a0f07edb2984c7aceb2d86f200bab2933508b043c3c2586455b6cc17 hrs 47 mins ago0xef784137b2acc9b75d249e556729ee8a31296140  IN   IUNGO Token0 Ether0.000485342
0xb700000868218f550566949babba1d81097ee01b82f9344e5ab9fdc1b71c39fa19 hrs 20 mins ago0x742ec359a6b1cd81032509cb2ebde02d85be61be  IN   IUNGO Token0 Ether0.000774792
0xc87bc03809af6e18dfd32ccbdaaee8a87a73f65581a76d7f7729392d0475ff9b19 hrs 36 mins ago0xf5446eeed48ce6413c9eb53dfeb6c2d91ee5d017  IN   IUNGO Token0 Ether0.00074668
0x8bcb3931d41b157266f730fbb7362157cbbaac245f613af90f1c563021aca40522 hrs 37 mins ago0xf9415d254591c89941d95b40000259ebad3f9cfc  IN   IUNGO Token0 Ether0.00018635
0x96ce72345ba74251c3ffb20c2565ad2bf0bcd3187e38f39460976e6fd2c29e1c1 day 29 mins ago0x21fe120599367f87069e8a18084952f57db34c7d  IN   IUNGO Token0 Ether0.00152807
0xf05b541c23589c2b54dbfa5d5722b842adde5ec834b37e108135f1dd574bd7ab1 day 3 hrs ago0xef784137b2acc9b75d249e556729ee8a31296140  IN   IUNGO Token0 Ether0.00018667
0x3e4f92c671b4820f39425b28cc2727cdf10c5206a3157e58d9c907df176c95271 day 6 hrs ago0x2b5634c42055806a59e9107ed44d43c426e58258  IN   IUNGO Token0 Ether0.00056193
0x83767983727b1a6451d4a03eda0b74e73aa19e6e1c62ec011e87a2a8fbf33d1a1 day 8 hrs ago0x99013f2dd28ab1d61f8b865a06d9d406d500a75e  IN   IUNGO Token0 Ether0.000784014
0x90f0dfd7b13cb6122430d785e9d30658e404556774e1274378b2eecb3ca448a81 day 8 hrs ago0xc61aacb1e719d9c29cf2d143d5b21feb114d6e42  IN   IUNGO Token0 Ether0.000957096
0x9f1ad823e84a714a75d266da22391a71a627dbf33bb1067779ffbabb3ddbf2991 day 11 hrs ago0x2b5634c42055806a59e9107ed44d43c426e58258  IN   IUNGO Token0 Ether0.00067086
0x43df7a273355bd4e40f6a663c2d9a22ec6d5af49dc3fe15f258e9e8cfa6c3b671 day 11 hrs ago0x4de34c39359d7ce57e8c3e8e558bd5dc3b1282e3  IN   IUNGO Token0 Ether0.00224004
0xe567eeba72139bf246ab7ea68ae1068c7d35ab3004e7ffa761825785600431411 day 12 hrs ago0x0577ef8d70832c7269b9fe711032a939fdb8b5a3  IN   IUNGO Token0 Ether0.000314468
0xb5a2202180f4a315c3ff73420ee8f2e02918b22f1410d2730bfb8aa880613fbf1 day 12 hrs ago0x074976a8d5f07da5dada1eb248ad369a764bb373  IN   IUNGO Token0 Ether0.000863098
0x4e123e212096b173ab03fda01733f491d63904d67147a4cdfdf4b19da54254571 day 13 hrs ago0xdc2a3c8348a9d03a4bbe9ded475641540126d684  IN   IUNGO Token0 Ether0.001530694
0x2fd049f8d929a2193dc932226b31e6b0a2c82ed299da06692726bc8ac0e422861 day 16 hrs ago0x0617bcad188f98f370ef8c84284d528a9520d7d7  IN   IUNGO Token0 Ether0.001533318
[ 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
0x6b2ff32980e91c3d1726727767ababb51743df52e10ccdac09ea3b521bfb53dc5008415114 days 2 hrs ago0x24ddff6d8b8a42d835af3b440de91f3386554aa4  Contract Creation0 Ether
0x6b2ff32980e91c3d1726727767ababb51743df52e10ccdac09ea3b521bfb53dc5008415114 days 2 hrs ago0x24ddff6d8b8a42d835af3b440de91f3386554aa4  Contract Creation0 Ether
0x6b2ff32980e91c3d1726727767ababb51743df52e10ccdac09ea3b521bfb53dc5008415114 days 2 hrs ago0x24ddff6d8b8a42d835af3b440de91f3386554aa4  Contract Creation0 Ether
0x26c971bb6d9a33b17776ee803674d3f1a221d738ac94b61a3c52a6b7e1c8900a5008412114 days 2 hrs ago0x24ddff6d8b8a42d835af3b440de91f3386554aa40x31a633c4ee2c317de2c65beb00593eadd9f172d60.4 Ether
0xdd2afb633f142d722a92c08d6cdd5c472a95538e6c2701ae928b960a53be187f5008408114 days 2 hrs ago0x24ddff6d8b8a42d835af3b440de91f3386554aa40x31a633c4ee2c317de2c65beb00593eadd9f172d60.011 Ether
0xc14c6e5b9a3cfd8585f829b3ebfabd435b9404d8929a6562d6ef9a98a0ab656e5008402114 days 2 hrs ago0x24ddff6d8b8a42d835af3b440de91f3386554aa40x31a633c4ee2c317de2c65beb00593eadd9f172d60.15 Ether
0xcf1bd3a21c42965525c7804d6c5fb04d4fe38ba4820fd8d7b5e186bd4ca6472f5008389114 days 2 hrs ago0x24ddff6d8b8a42d835af3b440de91f3386554aa40x31a633c4ee2c317de2c65beb00593eadd9f172d60.1 Ether
0x9a29ff92b35a613bcb7efcaf5b7cdd1fcd5605ac78ea8057ee75dccb1b5d6a735008387114 days 2 hrs ago0x24ddff6d8b8a42d835af3b440de91f3386554aa40x31a633c4ee2c317de2c65beb00593eadd9f172d60.27084017 Ether
0xa83d3cf878baaaade3de7a6037f305f3540264a56f4a41ab59a4cc8551cc1f0a5008385114 days 2 hrs ago0x24ddff6d8b8a42d835af3b440de91f3386554aa40x31a633c4ee2c317de2c65beb00593eadd9f172d61.3 Ether
0x1c030489170ea693f46c09db6099d02b48eb77480876ca8525772c860d58eff65008383114 days 2 hrs ago0x24ddff6d8b8a42d835af3b440de91f3386554aa40x31a633c4ee2c317de2c65beb00593eadd9f172d61 Ether
0x8a76f739aee1ec4c083a2d087739189eecca1064ad67c2ddf856f86f60456ff95008381114 days 2 hrs ago0x24ddff6d8b8a42d835af3b440de91f3386554aa40x31a633c4ee2c317de2c65beb00593eadd9f172d62.09 Ether
0x26acc2b625b7e42a28191a7db2e70982071def38f847790e015ebb1ac1b597da5008381114 days 2 hrs ago0x24ddff6d8b8a42d835af3b440de91f3386554aa40x31a633c4ee2c317de2c65beb00593eadd9f172d625 Ether
0x4972cf46857ba375aa25cdd8cd7fd6e62016c030bb6da616f3a534d358d1ef425008372114 days 2 hrs ago0x24ddff6d8b8a42d835af3b440de91f3386554aa40x31a633c4ee2c317de2c65beb00593eadd9f172d60.054 Ether
0x981ceb924b9b45a7cfc7a7426152cb1d52ba678b038f1e285336e0d01f930bf75008364114 days 2 hrs ago0x24ddff6d8b8a42d835af3b440de91f3386554aa40x31a633c4ee2c317de2c65beb00593eadd9f172d60.04362701 Ether
0x8c3668fc7367d59314169572289da52b2a8bbf1bce0878a9754178f6c600458d5008362114 days 2 hrs ago0x24ddff6d8b8a42d835af3b440de91f3386554aa40x31a633c4ee2c317de2c65beb00593eadd9f172d61.5 Ether
0x669fa33d4dfeeb690bee9c932fafe1a17c43a0e2f219d9d55dd32da7c0a9b5195008360114 days 2 hrs ago0x24ddff6d8b8a42d835af3b440de91f3386554aa40x31a633c4ee2c317de2c65beb00593eadd9f172d64.997314664 Ether
0x782696c88eb1394af0a456f095ae9baccee08e1f5ef5c49c5c0cca2a9aaa14cf5008360114 days 2 hrs ago0x24ddff6d8b8a42d835af3b440de91f3386554aa40x31a633c4ee2c317de2c65beb00593eadd9f172d60.2 Ether
0x1b2b3e753c105640654d363d9b83c458bfd22dc6b5559f827fff6544ab3561b45008360114 days 2 hrs ago0x24ddff6d8b8a42d835af3b440de91f3386554aa40x31a633c4ee2c317de2c65beb00593eadd9f172d60.157 Ether
0xb99782d0731ad125b08e53a8de850b3814a0cf4b12bed28fc31d3327756edbde5008348114 days 2 hrs ago0x24ddff6d8b8a42d835af3b440de91f3386554aa40x31a633c4ee2c317de2c65beb00593eadd9f172d60.5 Ether
0x4b36ac91e2583528a80e59ef9edec75b390cd89808b6841ace6fc6d5483686ca5008343114 days 2 hrs ago0x24ddff6d8b8a42d835af3b440de91f3386554aa40x31a633c4ee2c317de2c65beb00593eadd9f172d61.040719874 Ether
0x6cdbe3a35f68b69e6ea2284c283c4d233464ba8182c0c62608b495515dbe51d85008323114 days 2 hrs ago0x24ddff6d8b8a42d835af3b440de91f3386554aa40x31a633c4ee2c317de2c65beb00593eadd9f172d60.45290623 Ether
0x8a7556e9dffcc46c8afb5d585816c7f991e1edac7697845c1f315b9d88c979aa5008323114 days 2 hrs ago0x24ddff6d8b8a42d835af3b440de91f3386554aa40x31a633c4ee2c317de2c65beb00593eadd9f172d60.5 Ether
0x1f466f95cd052f9ceb48ad022cd8f21c04b202b2c1eff30ac7d0fff86ca022435008323114 days 2 hrs ago0x24ddff6d8b8a42d835af3b440de91f3386554aa40x31a633c4ee2c317de2c65beb00593eadd9f172d60.275 Ether
0xf625ffbbf156c3097c1fe0f2367b9016a0aad64e53c6cf7fe3001447ce632ff65008316114 days 2 hrs ago0x24ddff6d8b8a42d835af3b440de91f3386554aa40x31a633c4ee2c317de2c65beb00593eadd9f172d60.05 Ether
0xb335a85eb246fe7e97f67021332b022541c595d85668e54e3a39031e9a5e9c215008315114 days 2 hrs ago0x24ddff6d8b8a42d835af3b440de91f3386554aa40x31a633c4ee2c317de2c65beb00593eadd9f172d60.08827861 Ether
[ Download CSV Export  ] 
Contract Source Code Verified (Exact match)
Contract Name: IungoToken
Compiler Version: 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 txn Difficulty GasUsed Reward
View All
Block Age UncleNumber Difficulty GasUsed Reward
Make sure to use the "downvote" button for any spammy posts, and the "upvote" for interesting conversations.