Sonic Blaze Testnet

Contract

0x1D183beA99EaAf1ECc1a2A80C024e5069b809ee8
Transaction Hash
Method
Block
From
To
Claim55677242024-12-20 18:33:3477 days ago1734719614IN
0x1D183beA...69b809ee8
0 S0.000060331.32
Play55676982024-12-20 18:33:2677 days ago1734719606IN
0x1D183beA...69b809ee8
1 S0.000247151.32
Claim55673322024-12-20 18:31:3377 days ago1734719493IN
0x1D183beA...69b809ee8
0 S0.000048781.32
Play55672982024-12-20 18:31:2377 days ago1734719483IN
0x1D183beA...69b809ee8
1 S0.000247151.32
Claim55672722024-12-20 18:31:1677 days ago1734719476IN
0x1D183beA...69b809ee8
0 S0.000048781.32
Play55672452024-12-20 18:31:0877 days ago1734719468IN
0x1D183beA...69b809ee8
1 S0.000247151.32
Claim55672172024-12-20 18:31:0077 days ago1734719460IN
0x1D183beA...69b809ee8
0 S0.000048781.32
Play55671622024-12-20 18:30:4177 days ago1734719441IN
0x1D183beA...69b809ee8
1 S0.000247151.32
Claim55671262024-12-20 18:30:2977 days ago1734719429IN
0x1D183beA...69b809ee8
0 S0.000048781.32
Play55669472024-12-20 18:29:3577 days ago1734719375IN
0x1D183beA...69b809ee8
1 S0.000247151.32
Claim55669062024-12-20 18:29:2277 days ago1734719362IN
0x1D183beA...69b809ee8
0 S0.000060331.32
Play55668822024-12-20 18:29:1577 days ago1734719355IN
0x1D183beA...69b809ee8
1 S0.000247151.32
Claim55668212024-12-20 18:28:5777 days ago1734719337IN
0x1D183beA...69b809ee8
0 S0.000060331.32
Play55667982024-12-20 18:28:5077 days ago1734719330IN
0x1D183beA...69b809ee8
1 S0.000247151.32
Claim55667412024-12-20 18:28:3177 days ago1734719311IN
0x1D183beA...69b809ee8
0 S0.000048781.32
Play55667152024-12-20 18:28:2477 days ago1734719304IN
0x1D183beA...69b809ee8
1 S0.000247151.32
Claim32183892024-12-11 16:33:4886 days ago1733934828IN
0x1D183beA...69b809ee8
0 S0.000060331.32
Play32183642024-12-11 16:33:4086 days ago1733934820IN
0x1D183beA...69b809ee8
1 S0.000247151.32
Claim32183402024-12-11 16:33:3386 days ago1733934813IN
0x1D183beA...69b809ee8
0 S0.000048781.32
Play32183152024-12-11 16:33:2586 days ago1733934805IN
0x1D183beA...69b809ee8
1 S0.000247151.32
Claim31974942024-12-11 14:50:1586 days ago1733928615IN
0x1D183beA...69b809ee8
0 S0.000060331.32
Play31974672024-12-11 14:50:0786 days ago1733928607IN
0x1D183beA...69b809ee8
1 S0.000247151.32
Claim31974422024-12-11 14:49:5986 days ago1733928599IN
0x1D183beA...69b809ee8
0 S0.000048781.32
Play31974052024-12-11 14:49:4786 days ago1733928587IN
0x1D183beA...69b809ee8
1 S0.000247151.32
Claim31973772024-12-11 14:49:4086 days ago1733928580IN
0x1D183beA...69b809ee8
0 S0.000048781.32
View all transactions

Latest 25 internal transactions (View All)

