Contract 0x9022a78192061d3d1048f10016050a3dc7339283

 

TxHash Block Age From To Value [TxFee]
0x6d9a5272bee0da3db2d62b0f227c67712379899e1e9babd584640a1bdf4633cd700290849 days 8 hrs ago0xe4771554d354dc8bb619a8ff458fa842147ac466 IN  0x9022a78192061d3d1048f10016050a3dc73392830.1 Ether0.000045882
0xa162f09e35113beb2eb0a13a002bbc035b43f75d68eb70121c5b8da8428677d66012199213 days 21 hrs ago0x61443bfaeb296edc9e4516b1ba9be75cd3632d52 IN  0x9022a78192061d3d1048f10016050a3dc73392830.05 Ether0.000022941
0x2c6216734b0feb5b8be7c7e2842e5e5e66417ec1f2632d6658100c38a6da5ad46012182213 days 21 hrs ago0x61443bfaeb296edc9e4516b1ba9be75cd3632d52 IN  0x9022a78192061d3d1048f10016050a3dc73392830.05 Ether0.0001192932
0x0b08582aa6eebe88897f6abb513bd241a0d93b75d328a2456a12137304233e256012180213 days 21 hrs ago0x61443bfaeb296edc9e4516b1ba9be75cd3632d52 IN  0x9022a78192061d3d1048f10016050a3dc73392830.1 Ether0.000022941
0xc15f3d2f04483376a3ac852150b875e32ef07f5e39811a91adc045776f829ce85995547216 days 16 hrs ago0x61443bfaeb296edc9e4516b1ba9be75cd3632d52 IN  0x9022a78192061d3d1048f10016050a3dc73392830.1 Ether0.000022941
0x3e4d89261d017c5144f4c9835076bbe551441679bbe7e78db1d8dea7fe2e96035995404216 days 17 hrs ago0x61443bfaeb296edc9e4516b1ba9be75cd3632d52 IN  0x9022a78192061d3d1048f10016050a3dc73392830.1 Ether0.000022941
0xcaedcf3197a99ff69cbfeffbe8fd689856099842df1688e7e66e9c1238957cfb5504134302 days 3 hrs ago0x380b790ff04efce9914d75f4bfb015083275398c IN  0x9022a78192061d3d1048f10016050a3dc73392830.1 Ether0.000045882
0x97ca0f9544ed512078c047b15a3c8830acdeccbd88995abbbba9f4dda99def875503899302 days 4 hrs ago0x380b790ff04efce9914d75f4bfb015083275398c IN  0x9022a78192061d3d1048f10016050a3dc73392830.1 Ether0.000045882
0x4cbe3af69e89d1845352db415cfe4be5a78522fa46c6547112f556cac363235a5473339307 days 10 hrs ago0xb5288ce67780cb667b67dbf84af9e66bebb8ddd4 IN  0x9022a78192061d3d1048f10016050a3dc73392830 Ether0.00163773
0xe2c8daafabefe07f49d7d3a4af6cb292f4577fec1d1a1da65f21148e83fba36a5473088307 days 11 hrs ago0x2efde4863c1920d34dc12dbc06b7f6fb8c77d86f IN  0x9022a78192061d3d1048f10016050a3dc73392830 Ether0.000136345
0xbeba241432b7ccc8edb4afca31c979a3b5bc5e8e6c5d08b76c4752bd220281025473058307 days 11 hrs ago0xb5288ce67780cb667b67dbf84af9e66bebb8ddd4 IN  0x9022a78192061d3d1048f10016050a3dc73392830 Ether0.00098619
0x8df058969e4ec36b8a039dd9c05fea376b843d8fa83204ae8fa66ea179a2de855469780308 days 52 mins ago0xd1640e2d0d820f942471cd98040be9f810e85d86 IN  0x9022a78192061d3d1048f10016050a3dc73392830.01 Ether0.000257268
0xb403e06bde954150e4a31c412a63f8ca813825f9566e9347ab6b5fc0c9d7f9555469707308 days 1 hr ago0xb5288ce67780cb667b67dbf84af9e66bebb8ddd4 IN  0x9022a78192061d3d1048f10016050a3dc73392830 Ether0.00101529
0xe452ea9d869d81c3261c08fae68ebe19f1557a086213fb7d66d6e0b0dc7bc5455469704308 days 1 hr ago0xb5288ce67780cb667b67dbf84af9e66bebb8ddd4 IN  0x9022a78192061d3d1048f10016050a3dc73392830 Ether0.001130565
0x04dad77f97ab1cc875bbb84f8f54e33e011207c1f16e99378f59256ece7c70055469671308 days 1 hr ago0x80f1fa8cb7edbef7ded85729bf26057e17e42a1e IN  0x9022a78192061d3d1048f10016050a3dc73392830.005 Ether0.000171512
0x02925ff03e876fb41ca27c9eb8c954a4b950ac2ab7a091b671a3352005a024a55469531308 days 1 hr ago0x76715dfc314c1bdaa28b601a4df38479f294ae9c IN  0x9022a78192061d3d1048f10016050a3dc73392830.007 Ether0.00017138
0x882513b910115034fb63668d45dbec527f9809392c36e06cce5ec1f97f70b6805469531308 days 1 hr ago0x76715dfc314c1bdaa28b601a4df38479f294ae9c IN  0x9022a78192061d3d1048f10016050a3dc73392830.007 Ether0.000211834
0x1f1f3aafe8c84e7463aa18fc14eed288138503746e87a5ae8a1f853a3e2ccb485469515308 days 1 hr ago0x76715dfc314c1bdaa28b601a4df38479f294ae9c IN  0x9022a78192061d3d1048f10016050a3dc73392830.015 Ether0.000091005
0x89a89453fe36b2ec92c31068fb6915bf4f4d5f9580639112d50350e58ab810d45469501308 days 1 hr ago0x45a86919dd2aa3dfb643e7a1d82c1a035a16f8b1 IN  0x9022a78192061d3d1048f10016050a3dc73392830.007 Ether0.0000857
0x4e8549b624f5edfefc635680e0c14cdf48836bb2ed23f7b54efc6fa61cc495635468923308 days 4 hrs ago0x5db9b94f23d6722e5c30934b53b352b967fb0f7d IN  0x9022a78192061d3d1048f10016050a3dc73392830.01 Ether0.00030201
0x2aad4d262baa9860ec22f01f48ebf8772a163c5feef06866047b8288200ce9d55468886308 days 4 hrs ago0xb5288ce67780cb667b67dbf84af9e66bebb8ddd4 IN  0x9022a78192061d3d1048f10016050a3dc73392830 Ether0.00098667
0xaebfec4faf469b30ec94f0b4f66d5e25c7911c161a294ad52b869125501c2ccd5468834308 days 4 hrs ago0x7f1cb0715b6c0b0058d87e26e7184c9ee7cdea55 IN  0x9022a78192061d3d1048f10016050a3dc73392830.02 Ether0.000047988
0x27387533ae713537c8f6f13f8ef114ff3a8836c431980d65f491cf1bca4667545468790308 days 5 hrs ago0x7533c4c1d881aaa75d4b039325866b2f8b8c5ec9 IN  0x9022a78192061d3d1048f10016050a3dc73392830.01 Ether0.000343024
0xe88adaab55200444ba28451d085c92e45af35aa02760188c399b59105e0cc2125468755308 days 5 hrs ago0xb5288ce67780cb667b67dbf84af9e66bebb8ddd4 IN  0x9022a78192061d3d1048f10016050a3dc73392830 Ether0.001129605
0x98575ed1af9135a3aeb65ad26009aba08835306bbcd8f87c9f3e72f775bb663d5468659308 days 5 hrs ago0x5db9b94f23d6722e5c30934b53b352b967fb0f7d IN  0x9022a78192061d3d1048f10016050a3dc73392830.01 Ether0.00030199
[ Download CSV Export 

Latest 25 Internal Transaction, Click here to view more Internal Transactions as a result of Contract Execution

Parent TxHash Block Age From To Value
0xbeba241432b7ccc8edb4afca31c979a3b5bc5e8e6c5d08b76c4752bd220281025473058307 days 11 hrs ago0x9022a78192061d3d1048f10016050a3dc73392830x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0.00314925 Ether
0xbeba241432b7ccc8edb4afca31c979a3b5bc5e8e6c5d08b76c4752bd220281025473058307 days 11 hrs ago0x9022a78192061d3d1048f10016050a3dc73392830x7e1dcf785f0353bf657c38ab7865c1f184efe2080.0001574625 Ether
0xbeba241432b7ccc8edb4afca31c979a3b5bc5e8e6c5d08b76c4752bd220281025473058307 days 11 hrs ago0x9022a78192061d3d1048f10016050a3dc73392830x5db9b94f23d6722e5c30934b53b352b967fb0f7d0.00535275 Ether
0xbeba241432b7ccc8edb4afca31c979a3b5bc5e8e6c5d08b76c4752bd220281025473058307 days 11 hrs ago0x9022a78192061d3d1048f10016050a3dc73392830x5db9b94f23d6722e5c30934b53b352b967fb0f7d0.01248975 Ether
0xbeba241432b7ccc8edb4afca31c979a3b5bc5e8e6c5d08b76c4752bd220281025473058307 days 11 hrs ago0x9022a78192061d3d1048f10016050a3dc73392830x5db9b94f23d6722e5c30934b53b352b967fb0f7d0.0178425 Ether
0x2aad4d262baa9860ec22f01f48ebf8772a163c5feef06866047b8288200ce9d55468886308 days 4 hrs ago0x9022a78192061d3d1048f10016050a3dc73392830x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0.0032984 Ether
0x2aad4d262baa9860ec22f01f48ebf8772a163c5feef06866047b8288200ce9d55468886308 days 4 hrs ago0x9022a78192061d3d1048f10016050a3dc73392830x7e1dcf785f0353bf657c38ab7865c1f184efe2080.00016492 Ether
0x2aad4d262baa9860ec22f01f48ebf8772a163c5feef06866047b8288200ce9d55468886308 days 4 hrs ago0x9022a78192061d3d1048f10016050a3dc73392830xcbbd0092ef296f3f0059d81160e333ec9542cf000.008784 Ether
0x2aad4d262baa9860ec22f01f48ebf8772a163c5feef06866047b8288200ce9d55468886308 days 4 hrs ago0x9022a78192061d3d1048f10016050a3dc73392830x03743c12444d7a9f30d942eb5ad103b4cb13eefa0.021504 Ether
0x2aad4d262baa9860ec22f01f48ebf8772a163c5feef06866047b8288200ce9d55468886308 days 4 hrs ago0x9022a78192061d3d1048f10016050a3dc73392830x7533c4c1d881aaa75d4b039325866b2f8b8c5ec90.03024 Ether
0x6d3eee1ad3cf2d13f7564f0acd3036981ae3db0cacca38158408e765df9caece5468584308 days 5 hrs ago0x9022a78192061d3d1048f10016050a3dc73392830x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0.006783 Ether
0x6d3eee1ad3cf2d13f7564f0acd3036981ae3db0cacca38158408e765df9caece5468584308 days 5 hrs ago0x9022a78192061d3d1048f10016050a3dc73392830x7e1dcf785f0353bf657c38ab7865c1f184efe2080.00033915 Ether
0x6d3eee1ad3cf2d13f7564f0acd3036981ae3db0cacca38158408e765df9caece5468584308 days 5 hrs ago0x9022a78192061d3d1048f10016050a3dc73392830xcbbd0092ef296f3f0059d81160e333ec9542cf000.0139995 Ether
0x6d3eee1ad3cf2d13f7564f0acd3036981ae3db0cacca38158408e765df9caece5468584308 days 5 hrs ago0x9022a78192061d3d1048f10016050a3dc73392830xf79ac2526080885797c2dda0648f9c00b0fdc0690.0326655 Ether
0x6d3eee1ad3cf2d13f7564f0acd3036981ae3db0cacca38158408e765df9caece5468584308 days 5 hrs ago0x9022a78192061d3d1048f10016050a3dc73392830x76715dfc314c1bdaa28b601a4df38479f294ae9c0.048195 Ether
0xe6bd3ca6c030678e770f8059137c7d873cbfab82d600ef8eeaabe262792789f75468382308 days 6 hrs ago0x9022a78192061d3d1048f10016050a3dc73392830x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0.001938 Ether
0xe6bd3ca6c030678e770f8059137c7d873cbfab82d600ef8eeaabe262792789f75468382308 days 6 hrs ago0x9022a78192061d3d1048f10016050a3dc73392830x7e1dcf785f0353bf657c38ab7865c1f184efe2080.0000969 Ether
0xe6bd3ca6c030678e770f8059137c7d873cbfab82d600ef8eeaabe262792789f75468382308 days 6 hrs ago0x9022a78192061d3d1048f10016050a3dc73392830x3f585df9c3295af67fec6b84912331feaa7b78520.003294 Ether
0xe6bd3ca6c030678e770f8059137c7d873cbfab82d600ef8eeaabe262792789f75468382308 days 6 hrs ago0x9022a78192061d3d1048f10016050a3dc73392830x5db9b94f23d6722e5c30934b53b352b967fb0f7d0.007686 Ether
0xe6bd3ca6c030678e770f8059137c7d873cbfab82d600ef8eeaabe262792789f75468382308 days 6 hrs ago0x9022a78192061d3d1048f10016050a3dc73392830xcbbd0092ef296f3f0059d81160e333ec9542cf000.01098 Ether
0x3cf667cce9587a12714f9b477e9b0f62e89f947d04dacf810b2bdf5c9d53ccdf5467106308 days 12 hrs ago0x9022a78192061d3d1048f10016050a3dc73392830x8fe19c447821b4cdcdd5012bca1b5469ca96d80d0.0004845 Ether
0x3cf667cce9587a12714f9b477e9b0f62e89f947d04dacf810b2bdf5c9d53ccdf5467106308 days 12 hrs ago0x9022a78192061d3d1048f10016050a3dc73392830x7e1dcf785f0353bf657c38ab7865c1f184efe2080.000024225 Ether
0x3cf667cce9587a12714f9b477e9b0f62e89f947d04dacf810b2bdf5c9d53ccdf5467106308 days 12 hrs ago0x9022a78192061d3d1048f10016050a3dc73392830xf79ac2526080885797c2dda0648f9c00b0fdc0690.0008235 Ether
0x3cf667cce9587a12714f9b477e9b0f62e89f947d04dacf810b2bdf5c9d53ccdf5467106308 days 12 hrs ago0x9022a78192061d3d1048f10016050a3dc73392830xcbbd0092ef296f3f0059d81160e333ec9542cf000.0019215 Ether
0x3cf667cce9587a12714f9b477e9b0f62e89f947d04dacf810b2bdf5c9d53ccdf5467106308 days 12 hrs ago0x9022a78192061d3d1048f10016050a3dc73392830xcbbd0092ef296f3f0059d81160e333ec9542cf000.002745 Ether
[ Download CSV Export 
Warning: The compiled contract might be susceptible to ExpExponentCleanup (medium/high-severity), EventStructWrongData (very low-severity), NestedArrayFunctionCallDecoder (medium-severity) Solidity Compiler Bugs.

Contract Source Code Verified (Exact Match)
Contract Name: CauldronsMinigamePresale
Compiler Version: v0.4.21+commit.dfe3193c
Optimization Enabled: Yes
Runs (Optimizer):  200


Contract Source Code
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 Floor is Owned {
    using SafeMath for uint;

    enum FloorStatus {
        NotYet,         // 0
        Auctioning,     // 1
        Sold            // 2
    }

    ETToken baseContract;
    uint32 public floorId;
    FloorStatus public status = FloorStatus.NotYet;
    address public winner;

    event Bid(address indexed from, uint256 value);
    event FloorWon(address indexed from, uint256 value);
    event Payout(address indexed to, uint256 value);

    modifier onlyOracle {
        require(msg.sender == baseContract.oracle());
        _;
    }
    modifier onlyOwnerOrOracle {
        require(msg.sender == owner || msg.sender == baseContract.oracle());
        _;
    }

    function Floor(uint32 _floorId, address _baseContract) public {
        baseContract = ETToken(_baseContract);
        floorId = _floorId;
    }


    function _isContract(address _user) internal view returns (bool) {
        uint size;
        assembly { size := extcodesize(_user) }
        return size > 0;
    }

    function _processDividends(uint256 _value) internal {
        if (_value > 0) {
            address(baseContract).transfer(_value);
            baseContract.acceptDividends(_value, floorId);
        }
    }

    function _processCredit(address _user, uint256 _value) internal {
        if (_value > 0) {
            _user.transfer(_value);
        }
    }

    function _rewardTokens(address _user, uint256 _tokens) internal {
        if (_tokens > 0) {
            baseContract.rewardTokensFloor(_user, _tokens, floorId);
        }
    }
}

contract StarAuction {
    address public highestBidder;
    bool public ended;
}

contract CharacterSale {
    mapping (address => uint32[]) public characters;
}

contract CauldronsMinigamePresale is Floor, AcceptsTokens {
    using SafeMath for uint;

    bool public enabled;

    enum CauldronType {
        NoCauldron,
        EtherCauldron,
        EtitCauldron
    }

    struct Cauldron {
        uint256 timerDuration;
        CauldronType cauldronType;

        uint32 currentRound;
        uint256 expirationTimer;

        mapping(uint32 => address[]) contributors;
        uint32 contributorsCount;
        mapping(uint32 => mapping(address => uint256)) contributions;
        uint256 totalContribution;
        address topContributor;
    }

    mapping(uint8 => Cauldron) public cauldrons;

    uint constant numStarAuctions = 12;
    mapping(uint8 => StarAuction) public starAuctions; // auction 7 = horse

    event Contribution(address indexed from, uint256 value, uint8 cauldronId, uint32 round);
    event Winner(address user, uint256 value, uint8 cauldronId, uint32 round);

    function CauldronsMinigamePresale(uint32 _floorId, address _baseContract)
        Floor(_floorId, _baseContract)
        AcceptsTokens(_baseContract)
        public
    {
        enabled = true;

        cauldrons[1] = Cauldron({
            timerDuration: 5 minutes,
            cauldronType: CauldronType.EtherCauldron,

            currentRound: 1,
            expirationTimer: 0,

            contributorsCount: 0,
            totalContribution: 0,
            topContributor: 0
        });
        cauldrons[2] = Cauldron({
            timerDuration: 20 minutes,
            cauldronType: CauldronType.EtitCauldron,

            currentRound: 1,
            expirationTimer: 0,

            contributorsCount: 0,
            totalContribution: 0,
            topContributor: 0
        });
        cauldrons[3] = Cauldron({
            timerDuration: 60 minutes,
            cauldronType: CauldronType.EtherCauldron,

            currentRound: 1,
            expirationTimer: 0,

            contributorsCount: 0,
            totalContribution: 0,
            topContributor: 0
        });
        cauldrons[4] = Cauldron({
            timerDuration: 120 minutes,
            cauldronType: CauldronType.EtitCauldron,

            currentRound: 1,
            expirationTimer: 0,

            contributorsCount: 0,
            totalContribution: 0,
            topContributor: 0
        });
        cauldrons[5] = Cauldron({
            timerDuration: 12 hours,
            cauldronType: CauldronType.EtherCauldron,

            currentRound: 1,
            expirationTimer: 0,

            contributorsCount: 0,
            totalContribution: 0,
            topContributor: 0
        });
    }

    function isCauldronExpired(uint8 _cauldronId) public view returns (bool) {
        return cauldrons[_cauldronId].expirationTimer != 0 && cauldrons[_cauldronId].expirationTimer < now;
    }

    function horseMaster() public view returns (address) {
        if (address(starAuctions[7]) == 0x0) {
            return 0x0;
        } else {
            return starAuctions[7].highestBidder();
        }
    }

    function() public payable {
        // Not accepting Ether directly
        revert();
    }

    function setEnabled(bool _enabled) public onlyOwner {
        enabled = _enabled;
    }

    function setStarAuction(uint8 _id, address _address) public onlyOwner {
        starAuctions[_id] = StarAuction(_address);
    }

    function _acceptContribution(address _from, uint256 _value, uint8 _cauldronId) internal {
        require(!isCauldronExpired(_cauldronId));

        Cauldron storage cauldron = cauldrons[_cauldronId];

        uint256 existingContribution = cauldron.contributions[cauldron.currentRound][_from];

        if (existingContribution == 0) {
            cauldron.contributors[cauldron.currentRound].push(_from);
            cauldron.contributorsCount ++;
        }

        uint256 userNewContribution = existingContribution.add(_value);

        cauldron.contributions[cauldron.currentRound][_from] = userNewContribution;
        cauldron.totalContribution = cauldron.totalContribution.add(_value);

        if (userNewContribution > cauldron.contributions[cauldron.currentRound][cauldron.topContributor]) {
            cauldron.topContributor = _from;
        }

        uint8 peopleToStart = _cauldronId == 1 ? 10 : 3;
        if (cauldron.expirationTimer == 0 && cauldron.contributorsCount >= peopleToStart) {
            cauldron.expirationTimer = now + cauldron.timerDuration;
        }

        emit Contribution(_from, _value, _cauldronId, cauldron.currentRound);
    }

    function acceptTokens(address _from, uint256 _value, uint256 _cauldronId, uint256 /*param2*/, uint256 /*param3*/) external onlyTokenContract {
        require(!_isContract(_from));
        require(enabled);
        require(cauldrons[uint8(_cauldronId)].cauldronType == CauldronType.EtitCauldron);
        require(_value >= 1 finney);

        _acceptContribution(_from, _value, uint8(_cauldronId));
    }

    function acceptEther(uint8 _cauldronId) external payable {
        require(!_isContract(msg.sender));
        require(enabled);
        require(cauldrons[_cauldronId].cauldronType == CauldronType.EtherCauldron);
        require(msg.value >= 1 finney);

        _acceptContribution(msg.sender, msg.value, _cauldronId);
    }

    function _rotateCauldron(uint8 _cauldronId) internal {
        require(isCauldronExpired(_cauldronId));

        Cauldron storage cauldron = cauldrons[_cauldronId];

        cauldron.currentRound ++;
        cauldron.expirationTimer = 0;

        cauldron.contributorsCount = 0;
        cauldron.totalContribution = 0;
        cauldron.topContributor = 0;
    }

    function calculateReward(uint256 totalValue, uint256 basePercent, uint8 level) public pure returns (uint256) {
        // Reward = totalValue * rewardPercent%
        // rewardPercent = basePercent*(91.5..99%)
        uint256 levelAddition = uint256(level).mul(5); // 0..15 -> 0..75
        uint256 modificationPercent = levelAddition.add(915);

        uint256 finalPercent1000 = basePercent.mul(modificationPercent); // 0..100000

        assert(finalPercent1000 / 1000 <= basePercent);
        assert(finalPercent1000 <= 100000);

        return totalValue.mul(finalPercent1000).div(100000);
    }

    function pickWinners(
        uint8 _cauldronId,
        address winner1,
        address winner2,
        address winner3,
        uint8 winner1Level,
        uint8 winner2Level,
        uint8 winner3Level
    ) external onlyOracle {
        require(isCauldronExpired(_cauldronId) || !enabled);

        Cauldron storage cauldron = cauldrons[_cauldronId];

        require(cauldron.contributions[cauldron.currentRound][winner1] > 0);
        require(cauldron.contributions[cauldron.currentRound][winner2] > 0);
        require(cauldron.contributions[cauldron.currentRound][winner3] > 0);

        require(winner1Level <= 15);
        require(winner2Level <= 15);
        require(winner3Level <= 15);

        uint256 winner1Reward = calculateReward(cauldron.totalContribution, 50, winner1Level);
        uint256 winner2Reward = calculateReward(cauldron.totalContribution, 35, winner2Level);
        uint256 winner3Reward = calculateReward(cauldron.totalContribution, 15, winner3Level);

        uint256 remainingReward =
            cauldron.totalContribution
                .sub(winner1Reward)
                .sub(winner2Reward)
                .sub(winner3Reward);

        if (cauldron.cauldronType == CauldronType.EtherCauldron) {
            winner1.transfer(winner1Reward);
            winner2.transfer(winner2Reward);
            winner3.transfer(winner3Reward);

            // Infernal Horse owner gets 5% of the remainder
            if (horseMaster() != 0x0) {
                remainingReward = remainingReward.sub(remainingReward.mul(5).div(100));
                horseMaster().transfer(remainingReward.mul(5).div(100));
            }

            // The rest of the remainder goes to the ETIT Dividend pool
            _processDividends(remainingReward);

        } else if (cauldron.cauldronType == CauldronType.EtitCauldron) {
            baseContract.transfer(winner1, winner1Reward);
            baseContract.transfer(winner2, winner2Reward);
            baseContract.transfer(winner3, winner3Reward);

            // Excess ETIT tokens are burned
            baseContract.burn(remainingReward);
        }

        emit Winner(winner1, winner1Reward, _cauldronId, cauldron.currentRound);
        emit Winner(winner2, winner2Reward, _cauldronId, cauldron.currentRound);
        emit Winner(winner3, winner3Reward, _cauldronId, cauldron.currentRound);

        _rotateCauldron(_cauldronId);
    }


    function contributorsOfCauldron(uint8 _cauldronId) public view returns (address[]) {
        Cauldron storage cauldron = cauldrons[_cauldronId];

        return cauldron.contributors[cauldron.currentRound];
    }

    function contributionInCauldron(uint8 _cauldronId, address _user) public view returns (uint256) {
        Cauldron storage cauldron = cauldrons[_cauldronId];

        return cauldron.contributions[cauldron.currentRound][_user];
    }

    function contributorsOfCauldronRound(uint8 _cauldronId, uint32 _round) public view returns (address[]) {
        Cauldron storage cauldron = cauldrons[_cauldronId];

        return cauldron.contributors[_round];
    }

    function contributionInCauldronRound(uint8 _cauldronId, address _user, uint32 _round) public view returns (uint256) {
        Cauldron storage cauldron = cauldrons[_cauldronId];

        return cauldron.contributions[_round][_user];
    }

}

Contract ABI
[{"constant":true,"inputs":[],"name":"status","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"enabled","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_enabled","type":"bool"}],"name":"setEnabled","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_id","type":"uint8"},{"name":"_address","type":"address"}],"name":"setStarAuction","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"tokenContract","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_cauldronId","type":"uint8"},{"name":"winner1","type":"address"},{"name":"winner2","type":"address"},{"name":"winner3","type":"address"},{"name":"winner1Level","type":"uint8"},{"name":"winner2Level","type":"uint8"},{"name":"winner3Level","type":"uint8"}],"name":"pickWinners","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"horseMaster","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"totalValue","type":"uint256"},{"name":"basePercent","type":"uint256"},{"name":"level","type":"uint8"}],"name":"calculateReward","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[{"name":"_cauldronId","type":"uint8"}],"name":"contributorsOfCauldron","outputs":[{"name":"","type":"address[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_cauldronId","type":"uint8"},{"name":"_round","type":"uint32"}],"name":"contributorsOfCauldronRound","outputs":[{"name":"","type":"address[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_cauldronId","type":"uint8"}],"name":"isCauldronExpired","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_cauldronId","type":"uint8"}],"name":"acceptEther","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_value","type":"uint256"},{"name":"_cauldronId","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"uint256"}],"name":"acceptTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_cauldronId","type":"uint8"},{"name":"_user","type":"address"},{"name":"_round","type":"uint32"}],"name":"contributionInCauldronRound","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"floorId","outputs":[{"name":"","type":"uint32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint8"}],"name":"cauldrons","outputs":[{"name":"timerDuration","type":"uint256"},{"name":"cauldronType","type":"uint8"},{"name":"currentRound","type":"uint32"},{"name":"expirationTimer","type":"uint256"},{"name":"contributorsCount","type":"uint32"},{"name":"totalContribution","type":"uint256"},{"name":"topContributor","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint8"}],"name":"starAuctions","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"winner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_cauldronId","type":"uint8"},{"name":"_user","type":"address"}],"name":"contributionInCauldron","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_floorId","type":"uint32"},{"name":"_baseContract","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":false,"name":"cauldronId","type":"uint8"},{"indexed":false,"name":"round","type":"uint32"}],"name":"Contribution","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"user","type":"address"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":false,"name":"cauldronId","type":"uint8"},{"indexed":false,"name":"round","type":"uint32"}],"name":"Winner","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Bid","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"FloorWon","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Payout","type":"event"}]

