ETH Price: $2,509.40 (-0.25%)

Contract

0xF14F52b78169b526b2A0DBCBa0AE82751Fa6b0dF
 

Overview

ETH Balance

0.01 ETH

Eth Value

$25.09 (@ $2,509.40/ETH)

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Get Win97391422020-03-25 7:26:231623 days ago1585121183IN
0xF14F52b7...51Fa6b0dF
0 ETH0.00050516.5
Respond Game97391372020-03-25 7:25:351623 days ago1585121135IN
0xF14F52b7...51Fa6b0dF
0.0211 ETH0.000436996.5
Create Game97391342020-03-25 7:25:221623 days ago1585121122IN
0xF14F52b7...51Fa6b0dF
0.0211 ETH0.000750816.5
Get Win97389662020-03-25 6:45:571623 days ago1585118757IN
0xF14F52b7...51Fa6b0dF
0 ETH0.00050516.5
Respond Game97389632020-03-25 6:45:241623 days ago1585118724IN
0xF14F52b7...51Fa6b0dF
0.01 ETH0.000436996.5
Create Game97389612020-03-25 6:44:561623 days ago1585118696IN
0xF14F52b7...51Fa6b0dF
0.01 ETH0.000750816.5
Get Win97351872020-03-24 16:26:161623 days ago1585067176IN
0xF14F52b7...51Fa6b0dF
0 ETH0.000611197.865
Respond Game97351822020-03-24 16:25:041623 days ago1585067104IN
0xF14F52b7...51Fa6b0dF
0.01 ETH0.000528767.865
Create Game97351792020-03-24 16:24:151623 days ago1585067055IN
0xF14F52b7...51Fa6b0dF
0.01 ETH0.000908487.865
Get Win97351072020-03-24 16:05:461623 days ago1585065946IN
0xF14F52b7...51Fa6b0dF
0 ETH0.000606147.8
Respond Game97351032020-03-24 16:05:011623 days ago1585065901IN
0xF14F52b7...51Fa6b0dF
0.01 ETH0.000524397.8
Create Game97351002020-03-24 16:04:111623 days ago1585065851IN
0xF14F52b7...51Fa6b0dF
0.01 ETH0.000750736.5
Get Win97350872020-03-24 16:00:421623 days ago1585065642IN
0xF14F52b7...51Fa6b0dF
0 ETH0.00050516.5
Respond Game97350842020-03-24 16:00:111623 days ago1585065611IN
0xF14F52b7...51Fa6b0dF
0.01 ETH0.000524397.8
Create Game97350792020-03-24 15:59:061623 days ago1585065546IN
0xF14F52b7...51Fa6b0dF
0.01 ETH0.000900887.8
Get Win97350502020-03-24 15:52:141623 days ago1585065134IN
0xF14F52b7...51Fa6b0dF
0 ETH0.000505126.5
Respond Game97350472020-03-24 15:50:461623 days ago1585065046IN
0xF14F52b7...51Fa6b0dF
0.01 ETH0.000436996.5
Create Game97350432020-03-24 15:49:461623 days ago1585064986IN
0xF14F52b7...51Fa6b0dF
0.01 ETH0.000750816.5
Get Win97349482020-03-24 15:25:411623 days ago1585063541IN
0xF14F52b7...51Fa6b0dF
0 ETH0.000505126.5
Respond Game97349392020-03-24 15:23:401623 days ago1585063420IN
0xF14F52b7...51Fa6b0dF
0.01 ETH0.000436996.5
Create Game97349362020-03-24 15:22:451623 days ago1585063365IN
0xF14F52b7...51Fa6b0dF
0.01 ETH0.000750816.5
Get Win97349212020-03-24 15:21:011623 days ago1585063261IN
0xF14F52b7...51Fa6b0dF
0 ETH0.000505126.5
Respond Game97349162020-03-24 15:19:561623 days ago1585063196IN
0xF14F52b7...51Fa6b0dF
0.01 ETH0.000436996.5
Create Game97349122020-03-24 15:19:201623 days ago1585063160IN
0xF14F52b7...51Fa6b0dF
0.01 ETH0.000825897.1500003
Get Win97349082020-03-24 15:18:211623 days ago1585063101IN
0xF14F52b7...51Fa6b0dF
0 ETH0.000303063.9
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
97391422020-03-25 7:26:231623 days ago1585121183
0xF14F52b7...51Fa6b0dF
0.04009 ETH
97391422020-03-25 7:26:231623 days ago1585121183
0xF14F52b7...51Fa6b0dF
0.00211 ETH
97389662020-03-25 6:45:571623 days ago1585118757
0xF14F52b7...51Fa6b0dF
0.019 ETH
97389662020-03-25 6:45:571623 days ago1585118757
0xF14F52b7...51Fa6b0dF
0.001 ETH
97351872020-03-24 16:26:161623 days ago1585067176
0xF14F52b7...51Fa6b0dF
0.019 ETH
97351872020-03-24 16:26:161623 days ago1585067176
0xF14F52b7...51Fa6b0dF
0.001 ETH
97351072020-03-24 16:05:461623 days ago1585065946
0xF14F52b7...51Fa6b0dF
0.019 ETH
97351072020-03-24 16:05:461623 days ago1585065946
0xF14F52b7...51Fa6b0dF
0.001 ETH
97350872020-03-24 16:00:421623 days ago1585065642
0xF14F52b7...51Fa6b0dF
0.019 ETH
97350872020-03-24 16:00:421623 days ago1585065642
0xF14F52b7...51Fa6b0dF
0.001 ETH
97350502020-03-24 15:52:141623 days ago1585065134
0xF14F52b7...51Fa6b0dF
0.019 ETH
97350502020-03-24 15:52:141623 days ago1585065134
0xF14F52b7...51Fa6b0dF
0.001 ETH
97349482020-03-24 15:25:411623 days ago1585063541
0xF14F52b7...51Fa6b0dF
0.019 ETH
97349482020-03-24 15:25:411623 days ago1585063541
0xF14F52b7...51Fa6b0dF
0.001 ETH
97349212020-03-24 15:21:011623 days ago1585063261
0xF14F52b7...51Fa6b0dF
0.019 ETH
97349212020-03-24 15:21:011623 days ago1585063261
0xF14F52b7...51Fa6b0dF
0.001 ETH
97349082020-03-24 15:18:211623 days ago1585063101
0xF14F52b7...51Fa6b0dF
0.019 ETH
97349082020-03-24 15:18:211623 days ago1585063101
0xF14F52b7...51Fa6b0dF
0.001 ETH
97348262020-03-24 14:58:141623 days ago1585061894
0xF14F52b7...51Fa6b0dF
0.019 ETH
97348262020-03-24 14:58:141623 days ago1585061894
0xF14F52b7...51Fa6b0dF
0.001 ETH
97348182020-03-24 14:57:241623 days ago1585061844
0xF14F52b7...51Fa6b0dF
0.019 ETH
97348182020-03-24 14:57:241623 days ago1585061844
0xF14F52b7...51Fa6b0dF
0.001 ETH
97347122020-03-24 14:35:041623 days ago1585060504
0xF14F52b7...51Fa6b0dF
0.08474 ETH
97347122020-03-24 14:35:041623 days ago1585060504
0xF14F52b7...51Fa6b0dF
0.00446 ETH
97346592020-03-24 14:20:011623 days ago1585059601
0xF14F52b7...51Fa6b0dF
0.019 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
MartiGame

