Sponsored:   Temco - Join the Largest VC Backed ICO on the Bitcoin Network! TEMCO KYC Whitelist Starts Now!!
Contract Overview
Balance: 0.000235540007513771 Ether
Ether Value: $0.03 (@ $134.08/ETH)
Transactions: 295 txns
Misc:
Address Watch: Add To Watch List
Contract Creator: 0xe4069a87ce42d8c47e76bdcb309f8d686e6f08c6at txn 0x1cfc2ec37b7527e71ccf4f6a25afc8fb0593a607a7458e1b795468862b810fb8
Token Balance:
 Latest 25 transactions from a total of 295 transactions

TxHash Age From To Value [TxFee]
0x6bbc142309af159472e09ded0e56ee986f64e4f9f66967e1af754a2af6e154ad34 days 20 hrs ago0x5552b2d9d42abf0358f0313a30e40382933a6b71  IN   0xb6d5414a1550b70d3a1280081b115fddc4a465d20 Ether0.000265437
0x1d20e65f058cedf54c75e69cdf5b7e944de1cf50680b3b09cffc8d07f1e1b74e34 days 20 hrs ago0x5552b2d9d42abf0358f0313a30e40382933a6b71  IN   0xb6d5414a1550b70d3a1280081b115fddc4a465d20.005 Ether0.000077262
0x95f9d3cfc25d6e5766d888aaa27e1c1d900539052d5182626b756e9579275b0750 days 1 hr ago0xe4069a87ce42d8c47e76bdcb309f8d686e6f08c6  IN   0xb6d5414a1550b70d3a1280081b115fddc4a465d20 Ether0.000377455
0xafe7ada6cb940fc40d12b93c08617f1a2eaa2fdc91ea72c776566f1f221abf6e77 days 2 hrs ago0x802f004f9cd3c0bb81e8a7c0916aff759f7c509a  IN   0xb6d5414a1550b70d3a1280081b115fddc4a465d20 Ether0.002050861
0xf2b1ca6b6b662bf665a4367664e033603158e04be4380ab715554b7b2487e0bd81 days 1 hr ago0x797b50ae5910e525978bb8ab4eabc2f4184e7b64  IN   0xb6d5414a1550b70d3a1280081b115fddc4a465d20 Ether0.00287
0x535423d0bb60cb4dc3903033e3d98e969f60139e689d7210440d4b371259535286 days 56 mins ago0x46f6c84836b85e121d75e17f51fd33e4f388e451  IN   0xb6d5414a1550b70d3a1280081b115fddc4a465d20 Ether0.000184182
0xb3877cb516259bfc3ec1e1e5b46dcc03c3b4b66896015a0dbd1b72f23dd6a62a88 days 6 hrs ago0x157647cc98d899e881909ef38200d2f13d480eb3  IN   0xb6d5414a1550b70d3a1280081b115fddc4a465d20.003 Ether0.001030494
0xc50b0f28662540ba90b14a04d2a32e626b2ce2d76fe28b186ee551429080cbdc88 days 8 hrs ago0xb924ec3670a676cc16606dbdd7294e4976051d05  IN   0xb6d5414a1550b70d3a1280081b115fddc4a465d20.003 Ether0.005475519
0xd701aa9e240f69664726c01ce8a14c4dd6d10a9c8af829d2f7197694cee2e81e97 days 11 hrs ago0xb864ba2c5a678a8a0d8e3f1777aacf4f463f600e  IN   0xb6d5414a1550b70d3a1280081b115fddc4a465d20 Ether0.000569096
0xece12c30eeb9e0970378159b29b481a5bb112e74195084fd769635c06f6ba9e8100 days 12 hrs ago0x15799425bfc39865679058542a886c363d71dabd  IN   0xb6d5414a1550b70d3a1280081b115fddc4a465d20.004 Ether0.0039995
0x09f07a75240527385ff66bc40d0aa223c2a6682c4b599ea37307d940e46eaad7101 days 5 hrs ago0x157647cc98d899e881909ef38200d2f13d480eb3  IN   0xb6d5414a1550b70d3a1280081b115fddc4a465d20 Ether0.000902
0xeebe3e44320f92272ee5c7264200cb0a058c1ebcc7bf30012e880d3e54bbc753101 days 22 hrs ago0x157647cc98d899e881909ef38200d2f13d480eb3  IN   0xb6d5414a1550b70d3a1280081b115fddc4a465d20.015 Ether0.010690299
0xd84bac043ea98b039f83d6d5d4bccfcc5f86657cf7dd86ddf72bc33730661b88124 days 15 hrs ago0x46f6c84836b85e121d75e17f51fd33e4f388e451  IN   0xb6d5414a1550b70d3a1280081b115fddc4a465d20.011 Ether0.000249107
0xf4e99e14c2b19c04a6c1d8ae04fa71b3e05d40ebccb8441c1ab811cb39bb199c133 days 15 hrs ago0x65f9775e7bdd20b43c77eec6967a28b8f4799471  IN   0xb6d5414a1550b70d3a1280081b115fddc4a465d20 Ether0.000162471
0xbb7e7f91e7b3c8dfbf3271d48e3ae219f70e71d193ed85e2b17d6be9a916359a133 days 20 hrs ago0x1a0477bb1a134c01db3ed10d8b854774b223e80d  IN   0xb6d5414a1550b70d3a1280081b115fddc4a465d20 Ether0.000576695
0xb876a174d20129897f5a93f213a69e9fd1a22c07dfb49511e4e679e1bc313fc9134 days 4 hrs ago0x5d62fd53f3b0590ca0dd9667223830493fd878c3  IN   0xb6d5414a1550b70d3a1280081b115fddc4a465d20 Ether0.002951652
0x30a5cff99afeff1652d2d10c9d6b63446fb2905a553645fcfb23f6bc45f05f05136 days 12 hrs ago0x5c10755f40a0f0c5d4c408728574d4d93720167f  IN   0xb6d5414a1550b70d3a1280081b115fddc4a465d20 Ether0.001895495
0xdfd1c00ff24d823d25e6c485323500d209789e1e584201a0537d96e895c31e8b137 days 18 hrs ago0x5d62fd53f3b0590ca0dd9667223830493fd878c3  IN   0xb6d5414a1550b70d3a1280081b115fddc4a465d20 Ether0.00132507
0xaea1558c46660036f69af5307fa80513f4560c97ee7035673f804a89a3283caa138 days 16 hrs ago0xe772827b7bb8673244e7525f17e7fe4b336c9100  IN   0xb6d5414a1550b70d3a1280081b115fddc4a465d20 Ether0.00029308
0x4dd7555d9e4c7f545ee27e8919edcefe234ba32a90b0d1c736712a91a05e11ef147 days 2 hrs ago0x46f6c84836b85e121d75e17f51fd33e4f388e451  IN   0xb6d5414a1550b70d3a1280081b115fddc4a465d20 Ether0.000070849
0x23696bb0f17788fdc5cfe94e71c543db78f42a39ca5778e45d968f92103e5c12149 days 9 hrs ago0x9c91b114c2d02a02862326d936532e657d70611f  IN   0xb6d5414a1550b70d3a1280081b115fddc4a465d20.000218332138903 Ether0.0000214
0x84ad1d12d806caf44fe5da61ebf5d4014afb7718fdb0eba3546f8ef566e07e83149 days 10 hrs ago0x9c91b114c2d02a02862326d936532e657d70611f  IN   0xb6d5414a1550b70d3a1280081b115fddc4a465d20.0814 Ether0.000915725
0x2e4787bdc27084f8f670475f730102d166e44af1daf7b8e10068a9557eec18a5160 days 18 hrs ago0xfe96348dc6fd698df013948a8bcaf873f25b00b3  IN   0xb6d5414a1550b70d3a1280081b115fddc4a465d20.014 Ether0.000498214
0xcce76a57008f04641b5781e53382c6959133ab2088cfc3f69ca013e7063e4cb7161 days 16 hrs ago0x46f6c84836b85e121d75e17f51fd33e4f388e451  IN   0xb6d5414a1550b70d3a1280081b115fddc4a465d20 Ether0.000064872
0x45948d258c28abef2d73c40cd992626c5afd1e0c812ce7299388fa544379488d161 days 17 hrs ago0xfe96348dc6fd698df013948a8bcaf873f25b00b3  IN   0xb6d5414a1550b70d3a1280081b115fddc4a465d20 Ether0.000117232
[ 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
0x535423d0bb60cb4dc3903033e3d98e969f60139e689d7210440d4b3712595352622324986 days 56 mins ago0xb6d5414a1550b70d3a1280081b115fddc4a465d20x46f6c84836b85e121d75e17f51fd33e4f388e4510.000448518950763603 Ether
0xc50b0f28662540ba90b14a04d2a32e626b2ce2d76fe28b186ee551429080cbdc620943088 days 8 hrs ago0xb6d5414a1550b70d3a1280081b115fddc4a465d20xe4069a87ce42d8c47e76bdcb309f8d686e6f08c60.003 Ether
0xeebe3e44320f92272ee5c7264200cb0a058c1ebcc7bf30012e880d3e54bbc7536129234101 days 22 hrs ago0xb6d5414a1550b70d3a1280081b115fddc4a465d20xe4069a87ce42d8c47e76bdcb309f8d686e6f08c60.015 Ether
0xd84bac043ea98b039f83d6d5d4bccfcc5f86657cf7dd86ddf72bc33730661b885994696124 days 15 hrs ago0xb6d5414a1550b70d3a1280081b115fddc4a465d20xe4069a87ce42d8c47e76bdcb309f8d686e6f08c60.011 Ether
0xf4e99e14c2b19c04a6c1d8ae04fa71b3e05d40ebccb8441c1ab811cb39bb199c5941579133 days 15 hrs ago0xb6d5414a1550b70d3a1280081b115fddc4a465d20x65f9775e7bdd20b43c77eec6967a28b8f47994710.000026136782633167 Ether
0x30a5cff99afeff1652d2d10c9d6b63446fb2905a553645fcfb23f6bc45f05f055924886136 days 12 hrs ago0xb6d5414a1550b70d3a1280081b115fddc4a465d20x5c10755f40a0f0c5d4c408728574d4d93720167f0.151 Ether
0xaea1558c46660036f69af5307fa80513f4560c97ee7035673f804a89a3283caa5912229138 days 16 hrs ago0xb6d5414a1550b70d3a1280081b115fddc4a465d20xe772827b7bb8673244e7525f17e7fe4b336c91000.003301693577772467 Ether
0x4dd7555d9e4c7f545ee27e8919edcefe234ba32a90b0d1c736712a91a05e11ef5863086147 days 2 hrs ago0xb6d5414a1550b70d3a1280081b115fddc4a465d20x46f6c84836b85e121d75e17f51fd33e4f388e4510.008903984654971688 Ether
0x84ad1d12d806caf44fe5da61ebf5d4014afb7718fdb0eba3546f8ef566e07e835849917149 days 10 hrs ago0xb6d5414a1550b70d3a1280081b115fddc4a465d20xe4069a87ce42d8c47e76bdcb309f8d686e6f08c60.0814 Ether
0x2e4787bdc27084f8f670475f730102d166e44af1daf7b8e10068a9557eec18a55783568160 days 18 hrs ago0xb6d5414a1550b70d3a1280081b115fddc4a465d20xe4069a87ce42d8c47e76bdcb309f8d686e6f08c60.014 Ether
0xcce76a57008f04641b5781e53382c6959133ab2088cfc3f69ca013e7063e4cb75778330161 days 16 hrs ago0xb6d5414a1550b70d3a1280081b115fddc4a465d20x46f6c84836b85e121d75e17f51fd33e4f388e4510.008903984654971688 Ether
0x45948d258c28abef2d73c40cd992626c5afd1e0c812ce7299388fa544379488d5777980161 days 17 hrs ago0xb6d5414a1550b70d3a1280081b115fddc4a465d20xfe96348dc6fd698df013948a8bcaf873f25b00b30.013655509433723192 Ether
0x41aa38bce75734dc3ae1d8279a2518193b047680ca366c6aafba9b00eeb6facb5774914162 days 6 hrs ago0xb6d5414a1550b70d3a1280081b115fddc4a465d20xe4069a87ce42d8c47e76bdcb309f8d686e6f08c60.3 Ether
0x5e0f4d8dffd31020a6eadeaffedb72d3594e01a46a9683b4e15435a6e213d18b5763904164 days 5 hrs ago0xb6d5414a1550b70d3a1280081b115fddc4a465d20xe772827b7bb8673244e7525f17e7fe4b336c91000.003301693577772467 Ether
0xd5d2d91dd983914c410f876a7fb25ae67438e2323c0c5fce735e2bfe90df06895753370166 days 2 hrs ago0xb6d5414a1550b70d3a1280081b115fddc4a465d20xf6b6f5b83d438c2bd6dea431754bb5b98b755cc60.048101809738218474 Ether
0x05803b9da8d04be56550224f12b342bb3bd440ac26115487b249c3d88de1b6e55752666166 days 5 hrs ago0xb6d5414a1550b70d3a1280081b115fddc4a465d20x5d62fd53f3b0590ca0dd9667223830493fd878c30.146443375625533662 Ether
0x2ae4c67c9e1317f8df0b71644f389056639f93ca7fb28b3efcec94e6d6caeb1c5745135167 days 13 hrs ago0xb6d5414a1550b70d3a1280081b115fddc4a465d20xe4069a87ce42d8c47e76bdcb309f8d686e6f08c60.0111 Ether
0xde9e9b11a3645a2cad89ef2c73a69ee80a32a6516ca8716d9cfe02586f29a0c55740344168 days 9 hrs ago0xb6d5414a1550b70d3a1280081b115fddc4a465d20x7ae96972a1b1be8a2ada3736ee4ba81820b5b7620.01185064664015522 Ether
0x7d50bded1a99850f1b43eac330a5ed057f22f16757d866a66b117fe69ed035595737679168 days 21 hrs ago0xb6d5414a1550b70d3a1280081b115fddc4a465d20xdaa0bafc5651a53926f1028be20468cd952ea0a80.00135231398355709 Ether
0x4476661bf6356648056ecd534df7a1255ba90f1edfb7aafdf38f2d4109a6631b5727261170 days 17 hrs ago0xb6d5414a1550b70d3a1280081b115fddc4a465d20x0ab2d0740f01b08fc4d4397e801640d4d79a3c590.003339727689498289 Ether
0x1d3805619aea43bdece5a6a8d3db8cf294e3b37b4adcb77b19727772c894b8105727150170 days 17 hrs ago0xb6d5414a1550b70d3a1280081b115fddc4a465d20xabf6479fa265baeedca6d28aaa021f16af8d667f0.004390782823880127 Ether
0xa64fc21ee4a73bd8620d8f81eac5caf4f2534be4275c421ab81cf077ca4581525727054170 days 18 hrs ago0xb6d5414a1550b70d3a1280081b115fddc4a465d20xf3e154c722b0c4aad6230d8ec13a2c513d21dfbc0.257527452867947746 Ether
0xf9718ba4c7f70102e82f752f7f048d40d013dc8ac1cc7461faae1be56497b3c15726845170 days 19 hrs ago0xb6d5414a1550b70d3a1280081b115fddc4a465d20x87087b337e1856bc2aa600d7758d41767ea30f2a0.024742713742627112 Ether
0x272caf88f47e837be0e396539201c8cf3c150e9f1628a9fd53cddc45d16292095726713170 days 19 hrs ago0xb6d5414a1550b70d3a1280081b115fddc4a465d20x65f9775e7bdd20b43c77eec6967a28b8f47994710.00051886661890171 Ether
0x0f05d39ecdc323d4267c8de9fc6675205295038a854242fc833d072f3413c3d75725018171 days 3 hrs ago0xb6d5414a1550b70d3a1280081b115fddc4a465d20x802f004f9cd3c0bb81e8a7c0916aff759f7c509a0.028371059874427722 Ether
[ Download CSV Export  ] 
Warning: The Compiled Contract might be susceptible to ExpExponentCleanup (medium/high-severity), EventStructWrongData (very low-severity), NestedArrayFunctionCallDecoder (medium-severity) SolidityCompiler Bugs.

Contract Source Code Verified (Exact Match)
Contract Name: HoneyMiningToken
Compiler Text: v0.4.18+commit.9cf6e910
Optimization Enabled: No
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts

pragma solidity ^0.4.18;

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

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

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

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

contract ERC20Basic {
  uint256 public totalSupply;
  function balanceOf(address who) public constant returns (uint256);
  function transfer(address to, uint256 value) public returns (bool);
  event Transfer(address indexed from, address indexed to, uint256 value);
}

contract ERC20 is ERC20Basic {
  function allowance(address owner, address spender) public constant returns (uint256);
  function transferFrom(address from, address to, uint256 value) public returns (bool);
  function approve(address spender, uint256 value) public returns (bool);
  event Approval(address indexed owner, address indexed spender, uint256 value);
}

contract BasicToken is ERC20Basic {
    using SafeMath for uint256;
    mapping (address => Snapshot[]) balances;
    mapping (address => uint256) userWithdrawalBlocks;
	
    /**
     * @dev 'Snapshot' is the structure that attaches a block number to a
     * given value, the block number attached is the one that last changed the value
     * 'fromBlock' - is the block number that the value was generated from
     * 'value' - is the amount of tokens at a specific block number
     */
    struct Snapshot {
      uint128 fromBlock;
      uint128 value;
    }
	
	/**
	 * @dev tracks history of totalSupply
	 */
    Snapshot[] totalSupplyHistory;
    
    /**
     * @dev track history of 'ETH balance' for dividends
     */
    Snapshot[] balanceForDividendsHistory;
	
	/**
	* @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) {
        return doTransfer(msg.sender, to, value);
	}
	
	/**
	 * @dev internal function for transfers handling
	 */
	function doTransfer(address _from, address _to, uint _amount) internal returns(bool) {
	   if (_amount == 0) {
		   return true;
	   }
     
	   // Do not allow transfer to 0x0 or the token contract itself
	   require((_to != 0) && (_to != address(this)));

	   // If the amount being transfered is more than the balance of the
	   //  account the transfer returns false
	   var previousBalanceFrom = balanceOfAt(_from, block.number);
	   if (previousBalanceFrom < _amount) {
		   return false;
	   }

	   // First update the balance array with the new value for the address
	   //  sending the tokens
	   updateValueAtNow(balances[_from], previousBalanceFrom - _amount);

	   // Then update the balance array with the new value for the address
	   //  receiving the tokens
	   var previousBalanceTo = balanceOfAt(_to, block.number);
	   require(previousBalanceTo + _amount >= previousBalanceTo); // Check for overflow
	   updateValueAtNow(balances[_to], previousBalanceTo + _amount);

	   // An event to make the transfer easy to find on the blockchain
	   Transfer(_from, _to, _amount);

	   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 constant returns (uint256 balance) {
		return balanceOfAt(_owner, block.number);
	}

    /**
     * @dev Queries the balance of `_owner` at a specific `_blockNumber`
     * @param _owner The address from which the balance will be retrieved
     * @param _blockNumber The block number when the balance is queried
     * @return The balance at `_blockNumber`
     */
    function balanceOfAt(address _owner, uint _blockNumber) public constant returns (uint) {
        //  These next few lines are used when the balance of the token is
        //  requested before a check point was ever created for this token
        if ((balances[_owner].length == 0)|| (balances[_owner][0].fromBlock > _blockNumber)) {
			return 0; 
        } else {
            return getValueAt(balances[_owner], _blockNumber);
        }
    }

    /**
     * @dev Total amount of tokens at a specific `_blockNumber`.
     * @param _blockNumber The block number when the totalSupply is queried
     * @return The total amount of tokens at `_blockNumber`
     */
    function totalSupplyAt(uint _blockNumber) public constant returns(uint) {
        // These next few lines are used when the totalSupply of the token is
        // requested before a check point was ever created for this token
        if ((totalSupplyHistory.length == 0) || (totalSupplyHistory[0].fromBlock > _blockNumber)) {
			return 0;
        } else {
            return getValueAt(totalSupplyHistory, _blockNumber);
        }
    }

    /**
     * @dev `getValueAt` retrieves the number of tokens at a given block number
     * @param checkpoints The history of values being queried
     * @param _block The block number to retrieve the value at
     * @return The number of tokens being queried
     */
    function getValueAt(Snapshot[] storage checkpoints, uint _block) constant internal returns (uint) {
        if (checkpoints.length == 0) return 0;

        // Shortcut for the actual value
        if (_block >= checkpoints[checkpoints.length-1].fromBlock)
            return checkpoints[checkpoints.length-1].value;
        if (_block < checkpoints[0].fromBlock) return 0;

        // Binary search of the value in the array
        uint min = 0;
        uint max = checkpoints.length-1;
        while (max > min) {
            uint mid = (max + min + 1)/ 2;
            if (checkpoints[mid].fromBlock<=_block) {
                min = mid;
            } else {
                max = mid-1;
            }
        }
        return checkpoints[min].value;
    }

    /**
     * @dev `updateValueAtNow` used to update the `balances` map and the `totalSupplyHistory`
     * @param checkpoints The history of data being updated
     * @param _value The new number of tokens
     */ 
    function updateValueAtNow(Snapshot[] storage checkpoints, uint _value) internal  {
        if ((checkpoints.length == 0) || (checkpoints[checkpoints.length -1].fromBlock < block.number)) {
           Snapshot storage newCheckPoint = checkpoints[ checkpoints.length++ ];
           newCheckPoint.fromBlock =  uint128(block.number);
           newCheckPoint.value = uint128(_value);
        } else {
           Snapshot storage oldCheckPoint = checkpoints[checkpoints.length-1];
           oldCheckPoint.value = uint128(_value);
        }
    }
	
    /**
     * @dev This function makes it easy to get the total number of tokens
     * @return The total number of tokens
     */
    function redeemedSupply() public constant returns (uint) {
        return totalSupplyAt(block.number);
    }
}

contract Ownable {
  address public owner;

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

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

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

contract StandardToken is ERC20, BasicToken {

  mapping (address => mapping (address => uint256)) 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) {
	  return doTransfer(_from, _to, _value);
  }

  /**
   * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.
   * @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) {
    // To change the approve amount you first have to reduce the addresses`
    //  allowance to zero by calling `approve(_spender, 0)` if it is not
    //  already 0 to mitigate the race condition described here:
    //  https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
    require((_value == 0) || (allowed[msg.sender][_spender] == 0));
    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 constant returns (uint256 remaining) {
    return allowed[_owner][_spender];
  }

}

contract MintableToken is StandardToken {
  event Mint(address indexed to, uint256 amount);
  event MintFinished();
  
  bool public mintingFinished = false;

  string public name = "Honey Mining Token";		
  string public symbol = "HMT";		
  uint8 public decimals = 8;		

  modifier canMint() {
    require(!mintingFinished);
    _;
  }

  /**
   * @dev Function to mint tokens
   * @param _to The address that will receive the minted tokens.
   * @param _amount The amount of tokens to mint.
   * @return A boolean that indicates if the operation was successful.
   */
  function mint(address _to, uint256 _amount) public canMint returns (bool) {
    totalSupply = totalSupply.add(_amount);
	uint curTotalSupply = redeemedSupply();
	require(curTotalSupply + _amount >= curTotalSupply); // Check for overflow
	uint previousBalanceTo = balanceOf(_to);
	require(previousBalanceTo + _amount >= previousBalanceTo); // Check for overflow
	updateValueAtNow(totalSupplyHistory, curTotalSupply + _amount);
    updateValueAtNow(balances[_to], previousBalanceTo + _amount);
    Mint(_to, _amount);
    Transfer(0x0, _to, _amount);
    return true;
  }
  
  /**
   * @dev Function to record snapshot block and amount
   */
  function recordDeposit(uint256 _amount) public {
	 updateValueAtNow(balanceForDividendsHistory, _amount);
  }
  
  /**
   * @dev Function to stop minting new tokens.
   * @return True if the operation was successful.
   */
  function finishMinting() public returns (bool) {
    mintingFinished = true;
    MintFinished();
    return true;
  }
  
  /**
   * @dev Function to calculate dividends
   * @return awailable for withdrawal ethere (wei value)
   */
  function awailableDividends(address userAddress) public view returns (uint256) {
      uint256 userLastWithdrawalBlock = userWithdrawalBlocks[userAddress];
      uint256 amountForWithdraw = 0;
      for(uint i = 0; i<=balanceForDividendsHistory.length-1; i++){
          Snapshot storage snapshot = balanceForDividendsHistory[i];
          if(userLastWithdrawalBlock < snapshot.fromBlock)
            amountForWithdraw = amountForWithdraw.add(balanceOfAt(userAddress, snapshot.fromBlock).mul(snapshot.value).div(totalSupplyAt(snapshot.fromBlock)));
      }
      return amountForWithdraw;
  }
  
  /**
   * @dev Function to record user withdrawal 
   */
  function recordWithdraw(address userAddress) public {
    userWithdrawalBlocks[userAddress] = balanceForDividendsHistory[balanceForDividendsHistory.length-1].fromBlock;
  }
}

contract HoneyMiningToken is Ownable {
    
  using SafeMath for uint256;

  MintableToken public token;
  /**
   * @dev Info of max supply
   */
  uint256 public maxSupply = 300000000000000;
  
  /**
   * event for token purchase logging
   * @param purchaser who paid for the tokens, basically - 0x0, but could be user address on refferal case
   * @param beneficiary who got the tokens
   * @param value weis paid for purchase
   * @param amount - of tokens purchased
   */
  event TokenPurchase(address indexed purchaser, address indexed beneficiary, uint256 value, uint256 amount);
  
  /**
   * event for referral comission logging
   * @param purchaser who paid for the tokens
   * @param beneficiary who got the bonus tokens
   * @param amount - of tokens as ref reward
   */
  event ReferralBonus(address indexed purchaser, address indexed beneficiary, uint amount);
  
   /**
   * event for token dividends deposit logging
   * @param amount - amount of ETH deposited
   */
  event DepositForDividends(uint256 indexed amount);
  
  /**
   * event for dividends withdrawal logging 
   * @param holder - who has the tokens
   * @param amount - amount of ETH which was withdraw
  */
  event WithdrawDividends(address indexed holder, uint256 amount);

  /**
   * event for dev rewards logging
   * @param purchaser - who paid for the tokens
   * @param amount  - representation of dev reward
   */
  event DevReward(address purchaser, uint amount);

  function HoneyMiningToken() public {
    token = new MintableToken();
  }

  /**
   * @dev fallback function can be used to buy tokens
   */
  function () public payable {buyTokens(0x0);}

  /**
   * @dev low level token purchase function
   * @param referrer - optional parameter for ref bonus
   */
  function buyTokens(address referrer) public payable {
    require(msg.sender != 0x0);
    require(msg.sender != referrer);
    require(validPurchase());
    
    //we dont need 18 decimals - and will use only 8
    uint256 amount = msg.value.div(10000000000);
    
    // calculate token amount to be created
    uint256 tokens = amount.mul(rate());
    require(tokens >= 100000000);
    uint256 devTokens = tokens.mul(30).div(100);
    if(referrer != 0x0){
       require(token.balanceOf(referrer) >= 100000000);
       // 2.5% for referral and referrer
       uint256 refTokens = tokens.mul(25).div(1000);
       //tokens = tokens+refTokens;
       require(maxSupply.sub(redeemedSupply()) >= tokens.add(refTokens.mul(2)).add(devTokens));
       
       //generate tokens for purchser
       token.mint(msg.sender, tokens.add(refTokens));
       TokenPurchase(msg.sender, msg.sender, amount, tokens.add(refTokens));
       token.mint(referrer, refTokens);
       ReferralBonus(msg.sender, referrer, refTokens);
       
    } else{
        require(maxSupply.sub(redeemedSupply())>=tokens.add(devTokens));
        //updatedReddemedSupply = redeemedSupply().add(tokens.add(devTokens));
        
        //generate tokens for purchser
        token.mint(msg.sender, tokens);
    
        // log purchase
        TokenPurchase(msg.sender, msg.sender, amount, tokens);
    }
    token.mint(owner, devTokens);
    DevReward(msg.sender, devTokens);
    forwardFunds();
  }

  /**
   * @return true if the transaction can buy tokens
   */
  function validPurchase() internal constant returns (bool) {
    return !hasEnded() && msg.value != 0;
  }

  /**
   * @return true if sale is over
   */
  function hasEnded() public constant returns (bool) {
    return maxSupply <= redeemedSupply();
  }
  
  /**
   * @dev get current user balance
   * @param userAddress - address of user
   * @return current balance of tokens
   */
  function checkBalance(address userAddress) public constant returns (uint){
      return token.balanceOf(userAddress);
  }
  
  /**
   * @dev get user balance of tokens on specific block
   * @param userAddress - address of user
   * @param targetBlock - block number
   * @return address balance on block
   */
  function checkBalanceAt(address userAddress, uint256 targetBlock) public constant returns (uint){
      return token.balanceOfAt(userAddress, targetBlock);
  }
  
  /**
   * @dev get awailable dividends for withdrawal
   * @param userAddress - target 
   * @return amount of ether (wei value) for current user
   */
  function awailableDividends(address userAddress) public constant returns (uint){
    return token.awailableDividends(userAddress);
  }
  
  /**
   * @return total purchased tokens value
   */
  function redeemedSupply() public view returns (uint){
    return token.totalSupply();
  }
  
  /**
   * @dev user-related method for withdrawal dividends
   */
  function withdrawDividends() public {
    uint _amount = awailableDividends(msg.sender);
    require(_amount > 0);
    msg.sender.transfer(_amount);
    token.recordWithdraw(msg.sender);
    WithdrawDividends(msg.sender, _amount);
  }
  
  /**
   * @dev function for deposit ether to token address as/for dividends
   */
  function depositForDividends() public payable onlyOwner {
      require(msg.value > 0);
      token.recordDeposit(msg.value);
      DepositForDividends(msg.value);
  }
  
  function stopSales() public onlyOwner{
   maxSupply = token.totalSupply();
  }
   
  function forwardFunds() internal {
    owner.transfer(msg.value);
  }
  
  function rate() internal constant returns (uint) {
    if(redeemedSupply() < 1000000000000)
        return 675;
    else if (redeemedSupply() < 5000000000000)
        return 563;
    else
        return 450;
  }
}

    Contract ABI  
[{"constant":false,"inputs":[],"name":"depositForDividends","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[],"name":"withdrawDividends","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"userAddress","type":"address"},{"name":"targetBlock","type":"uint256"}],"name":"checkBalanceAt","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"stopSales","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"userAddress","type":"address"}],"name":"awailableDividends","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"userAddress","type":"address"}],"name":"checkBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"redeemedSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"maxSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"referrer","type":"address"}],"name":"buyTokens","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"hasEnded","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":"token","outputs":[{"name":"","type":"address"}],"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":"purchaser","type":"address"},{"indexed":true,"name":"beneficiary","type":"address"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"TokenPurchase","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"purchaser","type":"address"},{"indexed":true,"name":"beneficiary","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"ReferralBonus","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"amount","type":"uint256"}],"name":"DepositForDividends","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"holder","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"WithdrawDividends","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"purchaser","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"DevReward","type":"event"}]

  Contract Creation Code Switch To Opcodes View