Parent Transaction Hash Block From To
55677242024-12-20 18:33:3477 days ago1734719614
0x1D183beA...69b809ee8
2 S
55669062024-12-20 18:29:2277 days ago1734719362
0x1D183beA...69b809ee8
2 S
55668212024-12-20 18:28:5777 days ago1734719337
0x1D183beA...69b809ee8
2 S
32183892024-12-11 16:33:4886 days ago1733934828
0x1D183beA...69b809ee8
2 S
31974942024-12-11 14:50:1586 days ago1733928615
0x1D183beA...69b809ee8
2 S
31967852024-12-11 14:46:3686 days ago1733928396
0x1D183beA...69b809ee8
2 S
31964212024-12-11 14:44:5086 days ago1733928290
0x1D183beA...69b809ee8
2 S
31858042024-12-11 13:52:4586 days ago1733925165
0x1D183beA...69b809ee8
30 S
31385352024-12-11 10:06:2086 days ago1733911580
0x1D183beA...69b809ee8
2 S
31279832024-12-11 9:16:0686 days ago1733908566
0x1D183beA...69b809ee8
2 S
30364392024-12-11 1:51:2487 days ago1733881884
0x1D183beA...69b809ee8
2 S
30358982024-12-11 1:48:4487 days ago1733881724
0x1D183beA...69b809ee8
2 S
30358442024-12-11 1:48:2887 days ago1733881708
0x1D183beA...69b809ee8
2 S
30356572024-12-11 1:47:3287 days ago1733881652
0x1D183beA...69b809ee8
2 S
30355612024-12-11 1:47:0587 days ago1733881625
0x1D183beA...69b809ee8
2 S
30352232024-12-11 1:45:2587 days ago1733881525
0x1D183beA...69b809ee8
2 S
30350872024-12-11 1:44:4887 days ago1733881488
0x1D183beA...69b809ee8
2 S
30326112024-12-11 1:30:5687 days ago1733880656
0x1D183beA...69b809ee8
2 S
30323522024-12-11 1:29:1987 days ago1733880559
0x1D183beA...69b809ee8
2 S
30322622024-12-11 1:28:4787 days ago1733880527
0x1D183beA...69b809ee8
2 S
30321672024-12-11 1:28:1387 days ago1733880493
0x1D183beA...69b809ee8
2 S
30314742024-12-11 1:23:4687 days ago1733880226
0x1D183beA...69b809ee8
2 S
30291652024-12-11 1:09:0387 days ago1733879343
0x1D183beA...69b809ee8
2 S
30275442024-12-11 0:58:3487 days ago1733878714
0x1D183beA...69b809ee8
2 S
30264332024-12-11 0:51:4187 days ago1733878301
0x1D183beA...69b809ee8
2 S
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Pandy30

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 1000000 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity Standard Json-Input format)

File 1 of 1 : Pandy30.sol
// File: contracts\openzeppelin\contracts\utils\ReentrancyGuard.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (utils/ReentrancyGuard.sol)
pragma solidity ^0.8.19;
/**
 * @dev Contract module that helps prevent reentrant calls to a function.
 *
 * Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier
 * available, which can be applied to functions to make sure there are no nested
 * (reentrant) calls to them.
 *
 * Note that because there is a single `nonReentrant` guard, functions marked as
 * `nonReentrant` may not call one another. This can be worked around by making
 * those functions `private`, and then adding `external` `nonReentrant` entry
 * points to them.
 *
 * TIP: If EIP-1153 (transient storage) is available on the chain you're deploying at,
 * consider using {ReentrancyGuardTransient} instead.
 *
 * TIP: If you would like to learn more about reentrancy and alternative ways
 * to protect against it, check out our blog post
 * https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul].
 */