Compiler Version
v0.5.12+commit.7709ece9

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2020-02-01
*/

pragma solidity 0.5.12;
library SafeMath {
    /**
     * @dev Returns the addition of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `+` operator.
     *
     * Requirements:
     * - Addition cannot overflow.
     */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }
    /**
     * @dev Returns the subtraction of two unsigned integers, reverting on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     * - Subtraction cannot overflow.
     */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }
    /**
     * @dev Returns the subtraction of two unsigned integers, reverting with custom message on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     * - Subtraction cannot overflow.
     *
     * _Available since v2.4.0._
     */
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }
    /**
     * @dev Returns the multiplication of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `*` operator.
     *
     * Requirements:
     * - Multiplication cannot overflow.
     */
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
        // benefit is lost if 'b' is also tested.
        // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }
    /**
     * @dev Returns the integer division of two unsigned integers. Reverts on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }
    /**
     * @dev Returns the integer division of two unsigned integers. Reverts with custom message on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     * - The divisor cannot be zero.
     *
     * _Available since v2.4.0._
     */
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        // Solidity only automatically asserts when dividing by 0
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold
        return c;
    }
    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     * - The divisor cannot be zero.
     */
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }
    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts with custom message when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     * - The divisor cannot be zero.
     *
     * _Available since v2.4.0._
     */
    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}