6060604052660110d9316ec000600255341561001a57600080fd5b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506100626100bd565b604051809103906000f080151561007857600080fd5b600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506100cd565b60405161181d806116c083390190565b6115e4806100dc6000396000f3006060604052600436106100c5576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680631ff5668c146100d15780632e92abdd146100db57806346285e45146100f057806356cba008146101465780635db2a2331461015b5780635f515226146101a85780638da5cb5b146101f5578063c86039da1461024a578063d5abeb0114610273578063ec8ac4d81461029c578063ecb70fb7146102ca578063f2fde38b146102f7578063fc0c546a14610330575b6100cf6000610385565b005b6100d9610bf2565b005b34156100e657600080fd5b6100ee610d2f565b005b34156100fb57600080fd5b610130600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610eac565b6040518082815260200191505060405180910390f35b341561015157600080fd5b610159610f9e565b005b341561016657600080fd5b610192600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506110aa565b6040518082815260200191505060405180910390f35b34156101b357600080fd5b6101df600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611193565b6040518082815260200191505060405180910390f35b341561020057600080fd5b61020861127c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561025557600080fd5b61025d6112a1565b6040518082815260200191505060405180910390f35b341561027e57600080fd5b610286611351565b6040518082815260200191505060405180910390f35b6102c8600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610385565b005b34156102d557600080fd5b6102dd611357565b604051808215151515815260200191505060405180910390f35b341561030257600080fd5b61032e600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061136b565b005b341561033b57600080fd5b610343611445565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60008060008060003373ffffffffffffffffffffffffffffffffffffffff16141515156103b157600080fd5b8473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515156103ec57600080fd5b6103f461146b565b15156103ff57600080fd5b6104176402540be4003461148890919063ffffffff16565b93506104336104246114a3565b856114eb90919063ffffffff16565b92506305f5e100831015151561044857600080fd5b61046f6064610461601e866114eb90919063ffffffff16565b61148890919063ffffffff16565b915060008573ffffffffffffffffffffffffffffffffffffffff161415156108db576305f5e100600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231876000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b151561055b57600080fd5b6102c65a03f1151561056c57600080fd5b505050604051805190501015151561058357600080fd5b6105ab6103e861059d6019866114eb90919063ffffffff16565b61148890919063ffffffff16565b90506105e5826105d76105c86002856114eb90919063ffffffff16565b8661151e90919063ffffffff16565b61151e90919063ffffffff16565b6106016105f06112a1565b60025461153c90919063ffffffff16565b1015151561060e57600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f1933610660848761151e90919063ffffffff16565b6000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15156106ed57600080fd5b6102c65a03f115156106fe57600080fd5b50505060405180519050503373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f623b3804fa71d67900d064613da8f94b9617215ee90799290593e1745087ad188661076c858861151e90919063ffffffff16565b604051808381526020018281526020019250505060405180910390a3600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f1986836000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b151561085557600080fd5b6102c65a03f1151561086657600080fd5b50505060405180519050508473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f9be71e54c914a5355f90883acdff2a1d75cebe9a1c6f15305d1fb0c28d7d7630836040518082815260200191505060405180910390a3610a6e565b6108ee828461151e90919063ffffffff16565b61090a6108f96112a1565b60025461153c90919063ffffffff16565b1015151561091757600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f1933856000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15156109e457600080fd5b6102c65a03f115156109f557600080fd5b50505060405180519050503373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f623b3804fa71d67900d064613da8f94b9617215ee90799290593e1745087ad188686604051808381526020018281526020019250505060405180910390a35b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f196000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1515610b5c57600080fd5b6102c65a03f11515610b6d57600080fd5b50505060405180519050507f8527672154c9b61610341cd831c818c65b3ccad275196560c4ea7fd557a8eea13383604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a1610beb611555565b5050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610c4d57600080fd5b600034111515610c5c57600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16631424c182346040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b1515610cec57600080fd5b6102c65a03f11515610cfd57600080fd5b505050347fcc5b2292fb3ef233afca9d4c6d1c7465d3ae1d6dfd792fff421f87c2b624298660405160405180910390a2565b6000610d3a336110aa565b9050600081111515610d4b57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501515610d8b57600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16633edc65d3336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b1515610e4757600080fd5b6102c65a03f11515610e5857600080fd5b5050503373ffffffffffffffffffffffffffffffffffffffff167f0836d1602e900156932abd6baf0839f6a537bc2ba4e261ae7537aec172296781826040518082815260200191505060405180910390a250565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634ee2cd7e84846000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1515610f7b57600080fd5b6102c65a03f11515610f8c57600080fd5b50505060405180519050905092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610ff957600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b151561108757600080fd5b6102c65a03f1151561109857600080fd5b50505060405180519050600281905550565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635db2a233836000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b151561117157600080fd5b6102c65a03f1151561118257600080fd5b505050604051805190509050919050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231836000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b151561125a57600080fd5b6102c65a03f1151561126b57600080fd5b505050604051805190509050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b151561133157600080fd5b6102c65a03f1151561134257600080fd5b50505060405180519050905090565b60025481565b60006113616112a1565b6002541115905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156113c657600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561140257600080fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611475611357565b158015611483575060003414155b905090565b600080828481151561149657fe5b0490508091505092915050565b600064e8d4a510006114b36112a1565b10156114c3576102a390506114e8565b65048c273950006114d26112a1565b10156114e25761023390506114e8565b6101c290505b90565b6000808284029050600084148061150c575082848281151561150957fe5b04145b151561151457fe5b8091505092915050565b600080828401905083811015151561153257fe5b8091505092915050565b600082821115151561154a57fe5b818303905092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f1935050505015156115b657600080fd5b5600a165627a7a723058207254c603da09241f99acd4cb9efa18fcd8493919acefde8899a0b43620422108002960606040526000600660006101000a81548160ff0219169083151502179055506040805190810160405280601281526020017f486f6e6579204d696e696e6720546f6b656e0000000000000000000000000000815250600790805190602001906200006c929190620000e9565b506040805190810160405280600381526020017f484d54000000000000000000000000000000000000000000000000000000000081525060089080519060200190620000ba929190620000e9565b506008600960006101000a81548160ff021916908360ff1602179055503415620000e357600080fd5b62000198565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200012c57805160ff19168380011785556200015d565b828001600101855582156200015d579182015b828111156200015c5782518255916020019190600101906200013f565b5b5090506200016c919062000170565b5090565b6200019591905b808211156200019157600081600090555060010162000177565b5090565b90565b61167580620001a86000396000f3006060604052600436106100fc576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806305d2035b1461010157806306fdde031461012e578063095ea7b3146101bc5780631424c1821461021657806318160ddd1461023957806323b872dd14610262578063313ce567146102db5780633edc65d31461030a57806340c10f19146103435780634ee2cd7e1461039d5780635db2a233146103f357806370a08231146104405780637d64bcb41461048d57806395d89b41146104ba578063981b24d014610548578063a9059cbb1461057f578063c86039da146105d9578063dd62ed3e14610602575b600080fd5b341561010c57600080fd5b61011461066e565b604051808215151515815260200191505060405180910390f35b341561013957600080fd5b610141610681565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610181578082015181840152602081019050610166565b50505050905090810190601f1680156101ae5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101c757600080fd5b6101fc600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061071f565b604051808215151515815260200191505060405180910390f35b341561022157600080fd5b61023760048080359060200190919050506108a6565b005b341561024457600080fd5b61024c6108b4565b6040518082815260200191505060405180910390f35b341561026d57600080fd5b6102c1600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506108ba565b604051808215151515815260200191505060405180910390f35b34156102e657600080fd5b6102ee6108d0565b604051808260ff1660ff16815260200191505060405180910390f35b341561031557600080fd5b610341600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506108e3565b005b341561034e57600080fd5b610383600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061097d565b604051808215151515815260200191505060405180910390f35b34156103a857600080fd5b6103dd600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610af1565b6040518082815260200191505060405180910390f35b34156103fe57600080fd5b61042a600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610c2a565b6040518082815260200191505060405180910390f35b341561044b57600080fd5b610477600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610dde565b6040518082815260200191505060405180910390f35b341561049857600080fd5b6104a0610df1565b604051808215151515815260200191505060405180910390f35b34156104c557600080fd5b6104cd610e41565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561050d5780820151818401526020810190506104f2565b50505050905090810190601f16801561053a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561055357600080fd5b6105696004808035906020019091905050610edf565b6040518082815260200191505060405180910390f35b341561058a57600080fd5b6105bf600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610f60565b604051808215151515815260200191505060405180910390f35b34156105e457600080fd5b6105ec610f75565b6040518082815260200191505060405180910390f35b341561060d57600080fd5b610658600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610f85565b6040518082815260200191505060405180910390f35b600660009054906101000a900460ff1681565b60078054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156107175780601f106106ec57610100808354040283529160200191610717565b820191906000526020600020905b8154815290600101906020018083116106fa57829003601f168201915b505050505081565b6000808214806107ab57506000600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b15156107b657600080fd5b81600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6108b160048261100c565b50565b60005481565b60006108c7848484611183565b90509392505050565b600960009054906101000a900460ff1681565b60046001600480549050038154811015156108fa57fe5b906000526020600020900160000160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b6000806000600660009054906101000a900460ff1615151561099e57600080fd5b6109b38460005461133890919063ffffffff16565b6000819055506109c1610f75565b915081848301101515156109d457600080fd5b6109dd85610dde565b905080848201101515156109f057600080fd5b6109fd600385840161100c565b610a47600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002085830161100c565b8473ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885856040518082815260200191505060405180910390a28473ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a360019250505092915050565b600080600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490501480610bcb575081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815481101515610b8c57fe5b906000526020600020900160000160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16115b15610bd95760009050610c24565b610c21600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002083611356565b90505b92915050565b6000806000806000600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054935060009250600091505b60016004805490500382111515610dd257600482815481101515610c9d57fe5b906000526020600020900190508060000160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16841015610dc557610dc2610db3610d258360000160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16610edf565b610da58460000160109054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16610d978b8760000160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16610af1565b61156a90919063ffffffff16565b61159d90919063ffffffff16565b8461133890919063ffffffff16565b92505b8180600101925050610c7d565b82945050505050919050565b6000610dea8243610af1565b9050919050565b60006001600660006101000a81548160ff0219169083151502179055507fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0860405160405180910390a16001905090565b60088054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610ed75780601f10610eac57610100808354040283529160200191610ed7565b820191906000526020600020905b815481529060010190602001808311610eba57829003601f168201915b505050505081565b6000806003805490501480610f3f57508160036000815481101515610f0057fe5b906000526020600020900160000160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16115b15610f4d5760009050610f5b565b610f58600383611356565b90505b919050565b6000610f6d338484611183565b905092915050565b6000610f8043610edf565b905090565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60008060008480549050148061107257504384600186805490500381548110151561103357fe5b906000526020600020900160000160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff16105b1561111f578384805480919060010161108b91906115b8565b81548110151561109757fe5b90600052602060002090019150438260000160006101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff160217905550828260000160106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff16021790555061117d565b83600185805490500381548110151561113457fe5b90600052602060002090019050828160000160106101000a8154816fffffffffffffffffffffffffffffffff02191690836fffffffffffffffffffffffffffffffff1602179055505b50505050565b600080600080841415611199576001925061132f565b60008573ffffffffffffffffffffffffffffffffffffffff16141580156111ec57503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b15156111f757600080fd5b6112018643610af1565b915083821015611214576000925061132f565b61125e600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002085840361100c565b6112688543610af1565b9050808482011015151561127b57600080fd5b6112c5600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002085830161100c565b8473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a3600192505b50509392505050565b600080828401905083811015151561134c57fe5b8091505092915050565b6000806000806000868054905014156113725760009350611561565b85600187805490500381548110151561138757fe5b906000526020600020900160000160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1685101515611425578560018780549050038154811015156113e157fe5b906000526020600020900160000160109054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff169350611561565b85600081548110151561143457fe5b906000526020600020900160000160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff168510156114815760009350611561565b60009250600186805490500391505b828211156115135760026001848401018115156114a957fe5b0490508486828154811015156114bb57fe5b906000526020600020900160000160009054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff161115156115075780925061150e565b6001810391505b611490565b858381548110151561152157fe5b906000526020600020900160000160109054906101000a90046fffffffffffffffffffffffffffffffff166fffffffffffffffffffffffffffffffff1693505b50505092915050565b6000808284029050600084148061158b575082848281151561158857fe5b04145b151561159357fe5b8091505092915050565b60008082848115156115ab57fe5b0490508091505092915050565b8154818355818115116115df578183600052602060002091820191016115de91906115e4565b5b505050565b61164691905b8082111561164257600080820160006101000a8154906fffffffffffffffffffffffffffffffff02191690556000820160106101000a8154906fffffffffffffffffffffffffffffffff0219169055506001016115ea565b5090565b905600a165627a7a7230582003dff0794d040fcfa6fac5b018e8d8970ef1d5d94c491467d0ea8459c40f6f1d0029

   Swarm Source:
bzzr://03dff0794d040fcfa6fac5b018e8d8970ef1d5d94c491467d0ea8459c40f6f1d

 

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