abstract contract ReentrancyGuard {
    // Booleans are more expensive than uint256 or any type that takes up a full
    // word because each write operation emits an extra SLOAD to first read the
    // slot's contents, replace the bits taken up by the boolean, and then write
    // back. This is the compiler's defense against contract upgrades and
    // pointer aliasing, and it cannot be disabled.
    // The values being non-zero value makes deployment a bit more expensive,
    // but in exchange the refund on every call to nonReentrant will be lower in
    // amount. Since refunds are capped to a percentage of the total
    // transaction's gas, it is best to keep them low in cases like this one, to
    // increase the likelihood of the full refund coming into effect.
    uint256 private constant NOT_ENTERED = 1;
    uint256 private constant ENTERED = 2;
    uint256 private _status;
    /**
     * @dev Unauthorized reentrant call.
     */
    error ReentrancyGuardReentrantCall();
    constructor() {
        _status = NOT_ENTERED;
    }
    /**
     * @dev Prevents a contract from calling itself, directly or indirectly.
     * Calling a `nonReentrant` function from another `nonReentrant`
     * function is not supported. It is possible to prevent this from happening
     * by making the `nonReentrant` function external, and making it call a
     * `private` function that does the actual work.
     */
    modifier nonReentrant() {
        _nonReentrantBefore();
        _;
        _nonReentrantAfter();
    }
    function _nonReentrantBefore() private {
        // On the first call to nonReentrant, _status will be NOT_ENTERED
        if (_status == ENTERED) {
            revert ReentrancyGuardReentrantCall();
        }
        // Any calls to nonReentrant after this point will fail
        _status = ENTERED;
    }
    function _nonReentrantAfter() private {
        // By storing the original value once again, a refund is triggered (see
        // https://eips.ethereum.org/EIPS/eip-2200)
        _status = NOT_ENTERED;
    }
    /**
     * @dev Returns true if the reentrancy guard is currently set to "entered", which indicates there is a
     * `nonReentrant` function in the call stack.
     */
    function _reentrancyGuardEntered() internal view returns (bool) {
        return _status == ENTERED;
    }
}
// File: contracts/games/Pandy/Pandy30.sol
pragma solidity ^0.8.19;
contract Pandy30 is ReentrancyGuard {
    address private owner;
    event Played(address indexed player);
    event Claimed(address indexed player, bool result);
    
    struct Bet {
        uint256  nonce;
        address  player;
        uint256  amount;
        uint256  alea;  //[0, 99] => 100 slot
        uint256  current_block;
    }
    
    // on FTM
    uint256 public minBET = 1 * 10 ** 18;
    uint256 public maxBET = 1 * 10 ** 18;
    mapping(address => uint256) public noncePlayed;
    mapping(address => uint256) private last_block;
    mapping(address => uint256) private last_timestamp;
    Bet[] private list_bets;
    constructor() {
        owner = msg.sender;
    }
    function setMinBet(uint256 m) external {
        require(msg.sender == owner);
        minBET = m;
    }
    function setMaxBet(uint256 m) external {
        require(msg.sender == owner);
        maxBET = m;
    }
    function list_bets_size() public view returns (uint256) {
        return list_bets.length;
    }
    function get_bets(uint256 index) public view returns (Bet memory) {
        require(!is_contract(msg.sender), "only wallet");
        require(index < list_bets.length, "bad index");
        require(list_bets[index].current_block < block.number, "too early");
        return list_bets[index];
    }
    function is_contract(address addr) private view returns (bool) {
        uint32 size;
        assembly {
            size := extcodesize(addr)
        }
        return (size > 0);
    }
    function play() payable public nonReentrant returns (bool) {
        require(!is_contract(msg.sender), "only wallet");
        require(msg.value>=minBET && msg.value<=maxBET, "bad value");
        require(noncePlayed[msg.sender] == 0, "already played");
        uint256 nonce = list_bets.length;
        uint256 rnd_ = random(nonce);
        list_bets.push(Bet(nonce, msg.sender, msg.value, rnd_, block.number));
        noncePlayed[msg.sender] = 1 + nonce;
        last_block[msg.sender] = block.number;
        last_timestamp[msg.sender] = block.timestamp;
        emit Played(msg.sender);
        return true;
    }
    function claim() public nonReentrant returns (bool) {
        require(!is_contract(msg.sender), "only wallet");
        require(block.number > last_block[msg.sender] + 2, "early block");
        require(block.timestamp + 10 seconds > last_timestamp[msg.sender], "early time");
        require(noncePlayed[msg.sender] > 0, "not played");
        uint256 nonce = noncePlayed[msg.sender] - 1;
        noncePlayed[msg.sender] = 0;
        Bet storage b = list_bets[nonce];
        if (b.alea < 30) {
            uint256 earn = b.amount * 2; //double
            require(earn < address(this).balance, "insufficient fund");
            payable(msg.sender).transfer(earn);
            b.amount = 0;
            emit Claimed(msg.sender, true);
            return true;
        }
        emit Claimed(msg.sender, false);
        return false;
    }
    function random(uint256 csession) private view returns (uint256) {
        return uint256(keccak256(abi.encodePacked(block.timestamp, block.prevrandao, csession))) % 100;
    }
    function withdrawn(uint256 value) external returns (bool) {
        require(msg.sender == owner, "only owner");
        uint256 bal = address(this).balance;
        require(value <= bal, "no suffficient balance");
        payable(msg.sender).transfer(value);
        return true;
    }
    function stake() payable external returns (bool) {
        require(msg.sender == owner, "only owner");
        return true;
    }
}