Contract Creation Code
60606040526001805460c060020a60ff0219169055341561001f57600080fd5b604051604080611bd2833981016040528080519190602001805160008054600160a060020a031990811633600160a060020a039081169190911790925560018054821692841692831760a060020a63ffffffff0219167401000000000000000000000000000000000000000063ffffffff89168102919091179091556003805490921690921760a060020a60ff0219169091179055915060e0905060405190810160405261012c8152602081016001815260016020808301829052600060408401819052606084018190526080840181905260a09093018390529152600490527fabd6e7cb50984ff9c2f3e18a2660c3353dadf4e3291deeb275dae2cd1e44fe0581518155602082015160018083018054909160ff199091169083600281111561014557fe5b021790555060408201518160010160016101000a81548163ffffffff021916908363ffffffff16021790555060608201518160020155608082015160048201805463ffffffff191663ffffffff9290921691909117905560a0820151816006015560c08201516007919091018054600160a060020a031916600160a060020a039092169190911790555060e060405190810160409081526104b08252600260208084018290526001928401929092526000606084018190526080840181905260a0840181905260c0840181905252600490527f91da3fd0782e51c6b3986e9e672fd566868e71f3dbc2d6c2cd6fbb3e361af2a781518155602082015160018083018054909160ff199091169083600281111561025d57fe5b021790555060408201518160010160016101000a81548163ffffffff021916908363ffffffff16021790555060608201518160020155608082015160048201805463ffffffff191663ffffffff9290921691909117905560a0820151816006015560c08201516007919091018054600160a060020a031916600160a060020a039092169190911790555060e06040519081016040908152610e10825260016020808401829052918301526000606083018190526080830181905260a0830181905260c0830181905260039052600490527f2e174c10e159ea99b867ce3205125c24a42d128804e4070ed6fcc8cc98166aa081518155602082015160018083018054909160ff199091169083600281111561037357fe5b021790555060408201518160010160016101000a81548163ffffffff021916908363ffffffff16021790555060608201518160020155608082015160048201805463ffffffff191663ffffffff9290921691909117905560a0820151816006015560c08201516007919091018054600160a060020a031916600160a060020a039092169190911790555060e0604051908101604052611c20815260208101600281526001602080830191909152600060408301819052606083018190526080830181905260a0909201829052600491829052527f1a1e6821cde7d0159c0d293177871e09677b4e42307c7db3ba94f8648a5a050f81518155602082015160018083018054909160ff199091169083600281111561048c57fe5b021790555060408201518160010160016101000a81548163ffffffff021916908363ffffffff16021790555060608201518160020155608082015160048201805463ffffffff191663ffffffff9290921691909117905560a0820151816006015560c08201516007919091018054600160a060020a031916600160a060020a039092169190911790555060e0604051908101604090815261a8c0825260016020808401829052918301526000606083018190526080830181905260a0830181905260c0830181905260059052600490527f04cde762ef08b6b6c5ded8e8c4c0b3f4e5c9ad7342c88fcc93681b4588b73f0581518155602082015160018083018054909160ff19909116908360028111156105a257fe5b021790555060408201518160010160016101000a81548163ffffffff021916908363ffffffff16021790555060608201518160020155608082015160048201805463ffffffff191663ffffffff9290921691909117905560a0820151816006015560c082015160079091018054600160a060020a0392909216600160a060020a03199092169190911790555050506115938061063f6000396000f3006060604052600436106100ed5763ffffffff60e060020a600035041663200d2ed281146100f2578063238dafe014610129578063328d8f72146101505780633c2bab5a1461016a57806355a373d61461018f5780635d62917b146101be578063673df0e01461020257806376a25c5c1461021557806387f3e5d61461024657806388c463af146102b2578063969464f6146102d45780639a7614ee146102ed5780639c908f61146102fb578063aacf3f2e14610326578063c48ef17c14610354578063cfa4a21c14610380578063db0adb05146103f8578063dfbf53ae14610411578063eb8fa48614610424575b600080fd5b34156100fd57600080fd5b610105610449565b6040518082600281111561011557fe5b60ff16815260200191505060405180910390f35b341561013457600080fd5b61013c61046e565b604051901515815260200160405180910390f35b341561015b57600080fd5b610168600435151561047e565b005b341561017557600080fd5b61016860ff60043516600160a060020a03602435166104c8565b341561019a57600080fd5b6101a2610523565b604051600160a060020a03909116815260200160405180910390f35b34156101c957600080fd5b61016860ff600435811690600160a060020a03602435811691604435821691606435169060843581169060a43581169060c43516610532565b341561020d57600080fd5b6101a2610bf9565b341561022057600080fd5b61023460043560243560ff60443516610cc2565b60405190815260200160405180910390f35b341561025157600080fd5b61025f60ff60043516610d40565b60405160208082528190810183818151815260200191508051906020019060200280838360005b8381101561029e578082015183820152602001610286565b505050509050019250505060405180910390f35b34156102bd57600080fd5b61025f60ff6004351663ffffffff60243516610ddc565b34156102df57600080fd5b61013c60ff60043516610e71565b61016860ff60043516610eb0565b341561030657600080fd5b610168600160a060020a0360043516602435604435606435608435610f2c565b341561033157600080fd5b61023460ff60043516600160a060020a036024351663ffffffff60443516610fc7565b341561035f57600080fd5b61036761100a565b60405163ffffffff909116815260200160405180910390f35b341561038b57600080fd5b61039960ff6004351661101d565b604051808881526020018760028111156103af57fe5b60ff16815263ffffffff96871660208201526040808201969096529390951660608401526080830191909152600160a060020a031660a082015260c00193509150505180910390f35b341561040357600080fd5b6101a260ff60043516611071565b341561041c57600080fd5b6101a261108c565b341561042f57600080fd5b61023460ff60043516600160a060020a036024351661109b565b6001547801000000000000000000000000000000000000000000000000900460ff1681565b60035460a060020a900460ff1681565b60005433600160a060020a0390811691161461049957600080fd5b6003805491151560a060020a0274ff000000000000000000000000000000000000000019909216919091179055565b60005433600160a060020a039081169116146104e357600080fd5b60ff919091166000908152600560205260409020805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055565b600354600160a060020a031681565b6001546000908190819081908190600160a060020a0316637dc0d1d06040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561057c57600080fd5b5af1151561058957600080fd5b50505060405180519050600160a060020a031633600160a060020a03161415156105b257600080fd5b6105bb8c610e71565b806105d0575060035460a060020a900460ff16155b15156105db57600080fd5b600460008d60ff1660ff168152602001908152602001600020945060008560050160008760010160019054906101000a900463ffffffff1663ffffffff1663ffffffff16815260200190815260200160002060008d600160a060020a0316600160a060020a031681526020019081526020016000205411151561065d57600080fd5b6001850154610100900463ffffffff1660009081526005860160209081526040808320600160a060020a038e1684529091528120541161069c57600080fd5b6001850154610100900463ffffffff1660009081526005860160209081526040808320600160a060020a038d168452909152812054116106db57600080fd5b600f60ff891611156106ec57600080fd5b600f60ff881611156106fd57600080fd5b600f60ff8716111561070e57600080fd5b61071e856006015460328a610cc2565b93506107308560060154602389610cc2565b92506107428560060154600f88610cc2565b915061076f8261076385610763888a600601546110e290919063ffffffff16565b9063ffffffff6110e216565b905060018086015460ff16600281111561078557fe5b14156108c557600160a060020a038b1684156108fc0285604051600060405180830381858888f1935050505015156107bc57600080fd5b600160a060020a038a1683156108fc0284604051600060405180830381858888f1935050505015156107ed57600080fd5b600160a060020a03891682156108fc0283604051600060405180830381858888f19350505050151561081e57600080fd5b610826610bf9565b600160a060020a0316156108b757610866610859606461084d84600563ffffffff6110f416565b9063ffffffff61112616565b829063ffffffff6110e216565b9050610870610bf9565b600160a060020a03166108fc610892606461084d85600563ffffffff6110f416565b9081150290604051600060405180830381858888f1935050505015156108b757600080fd5b6108c08161113d565b610a80565b6002600186015460ff1660028111156108da57fe5b1415610a8057600154600160a060020a031663a9059cbb8c8660405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561093657600080fd5b5af1151561094357600080fd5b50505060405180515050600154600160a060020a031663a9059cbb8b8560405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156109a357600080fd5b5af115156109b057600080fd5b50505060405180515050600154600160a060020a031663a9059cbb8a8460405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610a1057600080fd5b5af11515610a1d57600080fd5b50505060405180515050600154600160a060020a03166342966c688260405160e060020a63ffffffff84160281526004810191909152602401600060405180830381600087803b1515610a6f57600080fd5b5af11515610a7c57600080fd5b5050505b7f5251876b2ca16044f3f7bddd0c8e2edb7c7aa5de6e8c4b0ddc49790df08014e88b858e8860010160019054906101000a900463ffffffff16604051600160a060020a039094168452602084019290925260ff1660408084019190915263ffffffff90911660608301526080909101905180910390a17f5251876b2ca16044f3f7bddd0c8e2edb7c7aa5de6e8c4b0ddc49790df08014e88a848e8860010160019054906101000a900463ffffffff16604051600160a060020a039094168452602084019290925260ff1660408084019190915263ffffffff90911660608301526080909101905180910390a17f5251876b2ca16044f3f7bddd0c8e2edb7c7aa5de6e8c4b0ddc49790df08014e889838e8860010160019054906101000a900463ffffffff16604051600160a060020a039094168452602084019290925260ff1660408084019190915263ffffffff90911660608301526080909101905180910390a1610beb8c6111ed565b505050505050505050505050565b6007600090815260056020527feddb6698d7c569ff62ff64f1f1492bf14a54594835ba0faac91f84b4f5d8146054600160a060020a03161515610c3e57506000610cbf565b600760005260056020527feddb6698d7c569ff62ff64f1f1492bf14a54594835ba0faac91f84b4f5d8146054600160a060020a03166391f901576040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610ca657600080fd5b5af11515610cb357600080fd5b50505060405180519150505b90565b6000808080610cdb60ff8616600563ffffffff6110f416565b9250610cef8361039363ffffffff61127f16565b9150610d01868363ffffffff6110f416565b9050856103e882041115610d1157fe5b620186a0811115610d1e57fe5b610d35620186a061084d898463ffffffff6110f416565b979650505050505050565b610d4861150e565b60ff821660009081526004602090815260408083206001810154610100900463ffffffff168452600381018352928190208054909290918282029091019051908101604052809291908181526020018280548015610dcf57602002820191906000526020600020905b8154600160a060020a03168152600190910190602001808311610db1575b5050505050915050919050565b610de461150e565b60ff8316600090815260046020908152604080832063ffffffff86168452600381018352928190208054909290918282029091019051908101604052809291908181526020018280548015610e6257602002820191906000526020600020905b8154600160a060020a03168152600190910190602001808311610e44575b505050505091505b5092915050565b60ff811660009081526004602052604081206002015415801590610eaa575060ff82166000908152600460205260409020600201544290105b92915050565b610eb93361128e565b15610ec357600080fd5b60035460a060020a900460ff161515610edb57600080fd5b600160ff808316600090815260046020526040902060010154166002811115610f0057fe5b14610f0a57600080fd5b66038d7ea4c68000341015610f1e57600080fd5b610f29333483611296565b50565b60035433600160a060020a03908116911614610f4757600080fd5b610f508561128e565b15610f5a57600080fd5b60035460a060020a900460ff161515610f7257600080fd5b600260ff808516600090815260046020526040902060010154166002811115610f9757fe5b14610fa157600080fd5b66038d7ea4c68000841015610fb557600080fd5b610fc0858585611296565b5050505050565b60ff8316600090815260046020908152604080832063ffffffff85168452600581018352818420600160a060020a03871685529092529091205490509392505050565b60015460a060020a900463ffffffff1681565b6004602081905260009182526040909120805460018201546002830154938301546006840154600790940154929460ff83169461010090930463ffffffff90811694919392169190600160a060020a031687565b600560205260009081526040902054600160a060020a031681565b600254600160a060020a031681565b60ff9190911660009081526004602090815260408083206001810154610100900463ffffffff1684526005018252808320600160a060020a03949094168352929052205490565b6000828211156110ee57fe5b50900390565b6000808315156111075760009150610e6a565b5082820282848281151561111757fe5b041461111f57fe5b9392505050565b600080828481151561113457fe5b04949350505050565b6000811115610f2957600154600160a060020a031681156108fc0282604051600060405180830381858888f19350505050151561117957600080fd5b600154600160a060020a03811690633719427e90839060a060020a900463ffffffff1660405163ffffffff84811660e060020a028252600482019390935291166024820152604401600060405180830381600087803b15156111da57600080fd5b5af115156111e757600080fd5b50505050565b60006111f882610e71565b151561120357600080fd5b5060ff16600090815260046020819052604082206001808201805463ffffffff61010080830482169094011690920264ffffffff001990921691909117905560028101839055908101805463ffffffff191690556006810191909155600701805473ffffffffffffffffffffffffffffffffffffffff19169055565b60008282018381101561111f57fe5b6000903b1190565b6000806000806112a585610e71565b156112af57600080fd5b60ff851660009081526004602090815260408083206001810154610100900463ffffffff168452600581018352818420600160a060020a038c16855290925290912054909450925082151561138157600184810154610100900463ffffffff166000908152600386016020526040902080549091810161132f8382611520565b506000918252602090912001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03891617905560048401805463ffffffff19811663ffffffff9182166001019091161790555b611391838763ffffffff61127f16565b600185015463ffffffff610100909104811660009081526005870160209081526040808320600160a060020a038d168452909152902082905560068601549193506113df9190889061127f16565b60068501556001840154610100900463ffffffff16600090815260058501602090815260408083206007880154600160a060020a0316845290915290205482111561144f5760078401805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0389161790555b8460ff16600114611461576003611464565b600a5b9050836002015460001480156114895750600484015460ff821663ffffffff90911610155b15611498578354420160028501555b86600160a060020a03167f721c3710ca0082eeb491c73364459555744cac001ee81a88a2c468f49c4506d787878760010160019054906101000a900463ffffffff1660405192835260ff909116602083015263ffffffff166040808301919091526060909101905180910390a250505050505050565b60206040519081016040526000815290565b81548183558181151161154457600083815260209020611544918101908301611549565b505050565b610cbf91905b80821115611563576000815560010161154f565b50905600a165627a7a723058201c8e12c36f6f488cc10ffa6782d7b822ff556a775dfb1ccad178bffbbb521266002900000000000000000000000000000000000000000000000000000000000003e80000000000000000000000008fe19c447821b4cdcdd5012bca1b5469ca96d80d


    Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000000000000000000000000000000000000000003e80000000000000000000000008fe19c447821b4cdcdd5012bca1b5469ca96d80d

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 00000000000000000000000000000000000000000000000000000000000003e8
Arg [1] : 0000000000000000000000008fe19c447821b4cdcdd5012bca1b5469ca96d80d


   Swarm Source:
bzzr://1c8e12c36f6f488cc10ffa6782d7b822ff556a775dfb1ccad178bffbbb521266
Block Age transaction Difficulty GasUsed Reward
Block Age Uncle Number Difficulty GasUsed Reward
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.