Sponsored:   LH-CRYPTO - 200 instruments (BTC, EUR, GOLD, OIL, SHARES). Leverage up to 1:500. OPEN ACCOUNT
Contract Overview
Balance: 0 Ether
Ether Value: $0
Transactions: 16 txns
Misc:
Address Watch: Add To Watch List
Contract Creator: 0x540fc6c567cda49e9c1d485443d9c99f81727980at txn 0xb1d0e8440b94a28d94b09d4fe8e7d1ccb93c37040b9db58f3c473ff07ebb6c12
 Latest 16 txns

TxHash Age From To Value [TxFee]
0x15cf5b4b62ea95014668cfb6220bd5a0ec9ebbc4199df73f5e9bc85dcf83453e63 days 14 hrs ago0x540fc6c567cda49e9c1d485443d9c99f81727980  IN   0x66581080e0c262e80a8d2f9aaa903ffd0d47c5c20 Ether0.000098135
0x4522c9a4f298a473278d864f1ce2120f497981d875661c9a4442c59eb55a4a8463 days 15 hrs ago0x540fc6c567cda49e9c1d485443d9c99f81727980  IN   0x66581080e0c262e80a8d2f9aaa903ffd0d47c5c20.01 Ether0.000312944
0x87eed627622c196b42701d0c93670cd8c5f018e20f6ddee68a663dfe549c163963 days 16 hrs ago0xd311e934d9a1d9f71004976cd0268fd25f9cb77f  IN   0x66581080e0c262e80a8d2f9aaa903ffd0d47c5c20.01 Ether0.00124396
0xfd885e4a1ed87316d28cc764dd5ca17d9b3737f0ddeb7bb026adfd4249cd226763 days 19 hrs ago0xbe8acf3ac2e19a4afb7fa88e45d309d1c6742fe8  IN   0x66581080e0c262e80a8d2f9aaa903ffd0d47c5c20 Ether0.000301408
0x23baa67250140e3fd3ba3554386e7ef3857e9ae848e6c534626c387d2e0588e563 days 19 hrs ago0xbe8acf3ac2e19a4afb7fa88e45d309d1c6742fe8  IN   0x66581080e0c262e80a8d2f9aaa903ffd0d47c5c20.01 Ether0.001243872
0xb8beb4f5b9d1b2d097054a41994d8d060c19a94110ebbba377f800f1e003228063 days 22 hrs ago0xf26716c00c66bef39b879908049f2bf8c53a9225  IN   0x66581080e0c262e80a8d2f9aaa903ffd0d47c5c20.01 Ether0.00019551
0xe4abee5f07b83d4b76a94bdc237a6d0481e1ec2ffb6db11725e44a49d58619a163 days 22 hrs ago0x540fc6c567cda49e9c1d485443d9c99f81727980  IN   0x66581080e0c262e80a8d2f9aaa903ffd0d47c5c20.01 Ether0.000621892
0xda16c601ec2e88b6c9cca2615adc1b4176fd4d76787ee69305b2b18b66b5891263 days 23 hrs ago0xf389695d89f3782e1b588b4d46061ae1356b17a9  IN   0x66581080e0c262e80a8d2f9aaa903ffd0d47c5c20.01 Ether0.000215061
0x1904b2f3534946879ceabc22b2ebea5da1c27c851028bedb4179c6310acaecee63 days 23 hrs ago0xd311e934d9a1d9f71004976cd0268fd25f9cb77f  IN   0x66581080e0c262e80a8d2f9aaa903ffd0d47c5c20.01 Ether0.000746270411
0x61b830575ed4ff3709a5a867c92424c0d7519d30d252152f238152e16407c78963 days 23 hrs ago0x11dcb85916423c46f70552ddb220e2583d2a830f  IN   0x66581080e0c262e80a8d2f9aaa903ffd0d47c5c20.01 Ether0.000215149
0x99cf311a43d0af1fa3a6b1d35d87ef24d3a4b41410dc6ff143b6c65d76844c0063 days 23 hrs ago0x540fc6c567cda49e9c1d485443d9c99f81727980  IN   0x66581080e0c262e80a8d2f9aaa903ffd0d47c5c20.01 Ether0.000746376011
0x46697de6d4d071ee67b268743f87a82bca74583b7530ee20940b972c610b495964 days 7 mins ago0x5e73b3e4bf70cbcedb55302b50b92f8f8e193a1e  IN   0x66581080e0c262e80a8d2f9aaa903ffd0d47c5c20.01 Ether0.000234726
0x2558f3c74804a6b8710bb67238c8fdf0139fbb38cd8f52a76bee1a75d5e942f364 days 18 mins ago0xd311e934d9a1d9f71004976cd0268fd25f9cb77f  IN   0x66581080e0c262e80a8d2f9aaa903ffd0d47c5c20.01 Ether0.00077742
0xa13b851ac253bfd222c541091473f143521e72d1bf2c6b9dbf1ce6355915b37464 days 18 mins ago0x5e73b3e4bf70cbcedb55302b50b92f8f8e193a1e  IN   0x66581080e0c262e80a8d2f9aaa903ffd0d47c5c20.01 Ether0.000279726
0x76291633fa5a1b8954001ca62ed4b1e9e219ede154f380afd079f9e73bab392d64 days 1 hr ago0x540fc6c567cda49e9c1d485443d9c99f81727980  IN   0x66581080e0c262e80a8d2f9aaa903ffd0d47c5c20.01 Ether0.000681936
0xb1d0e8440b94a28d94b09d4fe8e7d1ccb93c37040b9db58f3c473ff07ebb6c1264 days 4 hrs ago0x540fc6c567cda49e9c1d485443d9c99f81727980  IN    Contract Creation0 Ether0.02370314
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
 Latest 8 Internal Transactions