Settings
{
  "metadata": {
    "appendCBOR": true,
    "bytecodeHash": "ipfs",
    "useLiteralContent": false
  },
  "optimizer": {
    "enabled": true,
    "runs": 1000000
  },
  "viaIR": true,
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "abi"
      ]
    }
  }
}

Contract ABI

API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"ReentrancyGuardReentrantCall","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"player","type":"address"},{"indexed":false,"internalType":"bool","name":"result","type":"bool"}],"name":"Claimed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"player","type":"address"}],"name":"Played","type":"event"},{"inputs":[],"name":"claim","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"name":"get_bets","outputs":[{"components":[{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"address","name":"player","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"alea","type":"uint256"},{"internalType":"uint256","name":"current_block","type":"uint256"}],"internalType":"struct Pandy30.Bet","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"list_bets_size","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxBET","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minBET","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"noncePlayed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"play","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"m","type":"uint256"}],"name":"setMaxBet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"m","type":"uint256"}],"name":"setMinBet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"stake","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"name":"withdrawn","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]

6080806040523461003e5760016000819055670de0b6b3a7640000600281905560035580546001600160a01b03191633179055610e3190816100448239f35b600080fdfe6040608081526004908136101561001557600080fd5b600091823560e01c80633a4b66f11461088d57806347ffc426146108505780634e71d92d1461080057806353f2092b1461063e578063881eff1e146105e757806388ea41b91461059057806393e84cd91461026f57806394f38bd3146102325780639f6509dc146101f1578063e6b43d01146101045763f9c62cc31461009a57600080fd5b346101005760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010057803573ffffffffffffffffffffffffffffffffffffffff81168091036100fc579282916020948252845220549051908152f35b8380fd5b8280fd5b50346101005760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101005780359061015a73ffffffffffffffffffffffffffffffffffffffff600154163314610d96565b4782116101945750828080809381811561018b575b3390f115610181576020905160018152f35b51903d90823e3d90fd5b506108fc61016f565b60649060208451917f08c379a0000000000000000000000000000000000000000000000000000000008352820152601660248201527f6e6f207375666666696369656e742062616c616e6365000000000000000000006044820152fd5b50503461022e57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022e576020906002549051908152f35b5080fd5b50503461022e57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022e576020906007549051908152f35b5091807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261058d576102a26109ff565b6102b363ffffffff333b1615610930565b60025434101580610581575b1561052457338152602091838352808220546104c85760075490805191848301428152448385015281606085015260608452608084019084821067ffffffffffffffff83111761049c5760649082855285519020069361031e826108e5565b82825260a081019433865261010060c083019234845260e081019283520191438352680100000000000000008510156104705760019687860160075561036386610995565b95909561044557908b9493929151865573ffffffffffffffffffffffffffffffffffffffff8987019151167fffffffffffffffffffffffff000000000000000000000000000000000000000082541617905551600285015551600384015551910155820180831161041957829394953386528652818520556005855243818520556006855242818520555192337f7c30c46017e6377826c6557f0d89e6760aced7a4ca61f469b1d729c50a81397c8280a2558152f35b6024846011887f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b60248a808e7f4e487b7100000000000000000000000000000000000000000000000000000000825252fd5b60248860418c7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b60248660418a7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b838360649251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152600e60248201527f616c726561647920706c617965640000000000000000000000000000000000006044820152fd5b60648360208451917f08c379a0000000000000000000000000000000000000000000000000000000008352820152600960248201527f6261642076616c756500000000000000000000000000000000000000000000006044820152fd5b506003543411156102bf565b80fd5b83823461022e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022e5773ffffffffffffffffffffffffffffffffffffffff60015416330361022e573560025580f35b83823461022e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022e5773ffffffffffffffffffffffffffffffffffffffff60015416330361022e573560035580f35b5082903461022e57602091827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261058d5781359060808551610682816108e5565b8281528286820152828782015282606082015201526106a863ffffffff333b1615610930565b6007548110156107a457816106bc82610995565b50015443111561074857926106d260a094610995565b50908051926106e0846108e5565b82549485855273ffffffffffffffffffffffffffffffffffffffff80600186015416828701908152608060028701549486890195865260038801549760608a019889520154970196875284519788525116908601525190840152516060830152516080820152f35b509060649251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152600960248201527f746f6f206561726c7900000000000000000000000000000000000000000000006044820152fd5b509060649251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152600960248201527f62616420696e64657800000000000000000000000000000000000000000000006044820152fd5b50503461022e57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022e579060209161083c6109ff565b6001610846610a3a565b9255519015158152f35b50503461022e57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022e576020906003549051908152f35b5050817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022e576020906108de73ffffffffffffffffffffffffffffffffffffffff600154163314610d96565b5160018152f35b60a0810190811067ffffffffffffffff82111761090157604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b1561093757565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f6f6e6c792077616c6c65740000000000000000000000000000000000000000006044820152fd5b6007548110156109d0576005906007600052027fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6880190600090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600260005414610a10576002600055565b60046040517f3ee5aeb5000000000000000000000000000000000000000000000000000000008152fd5b610a4b63ffffffff333b1615610930565b600033815260206005815260408083205460028101809111610d0c57431115610d3957600a4201804211610d0c5733845260068352818420541015610caf5733835260048083528184205415610c5457338452808352818420547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101908111610c2857610ae3903386528285528584812055610995565b50601e600382015410610b1e5750505182815233917f650639b17ab5dbad2d79a2e4757e3be67a53db225cede5d96cb5ab54837b85ce91a290565b6002909492939401908154908160011b9180830460021490151715610bfc5747821015610ba057508280808093818115610b97575b3390f115610b8b5755516001815233917f650639b17ab5dbad2d79a2e4757e3be67a53db225cede5d96cb5ab54837b85ce91a2600190565b509051903d90823e3d90fd5b506108fc610b53565b606490868651917f08c379a0000000000000000000000000000000000000000000000000000000008352820152601160248201527f696e73756666696369656e742066756e640000000000000000000000000000006044820152fd5b8360116024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b6024856011847f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b8260649251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152600a60248201527f6e6f7420706c61796564000000000000000000000000000000000000000000006044820152fd5b6064925051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152600a60248201527f6561726c792074696d65000000000000000000000000000000000000000000006044820152fd5b6024847f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b6064925051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152600b60248201527f6561726c7920626c6f636b0000000000000000000000000000000000000000006044820152fd5b15610d9d57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6f6e6c79206f776e6572000000000000000000000000000000000000000000006044820152fdfea2646970667358221220b54cfbb4f16913361b35a33f58a116c2c095ee66eb1d064a3c28d8d1ba12a4e164736f6c63430008130033

