Sponsored:   [Largest VC Funded] TEMCO, millions sold out in seconds. Join TEMCO's last presale at CoinBene!
Contract Overview
Balance: 0 Ether
Ether Value: $0
Transactions: 48 txns
Misc:
Address Watch: Add To Watch List
Contract Creator: 0xfe4e89f620a8663d03136bee040904fe3a623f5dat txn 0xbb62b08869efe04f4d3461364a647f97dd579427f9eb9fc14207d4cb2710e985
Token Balance:
 Latest 25 transactions from a total of 48 transactions

TxHash Age From To Value [TxFee]
0x17eb20ad618e46af8146b451622b0f2b20bc18a6e3f6d8bce70c31b908d5eb33316 days 10 hrs ago0x011f4697af521a642a992323ebacbd54cf789e7c  IN   0x7e0c7676be340ee8efb4321abfa4634a7abfb92c0 Ether0.002021874
0x2c387c5282d3567074c1082370258cf49fb94bff6e6e2c1173f027a6f9b42243318 days 17 hrs ago0x7345e26d1c2b0a8f991693b4bef7be58f5801b40  IN   0x7e0c7676be340ee8efb4321abfa4634a7abfb92c0 Ether0.000720594
0xf4c7e0e2dec9a4e69830720d6d5d938b6b5f6f371c92aeaf19e6a68ee2e7f7f9318 days 20 hrs ago0x40cffdb0c87d2072bc2a49d78f72c6cb886f4f61  IN   0x7e0c7676be340ee8efb4321abfa4634a7abfb92c0 Ether0.002021874
0x9802114cb07fba5a0538b622345504c70145da4486588758922c751cc9bd1daa321 days 1 hr ago0xb99b0aeffab57d1d3ea425eb4838744b7fb922e5  IN   0x7e0c7676be340ee8efb4321abfa4634a7abfb92c0 Ether0.00049314
0xf48629fa0d5d2ff6f267bd49deda76995fdf9be3d97e05c6e88dbd40cc00dcc6337 days 21 hrs ago0xd01e85868849fecd3aed9a5821220389724d6f31  IN   0x7e0c7676be340ee8efb4321abfa4634a7abfb92c0 Ether0.00024657
0x39f4968e99b1cf4a18f2188a3055bd50f45c33f4482c37dd6d11e0a7c92acb33377 days 23 hrs ago0x35af10a1f8f4b3b2a6db44e2f355e0796aa61c64  IN   0x7e0c7676be340ee8efb4321abfa4634a7abfb92c0 Ether0.001035594
0x087a90649d05a717ba9f6ec594fe41593aa32ad8a850621d75d5c58bdd96675e383 days 16 hrs ago0xad7024ff124fb9dd2f81d675e6797d1a29f94d18  IN   0x7e0c7676be340ee8efb4321abfa4634a7abfb92c0 Ether0.001035594
0x84f3cf22f96c8cacee33ef33e1e272e85d183e8c7c93b2dee9b4cacbf274f30c384 days 15 hrs ago0xc1a2297d24c59c75e7a4cff0e0874362861f4608  IN   0x7e0c7676be340ee8efb4321abfa4634a7abfb92c0 Ether0.001035594
0x176cf4215b4a87710f2a43875ab0efc49958c2f4923fb174157ffa2f37c49230384 days 15 hrs ago0xc1a2297d24c59c75e7a4cff0e0874362861f4608  IN   0x7e0c7676be340ee8efb4321abfa4634a7abfb92c0 Ether0.001035594
0xefb03e23d1ba1894fd9ccd7199722331b346f6bae751b4477eaa1afa38d86651388 days 11 hrs ago0xfe4e89f620a8663d03136bee040904fe3a623f5d  IN   0x7e0c7676be340ee8efb4321abfa4634a7abfb92c0 Ether0.0000032846
0x58da080c3dc9f6519b5b250e4ab41a8fd18b5259e8de73cf5e91f78d53c11e22388 days 12 hrs ago0xfe4e89f620a8663d03136bee040904fe3a623f5d  IN   0x7e0c7676be340ee8efb4321abfa4634a7abfb92c0 Ether0.0000027567
0x4fcdb77933600bd40dbf124c0fe23a93b5a70358f746ab8d9f1b2c2910243d65388 days 17 hrs ago0xfe4e89f620a8663d03136bee040904fe3a623f5d  IN   0x7e0c7676be340ee8efb4321abfa4634a7abfb92c0 Ether0.0000029113
0xce329e16931a14403fca5effe59d9c4d7dcb625ecda94541204957f70747fee0389 days 1 hr ago0x3a89cfa82cbc6f5636005f0217134e3d80556642  IN   0x7e0c7676be340ee8efb4321abfa4634a7abfb92c0 Ether0.000617652
0x239242edcd18f4a2037304f8569c56ac061c27cf1c618196526a18d9281857fc389 days 13 hrs ago0xfe4e89f620a8663d03136bee040904fe3a623f5d  IN   0x7e0c7676be340ee8efb4321abfa4634a7abfb92c0 Ether0.0000027749
0xb5003958258a9d7132277b8dabb0a4110e70a29522303c8a47bea913fe4286a9390 days 15 hrs ago0xfe4e89f620a8663d03136bee040904fe3a623f5d  IN   0x7e0c7676be340ee8efb4321abfa4634a7abfb92c0 Ether0.0000064156
0x15718e1ac18f4a16d8deddb1581f5d2d005d36c291087ecc56c226636d863ca1390 days 15 hrs ago0x57f81fa922527198c9e8d4ac3a98971a8c46e7e2  IN   0x7e0c7676be340ee8efb4321abfa4634a7abfb92c0 Ether0.0024657
0xa79d9153eefeeced990914e10d28f32d95d7893c85b7053353478aad9038b629396 days 10 hrs ago0xfe4e89f620a8663d03136bee040904fe3a623f5d  IN   0x7e0c7676be340ee8efb4321abfa4634a7abfb92c0 Ether0.000005262
0x487bbf0108c7981dcc4b48ce9dc6de4f66053a9892471465c89561fe488e2f9d396 days 17 hrs ago0xfe4e89f620a8663d03136bee040904fe3a623f5d  IN   0x7e0c7676be340ee8efb4321abfa4634a7abfb92c0 Ether0.0000027749
0xb520c6944b5f103d4987c48b15a5cea06f328f3fdb86bedc4b1db2807f0e5ac2406 days 23 hrs ago0x061d7bd7dc1f1cf481ce673e9b63c822cc6cf8af  IN   0x7e0c7676be340ee8efb4321abfa4634a7abfb92c0.015 Ether0.001018542
0x0dd90c0a376cbc3034436ef4e32851c726b3ba0fe1e8648feb8d401b334b7062408 days 21 hrs ago0xe274568119022d6a536ffcb5bd0c05f6bf5a7fb7  IN   0x7e0c7676be340ee8efb4321abfa4634a7abfb92c0.7 Ether0.001018542
0xd02c1491e29b75406c56cf571570a880a905f53820efd0de864fb23b28aaa593414 days 1 hr ago0x3a89cfa82cbc6f5636005f0217134e3d80556642  IN   0x7e0c7676be340ee8efb4321abfa4634a7abfb92c0.035 Ether0.000254008
0x8cd67fdbba5f8e953615046de512fc59f85f6ab854ab7095218f31c09ad72a5a414 days 20 hrs ago0xfe4e89f620a8663d03136bee040904fe3a623f5d  IN   0x7e0c7676be340ee8efb4321abfa4634a7abfb92c0 Ether0.0000029181
0xbcf18267ed1c727901c943c0c63e6267604d04ce9bba3cafaeb17a77b5db46d3414 days 21 hrs ago0xfe4e89f620a8663d03136bee040904fe3a623f5d  IN   0x7e0c7676be340ee8efb4321abfa4634a7abfb92c0 Ether0.00000582729
0x22bed1ec7ccb85c683ca29c1e974ca4f52ae06d284e0388033280ac39ce8149d443 days 2 hrs ago0x2ff4d83d13fb20b88614fbe38aaceaadad9d53fc  IN   0x7e0c7676be340ee8efb4321abfa4634a7abfb92c0 Ether0.000626577
0x0ab046cd2ed40c29170209bbf0cd1619490de7615d125eadfe3cf6d19325cd86443 days 2 hrs ago0x2ff4d83d13fb20b88614fbe38aaceaadad9d53fc  IN   0x7e0c7676be340ee8efb4321abfa4634a7abfb92c0 Ether0.000626577
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
 Latest 1 Internal Transaction

