Sponsored Link:   Revain - How to find moon tokens to invest? See what crypto experts are saying. Read reviews!
Contract Overview
Balance: 4.411261081968740975 Ether
Ether Value: $2,995.47 (@ $679.05/ETH)
Transactions: 4836 txns
Token Contract: ETH.TOWN Token (ETIT)
 Latest 25 txns from a total Of 4836 transactions (+3 PendingTxns)
View All

TxHash Age From To Value [TxFee]
0x66929fce4ad90c9f4e9ef7d40eb7ffd8f8e9716aa95c18e0a382a6123319f814(pending)0x07f147bb631e1110c9af0fa9a85deb2594701d61  IN  0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0 Ether(pending)
0xf2aa2ca612295e108140523c6f7993745864eb73b123bc207e1a552f804fc74d(pending)0xe1fd4db76bb22cc5ae03616b6b748313a92aa9b7  IN  0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0 Ether(pending)
0x4414d9ff6203974f3d61904bfc4ed51ba195a0ea260f009ba87b61ab4f4b8119(pending)0x552371a51f7f2a6d46c9a90101719261c14df52b  IN  0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0 Ether(pending)
0x16e851c79a450b6f665a4872a48a5d641c677fa8fe9167e667da7d252223b1b810 mins ago0xf47c10b4416ab748b33862746be869aa5dabb491  IN   0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0 Ether0.000696264
0x9372410b7e79deeb881d073c218c26e954ccfb2ecc904f0061add6d0cd7a4db811 mins ago0xf47c10b4416ab748b33862746be869aa5dabb491  IN   0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0 Ether0.001563132
0x8964b264b2f78594c7e2b49d72d8f08011fd50a52d2de3fdbbb5626937e384fe21 mins ago0x22bc70559e47b84a5226ff8074b9aa9cfbe4686e  IN   0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0 Ether0.000516033
0x8a072504180b6f4c6a0df59c356715ce064cc22b742ff12a6a907686b41cbca424 mins ago0x22bc70559e47b84a5226ff8074b9aa9cfbe4686e  IN   0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0 Ether0.000483021
0x74aeddee6d5656878c387a7e52440b9fbc85124030d1402a28a199d55562c6b01 hr 31 mins ago0xa850778be5740815889f3f067ab71fba9847e417  IN   0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0 Ether0.00104739
0x3a493c2d15591fdc04041d8e986f1f6c67b60cd7066cf5fe984805c58d9b1b641 hr 32 mins ago0xe02fb1fc5b75c1682453383d22ca444484b062ba  IN   0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0 Ether0.00136449
0x40ecf982aaeb1782f3860adad7415eaa4ca3be5952c6a044209cf19624043aaa2 hrs 1 min ago0x90b298f5ff8a52d15c2709087f327af698fe9729  IN   0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0 Ether0.000546564
0xe627a130fae91a1dae310c7fea737fe8b1210a0f04764f57221a371ffb9270f83 hrs 50 mins ago0xab3009dbb3c9a5694ed818cf0d159e069dd55107  IN   0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0 Ether0.00024647
0xae1afcbb02dc6047dba6602761665c3b0ebf5a2be2b252cb7c8affdde93c9fb34 hrs 6 mins ago0xab3009dbb3c9a5694ed818cf0d159e069dd55107  IN   0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0 Ether0.00024647
0xe9b30e53dc44fb276fe08569b00495c6fb7136a1740dbe05742c1b15d991d9e016 hrs 47 mins ago0xf50b48d0c31228ca87cffe0ed564a5a1ad18efe5  IN   0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0 Ether0.000123235
0x965fb5b9db0c95c88caa223f9b556e625c4ff534b004fcd762e15f4c1219c1e823 hrs 53 mins ago0xf47c10b4416ab748b33862746be869aa5dabb491  IN   0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0 Ether0.0008366
0x513f64d05117541b27b4f53c307912c495699900552d4e220fc28c24b2094bad1 day 7 hrs ago0x552371a51f7f2a6d46c9a90101719261c14df52b  IN   0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0 Ether0.001190308
0x109971d3feaa8b695f6d35c62f124770e6b9a6dcad88594ba05d7bc2347092ec1 day 9 hrs ago0x36e058332ae39efad2315776b9c844e30d07388b  IN   0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0 Ether0.000874692
0xe10394465944af853c5d57996d0944210416a9317fa290f7062cd3796fce6d4c1 day 17 hrs ago0xf47c10b4416ab748b33862746be869aa5dabb491  IN   0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0 Ether0.000521044
0x88bf5633501873a2ddff621ced6de066fe1af4d1e5cfc2b3e1eb00a36d543a641 day 18 hrs ago0xcf0e9b4746cfb97bae329fe5f696969f6564566a  IN   0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0 Ether0.000523695
0x8bdce3b478e342e1150d286eedeec92e4090e46759e25fb7744eaccd60fca3611 day 18 hrs ago0xcf0e9b4746cfb97bae329fe5f696969f6564566a  IN   0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0 Ether0.000523695
0x378a45705c1cf60e9162923d1b9edf90b350d9e5a5215f5e18b1aba8508c9f931 day 18 hrs ago0x552371a51f7f2a6d46c9a90101719261c14df52b  IN   0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0 Ether0.000523674
0xfa59616fec8363587cbdfad4aa4577cf42669bc7596f633658dca54cf6f8e4801 day 18 hrs ago0x552371a51f7f2a6d46c9a90101719261c14df52b  IN   0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0 Ether0.000523674
0x2b6b496b023775dcfc08fc3854acec3021fdec8b20ca31a6299ba1399d4ca6441 day 19 hrs ago0x552371a51f7f2a6d46c9a90101719261c14df52b  IN   0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0 Ether0.000680176
0xc2aad53a82dfb5d90b7b3577c34be398fb7a07e0b9a991b78dedd7aaf1cf389c1 day 19 hrs ago0x552371a51f7f2a6d46c9a90101719261c14df52b  IN   0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0 Ether0.000740176
0x3b8fcca21667f663d05011e3b1888c0ae66a8c923897d05294849c43b235613d1 day 20 hrs ago0xb5288ce67780cb667b67dbf84af9e66bebb8ddd4  IN   0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0 Ether0.00033332
0x018571f8583d4fe80dc2bc2993a1c339108ad30752bc47ba7d58bf040f0b6af82 days 8 hrs ago0xb5288ce67780cb667b67dbf84af9e66bebb8ddd4  IN   0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0 Ether0.00033268
[ 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
0x817f2abf325f8525e2e9afd5266636a37bdc5d2183ce3dc1e8fa3ddb06bcab4a565823414 mins ago0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0x2efde4863c1920d34dc12dbc06b7f6fb8c77d86f0.007 Ether
0x817f2abf325f8525e2e9afd5266636a37bdc5d2183ce3dc1e8fa3ddb06bcab4a565823414 mins ago0x3a63a469f543f232c7e87cf564104f9b489f37910x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0.035 Ether
0x728c12fa73697b210a7f7ecfeb9be34a5d3be8df661da3e36a117ff75422d18c565823414 mins ago0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0x2efde4863c1920d34dc12dbc06b7f6fb8c77d86f0.01 Ether
0x728c12fa73697b210a7f7ecfeb9be34a5d3be8df661da3e36a117ff75422d18c565823414 mins ago0x3a63a469f543f232c7e87cf564104f9b489f37910x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0.05 Ether
0x41e82ef995f7182b18003b327bdf993132c217966c5e9ec36847b4c579436155565823414 mins ago0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0x2efde4863c1920d34dc12dbc06b7f6fb8c77d86f0.005 Ether
0x41e82ef995f7182b18003b327bdf993132c217966c5e9ec36847b4c579436155565823414 mins ago0x3a63a469f543f232c7e87cf564104f9b489f37910x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0.025 Ether
0x7c219e666ddcb2541d89172cb7ac14b6b928545bb6c31cd01034ca581f18686e565823215 mins ago0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0x2efde4863c1920d34dc12dbc06b7f6fb8c77d86f0.002 Ether
0x7c219e666ddcb2541d89172cb7ac14b6b928545bb6c31cd01034ca581f18686e565823215 mins ago0x3a63a469f543f232c7e87cf564104f9b489f37910x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0.01 Ether
0x6e80085f2d01a689dc46f9d600dea750342689a34d60daf1cded6213ce3a3812565815633 mins ago0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0x2efde4863c1920d34dc12dbc06b7f6fb8c77d86f0.007 Ether
0x6e80085f2d01a689dc46f9d600dea750342689a34d60daf1cded6213ce3a3812565815633 mins ago0x3a63a469f543f232c7e87cf564104f9b489f37910x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0.035 Ether
0x9f0865f2f3df060f5c649f1a9f26a174680cf3f4d46e0fad3ae25076adc8e8b8565814436 mins ago0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0x2efde4863c1920d34dc12dbc06b7f6fb8c77d86f0.005 Ether
0x9f0865f2f3df060f5c649f1a9f26a174680cf3f4d46e0fad3ae25076adc8e8b8565814436 mins ago0x3a63a469f543f232c7e87cf564104f9b489f37910x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0.025 Ether
0xf8f58b2d235eef46a4fb9b646b166859155861b96b75f347e259c925c819d5ad56572124 hrs 42 mins ago0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0x2efde4863c1920d34dc12dbc06b7f6fb8c77d86f0.01 Ether
0xf8f58b2d235eef46a4fb9b646b166859155861b96b75f347e259c925c819d5ad56572124 hrs 42 mins ago0x3a63a469f543f232c7e87cf564104f9b489f37910x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0.05 Ether
0xdfe6928236de3f132c795bdd0d906d9edf44007bc925e0d553f17a7b38b1311356572084 hrs 43 mins ago0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0x2efde4863c1920d34dc12dbc06b7f6fb8c77d86f0.007 Ether
0xdfe6928236de3f132c795bdd0d906d9edf44007bc925e0d553f17a7b38b1311356572084 hrs 43 mins ago0x3a63a469f543f232c7e87cf564104f9b489f37910x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0.035 Ether
0x13b0a7fd484f80ccbb8cbd0c06069ca3c7c5bfc13e3d31db583f031cb66326f156572064 hrs 43 mins ago0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0x2efde4863c1920d34dc12dbc06b7f6fb8c77d86f0.005 Ether
0x13b0a7fd484f80ccbb8cbd0c06069ca3c7c5bfc13e3d31db583f031cb66326f156572064 hrs 43 mins ago0x3a63a469f543f232c7e87cf564104f9b489f37910x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0.025 Ether
0x861be8c72ed76c47768e181be9459dd2ac160db8a598ac7f45360ae607c285f956562688 hrs 41 mins ago0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0x2efde4863c1920d34dc12dbc06b7f6fb8c77d86f0.00242 Ether
0x861be8c72ed76c47768e181be9459dd2ac160db8a598ac7f45360ae607c285f956562688 hrs 41 mins ago0x1c07b0b3ba981f89c3dc2fd71f31ca9c93371de10x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0.0121 Ether
0x1b981a0c467edecc3d1c05a9c1f453d075892da94c33c7ea225be58fad2eedc056562388 hrs 47 mins ago0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0x2efde4863c1920d34dc12dbc06b7f6fb8c77d86f0.002 Ether
0x1b981a0c467edecc3d1c05a9c1f453d075892da94c33c7ea225be58fad2eedc056562388 hrs 47 mins ago0x3a63a469f543f232c7e87cf564104f9b489f37910x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0.01 Ether
0x6455de4073063145a2f5b67b5108e2ccc1e666b0c3d37774927ec4eecaba185956560169 hrs 44 mins ago0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0x2efde4863c1920d34dc12dbc06b7f6fb8c77d86f0.004 Ether
0x6455de4073063145a2f5b67b5108e2ccc1e666b0c3d37774927ec4eecaba185956560169 hrs 44 mins ago0x3a63a469f543f232c7e87cf564104f9b489f37910x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0.02 Ether
0x0d901a7c544e01769aacf64c7622f755edb86deff9b41bbcea78bc29122e7e7356559949 hrs 52 mins ago0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0x2efde4863c1920d34dc12dbc06b7f6fb8c77d86f0.007 Ether
[ Download CSV Export  ] 
Contract Source Code Verified (Exact match)
Contract Name: ETToken
Compiler Version: v0.4.21+commit.dfe3193c
Optimization Enabled: Yes
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts

pragma solidity ^0.4.21;

// SafeMath is a part of Zeppelin Solidity library
// licensed under MIT License
// https://github.com/OpenZeppelin/zeppelin-solidity/blob/master/LICENSE

/**
 * @title SafeMath
 * @dev Math operations with safety checks that throw on error
 */
library SafeMath {
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        assert(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;
    }
}

// https://github.com/OpenZeppelin/zeppelin-solidity

/**
 * @title ERC20Basic
 * @dev Simpler version of ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/179
 */
contract ERC20Basic {
    function totalSupply() public view returns (uint256);
    function balanceOf(address who) public view returns (uint256);
    function transfer(address to, uint256 value) public returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
}

/**
 * @title ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/20
 */
contract ERC20 is ERC20Basic {
    function allowance(address owner, address spender) public view returns (uint256);
    function transferFrom(address from, address to, uint256 value) public returns (bool);
    function approve(address spender, uint256 value) public returns (bool);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

/**
 * @title Basic token
 * @dev Basic version of StandardToken, with no allowances.
 */
contract BasicToken is ERC20Basic {
    using SafeMath for uint256;

    mapping(address => uint256) balances;

    uint256 totalSupply_;

    /**
    * @dev Protection from short address attack
    */
    modifier onlyPayloadSize(uint size) {
        assert(msg.data.length == size + 4);
        _;
    }

    /**
    * @dev total number of tokens in existence
    */
    function totalSupply() public view returns (uint256) {
        return totalSupply_;
    }

    /**
    * @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) onlyPayloadSize(2 * 32) public returns (bool) {
        require(_to != address(0));
        require(_value <= balances[msg.sender]);

        // SafeMath.sub will throw if there is not enough balance.
        balances[msg.sender] = balances[msg.sender].sub(_value);
        balances[_to] = balances[_to].add(_value);
        emit Transfer(msg.sender, _to, _value);

        _postTransferHook(msg.sender, _to, _value);

        return true;
    }

    /**
    * @dev Gets the balance of the specified address.
    * @param _owner The address to query the the balance of.
    * @return An uint256 representing the amount owned by the passed address.
    */
    function balanceOf(address _owner) public view returns (uint256 balance) {
        return balances[_owner];
    }

    /**
    * @dev Hook for custom actions to be executed after transfer has completed
    * @param _from Transferred from
    * @param _to Transferred to
    * @param _value Value transferred
    */
    function _postTransferHook(address _from, address _to, uint256 _value) internal;
}

/**
 * @title Standard ERC20 token
 *
 * @dev Implementation of the basic standard token.
 * @dev https://github.com/ethereum/EIPs/issues/20
 * @dev Based on code by FirstBlood: https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol
 */
contract StandardToken is ERC20, BasicToken {

    mapping (address => mapping (address => uint256)) internal allowed;


    /**
     * @dev Transfer tokens from one address to another
     * @param _from address The address which you want to send tokens from
     * @param _to address The address which you want to transfer to
     * @param _value uint256 the amount of tokens to be transferred
     */
    function transferFrom(address _from, address _to, uint256 _value) public returns (bool) {
        require(_to != address(0));
        require(_value <= balances[_from]);
        require(_value <= allowed[_from][msg.sender]);

        balances[_from] = balances[_from].sub(_value);
        balances[_to] = balances[_to].add(_value);
        allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);
        emit Transfer(_from, _to, _value);

        _postTransferHook(_from, _to, _value);

        return true;
    }

    /**
     * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.
     *
     * Beware that changing an allowance with this method brings the risk that someone may use both the old
     * and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this
     * race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards:
     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
     * @param _spender The address which will spend the funds.
     * @param _value The amount of tokens to be spent.
     */
    function approve(address _spender, uint256 _value) public returns (bool) {
        allowed[msg.sender][_spender] = _value;
        emit Approval(msg.sender, _spender, _value);
        return true;
    }

    /**
     * @dev Function to check the amount of tokens that an owner allowed to a spender.
     * @param _owner address The address which owns the funds.
     * @param _spender address The address which will spend the funds.
     * @return A uint256 specifying the amount of tokens still available for the spender.
     */
    function allowance(address _owner, address _spender) public view returns (uint256) {
        return allowed[_owner][_spender];
    }

    /**
     * @dev Increase the amount of tokens that an owner allowed to a spender.
     *
     * approve should be called when allowed[_spender] == 0. To increment
     * allowed value is better to use this function to avoid 2 calls (and wait until
     * the first transaction is mined)
     * From MonolithDAO Token.sol
     * @param _spender The address which will spend the funds.
     * @param _addedValue The amount of tokens to increase the allowance by.
     */
    function increaseApproval(address _spender, uint _addedValue) public returns (bool) {
        allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add(_addedValue);
        emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
        return true;
    }

    /**
     * @dev Decrease the amount of tokens that an owner allowed to a spender.
     *
     * approve should be called when allowed[_spender] == 0. To decrement
     * allowed value is better to use this function to avoid 2 calls (and wait until
     * the first transaction is mined)
     * From MonolithDAO Token.sol
     * @param _spender The address which will spend the funds.
     * @param _subtractedValue The amount of tokens to decrease the allowance by.
     */
    function decreaseApproval(address _spender, uint _subtractedValue) public returns (bool) {
        uint oldValue = allowed[msg.sender][_spender];
        if (_subtractedValue > oldValue) {
            allowed[msg.sender][_spender] = 0;
        } else {
            allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue);
        }
        emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
        return true;
    }

}