contract MartiGame {
    using SafeMath for uint;
    uint public fee = 5;
    address payable owner;
    /** State
     *
     * - New: 0
     * - Deleted: 1
     * - OnGoing: 2
     * - Closed: 3
     */
    enum State{New, Deleted, OnGoing, Closed}
    struct _game {
        address payable creator;
        address payable responder;
        uint bet;
        uint blocknumber;
        uint id;
        State state;
    }
    _game[] public Games;
    mapping(uint => address) public gameWinner;
    event NewGame(uint indexed game_id, address indexed creator, address indexed responder, uint bet, uint id);
    event RespondGame(uint indexed game_id, address indexed responder);
    event DeleteGame(uint indexed game_id);
    event RefundGame(uint indexed game_id);
    event ResultGame(uint indexed game_id, address indexed winner, uint winAmount);
    constructor() public {
        owner = msg.sender;
    }
    function createGame(address payable _creator, uint _id) payable external {
        Games.push(_game({
            creator : _creator,
            responder : msg.sender,
            bet : msg.value,
            blocknumber : 0,
            state : State.New,
            id : _id
            }));
        emit NewGame(Games.length - 1, _creator, msg.sender, msg.value, _id);
    }
    function respondGame(uint _gameID) payable external {
        _game storage game = Games[_gameID];
        require(game.state == State.New, '01');
        require(game.bet == msg.value, '02');
        require(game.creator == msg.sender, '03');
        game.state = State.OnGoing;
        game.blocknumber = block.number;
        emit RespondGame(_gameID, msg.sender);
    }
    function deleteGame(uint _gameID) external {
        _game storage game = Games[_gameID];
        require(game.creator == msg.sender, '04');
        require(game.state == State.New, '05');
        game.state = State.Deleted;
        game.creator.transfer(game.bet);
        emit DeleteGame(_gameID);
    }
    function getWin(uint _gameID) external {
        _game storage game = Games[_gameID];
        require(game.state == State.OnGoing, '06');
        require(game.creator == msg.sender || game.responder == msg.sender, '07');
        require(block.number > game.blocknumber + 1, '08');
        game.state = State.Closed;
        if (blockhash(game.blocknumber) == 0 || (block.number - game.blocknumber) > 256) {
            game.creator.transfer(game.bet);
            game.responder.transfer(game.bet);
            emit RefundGame(_gameID);
            gameWinner[_gameID] = address(0);
        } else {
            uint hash = uint(keccak256(abi.encodePacked(blockhash(game.blocknumber + 1), game.creator, game.responder, game.bet)));
            uint game_bet_common = game.bet.mul(2);
            uint owner_fee = game_bet_common.mul(fee).div(100);
            owner.transfer(owner_fee);
            uint winAmount = game_bet_common.sub(owner_fee);
            address winner;
            if (hash % 2 == 0) {
                game.creator.transfer(winAmount);
                winner = game.creator;
                emit ResultGame(_gameID, game.creator, winAmount);
            } else {
                game.responder.transfer(winAmount);
                winner = game.responder;
                emit ResultGame(_gameID, game.responder, winAmount);
            }
            gameWinner[_gameID] = winner;
        }
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"game_id","type":"uint256"}],"name":"DeleteGame","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"game_id","type":"uint256"},{"indexed":true,"internalType":"address","name":"creator","type":"address"},{"indexed":true,"internalType":"address","name":"responder","type":"address"},{"indexed":false,"internalType":"uint256","name":"bet","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"id","type":"uint256"}],"name":"NewGame","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"game_id","type":"uint256"}],"name":"RefundGame","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"game_id","type":"uint256"},{"indexed":true,"internalType":"address","name":"responder","type":"address"}],"name":"RespondGame","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"game_id","type":"uint256"},{"indexed":true,"internalType":"address","name":"winner","type":"address"},{"indexed":false,"internalType":"uint256","name":"winAmount","type":"uint256"}],"name":"ResultGame","type":"event"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"Games","outputs":[{"internalType":"address payable","name":"creator","type":"address"},{"internalType":"address payable","name":"responder","type":"address"},{"internalType":"uint256","name":"bet","type":"uint256"},{"internalType":"uint256","name":"blocknumber","type":"uint256"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"enum MartiGame.State","name":"state","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address payable","name":"_creator","type":"address"},{"internalType":"uint256","name":"_id","type":"uint256"}],"name":"createGame","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_gameID","type":"uint256"}],"name":"deleteGame","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"fee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"gameWinner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_gameID","type":"uint256"}],"name":"getWin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_gameID","type":"uint256"}],"name":"respondGame","outputs":[],"payable":true,"stateMutability":"payable","type":"function"}]

