Sponsored Link:   INVOX FINANCE - Helps Small Businesses Grow Worldwide with 9% Interest Loans. 20% bonus! ICO Open
  Latest 25 txns from a total Of 8050 transactions View All

TxHash Age From To Value [TxFee]
0x36413588438b124e66016c6a22819d93faee3c4146b4fcc8656e39105b077fd52 hrs 7 mins ago0x0093edcbafec827044456ee32fb61bf2762b3f17  IN   0x906b3f8b7845840188eab53c3f5ad348a787752f0 Ether0.00695437
0x23722189a5f12c0f96f7224c45128d20f7d0d9bbac2272001d6796c8da12b22e5 hrs 5 mins ago0x647258719cc4d821590fe0bd787f9c456651aa55  IN   0x906b3f8b7845840188eab53c3f5ad348a787752f0 Ether0.000986091
0xd99c60e78cf67ca31aef20f59ef8d13271ae6d596bfe2db2717f06e00470eb8d5 hrs 49 mins ago0x44eab21db3b1a22c1fb48c1b055f781c26cab3be  IN   0x906b3f8b7845840188eab53c3f5ad348a787752f0 Ether0.000649377
0xbc9921b2795e8d93777aced501f391b6177a613cb2a9aa5f421938f0a6e5164e6 hrs 29 mins ago0x37e708700b555f1b3cf5b989e765da749ffcaa60  IN   0x906b3f8b7845840188eab53c3f5ad348a787752f0 Ether0.000602875
0x2e38461ec4c95364662acf15c5840ee914cb16459e1f3333b222d98fbfb31f127 hrs 34 mins ago0xcac50efd7059d53c0d3e10332a01c392d92982e4  IN   0x906b3f8b7845840188eab53c3f5ad348a787752f0 Ether0.000988715
0xb3580bdf93c22478257b7a731cc1cd8f9a6ab3cd93df83668663631d244df4938 hrs 49 mins ago0x2cdec10aa8170ed6c46986e7e0c6e63ccb1e38d9  IN   0x906b3f8b7845840188eab53c3f5ad348a787752f0 Ether0.000983467
0x7962bfb5f5c98565d0097ecadab1a5fcd21aaa43f72cae4c30b4b23b17b5decf9 hrs 50 mins ago0x0a89f0a346b29f0ce40fc143445428e904b2dea5  IN   0x906b3f8b7845840188eab53c3f5ad348a787752f0.08 Ether0.00134922
0x8a0b8a7a1ced69d94d17b4761b748d2a8f8659908f8e63464ea7b3b9f19ab8b510 hrs 3 mins ago0x0a89f0a346b29f0ce40fc143445428e904b2dea5  IN   0x906b3f8b7845840188eab53c3f5ad348a787752f0.02 Ether0.00179922
0xd22034652708bc97c6e6f003d5e666acc37453399acb98b83012bcb842da492513 hrs 13 mins ago0xf09750a5a6fc68f08d5e7ecb5b27155c8f2e45ab  IN   0x906b3f8b7845840188eab53c3f5ad348a787752f0.08 Ether0.001259454
0x5dd72a9d8a6198a4e9b055fc30948f5af3c81d88bc2bd8bea0380094f034726a15 hrs 29 mins ago0x23df4e51cbe078a6f691890d940b42a2b28ac4f9  IN   0x906b3f8b7845840188eab53c3f5ad348a787752f0.2 Ether0.001843934
0x1b6e7df30b3e36e92cc252fc50fa79bb33715440da73c352056bd0335ac87e9719 hrs 50 mins ago0x34cbdf5b7fa7ea0b4b55e31d107ed9e847978161  IN   0x906b3f8b7845840188eab53c3f5ad348a787752f2 Ether0.00179922
0x9ca840937d96afe0bd85557a2c4f6819fa98b878d633f7f73b397198fd81069520 hrs 44 mins ago0x160eef14cb0871db4b43a7ce1fbdb36ae5461791  IN   0x906b3f8b7845840188eab53c3f5ad348a787752f0.4 Ether0.00179922
0x9041e72a7e4d7a687574f122f4047424ba6cde24d2a04c07b717fa2e8b26e7a022 hrs 34 mins ago0x5797890ea6d52ce501376142d8e21c747e6fb34c  IN   0x906b3f8b7845840188eab53c3f5ad348a787752f0 Ether0.000343478343
0x3c3b172ee7567e03cfbf53b96fc73b840291ae8799f0063474dbd995d56fd12022 hrs 43 mins ago0x5797890ea6d52ce501376142d8e21c747e6fb34c  IN   0x906b3f8b7845840188eab53c3f5ad348a787752f0 Ether0.000096204
0x871e09015837bcf64039b2fe1cdb819e0281861d2383143ccc0d01399211a7a922 hrs 54 mins ago0x0b77efa72e7e1b2e938cd66f345e8939ca0b0837  IN   0x906b3f8b7845840188eab53c3f5ad348a787752f0.097 Ether0.000059974
0x9c8642d64b8c2595bff65aad95858e3b421e62b50dc73c3dcb35a5102505787d1 day 5 mins ago0xac6a866e86ca46b83352b4afee1a8ac5640f6bac  IN   0x906b3f8b7845840188eab53c3f5ad348a787752f0.02 Ether0.000059974
0x8bb894220de95d5ea4477ea854e0538f97577d569f5a664ead524ddb9e9e2dff1 day 19 mins ago0xa7a24b6cb003ebba5e9a7916a17b3f6fe2bdc936  IN   0x906b3f8b7845840188eab53c3f5ad348a787752f0.2 Ether0.001529116
0x03a134ff9f556f97c03c599b6804e64a6824d4ef622f8d6634099cc533798ee41 day 1 hr ago0xe8cb8403c2fb311e30c58c6a598033103d7bd9bc  IN   0x906b3f8b7845840188eab53c3f5ad348a787752f0.1 Ether0.002458934
0xb0a1fc1c302c79a99d75205b3b333de009c4b0e3d30189bac10cb90dae8d80ed1 day 5 hrs ago0xd3e548052d4bba67b54640837d8a709f86ef2258  IN   0x906b3f8b7845840188eab53c3f5ad348a787752f1.2 Ether0.00179997
0x2e9d99489eaa87c0f8c2917be23f87e5ad4f61479a57f7b5d9f3cf20e75861571 day 5 hrs ago0xc568a2633d97049382f53d4c4dd6ecf3475f67b6  IN   0x906b3f8b7845840188eab53c3f5ad348a787752f1.44 Ether0.00134997
0x8e0bdb68d0f5d9255e1f1a8cf03ad7409ae590a81e7f1c692c9351ffd1ae79771 day 6 hrs ago0xe441c34226848680615cd4512013f133695db3b1  IN   0x906b3f8b7845840188eab53c3f5ad348a787752f0.57 Ether0.002459959
0x539b2c9d255d70c72230fba6983f875ddebfcd0844f63003454c3199f7764b4d1 day 7 hrs ago0xda31847c177a31a5077b0d2f5ead4221a01bc45d  IN   0x906b3f8b7845840188eab53c3f5ad348a787752f0.68475 Ether0.000089998
0xb6d5a3e3863352de08baee6ebbc4c8edcf8314e18aad89ed36a336df865dbb691 day 7 hrs ago0xdce050853a526640fe5b5953e3ab4414adae357a  IN   0x906b3f8b7845840188eab53c3f5ad348a787752f0.025 Ether0.00179997
0x6ccd84aabdd6a2df50efc125554a90bd532ca2787b4c0ecea7e02362d47cc1161 day 7 hrs ago0xbb8e4963e3df0781186649986b844aa110f976c4  IN   0x906b3f8b7845840188eab53c3f5ad348a787752f0.650761855 Ether0.0001079982
0xadf795488261e1b0d505f131fbe068c0893de7d571c892e2285041a4a44de7cc1 day 11 hrs ago0x061eb27c8ee41cce52b9cd1ee09e6706e31080b0  IN   0x906b3f8b7845840188eab53c3f5ad348a787752f1.00234354 Ether0.0001079982
[ 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
0x7962bfb5f5c98565d0097ecadab1a5fcd21aaa43f72cae4c30b4b23b17b5decf54681629 hrs 50 mins ago0x906b3f8b7845840188eab53c3f5ad348a787752f0x0093edcbafec827044456ee32fb61bf2762b3f170.08 Ether
0x8a0b8a7a1ced69d94d17b4761b748d2a8f8659908f8e63464ea7b3b9f19ab8b5546811610 hrs 3 mins ago0x906b3f8b7845840188eab53c3f5ad348a787752f0x0093edcbafec827044456ee32fb61bf2762b3f170.02 Ether
0xd22034652708bc97c6e6f003d5e666acc37453399acb98b83012bcb842da4925546734913 hrs 13 mins ago0x906b3f8b7845840188eab53c3f5ad348a787752f0x0093edcbafec827044456ee32fb61bf2762b3f170.08 Ether
0x5dd72a9d8a6198a4e9b055fc30948f5af3c81d88bc2bd8bea0380094f034726a546681715 hrs 29 mins ago0x906b3f8b7845840188eab53c3f5ad348a787752f0x0093edcbafec827044456ee32fb61bf2762b3f170.2 Ether
0x1b6e7df30b3e36e92cc252fc50fa79bb33715440da73c352056bd0335ac87e97546578919 hrs 50 mins ago0x906b3f8b7845840188eab53c3f5ad348a787752f0x0093edcbafec827044456ee32fb61bf2762b3f172 Ether
0x9ca840937d96afe0bd85557a2c4f6819fa98b878d633f7f73b397198fd810695546555820 hrs 44 mins ago0x906b3f8b7845840188eab53c3f5ad348a787752f0x0093edcbafec827044456ee32fb61bf2762b3f170.4 Ether
0x871e09015837bcf64039b2fe1cdb819e0281861d2383143ccc0d01399211a7a9546498422 hrs 54 mins ago0x906b3f8b7845840188eab53c3f5ad348a787752f0x0093edcbafec827044456ee32fb61bf2762b3f170.097 Ether
0x9c8642d64b8c2595bff65aad95858e3b421e62b50dc73c3dcb35a5102505787d54646981 day 5 mins ago0x906b3f8b7845840188eab53c3f5ad348a787752f0x0093edcbafec827044456ee32fb61bf2762b3f170.02 Ether
0x8bb894220de95d5ea4477ea854e0538f97577d569f5a664ead524ddb9e9e2dff54646471 day 19 mins ago0x906b3f8b7845840188eab53c3f5ad348a787752f0x0093edcbafec827044456ee32fb61bf2762b3f170.2 Ether
0x03a134ff9f556f97c03c599b6804e64a6824d4ef622f8d6634099cc533798ee454643871 day 1 hr ago0x906b3f8b7845840188eab53c3f5ad348a787752f0x0093edcbafec827044456ee32fb61bf2762b3f170.1 Ether
0xb0a1fc1c302c79a99d75205b3b333de009c4b0e3d30189bac10cb90dae8d80ed54633411 day 5 hrs ago0x906b3f8b7845840188eab53c3f5ad348a787752f0x0093edcbafec827044456ee32fb61bf2762b3f171.2 Ether
0x2e9d99489eaa87c0f8c2917be23f87e5ad4f61479a57f7b5d9f3cf20e758615754632791 day 5 hrs ago0x906b3f8b7845840188eab53c3f5ad348a787752f0x0093edcbafec827044456ee32fb61bf2762b3f171.44 Ether
0x8e0bdb68d0f5d9255e1f1a8cf03ad7409ae590a81e7f1c692c9351ffd1ae797754631691 day 6 hrs ago0x906b3f8b7845840188eab53c3f5ad348a787752f0x0093edcbafec827044456ee32fb61bf2762b3f170.57 Ether
0x539b2c9d255d70c72230fba6983f875ddebfcd0844f63003454c3199f7764b4d54629321 day 7 hrs ago0x906b3f8b7845840188eab53c3f5ad348a787752f0x0093edcbafec827044456ee32fb61bf2762b3f170.68475 Ether
0xb6d5a3e3863352de08baee6ebbc4c8edcf8314e18aad89ed36a336df865dbb6954628971 day 7 hrs ago0x906b3f8b7845840188eab53c3f5ad348a787752f0x0093edcbafec827044456ee32fb61bf2762b3f170.025 Ether
0x6ccd84aabdd6a2df50efc125554a90bd532ca2787b4c0ecea7e02362d47cc11654628001 day 7 hrs ago0x906b3f8b7845840188eab53c3f5ad348a787752f0x0093edcbafec827044456ee32fb61bf2762b3f170.650761855 Ether
0xadf795488261e1b0d505f131fbe068c0893de7d571c892e2285041a4a44de7cc54618791 day 11 hrs ago0x906b3f8b7845840188eab53c3f5ad348a787752f0x0093edcbafec827044456ee32fb61bf2762b3f171.00234354 Ether
0xe886b6f72e3561299d722554832f0466a2a247050046570612f58f93954a992c54616511 day 12 hrs ago0x906b3f8b7845840188eab53c3f5ad348a787752f0x0093edcbafec827044456ee32fb61bf2762b3f171.9975212 Ether
0x95c3d89e6d016582364fa32ef72c13626728b8fa2bd48a8ebf7b944caa73c96354616041 day 12 hrs ago0x906b3f8b7845840188eab53c3f5ad348a787752f0x0093edcbafec827044456ee32fb61bf2762b3f171 Ether
0x4311f48714e1fbe253dda0a4ed07cb0d58bc7002804060ba62828d185771a6c554615571 day 13 hrs ago0x906b3f8b7845840188eab53c3f5ad348a787752f0x0093edcbafec827044456ee32fb61bf2762b3f170.3735 Ether
0x83052f5144e29efe1548984860bcec5d08c999e3adf5f49b1844d4836c293ede54615191 day 13 hrs ago0x906b3f8b7845840188eab53c3f5ad348a787752f0x0093edcbafec827044456ee32fb61bf2762b3f170.25 Ether
0x3229c31dbf42acd1461db42da9ff7f730bd241e21bb15557f901c7848dece2a554612691 day 14 hrs ago0x906b3f8b7845840188eab53c3f5ad348a787752f0x0093edcbafec827044456ee32fb61bf2762b3f171.29 Ether
0x68c09bd1fa5d2aedc499e6b40687d45c0134abe7dde0c19261163a364e13e8fb54610291 day 15 hrs ago0x906b3f8b7845840188eab53c3f5ad348a787752f0x0093edcbafec827044456ee32fb61bf2762b3f170.3 Ether
0x927210ccd6d715e2208b5ad812316b37bd5139074c8358a4d84cbb188660d8c854608771 day 16 hrs ago0x906b3f8b7845840188eab53c3f5ad348a787752f0x0093edcbafec827044456ee32fb61bf2762b3f172 Ether
0xb5c6529403e9d3793c3a0d3767bd882acbfec7494af3a4424a760eb8e928406754608331 day 16 hrs ago0x906b3f8b7845840188eab53c3f5ad348a787752f0x0093edcbafec827044456ee32fb61bf2762b3f170.033722 Ether
[ Download CSV Export  ] 
Contract Source Code Verified (Exact match)
Contract Name: DoradoToken
Compiler Version: v0.4.19+commit.c4cbbb05
Optimization Enabled: Yes
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts
/**
 * The dorado token contract bases on the ERC20 standard token contracts from
 * open-zeppelin and is extended by functions to issue tokens as needed by the 
 * dorado ICO.
 * authors: Julia Altenried, Yuri Kashnikov
 * */

pragma solidity 0.4.19;

/**
 * @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 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;
    
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

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

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

contract DoradoToken is StandardToken, Owned {
    string public constant name = "DoradoToken";
    string public constant symbol = "DOR";
    uint8 public constant decimals = 15;

    /// Maximum tokens to be allocated on the sale (51% of the hard cap)
    uint256 public constant TOKENS_SALE_HARD_CAP = 510000000000000000000000; // 510000000 * 10**15

    /// Base exchange rate is set to 1 ETH = 6667 DOR.
    uint256 public constant BASE_RATE = 6667;

    /// seconds since 01.01.1970 to 07.02.2018 (16:00:00 o'clock UTC)
    /// HOT sale start time
    uint64 private constant dateHOTSale = 1517961600 + 16 hours;

    /// HOT sale end time; Sale A start time 21.02.2018
    uint64 private constant dateSaleA = 1519171200 + 16 hours;

    /// Sale A end time; Sale B start time 07.03.2018
    uint64 private constant dateSaleB = 1520380800 + 16 hours;

    /// Sale B end time; Sale C start time 21.03.2018
    uint64 private constant dateSaleC = 1521590400 + 16 hours;

    /// Sale C end time; Sale D start time 04.04.2018
    uint64 private constant dateSaleD = 1522800000 + 16 hours;

    /// Sale D end time; Sale E start time 18.04.2018
    uint64 private constant dateSaleE = 1524009600 + 16 hours;

    /// Sale E end time;  Sale F start time 02.05.2018
    uint64 private constant dateSaleF = 1525219200 + 16 hours;

    /// Sale F end time; 16.05.2018 
    uint64 private constant date16May2018 = 1526428800 + 16 hours;
    
    /// token caps for each round
    uint256[7] private roundCaps = [
        70000000000000000000000, // HOT sale  70000000 * 10**15 
        140000000000000000000000, // Sale A   140000000 * 10**15
        210000000000000000000000, // Sale B   210000000 * 10**15
        285000000000000000000000, // Sale C   285000000 * 10**15
        360000000000000000000000, // Sale D   360000000 * 10**15
        435000000000000000000000, // Sale E   435000000 * 10**15
        510000000000000000000000  // Sale F   510000000 * 10**15
    ];
    uint8[7] private roundDiscountPercentages = [33, 30, 27, 22, 17, 12, 7];

    
    /// team tokens are locked until this date (01.01.2021) 00:00:00
    uint64 private constant dateTeamTokensLockedTill = 1609459200;
   

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

    /// contract to be called to release the Dorado team tokens
    address public timelockContractAddress;

    modifier inProgress {
        require(totalSupply < TOKENS_SALE_HARD_CAP
            && !tokenSaleClosed && now >= dateHOTSale);
        _;
    }

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

    /// Require that the token sale has been closed
    modifier tradingOpen {
        require(tokenSaleClosed);
        _;
    }

    function DoradoToken() public {
    }

    /// @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);
        
        // roll back if hard cap reached
        require(totalSupply.add(tokens) <= TOKENS_SALE_HARD_CAP);
        
        doIssueTokens(_beneficiary, tokens);

        /// forward the raised funds to the contract creator
        owner.transfer(this.balance);
    }

    /// @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 beforeEnd {
        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 _tokens the amount of tokens, with decimals expanded (full).
    function issueTokens(address _beneficiary, uint256 _tokens) public onlyOwner beforeEnd {
        doIssueTokens(_beneficiary, _tokens);
    }

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

        // increase token total supply
        totalSupply = totalSupply.add(_tokens);
        // update the beneficiary balance to number of tokens sent
        balances[_beneficiary] = balances[_beneficiary].add(_tokens);

        // event is fired when tokens issued
        Transfer(address(0), _beneficiary, _tokens);
    }

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

    /// @dev Compute the amount of DOR token that can be purchased.
    /// @param ethAmount Amount of Ether in WEI to purchase DOR.
    /// @return Amount of DOR token to purchase
    function computeTokenAmount(uint256 ethAmount) internal view returns (uint256 tokens) {
        uint256 tokenBase = (ethAmount.mul(BASE_RATE)/10000000000000)*10000000000;//18 decimals to 15 decimals, set precision to 5 decimals
        uint8 roundNum = currentRoundIndex();
        tokens = tokenBase.mul(100)/(100 - (roundDiscountPercentages[roundNum]));
        while(tokens.add(totalSupply) > roundCaps[roundNum] && roundNum < 6){
           roundNum++;
           tokens = tokenBase.mul(100)/(100 - (roundDiscountPercentages[roundNum])); 
        }
    }

    /// @dev Determine the current sale round
    /// @return integer representing the index of the current sale round
    function currentRoundIndex() internal view returns (uint8 roundNum) {
        roundNum = currentRoundIndexByDate();

        /// round determined by conjunction of both time and total sold tokens
        while(roundNum < 6 && totalSupply > roundCaps[roundNum]) {
            roundNum++;
        }
    }

    /// @dev Determine the current sale tier.
    /// @return the index of the current sale tier by date.
    function currentRoundIndexByDate() internal view returns (uint8 roundNum) {
        require(now <= date16May2018); 
        if(now > dateSaleF) return 6;
        if(now > dateSaleE) return 5;
        if(now > dateSaleD) return 4;
        if(now > dateSaleC) return 3;
        if(now > dateSaleB) return 2;
        if(now > dateSaleA) return 1;
        else return 0;
    }

    /// @dev Closes the sale, issues the team tokens and burns the unsold
    function close() public onlyOwner beforeEnd {
        /// team tokens are equal to 15% of the sold tokens
        /// 8% foodout group tokens are added to the locked tokens
        uint256 lockedTokens = 230000000000000000000000;
        //partner tokens are available from the beginning
        uint256 partnerTokens = 260000000000000000000000;
        
        issueLockedTokens(lockedTokens);
        issuePartnerTokens(partnerTokens);
        
        /// increase token total supply
        totalSupply = totalSupply.add(lockedTokens+partnerTokens);
        
        /// burn the unallocated tokens - no more tokens can be issued after this line
        tokenSaleClosed = true;

        /// forward the raised funds to the contract creator
        owner.transfer(this.balance);
    }
    
    /**
     * issue the tokens for the team and the foodout group.
     * tokens are locked for 3 years.
     * @param lockedTokens the amount of tokens to the issued and locked
     * */
    function issueLockedTokens( uint lockedTokens) internal{
        /// team tokens are locked until this date (01.01.2021)
        TokenTimelock lockedTeamTokens = new TokenTimelock(this, owner, dateTeamTokensLockedTill);
        timelockContractAddress = address(lockedTeamTokens);
        balances[timelockContractAddress] = balances[timelockContractAddress].add(lockedTokens);
        /// fire event when tokens issued
        Transfer(address(0), timelockContractAddress, lockedTokens);
        
    }
    
    /**
     * issue the tokens for partners and advisors
     * @param partnerTokens the amount of tokens to be issued
     * */
    function issuePartnerTokens(uint partnerTokens) internal{
        balances[owner] = partnerTokens;
        Transfer(address(0), owner, partnerTokens);
    }

    /// Transfer limited by the tradingOpen modifier
    function transferFrom(address _from, address _to, uint256 _value) public tradingOpen returns (bool) {
        return super.transferFrom(_from, _to, _value);
    }

    /// Transfer limited by the tradingOpen modifier
    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":"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":false,"inputs":[{"name":"_beneficiary","type":"address"},{"name":"_tokens","type":"uint256"}],"name":"issueTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","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":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"timelockContractAddress","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":false,"inputs":[{"name":"_beneficiary","type":"address"}],"name":"purchaseTokens","outputs":[],"payable":true,"stateMutability":"payable","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":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"TOKENS_SALE_HARD_CAP","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","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
606060405260e06040519081016040908152690ed2b525841adfc000008252691da56a4b0835bf8000006020830152692c781f708c509f40000090820152693c59e1867548d82000006060820152694c3ba39c5e41110000006080820152695c1d65b2473949e0000060a0820152696bff27c8303182c0000060c08201526200008d90600490600762000110565b5060e0604051908101604090815260218252601e6020830152601b908201526016606082015260116080820152600c60a0820152600760c08201819052620000d891600b916200015e565b50600c805460ff191690553415620000ef57600080fd5b60038054600160a060020a03191633600160a060020a031617905562000235565b82600781019282156200014c579160200282015b828111156200014c57825182906001605060020a031690559160200191906001019062000124565b506200015a929150620001f4565b5090565b600183019183908215620001e65791602002820160005b83821115620001b557835183826101000a81548160ff021916908360ff160217905550926020019260010160208160000104928301926001030262000175565b8015620001e45782816101000a81549060ff0219169055600101602081600001049283019260010302620001b5565b505b506200015a92915062000214565b6200021191905b808211156200015a5760008155600101620001fb565b90565b6200021191905b808211156200015a57805460ff191681556001016200021b565b61159f80620002456000396000f3006060604052600436106101325763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde03811461013d578063095ea7b3146101c757806318160ddd146101fd57806323b872dd1461022257806327e235e31461024a578063313ce5671461026957806341910f901461029257806343d726d6146102a5578063475a9fa9146102b857806366188463146102da57806370a08231146102fc5780637fc88fe21461031b5780638da5cb5b1461034a57806392e8438c1461035d57806395d89b41146103ec578063a035b1fe146103ff578063a9059cbb14610412578063ce55703114610434578063d73dd62314610448578063dd62ed3e1461046a578063e55a07c21461048f578063f2fde38b146104a2578063f946372c146104c1575b61013b336104d4565b005b341561014857600080fd5b6101506105a0565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561018c578082015183820152602001610174565b50505050905090810190601f1680156101b95780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101d257600080fd5b6101e9600160a060020a03600435166024356105d7565b604051901515815260200160405180910390f35b341561020857600080fd5b610210610643565b60405190815260200160405180910390f35b341561022d57600080fd5b6101e9600160a060020a0360043581169060243516604435610649565b341561025557600080fd5b610210600160a060020a0360043516610670565b341561027457600080fd5b61027c610682565b60405160ff909116815260200160405180910390f35b341561029d57600080fd5b610210610687565b34156102b057600080fd5b61013b61068d565b34156102c357600080fd5b61013b600160a060020a0360043516602435610746565b34156102e557600080fd5b6101e9600160a060020a036004351660243561077b565b341561030757600080fd5b610210600160a060020a0360043516610875565b341561032657600080fd5b61032e610890565b604051600160a060020a03909116815260200160405180910390f35b341561035557600080fd5b61032e6108a4565b341561036857600080fd5b61013b6004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843782019150505050505091908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437509496506108b395505050505050565b34156103f757600080fd5b61015061095c565b341561040a57600080fd5b610210610993565b341561041d57600080fd5b6101e9600160a060020a03600435166024356109ac565b61013b600160a060020a03600435166104d4565b341561045357600080fd5b6101e9600160a060020a03600435166024356109d1565b341561047557600080fd5b610210600160a060020a0360043581169060243516610a75565b341561049a57600080fd5b6101e9610aa0565b34156104ad57600080fd5b61013b600160a060020a0360043516610aa9565b34156104cc57600080fd5b610210610b44565b6000696bff27c8303182c000006000541080156104f45750600c5460ff16155b80156105045750635a7b22804210155b151561050f57600080fd5b662386f26fc1000034101561052357600080fd5b61052c34610b52565b9050696bff27c8303182c0000061054e82600054610c6f90919063ffffffff16565b111561055957600080fd5b6105638282610c81565b600354600160a060020a039081169030163180156108fc0290604051600060405180830381858888f19350505050151561059c57600080fd5b5050565b60408051908101604052600b81527f446f7261646f546f6b656e000000000000000000000000000000000000000000602082015281565b600160a060020a03338116600081815260026020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b60005481565b600c5460009060ff16151561065d57600080fd5b610668848484610d18565b949350505050565b60016020526000908152604090205481565b600f81565b611a0b81565b600354600090819033600160a060020a039081169116146106ad57600080fd5b600c5460ff16156106bd57600080fd5b506930b453321fc603c00000905069370ea0d47cf61a8000006106df82610e88565b6106e881610f94565b6000546106fd9083830163ffffffff610c6f16565b600055600c805460ff19166001179055600354600160a060020a039081169030163180156108fc0290604051600060405180830381858888f19350505050151561059c57600080fd5b60035433600160a060020a0390811691161461076157600080fd5b600c5460ff161561077157600080fd5b61059c8282610c81565b600160a060020a033381166000908152600260209081526040808320938616835292905290812054808311156107d857600160a060020a03338116600090815260026020908152604080832093881683529290529081205561080f565b6107e8818463ffffffff610fdf16565b600160a060020a033381166000908152600260209081526040808320938916835292905220555b600160a060020a0333811660008181526002602090815260408083209489168084529490915290819020547f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925915190815260200160405180910390a35060019392505050565b600160a060020a031660009081526001602052604090205490565b600c546101009004600160a060020a031681565b600354600160a060020a031681565b60035460009033600160a060020a039081169116146108d157600080fd5b600c5460ff16156108e157600080fd5b81518351146108ef57600080fd5b6064835111156108fe57600080fd5b5060005b81518110156109575761093f83828151811061091a57fe5b9060200190602002015183838151811061093057fe5b90602001906020020151610c81565b61095081600163ffffffff610c6f16565b9050610902565b505050565b60408051908101604052600381527f444f520000000000000000000000000000000000000000000000000000000000602082015281565b60006109a6670de0b6b3a7640000610b52565b90505b90565b600c5460009060ff1615156109c057600080fd5b6109ca8383610ff4565b9392505050565b600160a060020a033381166000908152600260209081526040808320938616835292905290812054610a09908363ffffffff610c6f16565b600160a060020a0333811660008181526002602090815260408083209489168084529490915290819020849055919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591905190815260200160405180910390a350600192915050565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b600c5460ff1681565b60035433600160a060020a03908116911614610ac457600080fd5b600160a060020a0381161515610ad957600080fd5b600354600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b696bff27c8303182c0000081565b600080806509184e72a000610b6f85611a0b63ffffffff6110dd16565b811515610b7857fe5b046402540be400029150610b8a611104565b9050600b60ff821660078110610b9c57fe5b602091828204019190069054906101000a900460ff1660640360ff16610bcc6064846110dd90919063ffffffff16565b811515610bd557fe5b0492505b600460ff821660078110610be957fe5b0154600054610bff90859063ffffffff610c6f16565b118015610c0f575060068160ff16105b15610c6857600101600b60ff821660078110610c2757fe5b602091828204019190069054906101000a900460ff1660640360ff16610c576064846110dd90919063ffffffff16565b811515610c6057fe5b049250610bd9565b5050919050565b6000828201838110156109ca57600080fd5b600160a060020a0382161515610c9657600080fd5b600054610ca9908263ffffffff610c6f16565b6000908155600160a060020a038316815260016020526040902054610cd4908263ffffffff610c6f16565b600160a060020a0383166000818152600160205260408082209390935590916000805160206115548339815191529084905190815260200160405180910390a35050565b6000600160a060020a0383161515610d2f57600080fd5b600160a060020a038416600090815260016020526040902054821115610d5457600080fd5b600160a060020a0380851660009081526002602090815260408083203390941683529290522054821115610d8757600080fd5b600160a060020a038416600090815260016020526040902054610db0908363ffffffff610fdf16565b600160a060020a038086166000908152600160205260408082209390935590851681522054610de5908363ffffffff610c6f16565b600160a060020a03808516600090815260016020908152604080832094909455878316825260028152838220339093168252919091522054610e2d908363ffffffff610fdf16565b600160a060020a03808616600081815260026020908152604080832033861684529091529081902093909355908516916000805160206115548339815191529085905190815260200160405180910390a35060019392505050565b6003546000903090600160a060020a0316635fee6600610ea66111d6565b600160a060020a03938416815291909216602082015267ffffffffffffffff90911660408083019190915260609091019051809103906000f0801515610eeb57600080fd5b600c805474ffffffffffffffffffffffffffffffffffffffff001916610100600160a060020a038481168202929092179283905590910416600090815260016020526040902054909150610f3f9083610c6f565b600c8054600160a060020a036101009182900481166000908152600160205260408082209590955592549190910416916000805160206115548339815191529085905190815260200160405180910390a35050565b60038054600160a060020a039081166000908152600160205260408082208590559254909116916000805160206115548339815191529084905190815260200160405180910390a350565b600082821115610fee57600080fd5b50900390565b6000600160a060020a038316151561100b57600080fd5b600160a060020a03331660009081526001602052604090205482111561103057600080fd5b600160a060020a033316600090815260016020526040902054611059908363ffffffff610fdf16565b600160a060020a03338116600090815260016020526040808220939093559085168152205461108e908363ffffffff610c6f16565b600160a060020a0380851660008181526001602052604090819020939093559133909116906000805160206115548339815191529085905190815260200160405180910390a350600192915050565b60008282028315806110f957508284828115156110f657fe5b04145b15156109ca57600080fd5b600061110e611143565b90505b60068160ff161080156111365750600460ff82166007811061112f57fe5b0154600054115b156109a957600101611111565b6000635afc558042111561115657600080fd5b635ae9e08042111561116a575060066109a9565b635ad76b8042111561117e575060056109a9565b635ac4f680421115611192575060046109a9565b635ab281804211156111a6575060036109a9565b635aa00c804211156111ba575060026109a9565b635a8d97804211156111ce575060016109a9565b5060006109a9565b60405161036d806111e78339019056006060604052341561000f57600080fd5b60405160608061036d8339810160405280805191906020018051919060200180519150506001604060020a034281169082161161004b57600080fd5b60008054600160a060020a0319908116600160a060020a0395861617825560018054909116939094169290921760a060020a60e060020a031916740100000000000000000000000000000000000000006001604060020a039290921691909102179091556102ae9081906100bf90396000f3006060604052600436106100485763ffffffff60e060020a60003504166338af3eed811461004d57806386d1a69f1461007c578063b91d400114610091578063fc0c546a146100c1575b600080fd5b341561005857600080fd5b6100606100d4565b604051600160a060020a03909116815260200160405180910390f35b341561008757600080fd5b61008f6100e3565b005b341561009c57600080fd5b6100a46101c6565b60405167ffffffffffffffff909116815260200160405180910390f35b34156100cc57600080fd5b6100606101ee565b600154600160a060020a031681565b60015460009067ffffffffffffffff74010000000000000000000000000000000000000000909104811642909116101561011c57600080fd5b60008054600160a060020a0316906370a082319030906040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561017757600080fd5b6102c65a03f1151561018857600080fd5b5050506040518051915050600081116101a057600080fd5b6001546000546101c391600160a060020a0391821691168363ffffffff6101fd16565b50565b60015474010000000000000000000000000000000000000000900467ffffffffffffffff1681565b600054600160a060020a031681565b82600160a060020a031663a9059cbb838360006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561025a57600080fd5b6102c65a03f1151561026b57600080fd5b50505060405180519050151561027d57fe5b5050505600a165627a7a723058205a1fdd9d750a8f1788c842c091210356e341e5e4fba386728d5595efc4ad28680029ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820b07a2e65cd57474afc38ab7b1ce5a7e7effe644697c932919f4d62ed5059b2130029

   Swarm Source:
bzzr://b07a2e65cd57474afc38ab7b1ce5a7e7effe644697c932919f4d62ed5059b213

 

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.