ParentTxHash Block Age From To Value
0xefb03e23d1ba1894fd9ccd7199722331b346f6bae751b4477eaa1afa38d866514609630388 days 11 hrs ago0x7e0c7676be340ee8efb4321abfa4634a7abfb92c0xba4d3d192c766c61a485f378e96be77701332bf238.9334265956789 Ether
[ Download CSV Export  ] 
Warning: The Compiled Contract might be susceptible to ExpExponentCleanup (medium/high-severity), NestedArrayFunctionCallDecoder (medium-severity), ZeroFunctionSelector (very low-severity) SolidityCompiler Bugs.

Contract Source Code Verified (Exact Match)
Contract Name: P4PPool
Compiler Text: v0.4.15+commit.bbb8e64f
Optimization Enabled: Yes
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts

pragma solidity ^0.4.15;

/* TODO: change this to an interface definition as soon as truffle accepts it. See https://github.com/trufflesuite/truffle/issues/560 */
contract ITransferable {
    function transfer(address _to, uint256 _value) public returns (bool success);
}

/**
@title PLAY Token

ERC20 Token with additional mint functionality.
A "controller" (initialized to the contract creator) has exclusive permission to mint.
The controller address can be changed until locked.

Implementation based on https://github.com/ConsenSys/Tokens
*/
contract PlayToken {
    uint256 public totalSupply = 0;
    string public name = "PLAY";
    uint8 public decimals = 18;
    string public symbol = "PLY";
    string public version = '1';

    address public controller;
    bool public controllerLocked = false;

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

    event Transfer(address indexed _from, address indexed _to, uint256 _value);
    event Approval(address indexed _owner, address indexed _spender, uint256 _value);

    modifier onlyController() {
        require(msg.sender == controller);
        _;
    }

    /** @dev constructor */
    function PlayToken(address _controller) {
        controller = _controller;
    }

    /** Sets a new controller address if the current controller isn't locked */
    function setController(address _newController) onlyController {
        require(! controllerLocked);
        controller = _newController;
    }

    /** Locks the current controller address forever */
    function lockController() onlyController {
        controllerLocked = true;
    }

    /**
    Creates new tokens for the given receiver.
    Can be called only by the contract creator.
    */
    function mint(address _receiver, uint256 _value) onlyController {
        balances[_receiver] += _value;
        totalSupply += _value;
        // (probably) recommended by the standard, see https://github.com/ethereum/EIPs/pull/610/files#diff-c846f31381e26d8beeeae24afcdf4e3eR99
        Transfer(0, _receiver, _value);
    }

    function transfer(address _to, uint256 _value) returns (bool success) {
        /* Additional Restriction: don't accept token payments to the contract itself and to address 0 in order to avoid most
         token losses by mistake - as is discussed in https://github.com/ethereum/EIPs/issues/223 */
        require((_to != 0) && (_to != address(this)));

        require(balances[msg.sender] >= _value);
        balances[msg.sender] -= _value;
        balances[_to] += _value;
        Transfer(msg.sender, _to, _value);
        return true;
    }

    function transferFrom(address _from, address _to, uint256 _value) returns (bool success) {
        require(balances[_from] >= _value && allowed[_from][msg.sender] >= _value);
        balances[_to] += _value;
        balances[_from] -= _value;
        allowed[_from][msg.sender] -= _value;
        Transfer(_from, _to, _value);
        return true;
    }

    function balanceOf(address _owner) constant returns (uint256 balance) {
        return balances[_owner];
    }

    function approve(address _spender, uint256 _value) returns (bool success) {
        allowed[msg.sender][_spender] = _value;
        Approval(msg.sender, _spender, _value);
        return true;
    }

    function allowance(address _owner, address _spender) constant returns (uint256 remaining) {
        return allowed[_owner][_spender];
    }

    /* Approves and then calls the receiving contract */
    function approveAndCall(address _spender, uint256 _value, bytes _extraData) returns (bool success) {
        allowed[msg.sender][_spender] = _value;
        Approval(msg.sender, _spender, _value);

        /* call the receiveApproval function on the contract you want to be notified. This crafts the function signature manually so one doesn't have to include a contract in here just for this.
        receiveApproval(address _from, uint256 _value, address _tokenContract, bytes _extraData)
        it is assumed that when does this that the call *should* succeed, otherwise one would use vanilla approve instead. */
        require(_spender.call(bytes4(bytes32(sha3("receiveApproval(address,uint256,address,bytes)"))), msg.sender, _value, this, _extraData));
        return true;
    }

    /**
    Withdraws tokens held by the contract to a given account.
    Motivation: see https://github.com/ethereum/EIPs/issues/223#issuecomment-317987571
    */
    function withdrawTokens(ITransferable _token, address _to, uint256 _amount) onlyController {
        _token.transfer(_to, _amount);
    }
}