ParentTxHash Block Age From To Value
0x15cf5b4b62ea95014668cfb6220bd5a0ec9ebbc4199df73f5e9bc85dcf83453e632194263 days 14 hrs ago0x66581080e0c262e80a8d2f9aaa903ffd0d47c5c20x540fc6c567cda49e9c1d485443d9c99f817279800.003 Ether
0x4522c9a4f298a473278d864f1ce2120f497981d875661c9a4442c59eb55a4a84632172163 days 15 hrs ago0x66581080e0c262e80a8d2f9aaa903ffd0d47c5c20x540fc6c567cda49e9c1d485443d9c99f817279800.0195 Ether
0xfd885e4a1ed87316d28cc764dd5ca17d9b3737f0ddeb7bb026adfd4249cd2267632072063 days 19 hrs ago0x66581080e0c262e80a8d2f9aaa903ffd0d47c5c20xbe8acf3ac2e19a4afb7fa88e45d309d1c6742fe80.01 Ether
0xb8beb4f5b9d1b2d097054a41994d8d060c19a94110ebbba377f800f1e0032280632013363 days 22 hrs ago0x66581080e0c262e80a8d2f9aaa903ffd0d47c5c20xf26716c00c66bef39b879908049f2bf8c53a92250.0195 Ether
0xda16c601ec2e88b6c9cca2615adc1b4176fd4d76787ee69305b2b18b66b58912631988763 days 23 hrs ago0x66581080e0c262e80a8d2f9aaa903ffd0d47c5c20xf389695d89f3782e1b588b4d46061ae1356b17a90.0195 Ether
0x61b830575ed4ff3709a5a867c92424c0d7519d30d252152f238152e16407c789631975863 days 23 hrs ago0x66581080e0c262e80a8d2f9aaa903ffd0d47c5c20x11dcb85916423c46f70552ddb220e2583d2a830f0.0195 Ether
0x46697de6d4d071ee67b268743f87a82bca74583b7530ee20940b972c610b4959631962064 days 7 mins ago0x66581080e0c262e80a8d2f9aaa903ffd0d47c5c20x5e73b3e4bf70cbcedb55302b50b92f8f8e193a1e0.0195 Ether
0xa13b851ac253bfd222c541091473f143521e72d1bf2c6b9dbf1ce6355915b374631956364 days 18 mins ago0x66581080e0c262e80a8d2f9aaa903ffd0d47c5c20x5e73b3e4bf70cbcedb55302b50b92f8f8e193a1e0.0195 Ether
[ Download CSV Export  ] 
Warning: The Compiled Contract might be susceptible to ExpExponentCleanup (medium/high-severity), EventStructWrongData (very low-severity) SolidityCompiler Bugs.

