Sponsored:   [Largest VC Funded] TEMCO, millions sold out in seconds. Join TEMCO's last presale at CoinBene!
 Latest 25 transactions from a total of 34886 transactions
(+3 PendingTxns)

TxHash Age From To Value [TxFee]
0x65973ba48822581f4c4d3d324642f2831827a6cf3a6fc73e2f87f60a3c043f8d(pending)0xf47c10b4416ab748b33862746be869aa5dabb491  IN  0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0 Ether(Pending)
0x0cd7acd305c2e6b9fefea078e15edcc723b4a939d9028a715e543989be601bfd(pending)0xf47c10b4416ab748b33862746be869aa5dabb491  IN  0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0 Ether(Pending)
0x48f92d14740a82b30880331b2a0022358db80c4f6298382b0d0bafcc1f5faeec(pending)0x215d1921f21396f8aa39fc9a4c1e8a0d48264f26  IN  0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0 Ether(Pending)
0xeb5704e358971572a86664d6aa33f6e5e87f51a71bafccda1d9972cc875c31d717 mins ago0x82195047910c3874731a8e285ebcce4fdc6ffc53  IN   0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0 Ether0.001480408
0x88e13df18f2a8190928b8cc112298691e70d52220f62cc1ae62ef7b00294cd3020 mins ago0xb5288ce67780cb667b67dbf84af9e66bebb8ddd4  IN   0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0 Ether0.000183326
0x2cfcced4cd66bc9c978c005071a5637fb341fb922d22232430dcd3842ed4f1ec42 mins ago0xf0333b94f895eb5aab3822da376f9cbcfce8a19c  IN   0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0 Ether0.0011389536
0x3a18454234fb53d2968c17ccab5193c654d28217961d8f1265c09fe06320ed9f1 hr 4 mins ago0xf0333b94f895eb5aab3822da376f9cbcfce8a19c  IN   0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0 Ether0.0009828971
0x3cb2e53bb3679a0abbac6a460d9af2a5499953d1b8a77daff844fb13655883871 hr 6 mins ago0xf0333b94f895eb5aab3822da376f9cbcfce8a19c  IN   0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0 Ether0.002409365
0xa777c46a631d40a4da7a78c926544f56b047450bc75887fb54ba2daf515eb2a63 hrs 27 mins ago0xd449f90ad9a9646cccb8986ec519e3fcbcc7fa9f  IN   0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0 Ether0.000074325
0x2bd765e4c707595f91a3c336fbd197512c789530160a0f94408c90ab9b1fd8ca4 hrs 26 mins ago0x51bd4c735927f958a90db80398826ff47a9832f1  IN   0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0 Ether0.002861255
0x67dc4343801e532ce98c9ba0a60d7cb6081f01ed04afc0c0ad855a85dac77ead4 hrs 28 mins ago0x51bd4c735927f958a90db80398826ff47a9832f1  IN   0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0 Ether0.002130894
0xf92b37f9d97ec0456ef25727f0f51c4a14b5ff781e2995e299f8dcb4b0017ca64 hrs 31 mins ago0x7533c4c1d881aaa75d4b039325866b2f8b8c5ec9  IN   0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0 Ether0.002961728
0x23c8d53f38ffcbd99d6638e4c468003fd4c8c280996ce55b05c1ae093a352a184 hrs 50 mins ago0x8ad144588f7b18c95f63769d849943f228228c8d  IN   0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0 Ether0.002004562
0xc29a1c99802e6fdb7812d6dca90255f2f4ef1da26532d5b6b2d7309dbf525d774 hrs 51 mins ago0x8ad144588f7b18c95f63769d849943f228228c8d  IN   0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0 Ether0.00125202
0xc872de861fa53ba649eb48e3feea5139ca5849d5180a2b64f5e84f8a90ec904d5 hrs ago0x8ad144588f7b18c95f63769d849943f228228c8d  IN   0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0 Ether0.002004786
0x889a5fa007d746318557bf7bbb8b8e78c67f2b07080eeb7095b2f00c6ca78db95 hrs 35 mins ago0xaa73a811a4898ca0e116376be752b3960d554021  IN   0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0 Ether0.00229114
0x3ee4d3a0b50906486e3e8799ab71b95625291a6aa497f0f93658539359c231c66 hrs 2 mins ago0x82195047910c3874731a8e285ebcce4fdc6ffc53  IN   0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0 Ether0.001417684
0xb19f9bcc8fd0420c9ecdc3c7ad02f3e59617b5f821f51444ecf937afd9652a7b6 hrs 2 mins ago0x82195047910c3874731a8e285ebcce4fdc6ffc53  IN   0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0 Ether0.001195584
0x44196488c9015e55d2f5f7d284963e785cd4ab45d05dc99de5cc943c81f045ca6 hrs 11 mins ago0xaec539a116fa75e8bdcf016d3c146a25bc1af93b  IN   0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0 Ether0.0011330784
0xbed363819218ab4f773ef96ceac6005a4a278c90054fb71c4761788d467f4be46 hrs 12 mins ago0xaec539a116fa75e8bdcf016d3c146a25bc1af93b  IN   0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0 Ether0.0011328512
0x6ac25b5b009c6a21e91fa2d648fe2c9427ab9adc94621a50082067a1924440906 hrs 14 mins ago0xaec539a116fa75e8bdcf016d3c146a25bc1af93b  IN   0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0 Ether0.00111356232
0x89517874f645ef56ca2d9902caafdf30b1d52f03029210190a8e61c46038f8426 hrs 43 mins ago0x8ad144588f7b18c95f63769d849943f228228c8d  IN   0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0 Ether0.0010977131
0x2fb91fcd39d97e148ee2f34634b653c527f26d8ae4cfc61763390a356484f64e6 hrs 44 mins ago0x8ad144588f7b18c95f63769d849943f228228c8d  IN   0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0 Ether0.0017765356
0x03652617be11b9658182332cc5f7e250efc23d15fbc9526eccc68c0bc80d2b907 hrs 37 mins ago0x9ddbe1f25a0ce69c073e8fb9c9e56c8483d99a90  IN   0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0 Ether0.001070658
0xb5ad2bf4514067704b63b7035510c321687d12e21c995c711c877ee342a3fd667 hrs 37 mins ago0x9ddbe1f25a0ce69c073e8fb9c9e56c8483d99a90  IN   0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0 Ether0.001068603
[ 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
0x88e13df18f2a8190928b8cc112298691e70d52220f62cc1ae62ef7b00294cd30688544820 mins ago0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0x93c027865354e96a1e9ec69fc8253e6d49013f820.184229455249340187 Ether
0xf2d106170022220cf43f24beb9b3e1c2b93e89001232c25696721855187a5992688014421 hrs 21 mins ago0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0x83bb781a2a2ca1fec0350f178c911848811cc4400.018191216811931059 Ether
0xf8587295b99da682df55a9392dc5fb0b848736e2c6edc1e58534a66a86d2cf4d687960923 hrs 29 mins ago0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0xaf898fc38e04824985bdd9b461b71cc4e03636460.024216247304235752 Ether
0x31904381c4daf477a57ea15e4ea51814533cba2b617e4954a919893d8451fd5568755191 day 15 hrs ago0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0x2efde4863c1920d34dc12dbc06b7f6fb8c77d86f0.000329175 Ether
0x31904381c4daf477a57ea15e4ea51814533cba2b617e4954a919893d8451fd5568755191 day 15 hrs ago0x024be6824fe397521179503c3bd2d9feb4ab05b40x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0.001645875 Ether
0xd7e21078151407a3a716a6e1f9acd54c2a14ddb15725d32049710f113bcd66f768718072 days 6 hrs ago0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0xf377ce6924155da0a9f2ed707b3983419253a3700.414949308138848085 Ether
0xbd84499ec4c4e306db9d82df05369b41e893c03f6f1b6c945b18301c6acfe7cf68634433 days 15 hrs ago0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0xcf0e9b4746cfb97bae329fe5f696969f6564566a0.018913749177399919 Ether
0x7165e00ebc21840c72b1062d5bc1bb6d2dd5a1a4a09e3949e5eee9f65510791568621403 days 20 hrs ago0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0xaf8487980af6c604f42d2cb0b51966d936e5bac60.0052810331715629 Ether
0xd0d2fb21b48fe2e627b561a5cfff4d1359f63c63bf4ea232dc2203e958947c4e68616983 days 22 hrs ago0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0x0f1049336889a42a62308ca9e9c36e57facfa2820.275420026513317415 Ether
0x305e8d1693029355d53a28fd88fe82a09672a3ae7991af09445035d6db7578d068598094 days 5 hrs ago0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0x552371a51f7f2a6d46c9a90101719261c14df52b0.085614705465918075 Ether
0x0cfc4a13c3c312b0be18ca583a3b1dbff5b2f491e750788de3e8cb4ba7feb9d168597194 days 6 hrs ago0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0x1c2913b5bd66bd57bc430faaff05de50e6b89bb50.012056546601744376 Ether
0xf39c19b7bcaa754729708a4f1045a65ee3c6f1e4aa7f53234fe4008f5955740e68556424 days 22 hrs ago0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0x2efde4863c1920d34dc12dbc06b7f6fb8c77d86f0.0000098 Ether
0xf39c19b7bcaa754729708a4f1045a65ee3c6f1e4aa7f53234fe4008f5955740e68556424 days 22 hrs ago0xfd6d4265443647c70f8d0d80356f3b22d596da290x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0.000049 Ether
0x150c84d1a97aee73f0854ee0fd0f92d43f0993bdec4e2407c2577a6985e3b2d968551005 days 11 mins ago0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0x2efde4863c1920d34dc12dbc06b7f6fb8c77d86f0.00001 Ether
0x150c84d1a97aee73f0854ee0fd0f92d43f0993bdec4e2407c2577a6985e3b2d968551005 days 11 mins ago0xfd6d4265443647c70f8d0d80356f3b22d596da290x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0.00005 Ether
0xc3265ff9eece4b09efafa75fe3762b9bf19e3a42b2ef12fa137748bd603bd60168545985 days 2 hrs ago0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0x2efde4863c1920d34dc12dbc06b7f6fb8c77d86f0.0005 Ether
0xc3265ff9eece4b09efafa75fe3762b9bf19e3a42b2ef12fa137748bd603bd60168545985 days 2 hrs ago0xfd6d4265443647c70f8d0d80356f3b22d596da290x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0.0025 Ether
0x15a3e368025d3d892764f1c6160b95998890e2ec2cfebbd3901cbe8147537b3f68507005 days 17 hrs ago0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0x2efde4863c1920d34dc12dbc06b7f6fb8c77d86f0.0002 Ether
0x15a3e368025d3d892764f1c6160b95998890e2ec2cfebbd3901cbe8147537b3f68507005 days 17 hrs ago0xfd6d4265443647c70f8d0d80356f3b22d596da290x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0.001 Ether
0xc618fee76483070233cb13adf04d1d64edbe02ca34c917cb99b74787b4c47a5668448796 days 16 hrs ago0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0x2efde4863c1920d34dc12dbc06b7f6fb8c77d86f0.00625 Ether
0xc618fee76483070233cb13adf04d1d64edbe02ca34c917cb99b74787b4c47a5668448796 days 16 hrs ago0xfd6d4265443647c70f8d0d80356f3b22d596da290x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0.03125 Ether
0x8008f98db88055dbce54ca148d494a7a9e0abfb41472fcb96288aecf2215c3a768448136 days 17 hrs ago0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0x2efde4863c1920d34dc12dbc06b7f6fb8c77d86f0.00625 Ether
0x8008f98db88055dbce54ca148d494a7a9e0abfb41472fcb96288aecf2215c3a768448136 days 17 hrs ago0xfd6d4265443647c70f8d0d80356f3b22d596da290x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0.03125 Ether
0xdfb28aff6a3704acccc412aabc1297eb0ea485aacb6768ac1d0a63b7297762d968441616 days 19 hrs ago0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0x360bbad1120b0abf63573e2e21b6727e07d1bf180.011881193056302895 Ether
0xbb6c88be5f94503de36355aa664a260221181a0f370dcf5b6a78563cc1815bc668410977 days 7 hrs ago0x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0x2efde4863c1920d34dc12dbc06b7f6fb8c77d86f0.00625 Ether
[ Download CSV Export  ] 
Warning: The Compiled Contract might be susceptible to ExpExponentCleanup (medium/high-severity), EventStructWrongData (very low-severity), NestedArrayFunctionCallDecoder (medium-severity) SolidityCompiler Bugs.

Contract Source Code Verified (Exact Match)
Contract Name: ETToken
Compiler Text: 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 transaction Difficulty GasUsed Reward
View All
Block Age UncleNumber Difficulty GasUsed Reward
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.