/** @title P4P Donation Pool

Contract which receives donations for privacy projects.
Donators will be rewarded with PLAY tokens.

The donation process is 2-phased.
Donations of the first round will be weighted twice as much compared to later donations.

The received Ether funds will not be accessible during the donation period.
Donated Eth can be retrieved only after the donation rounds are over and the set unlock timestamp is reached.
In order to never own the funds, the contract owner can set and lock the receiver address beforehand.
The receiver address can be an external account or a distribution contract.

Note that there's no way for the owner to withdraw tokens assigned to donators which aren't withdrawn.
In case destroy() is invoked, they will effectively be burned.
*/
contract P4PPool {
    address public owner;
    PlayToken public playToken;

    uint8 public currentState = 0;
    // valid states (not using enum in order to be able to simply increment in startNextPhase()):
    uint8 public constant STATE_NOT_STARTED = 0;
    uint8 public constant STATE_DONATION_ROUND_1 = 1;
    uint8 public constant STATE_PLAYING = 2;
    uint8 public constant STATE_DONATION_ROUND_2 = 3;
    uint8 public constant STATE_PAYOUT = 4;

    uint256 public tokenPerEth; // calculated after finishing donation rounds

    mapping(address => uint256) round1Donations;
    mapping(address => uint256) round2Donations;

    // glitch: forgot to rename those from "phase" to "round" too
    uint256 public totalPhase1Donations = 0;
    uint256 public totalPhase2Donations = 0;

    // 1509494400 = 2017 Nov 01, 00:00 (UTC)
    uint32 public donationUnlockTs = uint32(now); //1509494400;

    // share of the pooled tokens the owner (developers) gets in percent
    uint8 public constant ownerTokenSharePct = 20;

    address public donationReceiver;
    bool public donationReceiverLocked = false;

    event StateChanged(uint8 newState);
    event DonatedEthPayout(address receiver, uint256 amount);

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

    modifier onlyDuringDonationRounds() {
        require(currentState == STATE_DONATION_ROUND_1 || currentState == STATE_DONATION_ROUND_2);
        _;
    }

    modifier onlyIfPayoutUnlocked() {
        require(currentState == STATE_PAYOUT);
        require(uint32(now) >= donationUnlockTs);
        _;
    }

    /** @dev constructor */
    function P4PPool(address _tokenAddr) {
        owner = msg.sender;
        playToken = PlayToken(_tokenAddr);
    }

    /** So called "fallback function" which handles incoming Ether payments
    Remembers which address payed how much, doubling round 1 contributions.
    */
    function () payable onlyDuringDonationRounds {
        donateForImpl(msg.sender);
    }

    /** Receives Eth on behalf of somebody else
    Can be used for proxy payments.
    */
    function donateFor(address _donor) payable onlyDuringDonationRounds {
        donateForImpl(_donor);
    }

    function startNextPhase() onlyOwner {
        require(currentState <= STATE_PAYOUT);
        currentState++;
        if(currentState == STATE_PAYOUT) {
            // donation ended. Calculate and persist the distribution key:
            tokenPerEth = calcTokenPerEth();
        }
        StateChanged(currentState);
    }

    function setDonationUnlockTs(uint32 _newTs) onlyOwner {
        require(_newTs > donationUnlockTs);
        donationUnlockTs = _newTs;
    }

    function setDonationReceiver(address _receiver) onlyOwner {
        require(! donationReceiverLocked);
        donationReceiver = _receiver;
    }

    function lockDonationReceiver() onlyOwner {
        require(donationReceiver != 0);
        donationReceiverLocked = true;
    }

    // this could be left available to everybody instead of owner only
    function payoutDonations() onlyOwner onlyIfPayoutUnlocked {
        require(donationReceiver != 0);
        var amount = this.balance;
        require(donationReceiver.send(amount));
        DonatedEthPayout(donationReceiver, amount);
    }

    /** Emergency fallback for retrieving funds
    In case something goes horribly wrong, this allows to retrieve Eth from the contract.
    Becomes available at March 1 2018.
    If called, all tokens still owned by the contract (not withdrawn by anybody) are burned.
    */
    function destroy() onlyOwner {
        require(currentState == STATE_PAYOUT);
        require(now > 1519862400);
        selfdestruct(owner);
    }

    /** Allows donators to withdraw the share of tokens they are entitled to */
    function withdrawTokenShare() {
        require(tokenPerEth > 0); // this implies that donation rounds have closed
        require(playToken.transfer(msg.sender, calcTokenShareOf(msg.sender)));
        round1Donations[msg.sender] = 0;
        round2Donations[msg.sender] = 0;
    }

    // ######### INTERNAL FUNCTIONS ##########

    function calcTokenShareOf(address _addr) constant internal returns(uint256) {
        if(_addr == owner) {
            // TODO: this could probably be simplified. But does the job without requiring additional storage
            var virtualEthBalance = (((totalPhase1Donations*2 + totalPhase2Donations) * 100) / (100 - ownerTokenSharePct) + 1);
            return ((tokenPerEth * virtualEthBalance) * ownerTokenSharePct) / (100 * 1E18);
        } else {
            return (tokenPerEth * (round1Donations[_addr]*2 + round2Donations[_addr])) / 1E18;
        }
    }

    // Will throw if no donations were received.
    function calcTokenPerEth() constant internal returns(uint256) {
        var tokenBalance = playToken.balanceOf(this);
        // the final + 1 makes sure we're not running out of tokens due to rounding artifacts.
        // that would otherwise be (theoretically, if all tokens are withdrawn) possible,
        // because this number acts as divisor for the return value.
        var virtualEthBalance = (((totalPhase1Donations*2 + totalPhase2Donations) * 100) / (100 - ownerTokenSharePct) + 1);
        // use 18 decimals precision. No danger of overflow with 256 bits.
        return tokenBalance * 1E18 / (virtualEthBalance);
    }

    function donateForImpl(address _donor) internal onlyDuringDonationRounds {
        if(currentState == STATE_DONATION_ROUND_1) {
            round1Donations[_donor] += msg.value;
            totalPhase1Donations += msg.value;
        } else if(currentState == STATE_DONATION_ROUND_2) {
            round2Donations[_donor] += msg.value;
            totalPhase2Donations += msg.value;
        }
    }
}

    Contract ABI  