Contract Source Code Verified (Exact Match)
Contract Name: RPSCore
Compiler Text: v0.4.24+commit.e67f0147
Optimization Enabled: No
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts

pragma solidity 0.4.24;

contract AccessControl {
     /// @dev Emited when contract is upgraded - See README.md for updgrade plan
    event ContractUpgrade(address newContract);

    // The addresses of the accounts (or contracts) that can execute actions within each roles.
    address public ceoAddress;
    address public cfoAddress;
    address public cooAddress;

    address newContractAddress;

    uint public totalTipForDeveloper = 0;

    // @dev Keeps track whether the contract is paused. When that is true, most actions are blocked
    bool public paused = false;

    /// @dev Access modifier for CEO-only functionality
    modifier onlyCEO() {
        require(msg.sender == ceoAddress, "You're not a CEO!");
        _;
    }

    /// @dev Access modifier for CFO-only functionality
    modifier onlyCFO() {
        require(msg.sender == cfoAddress, "You're not a CFO!");
        _;
    }

    /// @dev Access modifier for COO-only functionality
    modifier onlyCOO() {
        require(msg.sender == cooAddress, "You're not a COO!");
        _;
    }

    modifier onlyCLevel() {
        require((msg.sender == cooAddress || msg.sender == ceoAddress || msg.sender == cfoAddress), "You're not C-Level");
        _;
    }

    /// @dev Wrong send eth! It's will tip for developer
    function () public payable{
        totalTipForDeveloper = totalTipForDeveloper + msg.value;
    }

    /// @dev Add tip for developer
    /// @param valueTip The value of tip
    function addTipForDeveloper(uint valueTip) internal {
        totalTipForDeveloper += valueTip;
    }

    /// @dev Developer can withdraw tip.
    function withdrawTipForDeveloper() external onlyCEO {
        require(totalTipForDeveloper > 0, "Need more tip to withdraw!");
        msg.sender.transfer(totalTipForDeveloper);
        totalTipForDeveloper = 0;
    }

    // updgrade
    function setNewAddress(address newContract) external onlyCEO whenPaused {
        newContractAddress = newContract;
        emit ContractUpgrade(newContract);
    }

    /// @dev Assigns a new address to act as the CEO. Only available to the current CEO.
    /// @param _newCEO The address of the new CEO
    function setCEO(address _newCEO) external onlyCEO {
        require(_newCEO != address(0), "Address to set CEO wrong!");

        ceoAddress = _newCEO;
    }

    /// @dev Assigns a new address to act as the CFO. Only available to the current CEO.
    /// @param _newCFO The address of the new CFO
    function setCFO(address _newCFO) external onlyCEO {
        require(_newCFO != address(0), "Address to set CFO wrong!");

        cfoAddress = _newCFO;
    }

    /// @dev Assigns a new address to act as the COO. Only available to the current CEO.
    /// @param _newCOO The address of the new COO
    function setCOO(address _newCOO) external onlyCEO {
        require(_newCOO != address(0), "Address to set COO wrong!");

        cooAddress = _newCOO;
    }

    /*Pausable functionality adapted from OpenZeppelin */

    /// @dev Modifier to allow actions only when the contract IS NOT paused
    modifier whenNotPaused() {
        require(!paused, "Paused!");
        _;
    }

    /// @dev Modifier to allow actions only when the contract IS paused
    modifier whenPaused {
        require(paused, "Not paused!");
        _;
    }

    /// @dev Called by any "C-level" role to pause the contract. Used only when
    ///  a bug or exploit is detected and we need to limit damage.
    function pause() external onlyCLevel whenNotPaused {
        paused = true;
    }

    /// @dev Unpauses the smart contract. Can only be called by the CEO, since
    ///  one reason we may pause the contract is when CFO or COO accounts are
    ///  compromised.
    /// @notice This is public rather than external so it can be called by
    ///  derived contracts.
    function unpause() public onlyCEO whenPaused {
        // can't unpause if contract was upgraded
        paused = false;
    }
}

