Sponsored:   Ubex.com - World roadshow: Seoul Sep 17-19, Singapore Sep 19-20, Dubai 18-23. Meet us!.
Contract Overview
Balance: 0 Ether
Ether Value: $0
Transactions: 16 txns
 Latest 16 txns

TxHash Age From To Value [TxFee]
0x15cf5b4b62ea95014668cfb6220bd5a0ec9ebbc4199df73f5e9bc85dcf83453e5 days 17 hrs ago0x540fc6c567cda49e9c1d485443d9c99f81727980  IN   0x66581080e0c262e80a8d2f9aaa903ffd0d47c5c20 Ether0.000098135
0x4522c9a4f298a473278d864f1ce2120f497981d875661c9a4442c59eb55a4a845 days 18 hrs ago0x540fc6c567cda49e9c1d485443d9c99f81727980  IN   0x66581080e0c262e80a8d2f9aaa903ffd0d47c5c20.01 Ether0.000312944
0x87eed627622c196b42701d0c93670cd8c5f018e20f6ddee68a663dfe549c16395 days 19 hrs ago0xd311e934d9a1d9f71004976cd0268fd25f9cb77f  IN   0x66581080e0c262e80a8d2f9aaa903ffd0d47c5c20.01 Ether0.00124396
0xfd885e4a1ed87316d28cc764dd5ca17d9b3737f0ddeb7bb026adfd4249cd22675 days 22 hrs ago0xbe8acf3ac2e19a4afb7fa88e45d309d1c6742fe8  IN   0x66581080e0c262e80a8d2f9aaa903ffd0d47c5c20 Ether0.000301408
0x23baa67250140e3fd3ba3554386e7ef3857e9ae848e6c534626c387d2e0588e55 days 22 hrs ago0xbe8acf3ac2e19a4afb7fa88e45d309d1c6742fe8  IN   0x66581080e0c262e80a8d2f9aaa903ffd0d47c5c20.01 Ether0.001243872
0xb8beb4f5b9d1b2d097054a41994d8d060c19a94110ebbba377f800f1e00322806 days 29 mins ago0xf26716c00c66bef39b879908049f2bf8c53a9225  IN   0x66581080e0c262e80a8d2f9aaa903ffd0d47c5c20.01 Ether0.00019551
0xe4abee5f07b83d4b76a94bdc237a6d0481e1ec2ffb6db11725e44a49d58619a16 days 37 mins ago0x540fc6c567cda49e9c1d485443d9c99f81727980  IN   0x66581080e0c262e80a8d2f9aaa903ffd0d47c5c20.01 Ether0.000621892
0xda16c601ec2e88b6c9cca2615adc1b4176fd4d76787ee69305b2b18b66b589126 days 1 hr ago0xf389695d89f3782e1b588b4d46061ae1356b17a9  IN   0x66581080e0c262e80a8d2f9aaa903ffd0d47c5c20.01 Ether0.000215061
0x1904b2f3534946879ceabc22b2ebea5da1c27c851028bedb4179c6310acaecee6 days 1 hr ago0xd311e934d9a1d9f71004976cd0268fd25f9cb77f  IN   0x66581080e0c262e80a8d2f9aaa903ffd0d47c5c20.01 Ether0.000746270411
0x61b830575ed4ff3709a5a867c92424c0d7519d30d252152f238152e16407c7896 days 2 hrs ago0x11dcb85916423c46f70552ddb220e2583d2a830f  IN   0x66581080e0c262e80a8d2f9aaa903ffd0d47c5c20.01 Ether0.000215149
0x99cf311a43d0af1fa3a6b1d35d87ef24d3a4b41410dc6ff143b6c65d76844c006 days 2 hrs ago0x540fc6c567cda49e9c1d485443d9c99f81727980  IN   0x66581080e0c262e80a8d2f9aaa903ffd0d47c5c20.01 Ether0.000746376011
0x46697de6d4d071ee67b268743f87a82bca74583b7530ee20940b972c610b49596 days 2 hrs ago0x5e73b3e4bf70cbcedb55302b50b92f8f8e193a1e  IN   0x66581080e0c262e80a8d2f9aaa903ffd0d47c5c20.01 Ether0.000234726
0x2558f3c74804a6b8710bb67238c8fdf0139fbb38cd8f52a76bee1a75d5e942f36 days 2 hrs ago0xd311e934d9a1d9f71004976cd0268fd25f9cb77f  IN   0x66581080e0c262e80a8d2f9aaa903ffd0d47c5c20.01 Ether0.00077742
0xa13b851ac253bfd222c541091473f143521e72d1bf2c6b9dbf1ce6355915b3746 days 2 hrs ago0x5e73b3e4bf70cbcedb55302b50b92f8f8e193a1e  IN   0x66581080e0c262e80a8d2f9aaa903ffd0d47c5c20.01 Ether0.000279726
0x76291633fa5a1b8954001ca62ed4b1e9e219ede154f380afd079f9e73bab392d6 days 4 hrs ago0x540fc6c567cda49e9c1d485443d9c99f81727980  IN   0x66581080e0c262e80a8d2f9aaa903ffd0d47c5c20.01 Ether0.000681936
0xb1d0e8440b94a28d94b09d4fe8e7d1ccb93c37040b9db58f3c473ff07ebb6c126 days 6 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
0x15cf5b4b62ea95014668cfb6220bd5a0ec9ebbc4199df73f5e9bc85dcf83453e63219425 days 17 hrs ago0x66581080e0c262e80a8d2f9aaa903ffd0d47c5c20x540fc6c567cda49e9c1d485443d9c99f817279800.003 Ether
0x4522c9a4f298a473278d864f1ce2120f497981d875661c9a4442c59eb55a4a8463217215 days 18 hrs ago0x66581080e0c262e80a8d2f9aaa903ffd0d47c5c20x540fc6c567cda49e9c1d485443d9c99f817279800.0195 Ether
0xfd885e4a1ed87316d28cc764dd5ca17d9b3737f0ddeb7bb026adfd4249cd226763207205 days 22 hrs ago0x66581080e0c262e80a8d2f9aaa903ffd0d47c5c20xbe8acf3ac2e19a4afb7fa88e45d309d1c6742fe80.01 Ether
0xb8beb4f5b9d1b2d097054a41994d8d060c19a94110ebbba377f800f1e003228063201336 days 29 mins ago0x66581080e0c262e80a8d2f9aaa903ffd0d47c5c20xf26716c00c66bef39b879908049f2bf8c53a92250.0195 Ether
0xda16c601ec2e88b6c9cca2615adc1b4176fd4d76787ee69305b2b18b66b5891263198876 days 1 hr ago0x66581080e0c262e80a8d2f9aaa903ffd0d47c5c20xf389695d89f3782e1b588b4d46061ae1356b17a90.0195 Ether
0x61b830575ed4ff3709a5a867c92424c0d7519d30d252152f238152e16407c78963197586 days 2 hrs ago0x66581080e0c262e80a8d2f9aaa903ffd0d47c5c20x11dcb85916423c46f70552ddb220e2583d2a830f0.0195 Ether
0x46697de6d4d071ee67b268743f87a82bca74583b7530ee20940b972c610b495963196206 days 2 hrs ago0x66581080e0c262e80a8d2f9aaa903ffd0d47c5c20x5e73b3e4bf70cbcedb55302b50b92f8f8e193a1e0.0195 Ether
0xa13b851ac253bfd222c541091473f143521e72d1bf2c6b9dbf1ce6355915b37463195636 days 2 hrs 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 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.