contract Owned {
    address owner;

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

    /// @dev Contract constructor
    function Owned() public {
        owner = msg.sender;
    }
}


contract AcceptsTokens {
    ETToken public tokenContract;

    function AcceptsTokens(address _tokenContract) public {
        tokenContract = ETToken(_tokenContract);
    }

    modifier onlyTokenContract {
        require(msg.sender == address(tokenContract));
        _;
    }

    function acceptTokens(address _from, uint256 _value, uint256 param1, uint256 param2, uint256 param3) external;
}

contract ETToken is Owned, StandardToken {
    using SafeMath for uint;

    string public name = "ETH.TOWN Token";
    string public symbol = "ETIT";
    uint8 public decimals = 18;

    address public beneficiary;
    address public oracle;
    address public heroContract;
    modifier onlyOracle {
        require(msg.sender == oracle);
        _;
    }

    mapping (uint32 => address) public floorContracts;
    mapping (address => bool) public canAcceptTokens;

    mapping (address => bool) public isMinter;

    modifier onlyMinters {
        require(msg.sender == owner || isMinter[msg.sender]);
        _;
    }

    event Dividend(uint256 value);
    event Withdrawal(address indexed to, uint256 value);
    event Burn(address indexed from, uint256 value);

    function ETToken() public {
        oracle = owner;
        beneficiary = owner;

        totalSupply_ = 0;
    }

    function setOracle(address _oracle) external onlyOwner {
        oracle = _oracle;
    }
    function setBeneficiary(address _beneficiary) external onlyOwner {
        beneficiary = _beneficiary;
    }
    function setHeroContract(address _heroContract) external onlyOwner {
        heroContract = _heroContract;
    }

    function _mintTokens(address _user, uint256 _amount) private {
        require(_user != 0x0);

        balances[_user] = balances[_user].add(_amount);
        totalSupply_ = totalSupply_.add(_amount);

        emit Transfer(address(this), _user, _amount);
    }

    function authorizeFloor(uint32 _index, address _floorContract) external onlyOwner {
        floorContracts[_index] = _floorContract;
    }

    function _acceptDividends(uint256 _value) internal {
        uint256 beneficiaryShare = _value / 5;
        uint256 poolShare = _value.sub(beneficiaryShare);

        beneficiary.transfer(beneficiaryShare);

        emit Dividend(poolShare);
    }

    function acceptDividends(uint256 _value, uint32 _floorIndex) external {
        require(floorContracts[_floorIndex] == msg.sender);

        _acceptDividends(_value);
    }

    function rewardTokensFloor(address _user, uint256 _tokens, uint32 _floorIndex) external {
        require(floorContracts[_floorIndex] == msg.sender);

        _mintTokens(_user, _tokens);
    }

    function rewardTokens(address _user, uint256 _tokens) external onlyMinters {
        _mintTokens(_user, _tokens);
    }

    function() payable public {
        // Intentionally left empty, for use by floors
    }

    function payoutDividends(address _user, uint256 _value) external onlyOracle {
        _user.transfer(_value);

        emit Withdrawal(_user, _value);
    }

    function accountAuth(uint256 /*_challenge*/) external {
        // Does nothing by design
    }

    function burn(uint256 _amount) external {
        require(balances[msg.sender] >= _amount);

        balances[msg.sender] = balances[msg.sender].sub(_amount);
        totalSupply_ = totalSupply_.sub(_amount);

        emit Burn(msg.sender, _amount);
    }

    function setCanAcceptTokens(address _address, bool _value) external onlyOwner {
        canAcceptTokens[_address] = _value;
    }

    function setIsMinter(address _address, bool _value) external onlyOwner {
        isMinter[_address] = _value;
    }

    function _invokeTokenRecipient(address _from, address _to, uint256 _value, uint256 _param1, uint256 _param2, uint256 _param3) internal {
        if (!canAcceptTokens[_to]) {
            return;
        }

        AcceptsTokens recipient = AcceptsTokens(_to);

        recipient.acceptTokens(_from, _value, _param1, _param2, _param3);
    }

    /**
    * @dev transfer token for a specified address and forward the parameters to token recipient if any
    * @param _to The address to transfer to.
    * @param _value The amount to be transferred.
    * @param _param1 Parameter 1 for the token recipient
    * @param _param2 Parameter 2 for the token recipient
    * @param _param3 Parameter 3 for the token recipient
    */
    function transferWithParams(address _to, uint256 _value, uint256 _param1, uint256 _param2, uint256 _param3) onlyPayloadSize(5 * 32) external returns (bool) {
        require(_to != address(0));
        require(_value <= balances[msg.sender]);

        // SafeMath.sub will throw if there is not enough balance.
        balances[msg.sender] = balances[msg.sender].sub(_value);
        balances[_to] = balances[_to].add(_value);
        emit Transfer(msg.sender, _to, _value);

        _invokeTokenRecipient(msg.sender, _to, _value, _param1, _param2, _param3);

        return true;
    }

    /**
    * @dev Hook for custom actions to be executed after transfer has completed
    * @param _from Transferred from
    * @param _to Transferred to
    * @param _value Value transferred
    */
    function _postTransferHook(address _from, address _to, uint256 _value) internal {
        _invokeTokenRecipient(_from, _to, _value, 0, 0, 0);
    }


}

    Contract ABI  