contract RPSCore is AccessControl {
    uint constant ROCK = 1000;
    uint constant PAPER = 2000;
    uint constant SCISSOR = 3000;

    uint constant GAME_RESULT_DRAW = 1;
    uint constant GAME_RESULT_HOST_WIN = 2;
    uint constant GAME_RESULT_GUEST_WIN = 3;

    uint constant DEVELOPER_TIP_PERCENT = 1;
    uint constant DEVELOPER_TIP_MIN = 0.0005 ether;

    uint constant VALUE_BET_MIN = 0.01 ether;
    uint constant VALUE_BET_MAX = 5 ether;

    struct GameInfo {
        uint id;
        uint valueBet;
        address addressHost;  
    }

    struct GameSecret {
        uint gestureHost;
    }

    event LogCloseGameSuccessed(uint _id, uint _valueReturn);
    event LogCreateGameSuccessed(uint _id, uint _valuePlayerHostBid);
    event LogJoinAndBattleSuccessed(uint _id,
                                    uint _result,
                                    address indexed _addressPlayerWin,
                                    address indexed _addressPlayerLose,
                                    uint _valuePlayerWin,
                                    uint _valuePlayerLose,
                                    uint _gesturePlayerWin,
                                    uint _gesturePlayerLose);
 
    uint public totalCreatedGame;
    uint public totalAvailableGames;
    GameInfo[] public arrAvailableGames;
    mapping(uint => uint) idToIndexAvailableGames;
    mapping(uint => GameSecret) idToGameSecret;

    constructor() public {
        ceoAddress = msg.sender;
        cfoAddress = msg.sender;
        cooAddress = msg.sender;

        totalCreatedGame = 0;
        totalAvailableGames = 0;
    }

    function createGame(uint _gestureHost)
        external
        payable
        verifiedGesture(_gestureHost)
        verifiedValueBet(msg.value)
    {
        GameInfo memory gameInfo = GameInfo({
            id: totalCreatedGame + 1,
            addressHost: msg.sender,
            valueBet: msg.value
        });

        GameSecret memory gameSecret = GameSecret({
            gestureHost: _gestureHost
        });

        arrAvailableGames.push(gameInfo);
        idToIndexAvailableGames[gameInfo.id] = arrAvailableGames.length - 1;
        idToGameSecret[gameInfo.id] = gameSecret;

        totalCreatedGame++;
        totalAvailableGames++;

        emit LogCreateGameSuccessed(gameInfo.id, gameInfo.valueBet);
    }

    function joinGameAndBattle(uint _id, uint _gestureGuest)
        external
        payable 
        verifiedGesture(_gestureGuest)
        verifiedValueBet(msg.value)
        verifiedGameAvailable(_id)
    {
        uint result = GAME_RESULT_DRAW;
        uint gestureHostCached = 0;

        GameInfo memory gameInfo = arrAvailableGames[idToIndexAvailableGames[_id]];
       
        require(gameInfo.addressHost != msg.sender, "Don't play with yourself");
        require(msg.value == gameInfo.valueBet, "Value bet to battle not extractly with value bet of host");
        
        gestureHostCached = idToGameSecret[gameInfo.id].gestureHost;

        //Result: [Draw] => Return money to host and guest players (No fee)
        if(gestureHostCached == _gestureGuest) {
            result = GAME_RESULT_DRAW;
            sendPayment(msg.sender, msg.value);
            sendPayment(gameInfo.addressHost, gameInfo.valueBet);
            destroyGame(_id);
            emit LogJoinAndBattleSuccessed(_id,
                                            GAME_RESULT_DRAW,
                                            gameInfo.addressHost,
                                            msg.sender,
                                            0,
                                            0,
                                            gestureHostCached, 
                                            _gestureGuest);
        }
        else {
            if(gestureHostCached == ROCK) 
                result = _gestureGuest == SCISSOR ? GAME_RESULT_HOST_WIN : GAME_RESULT_GUEST_WIN;
            else
                if(gestureHostCached == PAPER) 
                    result = (_gestureGuest == ROCK ? GAME_RESULT_HOST_WIN : GAME_RESULT_GUEST_WIN);
                else
                    if(gestureHostCached == SCISSOR) 
                        result = (_gestureGuest == PAPER ? GAME_RESULT_HOST_WIN : GAME_RESULT_GUEST_WIN);

            //Result: [Win] => Return money to winner (Winner will pay 1% fee)
            uint valueTip = getValueTip(gameInfo.valueBet);
            addTipForDeveloper(valueTip);
            
            if(result == GAME_RESULT_HOST_WIN) {
                sendPayment(gameInfo.addressHost, gameInfo.valueBet * 2 - valueTip);
                destroyGame(_id);    
                emit LogJoinAndBattleSuccessed(_id,
                                                result,
                                                gameInfo.addressHost,
                                                msg.sender,
                                                gameInfo.valueBet - valueTip,
                                                gameInfo.valueBet,
                                                gestureHostCached,
                                                _gestureGuest);
            }
            else {
                sendPayment(msg.sender, gameInfo.valueBet * 2 - valueTip);
                destroyGame(_id);
                emit LogJoinAndBattleSuccessed(_id,
                                                result,
                                                msg.sender,
                                                gameInfo.addressHost,
                                                gameInfo.valueBet - valueTip,
                                                gameInfo.valueBet,
                                                _gestureGuest,
                                                gestureHostCached);
            }          
        }

    }

    function closeMyGame(uint _id) external payable verifiedHostOfGame(_id) verifiedGameAvailable(_id) {
        GameInfo storage gameInfo = arrAvailableGames[idToIndexAvailableGames[_id]];

        require(gameInfo.valueBet > 0, "Can't close game!");

        uint valueBet = gameInfo.valueBet;
        gameInfo.valueBet = 0;
        sendPayment(gameInfo.addressHost, valueBet);
        destroyGame(_id);
        emit LogCloseGameSuccessed(_id, valueBet);
    }

    function () public payable {
    }

    function destroyGame(uint _id) private {
        uint indexGameInfo = idToIndexAvailableGames[_id];
        delete idToIndexAvailableGames[_id];
        delete idToGameSecret[_id];
        removeGameInfoFromArray(indexGameInfo);
        totalAvailableGames--;
    }

    function removeGameInfoFromArray(uint _index) private {
        if(_index >= 0 && arrAvailableGames.length > 0) {
            if(_index == arrAvailableGames.length - 1)
            arrAvailableGames.length--;
            else {
                arrAvailableGames[_index] = arrAvailableGames[arrAvailableGames.length - 1];
                idToIndexAvailableGames[arrAvailableGames[_index].id] = _index;
                arrAvailableGames.length--;
            }
        }
    }

    function getValueTip(uint _valueWin) private pure returns(uint) {
        uint valueTip = _valueWin * DEVELOPER_TIP_PERCENT / 100;

        if(valueTip < DEVELOPER_TIP_MIN)
            valueTip = DEVELOPER_TIP_MIN;

        return valueTip;
    }

    function sendPayment(address _receiver, uint _amount) private {
        _receiver.transfer(_amount);
    }

    modifier verifiedGameAvailable(uint _id) {
        require(idToIndexAvailableGames[_id] >= 0, "Game ID not exist!");
        _;
    }

    modifier verifiedGesture(uint _resultSelect) {
        require((_resultSelect == ROCK || _resultSelect == PAPER || _resultSelect == SCISSOR), "Gesture can't verify");
        _;
    }

    modifier verifiedHostOfGame(uint _id) {
        require(msg.sender == arrAvailableGames[idToIndexAvailableGames[_id]].addressHost, "Verify host of game failed");
        _;
    }

    modifier verifiedValueBet(uint _valueBet) {
        require(_valueBet >= VALUE_BET_MIN && _valueBet <= VALUE_BET_MAX, "Your value bet out of rule");
        _;
    }

}

    Contract ABI  