6080604052600560005534801561001557600080fd5b50600180546001600160a01b03191633179055610c9e806100376000396000f3fe6080604052600436106100705760003560e01c806329d4f4c31161004e57806329d4f4c314610113578063412c0c2d146101a85780635b4b260d146101d2578063ddca3f43146101ef57610070565b8063047913091461007557806307ead930146100bb578063248a55a1146100e9575b600080fd5b34801561008157600080fd5b5061009f6004803603602081101561009857600080fd5b5035610216565b604080516001600160a01b039092168252519081900360200190f35b6100e7600480360360408110156100d157600080fd5b506001600160a01b038135169060200135610231565b005b3480156100f557600080fd5b506100e76004803603602081101561010c57600080fd5b503561036d565b34801561011f57600080fd5b5061013d6004803603602081101561013657600080fd5b503561049a565b60405180876001600160a01b03166001600160a01b03168152602001866001600160a01b03166001600160a01b0316815260200185815260200184815260200183815260200182600381111561018f57fe5b60ff168152602001965050505050505060405180910390f35b3480156101b457600080fd5b506100e7600480360360208110156101cb57600080fd5b50356104ed565b6100e7600480360360208110156101e857600080fd5b5035610930565b3480156101fb57600080fd5b50610204610a60565b60408051918252519081900360200190f35b6003602052600090815260409020546001600160a01b031681565b60026040518060c00160405280846001600160a01b03168152602001336001600160a01b03168152602001348152602001600081526020018381526020016000600381111561027c57fe5b9052815460018082018085556000948552602094859020845160069094020180546001600160a01b03199081166001600160a01b039586161782559585015181840180549097169416939093179094556040830151600283015560608301516003808401919091556080840151600484015560a08401516005840180549193909260ff1990921691849081111561030f57fe5b021790555050600254604080513481526020810186905281513395506001600160a01b0388169450600019909301927fc6033c99d30021b6f626ea532bac1876d2730158b35f58c399d8311d1c08df65929181900390910190a45050565b60006002828154811061037c57fe5b6000918252602090912060069091020180549091506001600160a01b031633146103d2576040805162461bcd60e51b81526020600482015260026024820152610c0d60f21b604482015290519081900360640190fd5b6000600582015460ff1660038111156103e757fe5b1461041e576040805162461bcd60e51b8152602060048201526002602482015261303560f01b604482015290519081900360640190fd5b60058101805460ff19166001179055805460028201546040516001600160a01b03909216916108fc82150291906000818181858888f1935050505015801561046a573d6000803e3d6000fd5b5060405182907fd0b153e02e23f4f21d020465b4dac7b1114893d05db395ed2511f879c3ac90b490600090a25050565b600281815481106104a757fe5b60009182526020909120600690910201805460018201546002830154600384015460048501546005909501546001600160a01b0394851696509390921693909260ff1686565b6000600282815481106104fc57fe5b6000918252602090912060069091020190506002600582015460ff16600381111561052357fe5b1461055a576040805162461bcd60e51b8152602060048201526002602482015261181b60f11b604482015290519081900360640190fd5b80546001600160a01b031633148061057e575060018101546001600160a01b031633145b6105b4576040805162461bcd60e51b8152602060048201526002602482015261303760f01b604482015290519081900360640190fd5b806003015460010143116105f4576040805162461bcd60e51b8152602060048201526002602482015261060760f31b604482015290519081900360640190fd5b60058101805460ff1916600390811790915581015440158061061d575061010081600301544303115b156106ed57805460028201546040516001600160a01b039092169181156108fc0291906000818181858888f1935050505015801561065f573d6000803e3d6000fd5b50600181015460028201546040516001600160a01b039092169181156108fc0291906000818181858888f193505050501580156106a0573d6000803e3d6000fd5b5060405182907fdef962f687d7337d609335629e2e44b5ff6993bd63b598a0d724d8660153f73b90600090a2600082815260036020526040902080546001600160a01b031916905561092c565b600381015481546001808401546002808601546040805194909601406020808601919091526bffffffffffffffffffffffff19606096871b8116868901529390951b90921660548401526068808401839052855180850390910181526088909301909452815191909201209160009161076b9163ffffffff610a6616565b90506000610795606461078960005485610a6690919063ffffffff16565b9063ffffffff610ac816565b6001546040519192506001600160a01b03169082156108fc029083906000818181858888f193505050501580156107d0573d6000803e3d6000fd5b5060006107e3838363ffffffff610b0a16565b90506000600285066108745785546040516001600160a01b039091169083156108fc029084906000818181858888f19350505050158015610828573d6000803e3d6000fd5b505084546040805183815290516001600160a01b0390921691829189917f603ea8499ff2f1f8c53da9b963d3c6f9f56ced7bf822ec39dca3890cf73c97aa9181900360200190a36108fb565b60018601546040516001600160a01b039091169083156108fc029084906000818181858888f193505050501580156108b0573d6000803e3d6000fd5b505060018501546040805183815290516001600160a01b0390921691829189917f603ea8499ff2f1f8c53da9b963d3c6f9f56ced7bf822ec39dca3890cf73c97aa9181900360200190a35b600087815260036020526040902080546001600160a01b0319166001600160a01b0392909216919091179055505050505b5050565b60006002828154811061093f57fe5b6000918252602082206006909102019150600582015460ff16600381111561096357fe5b1461099a576040805162461bcd60e51b8152602060048201526002602482015261303160f01b604482015290519081900360640190fd5b348160020154146109d7576040805162461bcd60e51b8152602060048201526002602482015261181960f11b604482015290519081900360640190fd5b80546001600160a01b03163314610a1a576040805162461bcd60e51b8152602060048201526002602482015261303360f01b604482015290519081900360640190fd5b60058101805460ff19166002179055436003820155604051339083907fd2121dd839e8ef15cf070f0f97f52d7305b57976a872fe9606e4bbcc506f9edc90600090a35050565b60005481565b600082610a7557506000610ac2565b82820282848281610a8257fe5b0414610abf5760405162461bcd60e51b8152600401808060200182810382526021815260200180610c496021913960400191505060405180910390fd5b90505b92915050565b6000610abf83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610b4c565b6000610abf83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610bee565b60008183610bd85760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610b9d578181015183820152602001610b85565b50505050905090810190601f168015610bca5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581610be457fe5b0495945050505050565b60008184841115610c405760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610b9d578181015183820152602001610b85565b50505090039056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a265627a7a72315820f3c442227f8ed4ede7086e75fa2129c4abd01fb33e1e8dcedd6df45cad4daf6464736f6c634300050c0032