[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"heroContract","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_index","type":"uint32"},{"name":"_floorContract","type":"address"}],"name":"authorizeFloor","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_beneficiary","type":"address"}],"name":"setBeneficiary","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"},{"name":"_value","type":"bool"}],"name":"setCanAcceptTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"canAcceptTokens","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"},{"name":"_floorIndex","type":"uint32"}],"name":"acceptDividends","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"beneficiary","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_user","type":"address"},{"name":"_tokens","type":"uint256"},{"name":"_floorIndex","type":"uint32"}],"name":"rewardTokensFloor","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"},{"name":"_param1","type":"uint256"},{"name":"_param2","type":"uint256"},{"name":"_param3","type":"uint256"}],"name":"transferWithParams","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_amount","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint32"}],"name":"floorContracts","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"},{"name":"_value","type":"bool"}],"name":"setIsMinter","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_user","type":"address"},{"name":"_value","type":"uint256"}],"name":"payoutDividends","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_oracle","type":"address"}],"name":"setOracle","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"oracle","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_user","type":"address"},{"name":"_tokens","type":"uint256"}],"name":"rewardTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"","type":"uint256"}],"name":"accountAuth","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"isMinter","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_heroContract","type":"address"}],"name":"setHeroContract","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"value","type":"uint256"}],"name":"Dividend","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Withdrawal","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"}]

  Contract Creation Code Switch To Opcodes View