[{"constant":false,"inputs":[],"name":"withdrawTipForDeveloper","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"cfoAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"ceoAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_id","type":"uint256"}],"name":"closeMyGame","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"totalAvailableGames","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newCEO","type":"address"}],"name":"setCEO","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newCOO","type":"address"}],"name":"setCOO","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_gestureHost","type":"uint256"}],"name":"createGame","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"_newCFO","type":"address"}],"name":"setCFO","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newContract","type":"address"}],"name":"setNewAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalCreatedGame","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_id","type":"uint256"},{"name":"_gestureGuest","type":"uint256"}],"name":"joinGameAndBattle","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"totalTipForDeveloper","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"cooAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"arrAvailableGames","outputs":[{"name":"id","type":"uint256"},{"name":"valueBet","type":"uint256"},{"name":"addressHost","type":"address"}],"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":"_id","type":"uint256"},{"indexed":false,"name":"_valueReturn","type":"uint256"}],"name":"LogCloseGameSuccessed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_id","type":"uint256"},{"indexed":false,"name":"_valuePlayerHostBid","type":"uint256"}],"name":"LogCreateGameSuccessed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_id","type":"uint256"},{"indexed":false,"name":"_result","type":"uint256"},{"indexed":true,"name":"_addressPlayerWin","type":"address"},{"indexed":true,"name":"_addressPlayerLose","type":"address"},{"indexed":false,"name":"_valuePlayerWin","type":"uint256"},{"indexed":false,"name":"_valuePlayerLose","type":"uint256"},{"indexed":false,"name":"_gesturePlayerWin","type":"uint256"},{"indexed":false,"name":"_gesturePlayerLose","type":"uint256"}],"name":"LogJoinAndBattleSuccessed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newContract","type":"address"}],"name":"ContractUpgrade","type":"event"}]

  Contract Creation Code Switch To Opcodes View