Deployed Bytecode

0x6080604052600436106100705760003560e01c806329d4f4c31161004e57806329d4f4c314610113578063412c0c2d146101a85780635b4b260d146101d2578063ddca3f43146101ef57610070565b8063047913091461007557806307ead930146100bb578063248a55a1146100e9575b600080fd5b34801561008157600080fd5b5061009f6004803603602081101561009857600080fd5b5035610216565b604080516001600160a01b039092168252519081900360200190f35b6100e7600480360360408110156100d157600080fd5b506001600160a01b038135169060200135610231565b005b3480156100f557600080fd5b506100e76004803603602081101561010c57600080fd5b503561036d565b34801561011f57600080fd5b5061013d6004803603602081101561013657600080fd5b503561049a565b60405180876001600160a01b03166001600160a01b03168152602001866001600160a01b03166001600160a01b0316815260200185815260200184815260200183815260200182600381111561018f57fe5b60ff168152602001965050505050505060405180910390f35b3480156101b457600080fd5b506100e7600480360360208110156101cb57600080fd5b50356104ed565b6100e7600480360360208110156101e857600080fd5b5035610930565b3480156101fb57600080fd5b50610204610a60565b60408051918252519081900360200190f35b6003602052600090815260409020546001600160a01b031681565b60026040518060c00160405280846001600160a01b03168152602001336001600160a01b03168152602001348152602001600081526020018381526020016000600381111561027c57fe5b9052815460018082018085556000948552602094859020845160069094020180546001600160a01b03199081166001600160a01b039586161782559585015181840180549097169416939093179094556040830151600283015560608301516003808401919091556080840151600484015560a08401516005840180549193909260ff1990921691849081111561030f57fe5b021790555050600254604080513481526020810186905281513395506001600160a01b0388169450600019909301927fc6033c99d30021b6f626ea532bac1876d2730158b35f58c399d8311d1c08df65929181900390910190a45050565b60006002828154811061037c57fe5b6000918252602090912060069091020180549091506001600160a01b031633146103d2576040805162461bcd60e51b81526020600482015260026024820152610c0d60f21b604482015290519081900360640190fd5b6000600582015460ff1660038111156103e757fe5b1461041e576040805162461bcd60e51b8152602060048201526002602482015261303560f01b604482015290519081900360640190fd5b60058101805460ff19166001179055805460028201546040516001600160a01b03909216916108fc82150291906000818181858888f1935050505015801561046a573d6000803e3d6000fd5b5060405182907fd0b153e02e23f4f21d020465b4dac7b1114893d05db395ed2511f879c3ac90b490600090a25050565b600281815481106104a757fe5b60009182526020909120600690910201805460018201546002830154600384015460048501546005909501546001600160a01b0394851696509390921693909260ff1686565b6000600282815481106104fc57fe5b6000918252602090912060069091020190506002600582015460ff16600381111561052357fe5b1461055a576040805162461bcd60e51b8152602060048201526002602482015261181b60f11b604482015290519081900360640190fd5b80546001600160a01b031633148061057e575060018101546001600160a01b031633145b6105b4576040805162461bcd60e51b8152602060048201526002602482015261303760f01b604482015290519081900360640190fd5b806003015460010143116105f4576040805162461bcd60e51b8152602060048201526002602482015261060760f31b604482015290519081900360640190fd5b60058101805460ff1916600390811790915581015440158061061d575061010081600301544303115b156106ed57805460028201546040516001600160a01b039092169181156108fc0291906000818181858888f1935050505015801561065f573d6000803e3d6000fd5b50600181015460028201546040516001600160a01b039092169181156108fc0291906000818181858888f193505050501580156106a0573d6000803e3d6000fd5b5060405182907fdef962f687d7337d609335629e2e44b5ff6993bd63b598a0d724d8660153f73b90600090a2600082815260036020526040902080546001600160a01b031916905561092c565b600381015481546001808401546002808601546040805194909601406020808601919091526bffffffffffffffffffffffff19606096871b8116868901529390951b90921660548401526068808401839052855180850390910181526088909301909452815191909201209160009161076b9163ffffffff610a6616565b90506000610795606461078960005485610a6690919063ffffffff16565b9063ffffffff610ac816565b6001546040519192506001600160a01b03169082156108fc029083906000818181858888f193505050501580156107d0573d6000803e3d6000fd5b5060006107e3838363ffffffff610b0a16565b90506000600285066108745785546040516001600160a01b039091169083156108fc029084906000818181858888f19350505050158015610828573d6000803e3d6000fd5b505084546040805183815290516001600160a01b0390921691829189917f603ea8499ff2f1f8c53da9b963d3c6f9f56ced7bf822ec39dca3890cf73c97aa9181900360200190a36108fb565b60018601546040516001600160a01b039091169083156108fc029084906000818181858888f193505050501580156108b0573d6000803e3d6000fd5b505060018501546040805183815290516001600160a01b0390921691829189917f603ea8499ff2f1f8c53da9b963d3c6f9f56ced7bf822ec39dca3890cf73c97aa9181900360200190a35b600087815260036020526040902080546001600160a01b0319166001600160a01b0392909216919091179055505050505b5050565b60006002828154811061093f57fe5b6000918252602082206006909102019150600582015460ff16600381111561096357fe5b1461099a576040805162461bcd60e51b8152602060048201526002602482015261303160f01b604482015290519081900360640190fd5b348160020154146109d7576040805162461bcd60e51b8152602060048201526002602482015261181960f11b604482015290519081900360640190fd5b80546001600160a01b03163314610a1a576040805162461bcd60e51b8152602060048201526002602482015261303360f01b604482015290519081900360640190fd5b60058101805460ff19166002179055436003820155604051339083907fd2121dd839e8ef15cf070f0f97f52d7305b57976a872fe9606e4bbcc506f9edc90600090a35050565b60005481565b600082610a7557506000610ac2565b82820282848281610a8257fe5b0414610abf5760405162461bcd60e51b8152600401808060200182810382526021815260200180610c496021913960400191505060405180910390fd5b90505b92915050565b6000610abf83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610b4c565b6000610abf83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610bee565b60008183610bd85760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610b9d578181015183820152602001610b85565b50505050905090810190601f168015610bca5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581610be457fe5b0495945050505050565b60008184841115610c405760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610b9d578181015183820152602001610b85565b50505090039056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a265627a7a72315820f3c442227f8ed4ede7086e75fa2129c4abd01fb33e1e8dcedd6df45cad4daf6464736f6c634300050c0032