606060405260408051908101604052600e81527f4554482e544f574e20546f6b656e000000000000000000000000000000000000602082015260049080516200004d92916020019062000106565b5060408051908101604052600481527f4554495400000000000000000000000000000000000000000000000000000000602082015260059080516200009792916020019062000106565b506006805460ff191660121790553415620000b157600080fd5b60008054600160a060020a03338116600160a060020a031992831617808455600780549093169116908117909155600680546101009290920261010060a860020a0319909216919091179055600255620001ab565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200014957805160ff191683800117855562000179565b8280016001018555821562000179579182015b82811115620001795782518255916020019190600101906200015c565b50620001879291506200018b565b5090565b620001a891905b8082111562000187576000815560010162000192565b90565b61137a80620001bb6000396000f30060606040526004361061017f5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde038114610181578063095ea7b31461020b5780630daf999a1461024157806318160ddd14610270578063182575f1146102955780631c31f710146102bd57806323b872dd146102dc578063294205b4146103045780632e15563e14610328578063313ce567146103475780633719427e1461037057806338af3eed1461038f5780633e2e806d146103a2578063411cc791146103cd57806342966c68146103f85780634d7987171461040e578063661884631461042a57806366eb399f1461044c57806370a082311461047057806373eec3c51461048f5780637adbf973146104b15780637dc0d1d0146104d057806381a4af15146104e3578063824032971461050557806395d89b411461051b578063a9059cbb1461052e578063aa271e1a14610550578063d2ac0f591461056f578063d73dd6231461058e578063dd62ed3e146105b0575b005b341561018c57600080fd5b6101946105d5565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101d05780820151838201526020016101b8565b50505050905090810190601f1680156101fd5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561021657600080fd5b61022d600160a060020a0360043516602435610673565b604051901515815260200160405180910390f35b341561024c57600080fd5b6102546106df565b604051600160a060020a03909116815260200160405180910390f35b341561027b57600080fd5b6102836106ee565b60405190815260200160405180910390f35b34156102a057600080fd5b61017f63ffffffff60043516600160a060020a03602435166106f4565b34156102c857600080fd5b61017f600160a060020a0360043516610752565b34156102e757600080fd5b61022d600160a060020a03600435811690602435166044356107a2565b341561030f57600080fd5b61017f600160a060020a0360043516602435151561091d565b341561033357600080fd5b61022d600160a060020a0360043516610963565b341561035257600080fd5b61035a610978565b60405160ff909116815260200160405180910390f35b341561037b57600080fd5b61017f60043563ffffffff60243516610981565b341561039a57600080fd5b6102546109bc565b34156103ad57600080fd5b61017f600160a060020a036004351660243563ffffffff604435166109d0565b34156103d857600080fd5b61022d600160a060020a0360043516602435604435606435608435610a0d565b341561040357600080fd5b61017f600435610b14565b341561041957600080fd5b61025463ffffffff60043516610bd2565b341561043557600080fd5b61022d600160a060020a0360043516602435610bed565b341561045757600080fd5b61017f600160a060020a03600435166024351515610ce7565b341561047b57600080fd5b610283600160a060020a0360043516610d2d565b341561049a57600080fd5b61017f600160a060020a0360043516602435610d48565b34156104bc57600080fd5b61017f600160a060020a0360043516610dd5565b34156104db57600080fd5b610254610e1f565b34156104ee57600080fd5b61017f600160a060020a0360043516602435610e2e565b341561051057600080fd5b61017f600435610e78565b341561052657600080fd5b610194610e7b565b341561053957600080fd5b61022d600160a060020a0360043516602435610ee6565b341561055b57600080fd5b61022d600160a060020a0360043516610fdd565b341561057a57600080fd5b61017f600160a060020a0360043516610ff2565b341561059957600080fd5b61022d600160a060020a036004351660243561103c565b34156105bb57600080fd5b610283600160a060020a03600435811690602435166110e0565b60048054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561066b5780601f106106405761010080835404028352916020019161066b565b820191906000526020600020905b81548152906001019060200180831161064e57829003601f168201915b505050505081565b600160a060020a03338116600081815260036020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b600854600160a060020a031681565b60025490565b60005433600160a060020a0390811691161461070f57600080fd5b63ffffffff919091166000908152600960205260409020805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055565b60005433600160a060020a0390811691161461076d57600080fd5b60068054600160a060020a039092166101000274ffffffffffffffffffffffffffffffffffffffff0019909216919091179055565b6000600160a060020a03831615156107b957600080fd5b600160a060020a0384166000908152600160205260409020548211156107de57600080fd5b600160a060020a038085166000908152600360209081526040808320339094168352929052205482111561081157600080fd5b600160a060020a03841660009081526001602052604090205461083a908363ffffffff61110b16565b600160a060020a03808616600090815260016020526040808220939093559085168152205461086f908363ffffffff61111d16565b600160a060020a038085166000908152600160209081526040808320949094558783168252600381528382203390931682529190915220546108b7908363ffffffff61110b16565b600160a060020a038086166000818152600360209081526040808320338616845290915290819020939093559085169160008051602061132f8339815191529085905190815260200160405180910390a3610913848484611133565b5060019392505050565b60005433600160a060020a0390811691161461093857600080fd5b600160a060020a03919091166000908152600a60205260409020805460ff1916911515919091179055565b600a6020526000908152604090205460ff1681565b60065460ff1681565b63ffffffff811660009081526009602052604090205433600160a060020a039081169116146109af57600080fd5b6109b882611143565b5050565b6006546101009004600160a060020a031681565b63ffffffff811660009081526009602052604090205433600160a060020a039081169116146109fe57600080fd5b610a0883836111c6565b505050565b600060a03660a414610a1b57fe5b600160a060020a0387161515610a3057600080fd5b600160a060020a033316600090815260016020526040902054861115610a5557600080fd5b600160a060020a033316600090815260016020526040902054610a7e908763ffffffff61110b16565b600160a060020a033381166000908152600160205260408082209390935590891681522054610ab3908763ffffffff61111d16565b600160a060020a03808916600081815260016020526040908190209390935591339091169060008051602061132f8339815191529089905190815260200160405180910390a3610b07338888888888611266565b5060019695505050505050565b600160a060020a03331660009081526001602052604090205481901015610b3a57600080fd5b600160a060020a033316600090815260016020526040902054610b63908263ffffffff61110b16565b600160a060020a033316600090815260016020526040902055600254610b8f908263ffffffff61110b16565b600255600160a060020a0333167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58260405190815260200160405180910390a250565b600960205260009081526040902054600160a060020a031681565b600160a060020a03338116600090815260036020908152604080832093861683529290529081205480831115610c4a57600160a060020a033381166000908152600360209081526040808320938816835292905290812055610c81565b610c5a818463ffffffff61110b16565b600160a060020a033381166000908152600360209081526040808320938916835292905220555b600160a060020a0333811660008181526003602090815260408083209489168084529490915290819020547f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925915190815260200160405180910390a35060019392505050565b60005433600160a060020a03908116911614610d0257600080fd5b600160a060020a03919091166000908152600b60205260409020805460ff1916911515919091179055565b600160a060020a031660009081526001602052604090205490565b60075433600160a060020a03908116911614610d6357600080fd5b600160a060020a03821681156108fc0282604051600060405180830381858888f193505050501515610d9457600080fd5b81600160a060020a03167f7fcf532c15f0a6db0bd6d0e038bea71d30d808c7d98cb3bf7268a95bf5081b658260405190815260200160405180910390a25050565b60005433600160a060020a03908116911614610df057600080fd5b6007805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600754600160a060020a031681565b60005433600160a060020a0390811691161480610e635750600160a060020a0333166000908152600b602052604090205460ff165b1515610e6e57600080fd5b6109b882826111c6565b50565b60058054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561066b5780601f106106405761010080835404028352916020019161066b565b6000604036604414610ef457fe5b600160a060020a0384161515610f0957600080fd5b600160a060020a033316600090815260016020526040902054831115610f2e57600080fd5b600160a060020a033316600090815260016020526040902054610f57908463ffffffff61110b16565b600160a060020a033381166000908152600160205260408082209390935590861681522054610f8c908463ffffffff61111d16565b600160a060020a03808616600081815260016020526040908190209390935591339091169060008051602061132f8339815191529086905190815260200160405180910390a3610913338585611133565b600b6020526000908152604090205460ff1681565b60005433600160a060020a0390811691161461100d57600080fd5b6008805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600160a060020a033381166000908152600360209081526040808320938616835292905290812054611074908363ffffffff61111d16565b600160a060020a0333811660008181526003602090815260408083209489168084529490915290819020849055919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591905190815260200160405180910390a350600192915050565b600160a060020a03918216600090815260036020908152604080832093909416825291909152205490565b60008282111561111757fe5b50900390565b60008282018381101561112c57fe5b9392505050565b610a088383836000806000611266565b600581046000611153838361110b565b6006549091506101009004600160a060020a03166108fc83150283604051600060405180830381858888f19350505050151561118e57600080fd5b7f69c382338c74e0d3a990efe1a52ae89dcf6a9ab705628ec4424f49cddd4e2f898160405190815260200160405180910390a1505050565b600160a060020a03821615156111db57600080fd5b600160a060020a038216600090815260016020526040902054611204908263ffffffff61111d16565b600160a060020a038316600090815260016020526040902055600254611230908263ffffffff61111d16565b600255600160a060020a0380831690301660008051602061132f8339815191528360405190815260200160405180910390a35050565b600160a060020a0385166000908152600a602052604081205460ff16151561128d57611325565b5084600160a060020a038116639c908f6188878787876040517c010000000000000000000000000000000000000000000000000000000063ffffffff8816028152600160a060020a039095166004860152602485019390935260448401919091526064830152608482015260a401600060405180830381600087803b151561131457600080fd5b5af1151561132157600080fd5b5050505b505050505050505600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a7230582017eec06f396b0ca99a695c50ebca4876cca778c0bd1a22a29ae6199c2e734ecd0029

   Swarm Source:
bzzr://17eec06f396b0ca99a695c50ebca4876cca778c0bd1a22a29ae6199c2e734ecd

 

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.