608060405260006004556000600560006101000a81548160ff02191690831515021790555034801561003057600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600681905550600060078190555061216e806101126000396000f3006080604052600436106100fc576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063034d3b0d146100fe5780630519ce79146101155780630a0f81681461016c5780630fa87b15146101c35780630fff6e06146101e357806327d7874c1461020e5780632ba73c15146102515780633f4ba83a1461029457806348e837b9146102ab5780634e0a3379146102cb5780635c975abb1461030e578063715879881461033d5780638456cb591461038057806388afdeba146103975780638e984ccd146103c257806396c2d4c9146103ec578063b047fb5014610417578063c74ab7ac1461046e575b005b34801561010a57600080fd5b506101136104e9565b005b34801561012157600080fd5b5061012a61067a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561017857600080fd5b506101816106a0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101e1600480360381019080803590602001909291905050506106c5565b005b3480156101ef57600080fd5b506101f8610988565b6040518082815260200191505060405180910390f35b34801561021a57600080fd5b5061024f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061098e565b005b34801561025d57600080fd5b50610292600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b3a565b005b3480156102a057600080fd5b506102a9610ce7565b005b6102c960048036038101908080359060200190929190505050610e4c565b005b3480156102d757600080fd5b5061030c600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611114565b005b34801561031a57600080fd5b506103236112c1565b604051808215151515815260200191505060405180910390f35b34801561034957600080fd5b5061037e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506112d4565b005b34801561038c57600080fd5b506103956114c3565b005b3480156103a357600080fd5b506103ac6116d9565b6040518082815260200191505060405180910390f35b6103ea60048036038101908080359060200190929190803590602001909291905050506116df565b005b3480156103f857600080fd5b50610401611d8d565b6040518082815260200191505060405180910390f35b34801561042357600080fd5b5061042c611d93565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561047a57600080fd5b5061049960048036038101908080359060200190929190505050611db9565b604051808481526020018381526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001935050505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156105ad576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f596f75277265206e6f7420612043454f2100000000000000000000000000000081525060200191505060405180910390fd5b6000600454111515610627576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f4e656564206d6f72652074697020746f2077697468647261772100000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc6004549081150290604051600060405180830381858888f1935050505015801561066f573d6000803e3d6000fd5b506000600481905550565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008082600860096000838152602001908152602001600020548154811015156106eb57fe5b906000526020600020906003020160020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156107bf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f56657269667920686f7374206f662067616d65206661696c656400000000000081525060200191505060405180910390fd5b83600060096000838152602001908152602001600020541015151561084c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f47616d65204944206e6f7420657869737421000000000000000000000000000081525060200191505060405180910390fd5b6008600960008781526020019081526020016000205481548110151561086e57fe5b90600052602060002090600302019350600084600101541115156108fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f43616e277420636c6f73652067616d652100000000000000000000000000000081525060200191505060405180910390fd5b83600101549250600084600101819055506109398460020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611e12565b61094285611e5d565b7fe833c6604789518a0487fbe677ed55e24341ded21a1c9f8dc5c5530e907745d18584604051808381526020018281526020019250505060405180910390a15050505050565b60075481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610a52576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f596f75277265206e6f7420612043454f2100000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610af7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f4164647265737320746f207365742043454f2077726f6e67210000000000000081525060200191505060405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610bfe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f596f75277265206e6f7420612043454f2100000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610ca3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f4164647265737320746f2073657420434f4f2077726f6e67210000000000000081525060200191505060405180910390fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610dab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f596f75277265206e6f7420612043454f2100000000000000000000000000000081525060200191505060405180910390fd5b600560009054906101000a900460ff161515610e2f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f4e6f74207061757365642100000000000000000000000000000000000000000081525060200191505060405180910390fd5b6000600560006101000a81548160ff021916908315150217905550565b610e5461206e565b610e5c6120a6565b826103e8811480610e6e57506107d081145b80610e7a5750610bb881145b1515610eee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f476573747572652063616e27742076657269667900000000000000000000000081525060200191505060405180910390fd5b34662386f26fc100008110158015610f0e5750674563918244f400008111155b1515610f82576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f596f75722076616c756520626574206f7574206f662072756c6500000000000081525060200191505060405180910390fd5b60606040519081016040528060016006540181526020013481526020013373ffffffffffffffffffffffffffffffffffffffff16815250935060206040519081016040528086815250925060088490806001815401808255809150509060018203906000526020600020906003020160009091929091909150600082015181600001556020820151816001015560408201518160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505060016008805490500360096000866000015181526020019081526020016000208190555082600a600086600001518152602001908152602001600020600082015181600001559050506006600081548092919060010191905055506007600081548092919060010191905055507f152936c23c2f2ea54fa0621012441fd00dc15e7b8d299838900c7a3467f6097c84600001518560200151604051808381526020018281526020019250505060405180910390a15050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156111d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f596f75277265206e6f7420612043454f2100000000000000000000000000000081525060200191505060405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561127d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f4164647265737320746f207365742043464f2077726f6e67210000000000000081525060200191505060405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600560009054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611398576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260118152602001807f596f75277265206e6f7420612043454f2100000000000000000000000000000081525060200191505060405180910390fd5b600560009054906101000a900460ff16151561141c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f4e6f74207061757365642100000000000000000000000000000000000000000081525060200191505060405180910390fd5b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f450db8da6efbe9c22f2347f7c2021231df1fc58d3ae9a2fa75d39fa44619930581604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061156b57506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b806115c35750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515611637576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f596f75277265206e6f7420432d4c6576656c000000000000000000000000000081525060200191505060405180910390fd5b600560009054906101000a900460ff161515156116bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260078152602001807f506175736564210000000000000000000000000000000000000000000000000081525060200191505060405180910390fd5b6001600560006101000a81548160ff021916908315150217905550565b60065481565b6000806116ea61206e565b6000846103e88114806116fe57506107d081145b8061170a5750610bb881145b151561177e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f476573747572652063616e27742076657269667900000000000000000000000081525060200191505060405180910390fd5b34662386f26fc10000811015801561179e5750674563918244f400008111155b1515611812576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f596f75722076616c756520626574206f7574206f662072756c6500000000000081525060200191505060405180910390fd5b87600060096000838152602001908152602001600020541015151561189f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f47616d65204944206e6f7420657869737421000000000000000000000000000081525060200191505060405180910390fd5b60019650600095506008600960008b8152602001908152602001600020548154811015156118c957fe5b90600052602060002090600302016060604051908101604052908160008201548152602001600182015481526020016002820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152505094503373ffffffffffffffffffffffffffffffffffffffff16856040015173ffffffffffffffffffffffffffffffffffffffff16141515156119f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f446f6e277420706c6179207769746820796f757273656c66000000000000000081525060200191505060405180910390fd5b846020015134141515611a98576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260388152602001807f56616c75652062657420746f20626174746c65206e6f7420657874726163746c81526020017f7920776974682076616c756520626574206f6620686f7374000000000000000081525060400191505060405180910390fd5b600a60008660000151815260200190815260200160002060000154955087861415611b7e5760019650611acb3334611e12565b611add85604001518660200151611e12565b611ae689611e5d565b3373ffffffffffffffffffffffffffffffffffffffff16856040015173ffffffffffffffffffffffffffffffffffffffff167f93ae0a751a6ac2e1f99f15bc1d823e6ef3cd589a5c33f34a94bb7d31fcd7629a8b60016000808c8f60405180878152602001868152602001858152602001848152602001838152602001828152602001965050505050505060405180910390a3611d82565b6103e8861415611ba257610bb88814611b98576003611b9b565b60025b9650611be8565b6107d0861415611bc6576103e88814611bbc576003611bbf565b60025b9650611be7565b610bb8861415611be6576107d08814611be0576003611be3565b60025b96505b5b5b611bf58560200151611eca565b9350611c0084611f02565b6002871415611cc957611c20856040015185600288602001510203611e12565b611c2989611e5d565b3373ffffffffffffffffffffffffffffffffffffffff16856040015173ffffffffffffffffffffffffffffffffffffffff167f93ae0a751a6ac2e1f99f15bc1d823e6ef3cd589a5c33f34a94bb7d31fcd7629a8b8a888a60200151038a602001518c8f60405180878152602001868152602001858152602001848152602001838152602001828152602001965050505050505060405180910390a3611d81565b611cdc3385600288602001510203611e12565b611ce589611e5d565b846040015173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f93ae0a751a6ac2e1f99f15bc1d823e6ef3cd589a5c33f34a94bb7d31fcd7629a8b8a888a60200151038a602001518e8d60405180878152602001868152602001858152602001848152602001838152602001828152602001965050505050505060405180910390a35b5b505050505050505050565b60045481565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600881815481101515611dc857fe5b90600052602060002090600302016000915090508060000154908060010154908060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905083565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611e58573d6000803e3d6000fd5b505050565b6000600960008381526020019081526020016000205490506009600083815260200190815260200160002060009055600a60008381526020019081526020016000206000808201600090555050611eb381611f15565b600760008154809291906001900391905055505050565b600080606460018402811515611edc57fe5b0490506601c6bf52634000811015611ef9576601c6bf5263400090505b80915050919050565b8060046000828254019250508190555050565b60008110158015611f2b57506000600880549050115b1561206b57600160088054905003811415611f5b576008805480919060019003611f5591906120ba565b5061206a565b6008600160088054905003815481101515611f7257fe5b9060005260206000209060030201600882815481101515611f8f57fe5b906000526020600020906003020160008201548160000155600182015481600101556002820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550905050806009600060088481548110151561202f57fe5b906000526020600020906003020160000154815260200190815260200160002081905550600880548091906001900361206891906120ba565b505b5b50565b6060604051908101604052806000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff1681525090565b602060405190810160405280600081525090565b8154818355818111156120e7576003028160030283600052602060002091820191016120e691906120ec565b5b505050565b61213f91905b8082111561213b5760008082016000905560018201600090556002820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055506003016120f2565b5090565b905600a165627a7a723058202cef5f5160b7dfeb83d2c9e8f69d46884a60c18005d02761d8c14b07a1161ce80029

   Swarm Source:
bzzr://2cef5f5160b7dfeb83d2c9e8f69d46884a60c18005d02761d8c14b07a1161ce8

 

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.