Sponsored:   Kirik Meta Protocol - New Generation of Blockchain - Join Pre-Sale Aug 15-17
 Latest 25 txns from a total Of 14697 transactions
(> more than 25 PendingTxns)

TxHash Age From To Value [TxFee]
0xf334036933867b1402e503a47a9f5e3229f1a323fa4484acba011c659c12a9ae(pending)0x6a1675f6bde86ab3a13b18b8b1e17665b17c7256  IN  0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0 Ether(pending)
0x3aa150302aa31f3fa8e4dc2e071f2e978eac7726eb94b0571727e4618da2a9be(pending)0x6a1675f6bde86ab3a13b18b8b1e17665b17c7256  IN  0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0 Ether(pending)
0xb211e422c31dd948b7d0c12a21e21f7ed15c978d79082f538e68bb446d28a364(pending)0x6a1675f6bde86ab3a13b18b8b1e17665b17c7256  IN  0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0 Ether(pending)
0x0e5c5ebc64ad025a890d7c71aa901a6a0db1433ec33a6ee1ade246e884886c8a(pending)0x6a1675f6bde86ab3a13b18b8b1e17665b17c7256  IN  0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0 Ether(pending)
0x555634c5d35f534712a98b13abff055f28582c719aeca1948727d798ddb97dda(pending)0x6a1675f6bde86ab3a13b18b8b1e17665b17c7256  IN  0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0 Ether(pending)
0x954eee69170217e89ad1b16abed1a0b7aac2367459e394a552de9ea471129a43(pending)0xee9111337dedae36961b438dff25192244754cd1  IN  0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0 Ether(pending)
0x66cd1dafc723e8676acc49e18b4f87253a26f6177c6761704147732890ade69b(pending)0x964c8e31a6480f69ec1b0bcde4ba9b802945ed04  IN  0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0 Ether(pending)
0xb0bd407167225de33ecc94ca59faf2a1a95b05f6bfd8d7a4e2e91b9f74d186c0(pending)0x404c9f3d065d34e6ed7f0269907fd0b5c6f886d1  IN  0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0 Ether(pending)
0xbae799c7ce9cc73c90c5d25bef490bf8324ee3732c1bade146e4f43bc8cebb77(pending)0xc352484108b8eec1743fb0fcd7109f7bfa969d3d  IN  0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0 Ether(pending)
0x477955ec1a6029ed0903551485cbc8dfc36f8c0706c237cfa594de8424377435(pending)0xee9111337dedae36961b438dff25192244754cd1  IN  0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0 Ether(pending)
0xe540e96395b283dae42592931a6cc03882ae4a2d43438ea61f4a422d4a4b6aa5(pending)0xc352484108b8eec1743fb0fcd7109f7bfa969d3d  IN  0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0 Ether(pending)
0x4b86151ed703bf9e8121429b8fe65e68d075ebee42769186a362eaec7b166535(pending)0xc352484108b8eec1743fb0fcd7109f7bfa969d3d  IN  0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0 Ether(pending)
0x0a2e3e6e36a00b680e072bbfba0d1086bac46727554ea33779ecbd8f460c271d(pending)0xee9111337dedae36961b438dff25192244754cd1  IN  0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0 Ether(pending)
0xb9b69f4f4dc9d85089405fd5f180ae5fd7ad314004034b2fc072c599de231c5a(pending)0x494952f01a30547d269aaf147e6226f940f5b041  IN  0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0 Ether(pending)
0x80b94b465df1d7667373cfe21b80e63121cf502c72be96f8f94f47f513cf8018(pending)0x494952f01a30547d269aaf147e6226f940f5b041  IN  0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0 Ether(pending)
0x6b1d51b0fe77e6bd3730378d448601e01b4c34d212ab7a0fe8c132de02ee8fbc(pending)0xc352484108b8eec1743fb0fcd7109f7bfa969d3d  IN  0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0 Ether(pending)
0xd3096f29844b814da07a59b8379497a04fbe3ef347277d84ed7ef3920f93c9ec(pending)0x17956c5b0d1761f75b7494e60d064ddc7ce943a5  IN  0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0 Ether(pending)
0x7aa8ecfd77668d1f0ca4d4c08c13b32a9f58053a98d0e9b6f2a4227683b7b79a(pending)0xc352484108b8eec1743fb0fcd7109f7bfa969d3d  IN  0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0 Ether(pending)
0xfd9619abd6e783d1dba9a5fd71c3af2e1ed62d16b50150eef3934750bd57d016(pending)0x5e69e62c77e89f5e7280a8b27fcbea3091b4934b  IN  0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0 Ether(pending)
0x65a8edd24b22cb3865ffbb5f5f67d8fccafb3ae8ede915758948368dda0e5e7a(pending)0x5e69e62c77e89f5e7280a8b27fcbea3091b4934b  IN  0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0 Ether(pending)
0x5f556292420ae9b71b5558dd2d08bdb362dadd876985b9e0b479a639530aaabc(pending)0xc352484108b8eec1743fb0fcd7109f7bfa969d3d  IN  0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0 Ether(pending)
0x34f0819a9620faef535a8d992a5f2d836abb0eb9edc0b06f2edd26bef2458042(pending)0x494952f01a30547d269aaf147e6226f940f5b041  IN  0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0 Ether(pending)
0xaea5a822fea0e69fe5542677157b6a1be3976721f9c88fdcfd8754754fb4b2db(pending)0x144a543ce8ce0a3398bbbc541f251d70e9a9b5ac  IN  0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0 Ether(pending)
0x50e2cfe03733021d13a9fa1a5f2ebcb7923919bed14e4bbaed136255a6d2bf21(pending)0xc352484108b8eec1743fb0fcd7109f7bfa969d3d  IN  0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0 Ether(pending)
0xf3fb27642c1e9846f235452cacbdeec76b5a3d16f6dc33d8191f4cd46a60ebfc(pending)0x94cf5b6d56e6747cae89ebc5ba1cd806a023db40  IN  0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0 Ether(pending)
 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