Deployed Bytecode Sourcemap

4851:3504:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5329:42;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5329:42:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5329:42:0;;:::i;:::-;;;;-1:-1:-1;;;;;5329:42:0;;;;;;;;;;;;;;5803:390;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;5803:390:0;;;;;;;;:::i;:::-;;6586:312;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6586:312:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6586:312:0;;:::i;5302:20::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5302:20:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;5302:20:0;;:::i;:::-;;;;;-1:-1:-1;;;;;5302:20:0;-1:-1:-1;;;;;5302:20:0;;;;;;-1:-1:-1;;;;;5302:20:0;-1:-1:-1;;;;;5302:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6904:1448;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6904:1448:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6904:1448:0;;:::i;6199:381::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;6199:381:0;;:::i;4907:19::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4907:19:0;;;:::i;:::-;;;;;;;;;;;;;;;;5329:42;;;;;;;;;;;;-1:-1:-1;;;;;5329:42:0;;:::o;5803:390::-;5887:5;5898:207;;;;;;;;5929:8;-1:-1:-1;;;;;5898:207:0;;;;;5964:10;-1:-1:-1;;;;;5898:207:0;;;;;5995:9;5898:207;;;;6033:1;5898:207;;;;6086:3;5898:207;;;;6057:9;5898:207;;;;;;;;;;27:10:-1;;39:1;23:18;;;45:23;;;-1:-1;5887:219:0;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;5887:219:0;;;-1:-1:-1;;;;;5887:219:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5887:219:0;;;;;;;;;;;;;;;;;-1:-1:-1;;6130:5:0;:12;6122:63;;;6170:9;6122:63;;;;;;;;;;6158:10;;-1:-1:-1;;;;;;6122:63:0;;;-1:-1:-1;;;6130:16:0;;;;6122:63;;;;;;;;;;;5803:390;;:::o;6586:312::-;6640:18;6661:5;6667:7;6661:14;;;;;;;;;;;;;;;;;;;;;6694:12;;6661:14;;-1:-1:-1;;;;;;6694:12:0;6710:10;6694:26;6686:41;;;;;-1:-1:-1;;;6686:41:0;;;;;;;;;;;;-1:-1:-1;;;6686:41:0;;;;;;;;;;;;;;;6760:9;6746:10;;;;;;:23;;;;;;;;;6738:38;;;;;-1:-1:-1;;;6738:38:0;;;;;;;;;;;;-1:-1:-1;;;6738:38:0;;;;;;;;;;;;;;;6787:10;;;:26;;-1:-1:-1;;6787:26:0;6800:13;6787:26;;;6824:12;;6846:8;;;;6824:31;;-1:-1:-1;;;;;6824:12:0;;;;:31;;;;;6846:8;-1:-1:-1;6824:31:0;-1:-1:-1;6824:31:0;6846:8;6824:12;:31;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;6871:19:0;;6882:7;;6871:19;;;;;6586:312;;:::o;5302:20::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5302:20:0;;;;-1:-1:-1;5302:20:0;;;;;;;;;;:::o;6904:1448::-;6954:18;6975:5;6981:7;6975:14;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7022:13:0;7008:10;;;;;;:27;;;;;;;;;7000:42;;;;;-1:-1:-1;;;7000:42:0;;;;;;;;;;;;-1:-1:-1;;;7000:42:0;;;;;;;;;;;;;;;7061:12;;-1:-1:-1;;;;;7061:12:0;7077:10;7061:26;;:58;;-1:-1:-1;7091:14:0;;;;-1:-1:-1;;;;;7091:14:0;7109:10;7091:28;7061:58;7053:73;;;;;-1:-1:-1;;;7053:73:0;;;;;;;;;;;;-1:-1:-1;;;7053:73:0;;;;;;;;;;;;;;;7160:4;:16;;;7179:1;7160:20;7145:12;:35;7137:50;;;;;-1:-1:-1;;;7137:50:0;;;;;;;;;;;;-1:-1:-1;;;7137:50:0;;;;;;;;;;;;;;;7198:10;;;:25;;-1:-1:-1;;7198:25:0;7211:12;7198:25;;;;;;7248:16;;;7238:27;:32;;:75;;;7310:3;7290:4;:16;;;7275:12;:31;7274:39;7238:75;7234:1111;;;7330:12;;7352:8;;;;7330:31;;-1:-1:-1;;;;;7330:12:0;;;;:31;;;;;7352:8;7330:12;:31;:12;:31;7352:8;7330:12;:31;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;7376:14:0;;;;7400:8;;;;7376:33;;-1:-1:-1;;;;;7376:14:0;;;;:33;;;;;7400:8;7376:14;:33;:14;:33;7400:8;7376:14;:33;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;7429:19:0;;7440:7;;7429:19;;;;;7493:1;7463:19;;;:10;:19;;;;;:32;;-1:-1:-1;;;;;;7463:32:0;;;7234:1111;;;7582:16;;;;7605:12;;7601:1;7619:14;;;;7635:8;;;;;7555:89;;;7582:20;;;;7572:31;7555:89;;;;;;;;-1:-1:-1;;7555:89:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;7555:89:0;;;;;;;7545:100;;;;;;;;7528:9;;7684:15;;;:12;:15;:::i;:::-;7661:38;;7714:14;7731:33;7760:3;7731:24;7751:3;;7731:15;:19;;:24;;;;:::i;:::-;:28;:33;:28;:33;:::i;:::-;7779:5;;:25;;7714:50;;-1:-1:-1;;;;;;7779:5:0;;:25;;;;;7714:50;;7779:5;:25;:5;:25;7714:50;7779:5;:25;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;7819:14:0;7836:30;:15;7856:9;7836:30;:19;:30;:::i;:::-;7819:47;-1:-1:-1;7881:14:0;7921:1;7914:4;:8;7910:381;;7948:12;;:32;;-1:-1:-1;;;;;7948:12:0;;;;:32;;;;;7970:9;;7948:12;:32;:12;:32;7970:9;7948:12;:32;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;8008:12:0;;8044:44;;;;;;;;-1:-1:-1;;;;;8008:12:0;;;;;;8055:7;;8044:44;;;;;;;;;7910:381;;;8129:14;;;;:34;;-1:-1:-1;;;;;8129:14:0;;;;:34;;;;;8153:9;;8129:14;:34;:14;:34;8153:9;8129:14;:34;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;8191:14:0;;;;8229:46;;;;;;;;-1:-1:-1;;;;;8191:14:0;;;;;;8240:7;;8229:46;;;;;;;;;7910:381;8305:19;;;;:10;:19;;;;;:28;;-1:-1:-1;;;;;;8305:28:0;-1:-1:-1;;;;;8305:28:0;;;;;;;;;;-1:-1:-1;;;;7234:1111:0;6904:1448;;:::o;6199:381::-;6262:18;6283:5;6289:7;6283:14;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6316:10:0;;;;;;:23;;;;;;;;;6308:38;;;;;-1:-1:-1;;;6308:38:0;;;;;;;;;;;;-1:-1:-1;;;6308:38:0;;;;;;;;;;;;;;;6377:9;6365:4;:8;;;:21;6357:36;;;;;-1:-1:-1;;;6357:36:0;;;;;;;;;;;;-1:-1:-1;;;6357:36:0;;;;;;;;;;;;;;;6412:12;;-1:-1:-1;;;;;6412:12:0;6428:10;6412:26;6404:41;;;;;-1:-1:-1;;;6404:41:0;;;;;;;;;;;;-1:-1:-1;;;6404:41:0;;;;;;;;;;;;;;;6456:10;;;:26;;-1:-1:-1;;6456:26:0;6469:13;6456:26;;;6512:12;6493:16;;;:31;6540:32;;6561:10;;6552:7;;6540:32;;-1:-1:-1;;6540:32:0;6199:381;;:::o;4907:19::-;;;;:::o;1642:467::-;1700:7;1945:6;1941:47;;-1:-1:-1;1975:1:0;1968:8;;1941:47;2010:5;;;2014:1;2010;:5;:1;2034:5;;;;;:10;2026:56;;;;-1:-1:-1;;;2026:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2100:1;-1:-1:-1;1642:467:0;;;;;:::o;2575:132::-;2633:7;2660:39;2664:1;2667;2660:39;;;;;;;;;;;;;;;;;:3;:39::i;732:136::-;790:7;817:43;821:1;824;817:43;;;;;;;;;;;;;;;;;:3;:43::i;3235:343::-;3321:7;3423:12;3416:5;3408:28;;;;-1:-1:-1;;;3408:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;3408:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3447:9;3463:1;3459;:5;;;;;;;3235:343;-1:-1:-1;;;;;3235:343:0:o;1203:190::-;1289:7;1325:12;1317:6;;;;1309:29;;;;-1:-1:-1;;;1309:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;1309:29:0;-1:-1:-1;;;1361:5:0;;;1203:190::o

Swarm Source

bzzr://f3c442227f8ed4ede7086e75fa2129c4abd01fb33e1e8dcedd6df45cad4daf64

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.