[{"constant":false,"inputs":[{"name":"_donor","type":"address"}],"name":"donateFor","outputs":[],"payable":true,"type":"function"},{"constant":true,"inputs":[],"name":"tokenPerEth","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"currentState","outputs":[{"name":"","type":"uint8"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"donationReceiver","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"donationReceiverLocked","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_newTs","type":"uint32"}],"name":"setDonationUnlockTs","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"STATE_PLAYING","outputs":[{"name":"","type":"uint8"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"STATE_DONATION_ROUND_1","outputs":[{"name":"","type":"uint8"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"donationUnlockTs","outputs":[{"name":"","type":"uint32"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"destroy","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"STATE_DONATION_ROUND_2","outputs":[{"name":"","type":"uint8"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"lockDonationReceiver","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"payoutDonations","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_receiver","type":"address"}],"name":"setDonationReceiver","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"ownerTokenSharePct","outputs":[{"name":"","type":"uint8"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalPhase1Donations","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"startNextPhase","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"withdrawTokenShare","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"playToken","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalPhase2Donations","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"STATE_PAYOUT","outputs":[{"name":"","type":"uint8"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"STATE_NOT_STARTED","outputs":[{"name":"","type":"uint8"}],"payable":false,"type":"function"},{"inputs":[{"name":"_tokenAddr","type":"address"}],"payable":false,"type":"constructor"},{"payable":true,"type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newState","type":"uint8"}],"name":"StateChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"receiver","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"DonatedEthPayout","type":"event"}]

  Contract Creation Code Switch To Opcodes View
60606040526001805460a060020a60ff0219169055600060058190556006556007805463ffffffff19164263ffffffff161760c060020a60ff0219169055341561004857600080fd5b604051602080610c7e833981016040528080519150505b60008054600160a060020a03338116600160a060020a03199283161790925560018054928416929091169190911790555b505b610bdd806100a16000396000f300606060405236156101175763ffffffff60e060020a60003504166305831c6281146101565780630a0844731461016c5780630c3f6acf14610191578063213ea6bb146101ba57806323d1ab35146101e957806325dbe0541461021057806353f3807c1461022e57806362a87466146102575780637dbff4201461028057806383197ef0146102ac5780638b90a378146102c15780638da5cb5b146102ea578063974cf025146103195780639dae2e801461032e5780639f97fdbb14610343578063a8f0361614610364578063b32dc51c1461038d578063ba61810c146103b2578063cc863948146103c7578063e3cb8563146103dc578063e6c25aa11461040b578063e784394914610430578063f5b1254014610459575b5b6001805460a060020a900460ff16148061013e575060015460a060020a900460ff166003145b151561014957600080fd5b61015233610482565b5b5b005b610152600160a060020a036004351661053c565b005b341561017757600080fd5b61017f61057b565b60405190815260200160405180910390f35b341561019c57600080fd5b6101a4610581565b60405160ff909116815260200160405180910390f35b34156101c557600080fd5b6101cd610591565b604051600160a060020a03909116815260200160405180910390f35b34156101f457600080fd5b6101fc6105a8565b604051901515815260200160405180910390f35b341561021b57600080fd5b61015263ffffffff600435166105cd565b005b341561023957600080fd5b6101a461061a565b60405160ff909116815260200160405180910390f35b341561026257600080fd5b6101a461061f565b60405160ff909116815260200160405180910390f35b341561028b57600080fd5b610293610624565b60405163ffffffff909116815260200160405180910390f35b34156102b757600080fd5b610152610630565b005b34156102cc57600080fd5b6101a4610685565b60405160ff909116815260200160405180910390f35b34156102f557600080fd5b6101cd61068a565b604051600160a060020a03909116815260200160405180910390f35b341561032457600080fd5b610152610699565b005b341561033957600080fd5b610152610714565b005b341561034e57600080fd5b610152600160a060020a0360043516610821565b005b341561036f57600080fd5b6101a46108a0565b60405160ff909116815260200160405180910390f35b341561039857600080fd5b61017f6108a5565b60405190815260200160405180910390f35b34156103bd57600080fd5b6101526108ab565b005b34156103d257600080fd5b610152610978565b005b34156103e757600080fd5b6101cd610a3e565b604051600160a060020a03909116815260200160405180910390f35b341561041657600080fd5b61017f610a4d565b60405190815260200160405180910390f35b341561043b57600080fd5b6101a4610a53565b60405160ff909116815260200160405180910390f35b341561046457600080fd5b6101a4610a58565b60405160ff909116815260200160405180910390f35b6001805460a060020a900460ff1614806104a8575060015460a060020a900460ff166003145b15156104b357600080fd5b6001805460a060020a900460ff1614156104f657600160a060020a0381166000908152600360205260409020805434908101909155600580549091019055610536565b60015460a060020a900460ff166003141561053657600160a060020a03811660009081526004602052604090208054349081019091556006805490910190555b5b5b5b50565b6001805460a060020a900460ff161480610562575060015460a060020a900460ff166003145b151561056d57600080fd5b61053681610482565b5b5b50565b60025481565b60015460a060020a900460ff1681565b6007546401000000009004600160a060020a031681565b6007547801000000000000000000000000000000000000000000000000900460ff1681565b60005433600160a060020a039081169116146105e857600080fd5b60075463ffffffff9081169082161161060057600080fd5b6007805463ffffffff191663ffffffff83161790555b5b50565b600281565b600181565b60075463ffffffff1681565b60005433600160a060020a0390811691161461064b57600080fd5b60015460a060020a900460ff1660041461066457600080fd5b635a974280421161067457600080fd5b600054600160a060020a0316ff5b5b565b600381565b600054600160a060020a031681565b60005433600160a060020a039081169116146106b457600080fd5b6007546401000000009004600160a060020a031615156106d357600080fd5b6007805478ff000000000000000000000000000000000000000000000000191678010000000000000000000000000000000000000000000000001790555b5b565b6000805433600160a060020a0390811691161461073057600080fd5b60015460a060020a900460ff1660041461074957600080fd5b60075463ffffffff90811642909116101561076357600080fd5b6007546401000000009004600160a060020a0316151561078257600080fd5b50600754600160a060020a03308116319164010000000090041681156108fc0282604051600060405180830381858888f1935050505015156107c357600080fd5b6007547f2d3c5d28b47e21cf6945b5709aaec15bc0cdcbcbfc58e511713a440448a02eec906401000000009004600160a060020a031682604051600160a060020a03909216825260208201526040908101905180910390a15b5b5b50565b60005433600160a060020a0390811691161461083c57600080fd5b6007547801000000000000000000000000000000000000000000000000900460ff161561086857600080fd5b6007805477ffffffffffffffffffffffffffffffffffffffff000000001916640100000000600160a060020a038416021790555b5b50565b601481565b60055481565b60005433600160a060020a039081169116146108c657600080fd5b600154600460a060020a90910460ff1611156108e157600080fd5b6001805460ff60a060020a808304821684018216810274ff0000000000000000000000000000000000000000199093169290921792839055910416600414156109305761092c610a5d565b6002555b6001547f551dc40198cc79684bb69e4931dba4ac16e4598792ee1c0a5000aeea366d7bb69060a060020a900460ff1660405160ff909116815260200160405180910390a15b5b565b6002546000901161098857600080fd5b600154600160a060020a031663a9059cbb336109a381610b10565b60006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156109ef57600080fd5b6102c65a03f11515610a0057600080fd5b505050604051805190501515610a1557600080fd5b600160a060020a033316600090815260036020908152604080832083905560049091528120555b565b600154600160a060020a031681565b60065481565b600481565b600081565b60015460009081908190600160a060020a03166370a0823130836040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610abc57600080fd5b6102c65a03f11515610acd57600080fd5b5050506040518051600654600554919450605092506002909102016064025b0460010190508082670de0b6b3a764000002811515610b0757fe5b0492505b505090565b600080548190600160a060020a0384811691161415610b68576006546005546050916002909102016064025b04600101905068056bc75e2d63100000601460ff16826002540202811515610b6057fe5b049150610baa565b600160a060020a03831660009081526004602090815260408083205460039092529091205460028054670de0b6b3a764000093919092020102610b60565b0491505b5b509190505600a165627a7a7230582018fd40ff5ad498c90a05383d54b62e2ce01fdbfff5534da58ccdf1deb53243400029000000000000000000000000fb41f7b63c8e84f4ba1ecd4d393fd9daa5d14d61

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

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000fb41f7b63c8e84f4ba1ecd4d393fd9daa5d14d61


   Swarm Source:
bzzr://18fd40ff5ad498c90a05383d54b62e2ce01fdbfff5534da58ccdf1deb5324340

 

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.