Deployed Bytecode

0x6040608081526004908136101561001557600080fd5b600091823560e01c80633a4b66f11461088d57806347ffc426146108505780634e71d92d1461080057806353f2092b1461063e578063881eff1e146105e757806388ea41b91461059057806393e84cd91461026f57806394f38bd3146102325780639f6509dc146101f1578063e6b43d01146101045763f9c62cc31461009a57600080fd5b346101005760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010057803573ffffffffffffffffffffffffffffffffffffffff81168091036100fc579282916020948252845220549051908152f35b8380fd5b8280fd5b50346101005760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101005780359061015a73ffffffffffffffffffffffffffffffffffffffff600154163314610d96565b4782116101945750828080809381811561018b575b3390f115610181576020905160018152f35b51903d90823e3d90fd5b506108fc61016f565b60649060208451917f08c379a0000000000000000000000000000000000000000000000000000000008352820152601660248201527f6e6f207375666666696369656e742062616c616e6365000000000000000000006044820152fd5b50503461022e57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022e576020906002549051908152f35b5080fd5b50503461022e57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022e576020906007549051908152f35b5091807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261058d576102a26109ff565b6102b363ffffffff333b1615610930565b60025434101580610581575b1561052457338152602091838352808220546104c85760075490805191848301428152448385015281606085015260608452608084019084821067ffffffffffffffff83111761049c5760649082855285519020069361031e826108e5565b82825260a081019433865261010060c083019234845260e081019283520191438352680100000000000000008510156104705760019687860160075561036386610995565b95909561044557908b9493929151865573ffffffffffffffffffffffffffffffffffffffff8987019151167fffffffffffffffffffffffff000000000000000000000000000000000000000082541617905551600285015551600384015551910155820180831161041957829394953386528652818520556005855243818520556006855242818520555192337f7c30c46017e6377826c6557f0d89e6760aced7a4ca61f469b1d729c50a81397c8280a2558152f35b6024846011887f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b60248a808e7f4e487b7100000000000000000000000000000000000000000000000000000000825252fd5b60248860418c7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b60248660418a7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b838360649251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152600e60248201527f616c726561647920706c617965640000000000000000000000000000000000006044820152fd5b60648360208451917f08c379a0000000000000000000000000000000000000000000000000000000008352820152600960248201527f6261642076616c756500000000000000000000000000000000000000000000006044820152fd5b506003543411156102bf565b80fd5b83823461022e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022e5773ffffffffffffffffffffffffffffffffffffffff60015416330361022e573560025580f35b83823461022e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022e5773ffffffffffffffffffffffffffffffffffffffff60015416330361022e573560035580f35b5082903461022e57602091827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261058d5781359060808551610682816108e5565b8281528286820152828782015282606082015201526106a863ffffffff333b1615610930565b6007548110156107a457816106bc82610995565b50015443111561074857926106d260a094610995565b50908051926106e0846108e5565b82549485855273ffffffffffffffffffffffffffffffffffffffff80600186015416828701908152608060028701549486890195865260038801549760608a019889520154970196875284519788525116908601525190840152516060830152516080820152f35b509060649251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152600960248201527f746f6f206561726c7900000000000000000000000000000000000000000000006044820152fd5b509060649251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152600960248201527f62616420696e64657800000000000000000000000000000000000000000000006044820152fd5b50503461022e57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022e579060209161083c6109ff565b6001610846610a3a565b9255519015158152f35b50503461022e57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022e576020906003549051908152f35b5050817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022e576020906108de73ffffffffffffffffffffffffffffffffffffffff600154163314610d96565b5160018152f35b60a0810190811067ffffffffffffffff82111761090157604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b1561093757565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f6f6e6c792077616c6c65740000000000000000000000000000000000000000006044820152fd5b6007548110156109d0576005906007600052027fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6880190600090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600260005414610a10576002600055565b60046040517f3ee5aeb5000000000000000000000000000000000000000000000000000000008152fd5b610a4b63ffffffff333b1615610930565b600033815260206005815260408083205460028101809111610d0c57431115610d3957600a4201804211610d0c5733845260068352818420541015610caf5733835260048083528184205415610c5457338452808352818420547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101908111610c2857610ae3903386528285528584812055610995565b50601e600382015410610b1e5750505182815233917f650639b17ab5dbad2d79a2e4757e3be67a53db225cede5d96cb5ab54837b85ce91a290565b6002909492939401908154908160011b9180830460021490151715610bfc5747821015610ba057508280808093818115610b97575b3390f115610b8b5755516001815233917f650639b17ab5dbad2d79a2e4757e3be67a53db225cede5d96cb5ab54837b85ce91a2600190565b509051903d90823e3d90fd5b506108fc610b53565b606490868651917f08c379a0000000000000000000000000000000000000000000000000000000008352820152601160248201527f696e73756666696369656e742066756e640000000000000000000000000000006044820152fd5b8360116024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b6024856011847f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b8260649251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152600a60248201527f6e6f7420706c61796564000000000000000000000000000000000000000000006044820152fd5b6064925051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152600a60248201527f6561726c792074696d65000000000000000000000000000000000000000000006044820152fd5b6024847f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b6064925051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152600b60248201527f6561726c7920626c6f636b0000000000000000000000000000000000000000006044820152fd5b15610d9d57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6f6e6c79206f776e6572000000000000000000000000000000000000000000006044820152fdfea2646970667358221220b54cfbb4f16913361b35a33f58a116c2c095ee66eb1d064a3c28d8d1ba12a4e164736f6c63430008130033

