Sponsored Link:   SHARPAY.io • Share button with blockchain profit • ICOBench TOP Project • 30% Bonus • Buy Now!
Contract Overview
Balance: 0.113076882453784944 Ether
Ether Value: $66.09 (@ $584.48/ETH)
Transactions: 245 txns
 Latest 25 txns from a total Of 245 transactions
View All

TxHash Age From To Value [TxFee]
0xf1631ca0fc3e8d7ec62baf461a2cd1e915425eae95d36f8662e367a4b43d3dd13 days 4 hrs ago0x9c91b114c2d02a02862326d936532e657d70611f  IN  0xb6d5414a1550b70d3a1280081b115fddc4a465d20.0286 Ether0.000973885
0x7e4c9c0e8b89cb63449f46857f20680dc79ba923d0bd0ded12acd07ba4e2e49d7 days 5 hrs ago0x15799425bfc39865679058542a886c363d71dabd  IN  0xb6d5414a1550b70d3a1280081b115fddc4a465d20.0024 Ether0.00104909
0xc1acfe49eb4c9a485e1b03e4d189d99387eb43ae62a427c093c0460c3ada885f10 days 13 hrs ago0x5d62fd53f3b0590ca0dd9667223830493fd878c3  IN  0xb6d5414a1550b70d3a1280081b115fddc4a465d20 Ether0.00285475
0xb61e400da656ee54c3fd9007ef9452d0f5c364ba4f64188ef9c052033a5e87f820 days 6 hrs ago0xf3e154c722b0c4aad6230d8ec13a2c513d21dfbc  IN  0xb6d5414a1550b70d3a1280081b115fddc4a465d25 Ether0.010213387
0x8087edd11f419d1991e92ffef54e67f0baa4f1f9b1e9a54f2a3b2df41cbca3ff20 days 6 hrs ago0x4ef96422dd53f04e3ed67baf49cd053a72b01d9b  IN  0xb6d5414a1550b70d3a1280081b115fddc4a465d20 Ether0.00028884
0x72ac709820af7c10030b433b0f305fc7659f10e719d9286663efc561c9b8d7e820 days 15 hrs ago0xabf6479fa265baeedca6d28aaa021f16af8d667f  IN  0xb6d5414a1550b70d3a1280081b115fddc4a465d20 Ether0.00014301
0x800daec95a45115617a01fe5354ccdd1557b47fa6516c585c52c786a452e551020 days 15 hrs ago0xabf6479fa265baeedca6d28aaa021f16af8d667f  IN  0xb6d5414a1550b70d3a1280081b115fddc4a465d20 Ether0.000349985
0x0755a55b31770ef033828ff018ff6863a0085eb577250f3440c55707913d82df20 days 16 hrs ago0x0ab2d0740f01b08fc4d4397e801640d4d79a3c59  IN  0xb6d5414a1550b70d3a1280081b115fddc4a465d20 Ether0.000209991
0x2d8e93fe4f1ff6688b9ad68ad1c22259670c136bcdc3cde2dfde41b05bcdf28623 days 22 hrs ago0x87087b337e1856bc2aa600d7758d41767ea30f2a  IN  0xb6d5414a1550b70d3a1280081b115fddc4a465d20 Ether0.000173304
0x94bfe8a67f0fd99868f170f81f34548b8b69ab015e6343bc8ae9909e75e72a4323 days 23 hrs ago0xe7919cc29ea07a4a18fcda4a2d1e0bc65f2a5998  IN  0xb6d5414a1550b70d3a1280081b115fddc4a465d20 Ether0.004989208
0xf86c9586da84f0db4a2e9a0ff9753ea5cfa2b23f47b64269a112b62dfd3ffcac24 days 2 hrs ago0xe772827b7bb8673244e7525f17e7fe4b336c9100  IN  0xb6d5414a1550b70d3a1280081b115fddc4a465d20 Ether0.000057768
0xc89fce53d249a9f3a49bfd4de42eafe08d818964ce048daf4102314b2262b35324 days 6 hrs ago0xce4ff1d5510b137333d233ba335d2c148f0c9a78  IN  0xb6d5414a1550b70d3a1280081b115fddc4a465d20 Ether0.000185175
0x8b373fa6bd8e8edcf32bb6fa01b3ab18523343233b8dfd6e304f6b9f7c9db4c824 days 18 hrs ago0xdaa0bafc5651a53926f1028be20468cd952ea0a8  IN  0xb6d5414a1550b70d3a1280081b115fddc4a465d20 Ether0.000231072
0x7b6d53a48eaa784e786de149a4e26bdeac2fca8e37b2bb48ef4844aa1247145b24 days 23 hrs ago0x310a57319aec64b1db57e8ef2044956775c48fd7  IN  0xb6d5414a1550b70d3a1280081b115fddc4a465d20.003 Ether0.001245535
0x5cbef5e4d2d42c8769a28bd0d8af90786461db823fff9e957582b5075b06be7324 days 23 hrs ago0x310a57319aec64b1db57e8ef2044956775c48fd7  IN  0xb6d5414a1550b70d3a1280081b115fddc4a465d20 Ether0.000173316
0xa956bb94352e3b8fba757ddcb11d6d79acf4770800d27672c5dbe368b05be70325 days 4 hrs ago0x802f004f9cd3c0bb81e8a7c0916aff759f7c509a  IN  0xb6d5414a1550b70d3a1280081b115fddc4a465d20 Ether0.002368652
0xb70bbe420f8e75ae0f591af0e65a65bbc59fbbb821d10cac7ea5aff68891ac4f25 days 5 hrs ago0xe772827b7bb8673244e7525f17e7fe4b336c9100  IN  0xb6d5414a1550b70d3a1280081b115fddc4a465d20 Ether0.000057099
0xdbc1d871b578de98a34d454e9f219fe8f6b7124dff2b435174c29c76e3c714b025 days 7 hrs ago0xfe96348dc6fd698df013948a8bcaf873f25b00b3  IN  0xb6d5414a1550b70d3a1280081b115fddc4a465d20.026 Ether0.000498214
0x1e3b440faa5876bf690bc74a6105364d7f6312b752af85cf08c8fd0fe475111525 days 7 hrs ago0xfe96348dc6fd698df013948a8bcaf873f25b00b3  IN  0xb6d5414a1550b70d3a1280081b115fddc4a465d20 Ether0.000114198
0x553867e2b53e55e8971096b10d0b4d29c52808dd9a3a66d0b4af6cd9a21be9fa25 days 7 hrs ago0xe4069a87ce42d8c47e76bdcb309f8d686e6f08c6  IN  0xb6d5414a1550b70d3a1280081b115fddc4a465d20 Ether0.000308645
0xd5aa010af9ff0acd7309e27f1fcd80a1e8853432532cb30cc410f85743c7dfd925 days 11 hrs ago0x1ee655fe1bc39546ca075f562ab871ab5f7b5f6b  IN  0xb6d5414a1550b70d3a1280081b115fddc4a465d20 Ether0.000228396
0x587606bfda8e4e4295d09a4062f0df6a0805392ac5a1e85a49fa1239bf5f59ff25 days 11 hrs ago0xca4c96c4485c047f91bbea5ea97be510f69d0292  IN  0xb6d5414a1550b70d3a1280081b115fddc4a465d20 Ether0.000228396
0x838906c6cf4f8081106e0547db14e91a66435a851e81c83e19519f683caabea325 days 12 hrs ago0xf6b6f5b83d438c2bd6dea431754bb5b98b755cc6  IN  0xb6d5414a1550b70d3a1280081b115fddc4a465d20 Ether0.000185187
0xdcc85e0ffe49e14217cf25f4442919228a47e1217a5bbfb3c7fc0f4d7b48024225 days 12 hrs ago0x7ae96972a1b1be8a2ada3736ee4ba81820b5b762  IN  0xb6d5414a1550b70d3a1280081b115fddc4a465d20 Ether0.000171297
0x8f4a52b1289182ab59adc64bafa84d65436df1da17eeb25950aff1fca4b89bd025 days 14 hrs ago0xf3e154c722b0c4aad6230d8ec13a2c513d21dfbc  IN  0xb6d5414a1550b70d3a1280081b115fddc4a465d20 Ether0.002341059
[ 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
0xf1631ca0fc3e8d7ec62baf461a2cd1e915425eae95d36f8662e367a4b43d3dd156653083 days 4 hrs ago0xb6d5414a1550b70d3a1280081b115fddc4a465d20xe4069a87ce42d8c47e76bdcb309f8d686e6f08c60.0286 Ether
0xc1acfe49eb4c9a485e1b03e4d189d99387eb43ae62a427c093c0460c3ada885f562372610 days 13 hrs ago0xb6d5414a1550b70d3a1280081b115fddc4a465d20x5d62fd53f3b0590ca0dd9667223830493fd878c30.276362955067913553 Ether
0xb61e400da656ee54c3fd9007ef9452d0f5c364ba4f64188ef9c052033a5e87f8556829220 days 6 hrs ago0xb6d5414a1550b70d3a1280081b115fddc4a465d20xe4069a87ce42d8c47e76bdcb309f8d686e6f08c65 Ether
0x8087edd11f419d1991e92ffef54e67f0baa4f1f9b1e9a54f2a3b2df41cbca3ff556813920 days 6 hrs ago0xb6d5414a1550b70d3a1280081b115fddc4a465d20x4ef96422dd53f04e3ed67baf49cd053a72b01d9b0.007987717762830748 Ether
0x800daec95a45115617a01fe5354ccdd1557b47fa6516c585c52c786a452e5510556594420 days 15 hrs ago0xb6d5414a1550b70d3a1280081b115fddc4a465d20xabf6479fa265baeedca6d28aaa021f16af8d667f0.019120230161752663 Ether
0x0755a55b31770ef033828ff018ff6863a0085eb577250f3440c55707913d82df556576920 days 16 hrs ago0xb6d5414a1550b70d3a1280081b115fddc4a465d20x0ab2d0740f01b08fc4d4397e801640d4d79a3c590.014543275006336106 Ether
0x2d8e93fe4f1ff6688b9ad68ad1c22259670c136bcdc3cde2dfde41b05bcdf286554723023 days 22 hrs ago0xb6d5414a1550b70d3a1280081b115fddc4a465d20x87087b337e1856bc2aa600d7758d41767ea30f2a0.046693607389910813 Ether
0x94bfe8a67f0fd99868f170f81f34548b8b69ab015e6343bc8ae9909e75e72a43554709723 days 23 hrs ago0xb6d5414a1550b70d3a1280081b115fddc4a465d20xe7919cc29ea07a4a18fcda4a2d1e0bc65f2a59980.061313975539452602 Ether
0xf86c9586da84f0db4a2e9a0ff9753ea5cfa2b23f47b64269a112b62dfd3ffcac554623024 days 2 hrs ago0xb6d5414a1550b70d3a1280081b115fddc4a465d20xe772827b7bb8673244e7525f17e7fe4b336c91000.00623084376459057 Ether
0xc89fce53d249a9f3a49bfd4de42eafe08d818964ce048daf4102314b2262b353554525824 days 6 hrs ago0xb6d5414a1550b70d3a1280081b115fddc4a465d20xce4ff1d5510b137333d233ba335d2c148f0c9a780.011399525737434897 Ether
0x8b373fa6bd8e8edcf32bb6fa01b3ab18523343233b8dfd6e304f6b9f7c9db4c8554247824 days 18 hrs ago0xb6d5414a1550b70d3a1280081b115fddc4a465d20xdaa0bafc5651a53926f1028be20468cd952ea0a80.002552040931036395 Ether
0x7b6d53a48eaa784e786de149a4e26bdeac2fca8e37b2bb48ef4844aa1247145b554126724 days 23 hrs ago0xb6d5414a1550b70d3a1280081b115fddc4a465d20xe4069a87ce42d8c47e76bdcb309f8d686e6f08c60.003 Ether
0x5cbef5e4d2d42c8769a28bd0d8af90786461db823fff9e957582b5075b06be73554123624 days 23 hrs ago0xb6d5414a1550b70d3a1280081b115fddc4a465d20x310a57319aec64b1db57e8ef2044956775c48fd70.002204486453712351 Ether
0xa956bb94352e3b8fba757ddcb11d6d79acf4770800d27672c5dbe368b05be703554019325 days 4 hrs ago0xb6d5414a1550b70d3a1280081b115fddc4a465d20x802f004f9cd3c0bb81e8a7c0916aff759f7c509a0.053540898738600632 Ether
0xb70bbe420f8e75ae0f591af0e65a65bbc59fbbb821d10cac7ea5aff68891ac4f553997925 days 5 hrs ago0xb6d5414a1550b70d3a1280081b115fddc4a465d20xe772827b7bb8673244e7525f17e7fe4b336c91000.00623084376459057 Ether
0xdbc1d871b578de98a34d454e9f219fe8f6b7124dff2b435174c29c76e3c714b0553948125 days 7 hrs ago0xb6d5414a1550b70d3a1280081b115fddc4a465d20xe4069a87ce42d8c47e76bdcb309f8d686e6f08c60.026 Ether
0x1e3b440faa5876bf690bc74a6105364d7f6312b752af85cf08c8fd0fe4751115553944125 days 7 hrs ago0xb6d5414a1550b70d3a1280081b115fddc4a465d20xfe96348dc6fd698df013948a8bcaf873f25b00b30.024300555075701432 Ether
0x553867e2b53e55e8971096b10d0b4d29c52808dd9a3a66d0b4af6cd9a21be9fa553934125 days 7 hrs ago0xb6d5414a1550b70d3a1280081b115fddc4a465d20xe4069a87ce42d8c47e76bdcb309f8d686e6f08c60.342928241398982787 Ether
0xd5aa010af9ff0acd7309e27f1fcd80a1e8853432532cb30cc410f85743c7dfd9553841925 days 11 hrs ago0xb6d5414a1550b70d3a1280081b115fddc4a465d20x1ee655fe1bc39546ca075f562ab871ab5f7b5f6b0.020331033696622995 Ether
0x587606bfda8e4e4295d09a4062f0df6a0805392ac5a1e85a49fa1239bf5f59ff553840525 days 11 hrs ago0xb6d5414a1550b70d3a1280081b115fddc4a465d20xca4c96c4485c047f91bbea5ea97be510f69d02920.005006882543089915 Ether
0x838906c6cf4f8081106e0547db14e91a66435a851e81c83e19519f683caabea3553829325 days 12 hrs ago0xb6d5414a1550b70d3a1280081b115fddc4a465d20xf6b6f5b83d438c2bd6dea431754bb5b98b755cc60.083699407415389948 Ether
0xdcc85e0ffe49e14217cf25f4442919228a47e1217a5bbfb3c7fc0f4d7b480242553823325 days 12 hrs ago0xb6d5414a1550b70d3a1280081b115fddc4a465d20x7ae96972a1b1be8a2ada3736ee4ba81820b5b7620.022364137066285295 Ether
0x8f4a52b1289182ab59adc64bafa84d65436df1da17eeb25950aff1fca4b89bd0553778225 days 14 hrs ago0xb6d5414a1550b70d3a1280081b115fddc4a465d20xf3e154c722b0c4aad6230d8ec13a2c513d21dfbc0.203370577066071803 Ether
0xe681084775b2c4154c170c9a445add13ae741989addbb9c32db0e158100bf519553777225 days 14 hrs ago0xb6d5414a1550b70d3a1280081b115fddc4a465d20x6092338fe744f311872b11d0805527620afd85870.125538678639255603 Ether
0x0c321e09bfc30c424290b8fc34e36d59c28caf0400c2b8a378ec7805f8c4d2e7553769425 days 14 hrs ago0xb6d5414a1550b70d3a1280081b115fddc4a465d20x266049ae20eaf0b5d86acd8526726dec24adfa060.072338366438933778 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.