Sponsored Link:   Learn and build dApps today without code using Crowd Machine's Crowd App Studio.
Contract Overview
Balance: 0.000684058958277374 Ether
Ether Value: $0.32 (@ $469.21/ETH)
Transactions: 282 txns
 Latest 25 txns from a total Of 282 transactions
(+1 PendingTxn)

TxHash Age From To Value [TxFee]
0xc4aa8857bfabaaa5f08a76ba1e35ed4db49dd1dce81d22d7eb5ccd73b32ceb3b(pending)0x46f6c84836b85e121d75e17f51fd33e4f388e451  IN  0xb6d5414a1550b70d3a1280081b115fddc4a465d20 Ether(pending)
0xf4e99e14c2b19c04a6c1d8ae04fa71b3e05d40ebccb8441c1ab811cb39bb199c8 days 22 hrs ago0x65f9775e7bdd20b43c77eec6967a28b8f4799471  IN  0xb6d5414a1550b70d3a1280081b115fddc4a465d20 Ether0.000162471
0xbb7e7f91e7b3c8dfbf3271d48e3ae219f70e71d193ed85e2b17d6be9a916359a9 days 3 hrs ago0x1a0477bb1a134c01db3ed10d8b854774b223e80d  IN  0xb6d5414a1550b70d3a1280081b115fddc4a465d20 Ether0.000576695
0xb876a174d20129897f5a93f213a69e9fd1a22c07dfb49511e4e679e1bc313fc99 days 11 hrs ago0x5d62fd53f3b0590ca0dd9667223830493fd878c3  IN  0xb6d5414a1550b70d3a1280081b115fddc4a465d20 Ether0.002951652
0x30a5cff99afeff1652d2d10c9d6b63446fb2905a553645fcfb23f6bc45f05f0511 days 19 hrs ago0x5c10755f40a0f0c5d4c408728574d4d93720167f  IN  0xb6d5414a1550b70d3a1280081b115fddc4a465d20 Ether0.001895495
0xdfd1c00ff24d823d25e6c485323500d209789e1e584201a0537d96e895c31e8b13 days 58 mins ago0x5d62fd53f3b0590ca0dd9667223830493fd878c3  IN  0xb6d5414a1550b70d3a1280081b115fddc4a465d20 Ether0.00132507
0xaea1558c46660036f69af5307fa80513f4560c97ee7035673f804a89a3283caa13 days 23 hrs ago0xe772827b7bb8673244e7525f17e7fe4b336c9100  IN  0xb6d5414a1550b70d3a1280081b115fddc4a465d20 Ether0.00029308
0x4dd7555d9e4c7f545ee27e8919edcefe234ba32a90b0d1c736712a91a05e11ef22 days 9 hrs ago0x46f6c84836b85e121d75e17f51fd33e4f388e451  IN  0xb6d5414a1550b70d3a1280081b115fddc4a465d20 Ether0.000070849
0x23696bb0f17788fdc5cfe94e71c543db78f42a39ca5778e45d968f92103e5c1224 days 15 hrs ago0x9c91b114c2d02a02862326d936532e657d70611f  IN  0xb6d5414a1550b70d3a1280081b115fddc4a465d20.000218332138903 Ether0.0000214
0x84ad1d12d806caf44fe5da61ebf5d4014afb7718fdb0eba3546f8ef566e07e8324 days 16 hrs ago0x9c91b114c2d02a02862326d936532e657d70611f  IN  0xb6d5414a1550b70d3a1280081b115fddc4a465d20.0814 Ether0.000915725
0x2e4787bdc27084f8f670475f730102d166e44af1daf7b8e10068a9557eec18a536 days 52 mins ago0xfe96348dc6fd698df013948a8bcaf873f25b00b3  IN  0xb6d5414a1550b70d3a1280081b115fddc4a465d20.014 Ether0.000498214
0xcce76a57008f04641b5781e53382c6959133ab2088cfc3f69ca013e7063e4cb736 days 22 hrs ago0x46f6c84836b85e121d75e17f51fd33e4f388e451  IN  0xb6d5414a1550b70d3a1280081b115fddc4a465d20 Ether0.000064872
0x45948d258c28abef2d73c40cd992626c5afd1e0c812ce7299388fa544379488d37 days 18 mins ago0xfe96348dc6fd698df013948a8bcaf873f25b00b3  IN  0xb6d5414a1550b70d3a1280081b115fddc4a465d20 Ether0.000117232
0x41aa38bce75734dc3ae1d8279a2518193b047680ca366c6aafba9b00eeb6facb37 days 13 hrs ago0x802f004f9cd3c0bb81e8a7c0916aff759f7c509a  IN  0xb6d5414a1550b70d3a1280081b115fddc4a465d20.3 Ether0.010213387
0x5e0f4d8dffd31020a6eadeaffedb72d3594e01a46a9683b4e15435a6e213d18b39 days 11 hrs ago0xe772827b7bb8673244e7525f17e7fe4b336c9100  IN  0xb6d5414a1550b70d3a1280081b115fddc4a465d20 Ether0.000106604
0xd5d2d91dd983914c410f876a7fb25ae67438e2323c0c5fce735e2bfe90df068941 days 8 hrs ago0xf6b6f5b83d438c2bd6dea431754bb5b98b755cc6  IN  0xb6d5414a1550b70d3a1280081b115fddc4a465d20 Ether0.00031623
0x05803b9da8d04be56550224f12b342bb3bd440ac26115487b249c3d88de1b6e541 days 11 hrs ago0x5d62fd53f3b0590ca0dd9667223830493fd878c3  IN  0xb6d5414a1550b70d3a1280081b115fddc4a465d20 Ether0.002403256
0x5df24f29a8a8220bd9a866fbf81a8241ece01338092d4d160498c0a7b3c49f7641 days 13 hrs ago0xf6b6f5b83d438c2bd6dea431754bb5b98b755cc6  IN  0xb6d5414a1550b70d3a1280081b115fddc4a465d20 Ether0.000266565
0x2ae4c67c9e1317f8df0b71644f389056639f93ca7fb28b3efcec94e6d6caeb1c42 days 19 hrs ago0x4ef96422dd53f04e3ed67baf49cd053a72b01d9b  IN  0xb6d5414a1550b70d3a1280081b115fddc4a465d20.0111 Ether0.001245535
0xde9e9b11a3645a2cad89ef2c73a69ee80a32a6516ca8716d9cfe02586f29a0c543 days 16 hrs ago0x7ae96972a1b1be8a2ada3736ee4ba81820b5b762  IN  0xb6d5414a1550b70d3a1280081b115fddc4a465d20 Ether0.000266565
0x7d50bded1a99850f1b43eac330a5ed057f22f16757d866a66b117fe69ed0355944 days 3 hrs ago0xdaa0bafc5651a53926f1028be20468cd952ea0a8  IN  0xb6d5414a1550b70d3a1280081b115fddc4a465d20 Ether0.002185833
0x4476661bf6356648056ecd534df7a1255ba90f1edfb7aafdf38f2d4109a6631b45 days 23 hrs ago0x0ab2d0740f01b08fc4d4397e801640d4d79a3c59  IN  0xb6d5414a1550b70d3a1280081b115fddc4a465d20 Ether0.000159939
0x1d3805619aea43bdece5a6a8d3db8cf294e3b37b4adcb77b19727772c894b81046 days 27 mins ago0xabf6479fa265baeedca6d28aaa021f16af8d667f  IN  0xb6d5414a1550b70d3a1280081b115fddc4a465d20 Ether0.000159939
0xa64fc21ee4a73bd8620d8f81eac5caf4f2534be4275c421ab81cf077ca45815246 days 51 mins ago0xf3e154c722b0c4aad6230d8ec13a2c513d21dfbc  IN  0xb6d5414a1550b70d3a1280081b115fddc4a465d20 Ether0.002185833
0xf9718ba4c7f70102e82f752f7f048d40d013dc8ac1cc7461faae1be56497b3c146 days 1 hr ago0x87087b337e1856bc2aa600d7758d41767ea30f2a  IN  0xb6d5414a1550b70d3a1280081b115fddc4a465d20 Ether0.000159939
[ 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
0xf4e99e14c2b19c04a6c1d8ae04fa71b3e05d40ebccb8441c1ab811cb39bb199c59415798 days 22 hrs ago0xb6d5414a1550b70d3a1280081b115fddc4a465d20x65f9775e7bdd20b43c77eec6967a28b8f47994710.000026136782633167 Ether
0x30a5cff99afeff1652d2d10c9d6b63446fb2905a553645fcfb23f6bc45f05f05592488611 days 19 hrs ago0xb6d5414a1550b70d3a1280081b115fddc4a465d20x5c10755f40a0f0c5d4c408728574d4d93720167f0.151 Ether
0xaea1558c46660036f69af5307fa80513f4560c97ee7035673f804a89a3283caa591222913 days 23 hrs ago0xb6d5414a1550b70d3a1280081b115fddc4a465d20xe772827b7bb8673244e7525f17e7fe4b336c91000.003301693577772467 Ether
0x4dd7555d9e4c7f545ee27e8919edcefe234ba32a90b0d1c736712a91a05e11ef586308622 days 9 hrs ago0xb6d5414a1550b70d3a1280081b115fddc4a465d20x46f6c84836b85e121d75e17f51fd33e4f388e4510.008903984654971688 Ether
0x84ad1d12d806caf44fe5da61ebf5d4014afb7718fdb0eba3546f8ef566e07e83584991724 days 16 hrs ago0xb6d5414a1550b70d3a1280081b115fddc4a465d20xe4069a87ce42d8c47e76bdcb309f8d686e6f08c60.0814 Ether
0x2e4787bdc27084f8f670475f730102d166e44af1daf7b8e10068a9557eec18a5578356836 days 52 mins ago0xb6d5414a1550b70d3a1280081b115fddc4a465d20xe4069a87ce42d8c47e76bdcb309f8d686e6f08c60.014 Ether
0xcce76a57008f04641b5781e53382c6959133ab2088cfc3f69ca013e7063e4cb7577833036 days 22 hrs ago0xb6d5414a1550b70d3a1280081b115fddc4a465d20x46f6c84836b85e121d75e17f51fd33e4f388e4510.008903984654971688 Ether
0x45948d258c28abef2d73c40cd992626c5afd1e0c812ce7299388fa544379488d577798037 days 18 mins ago0xb6d5414a1550b70d3a1280081b115fddc4a465d20xfe96348dc6fd698df013948a8bcaf873f25b00b30.013655509433723192 Ether
0x41aa38bce75734dc3ae1d8279a2518193b047680ca366c6aafba9b00eeb6facb577491437 days 13 hrs ago0xb6d5414a1550b70d3a1280081b115fddc4a465d20xe4069a87ce42d8c47e76bdcb309f8d686e6f08c60.3 Ether
0x5e0f4d8dffd31020a6eadeaffedb72d3594e01a46a9683b4e15435a6e213d18b576390439 days 11 hrs ago0xb6d5414a1550b70d3a1280081b115fddc4a465d20xe772827b7bb8673244e7525f17e7fe4b336c91000.003301693577772467 Ether
0xd5d2d91dd983914c410f876a7fb25ae67438e2323c0c5fce735e2bfe90df0689575337041 days 8 hrs ago0xb6d5414a1550b70d3a1280081b115fddc4a465d20xf6b6f5b83d438c2bd6dea431754bb5b98b755cc60.048101809738218474 Ether
0x05803b9da8d04be56550224f12b342bb3bd440ac26115487b249c3d88de1b6e5575266641 days 11 hrs ago0xb6d5414a1550b70d3a1280081b115fddc4a465d20x5d62fd53f3b0590ca0dd9667223830493fd878c30.146443375625533662 Ether
0x2ae4c67c9e1317f8df0b71644f389056639f93ca7fb28b3efcec94e6d6caeb1c574513542 days 19 hrs ago0xb6d5414a1550b70d3a1280081b115fddc4a465d20xe4069a87ce42d8c47e76bdcb309f8d686e6f08c60.0111 Ether
0xde9e9b11a3645a2cad89ef2c73a69ee80a32a6516ca8716d9cfe02586f29a0c5574034443 days 16 hrs ago0xb6d5414a1550b70d3a1280081b115fddc4a465d20x7ae96972a1b1be8a2ada3736ee4ba81820b5b7620.01185064664015522 Ether
0x7d50bded1a99850f1b43eac330a5ed057f22f16757d866a66b117fe69ed03559573767944 days 3 hrs ago0xb6d5414a1550b70d3a1280081b115fddc4a465d20xdaa0bafc5651a53926f1028be20468cd952ea0a80.00135231398355709 Ether
0x4476661bf6356648056ecd534df7a1255ba90f1edfb7aafdf38f2d4109a6631b572726145 days 23 hrs ago0xb6d5414a1550b70d3a1280081b115fddc4a465d20x0ab2d0740f01b08fc4d4397e801640d4d79a3c590.003339727689498289 Ether
0x1d3805619aea43bdece5a6a8d3db8cf294e3b37b4adcb77b19727772c894b810572715046 days 27 mins ago0xb6d5414a1550b70d3a1280081b115fddc4a465d20xabf6479fa265baeedca6d28aaa021f16af8d667f0.004390782823880127 Ether
0xa64fc21ee4a73bd8620d8f81eac5caf4f2534be4275c421ab81cf077ca458152572705446 days 51 mins ago0xb6d5414a1550b70d3a1280081b115fddc4a465d20xf3e154c722b0c4aad6230d8ec13a2c513d21dfbc0.257527452867947746 Ether
0xf9718ba4c7f70102e82f752f7f048d40d013dc8ac1cc7461faae1be56497b3c1572684546 days 1 hr ago0xb6d5414a1550b70d3a1280081b115fddc4a465d20x87087b337e1856bc2aa600d7758d41767ea30f2a0.024742713742627112 Ether
0x272caf88f47e837be0e396539201c8cf3c150e9f1628a9fd53cddc45d1629209572671346 days 2 hrs ago0xb6d5414a1550b70d3a1280081b115fddc4a465d20x65f9775e7bdd20b43c77eec6967a28b8f47994710.00051886661890171 Ether
0x0f05d39ecdc323d4267c8de9fc6675205295038a854242fc833d072f3413c3d7572501846 days 9 hrs ago0xb6d5414a1550b70d3a1280081b115fddc4a465d20x802f004f9cd3c0bb81e8a7c0916aff759f7c509a0.028371059874427722 Ether
0x0d02c9ef76a8225e8a43434e1057be591874921cebf553a4242769b5d2af3197572397246 days 13 hrs ago0xb6d5414a1550b70d3a1280081b115fddc4a465d20x9a8a9362d502abcc1280ded495d7f3b0ccf515b70.07583760897917093 Ether
0xb82c94d9f790cd85b75058094d1ca593a6adb6d4f31385c98bbf7da1a0b52c84571957547 days 8 hrs ago0xb6d5414a1550b70d3a1280081b115fddc4a465d20x310a57319aec64b1db57e8ef2044956775c48fd70.001258003997544827 Ether
0xdbbfba9e7c6ea7a6a8b9f742eff94dddec8133e1d37add679594858606de9ec8571956847 days 8 hrs ago0xb6d5414a1550b70d3a1280081b115fddc4a465d20x8d52f1a71ac078ec87e8e31562cfcb0d89ad5ef60.293742127033535494 Ether
0xf3b194d28aadc8c602566fe11fd762cc600bb359745ebf1b3d0d8912b87b0e00571799547 days 15 hrs ago0xb6d5414a1550b70d3a1280081b115fddc4a465d20x4ef96422dd53f04e3ed67baf49cd053a72b01d9b0.00423265250020762 Ether
[ Download CSV Export  ] 
Contract Source Code Verified (Exact match)
Contract Name: HoneyMiningToken
Compiler Version: 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 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.