0x0d2782e983dc8893b3c5b2ed3c536358b472f0a450b307fbe880c1e0800e492361476873 mins ago0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0x0bd5d9b6f8e0a380e0a060e3c541f98b61ab827f0.08433714410813907 Ether
0x60c52cc6e4b047d874bb5a52246d9c72de9f82cd7815258ca502a520950d316461476853 mins ago0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0xf9172446f3b6f0d027ef8f0a7fafa117ff5439c20.028099313678103222 Ether
0x5aaf042902331bfd59d4883523c3ae820eb921220a62ad97cc8ece40a5a95f1861476815 mins ago0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0xd9f0b0e3f64568883ae52681c93a396f8178f7fd0.014754500949214887 Ether
0xca8363486e147add6ed0dbd1e63e430ab7aecf638342ad4ab52a6993c1646ac961476796 mins ago0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0x0d5b57879446814fd8fa492f02abaa6ad2a845fa0.00517032044469561 Ether
0x91eee4fe578193b6a6ab432f3b4c7da8e1f89b16af74be1d1bf7633b82a3eb5761476719 mins ago0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0xc6d6810b85cde61ea0643516eb47ae5d42609eb80.001762423281884818 Ether
0xbae961f897ae945d8c1efb8de63d617792ae8148c60fed82b1f56b7f8369345061476699 mins ago0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0xe17db28da80d2b8d40dcb7562b818f0dbb3239d40.001762423281884818 Ether
0xff4f4d678161c387c14400b361a47a60a6316c798b28e0c767cdf4454cdc4b35614766710 mins ago0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0x2efde4863c1920d34dc12dbc06b7f6fb8c77d86f0.027569837918143296 Ether
0xff4f4d678161c387c14400b361a47a60a6316c798b28e0c767cdf4454cdc4b35614766710 mins ago0x7d73e5441ea998a83d2f09aeebd6ab11f7ca66bb0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0.137849189590716483 Ether
0xf7b9c8760c90c1aa669a04d3e0b78c717fed171687fc221d862dfce1dc63e59e614761623 mins ago0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0x2efde4863c1920d34dc12dbc06b7f6fb8c77d86f0.025063489016493906 Ether
0xf7b9c8760c90c1aa669a04d3e0b78c717fed171687fc221d862dfce1dc63e59e614761623 mins ago0x7d73e5441ea998a83d2f09aeebd6ab11f7ca66bb0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0.12531744508246953 Ether
0x9846acdbfd47ff8f07e6489b09b0d1cb591b4802f3742dfe349c5696d776b086614761024 mins ago0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0x70a9e0d9a01cd82c61d717df35210e346e2e59760.130786316138542032 Ether
0x18fef7aead8f5452cc927cfcfc9ca2f0735304ad4a5e27130a4aa68b5ef92fd5614759726 mins ago0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0xaf898fc38e04824985bdd9b461b71cc4e03636460.295703008483636764 Ether
0xdda828c615c036d9f341125dec052610f56ad8fdd1d1c5afad52a7a006d7c330614757931 mins ago0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0x0248e17744287af0ee615783c04fc4acc01e2f100.02713546494761592 Ether
0xb5c7ee027cb5a8ba0f50e97275ace0633d61eedd8a2bce28f29ab213ea6e9dab614756635 mins ago0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0x2efde4863c1920d34dc12dbc06b7f6fb8c77d86f0.02227299001499446 Ether
0xb5c7ee027cb5a8ba0f50e97275ace0633d61eedd8a2bce28f29ab213ea6e9dab614756635 mins ago0x7d73e5441ea998a83d2f09aeebd6ab11f7ca66bb0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0.1113649500749723 Ether
0x66428d4bc1695372bdb4fb5342e501ab3c67066a61fe98866af21168781034fa614755737 mins ago0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0x183febd8828a9ac6c70c0e27fbf441b93004fc050.742739941600002001 Ether
0x6d0b16870487d0ed8c2bcae1ca395fe54bad3f2fbaa235ebd56069a717c00fdd614751247 mins ago0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0x2efde4863c1920d34dc12dbc06b7f6fb8c77d86f0.0196896272863586 Ether
0x6d0b16870487d0ed8c2bcae1ca395fe54bad3f2fbaa235ebd56069a717c00fdd614751247 mins ago0x7d73e5441ea998a83d2f09aeebd6ab11f7ca66bb0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0.098448136431793 Ether
0xac18bf4badaeaeee924e9051d2b93a351e24b84d86403f9e9ecd887c9c38c0fe614746359 mins ago0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0x2efde4863c1920d34dc12dbc06b7f6fb8c77d86f0.020110570260326 Ether
0xac18bf4badaeaeee924e9051d2b93a351e24b84d86403f9e9ecd887c9c38c0fe614746359 mins ago0x7d73e5441ea998a83d2f09aeebd6ab11f7ca66bb0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0.10055285130163 Ether
0xc25dd78093343232819e6081a676facc0146043789ca3057cec4a92f4466ff0861474491 hr 4 mins ago0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0x2efde4863c1920d34dc12dbc06b7f6fb8c77d86f0.001386525 Ether
0xc25dd78093343232819e6081a676facc0146043789ca3057cec4a92f4466ff0861474491 hr 4 mins ago0x024be6824fe397521179503c3bd2d9feb4ab05b40x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0.006932625 Ether
0x8bba7ea2912e38cf8e314f2196f75a5b61d422d7aafe64382e89a938ccb0db9461474171 hr 11 mins ago0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0x2efde4863c1920d34dc12dbc06b7f6fb8c77d86f0.01711870023666 Ether
0x8bba7ea2912e38cf8e314f2196f75a5b61d422d7aafe64382e89a938ccb0db9461474171 hr 11 mins ago0x7d73e5441ea998a83d2f09aeebd6ab11f7ca66bb0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0.0855935011833 Ether
0xf7784e8cc02bcfb92dc25ed86ea3ac0995f1a04f3b526a542bf5bb8ae477a8b861473991 hr 15 mins ago0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0x2efde4863c1920d34dc12dbc06b7f6fb8c77d86f0.0003121206 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.