Deployed Bytecode Sourcemap

3588:3666:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6891:42;3588:3666;;;;6899:10;:19;6891:42;:::i;:::-;6958:21;6998:12;;3588:3666;;7048:35;;;;;;;;;;;3588:3666;6899:10;7048:35;;;;;3588:3666;;;;;;;7048:35;3588:3666;;;;;;;;;7048:35;;;;;3588:3666;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3968:36;3588:3666;;;;;;;;;;;;;;;;;;;;;;;;;;4604:9;3588:3666;;;;;;;;;;;;;;;;;2578:107;;:::i;:::-;5209:48;3588:3666;5230:10;5038:60;3588:3666;5116:8;5209:48;:::i;:::-;5287:6;3588:3666;5276:9;:17;;:38;;;3588:3666;;;;5230:10;3588:3666;;;;;;;;;;;;;5421:9;3588:3666;;;;6739:61;;;;6756:15;3588:3666;;6773:16;3588:3666;;;;;;;;;;6739:61;;3588:3666;;;;;;;;;;;;;6805:3;3588:3666;;;;;;6729:72;;3588:3666;;;;;:::i;:::-;;;;5502:53;;;5230:10;;3588:3666;;5502:53;;;;5276:9;;3588:3666;;;5502:53;;3588:3666;;;5502:53;5542:12;;3588:3666;;;;;;;;;;;;;5421:9;3588:3666;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5287:6;3588:3666;;;;;;;;;;;;;;;;;;;5230:10;;;;;3588:3666;;;;;;;;5613:10;3588:3666;;5542:12;3588:3666;;;;5661:14;3588:3666;;6756:15;3588:3666;;;;;5230:10;;5721:18;;;;3588:3666;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5276:38;3588:3666;5308:6;3588:3666;5276:9;5297:17;;5276:38;;3588:3666;;;;;;;;;;;;;;;;;;;;4362:10;:19;3588:3666;;;4393:10;3588:3666;;;;;;;;;;;;;;;;;;;;4475:10;:19;3588:3666;;;4506:10;3588:3666;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;4711:48;3588:3666;4732:10;5038:60;3588:3666;5116:8;4711:48;:::i;:::-;4786:9;3588:3666;4778:24;;3588:3666;;;4835:16;;;;:::i;:::-;:30;;3588:3666;4868:12;-1:-1:-1;3588:3666:0;;;4912:16;;3588:3666;4912:16;;:::i;:::-;3588:3666;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2578:107;3588:3666;2578:107;;;:::i;:::-;1956:1;2645;;:::i;:::-;3588:3666;;;;;;;;;;;;;;;;;;;;;;;;4011:36;3588:3666;;;;;;;;;;;;;;;;;;;7179:42;3588:3666;7201:5;3588:3666;;7187:10;:19;7179:42;:::i;:::-;3588:3666;7201:5;3588:3666;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;4786:9;3588:3666;;;;;;;;4786:9;-1:-1:-1;3588:3666:0;;;;;-1:-1:-1;3588:3666:0;:::o;:::-;;;;;;;;;;2691:313;1999:1;2820:7;3588:3666;2820:18;2816:88;;1999:1;2820:7;3588:3666;2691:313::o;2816:88::-;2862:30;3588:3666;;2862:30;;;;5775:857;5838:48;3588:3666;5859:10;5038:60;3588:3666;5116:8;5838:48;:::i;:::-;3588:3666;5859:10;3588:3666;;;5920:10;3588:3666;;;;;;;5945:1;3588:3666;;;;;;;5905:12;:41;3588:3666;;;5999:10;5981:15;3588:3666;5981:15;;3588:3666;;;5859:10;3588:3666;;6012:14;3588:3666;;;;;;-1:-1:-1;3588:3666:0;;;5859:10;3588:3666;;6072:11;3588:3666;;;;;;;6072:27;3588:3666;;5859:10;3588:3666;;;;;;;;;;;;;;;;;6233:16;5859:10;;3588:3666;;;;;;;;;;6233:16;:::i;:::-;6264:6;6273:2;6264:6;;;3588:3666;6264:11;6260:300;;-1:-1:-1;;3588:3666:0;;;;5859:10;;6575:26;;;5775:857;:::o;6260:300::-;5945:1;6307:8;;;;;;3588:3666;;;;;6167:1;3588:3666;;;;;5945:1;3588:3666;;;;;;;6358:21;6351:28;;3588:3666;;;6416:34;;;;;;;;;;;6260:300;5859:10;6416:34;;;;;3588:3666;;6167:1;3588:3666;;5859:10;;6497:25;;;6167:1;6537:11;:::o;6416:34::-;3588:3666;;;;;;;;;;;6416:34;;;;;3588:3666;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5999:10;3588:3666;;;;;;;;;;;;;;;;;;;;;;;5999:10;3588:3666;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;

Swarm Source

ipfs://b54cfbb4f16913361b35a33f58a116c2c095ee66eb1d064a3c28d8d1ba12a4e1

Block Transaction 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
[ 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.