Contract

0xb8483Ce2de0162a949F7268F2b20c84448DE189b

Overview

S Balance

Sonic LogoSonic LogoSonic Logo6 S

S Value

-

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Claim9226462024-12-20 20:05:1221 days ago1734725112IN
0xb8483Ce2...448DE189b
0 S0.000076321.67
Play9226222024-12-20 20:05:0021 days ago1734725100IN
0xb8483Ce2...448DE189b
1 S0.000372661.67
Claim9211152024-12-20 19:48:0221 days ago1734724082IN
0xb8483Ce2...448DE189b
0 S0.000041021.11
Play9210782024-12-20 19:47:4121 days ago1734724061IN
0xb8483Ce2...448DE189b
1 S0.000207831.11
Claim9210602024-12-20 19:47:3021 days ago1734724050IN
0xb8483Ce2...448DE189b
0 S0.000050731.11
Play9210372024-12-20 19:47:1421 days ago1734724034IN
0xb8483Ce2...448DE189b
1 S0.000207831.11
Claim9186552024-12-20 19:16:5921 days ago1734722219IN
0xb8483Ce2...448DE189b
0 S0.000041021.11
Play9186412024-12-20 19:16:4721 days ago1734722207IN
0xb8483Ce2...448DE189b
1 S0.000207831.11
Claim9186342024-12-20 19:16:4021 days ago1734722200IN
0xb8483Ce2...448DE189b
0 S0.000041021.11
Play9186182024-12-20 19:16:2621 days ago1734722186IN
0xb8483Ce2...448DE189b
1 S0.000207831.11
Withdrawn9185482024-12-20 19:15:3021 days ago1734722130IN
0xb8483Ce2...448DE189b
0 S0.000036121.11
Stake9185062024-12-20 19:14:5721 days ago1734722097IN
0xb8483Ce2...448DE189b
5 S0.000027231.11
Claim9171052024-12-20 18:57:0921 days ago1734721029IN
0xb8483Ce2...448DE189b
0 S0.000050731.11
Play9170822024-12-20 18:56:5821 days ago1734721018IN
0xb8483Ce2...448DE189b
1 S0.000207831.11
Claim9170592024-12-20 18:56:4021 days ago1734721000IN
0xb8483Ce2...448DE189b
0 S0.000041021.11
Play9170482024-12-20 18:56:3221 days ago1734720992IN
0xb8483Ce2...448DE189b
1 S0.000207831.11
Claim9170362024-12-20 18:56:2321 days ago1734720983IN
0xb8483Ce2...448DE189b
0 S0.000100552.2
Transfer9170012024-12-20 18:55:5821 days ago1734720958IN
0xb8483Ce2...448DE189b
5 S0.000024541.11
Play9169012024-12-20 18:54:5021 days ago1734720890IN
0xb8483Ce2...448DE189b
1 S0.000207831.11
Claim9168852024-12-20 18:54:3821 days ago1734720878IN
0xb8483Ce2...448DE189b
0 S0.000050731.11
Play9168692024-12-20 18:54:2721 days ago1734720867IN
0xb8483Ce2...448DE189b
1 S0.000207831.11
Claim9168622024-12-20 18:54:2021 days ago1734720860IN
0xb8483Ce2...448DE189b
0 S0.000041021.11
Play9168442024-12-20 18:54:0721 days ago1734720847IN
0xb8483Ce2...448DE189b
1 S0.000207831.11
Claim9168332024-12-20 18:54:0021 days ago1734720840IN
0xb8483Ce2...448DE189b
0 S0.000041021.11
Play9168202024-12-20 18:53:4821 days ago1734720828IN
0xb8483Ce2...448DE189b
1 S0.000207831.11
View all transactions

Latest 8 internal transactions

Parent Transaction Hash Block From To
9226462024-12-20 20:05:1221 days ago1734725112
0xb8483Ce2...448DE189b
2 S
9210602024-12-20 19:47:3021 days ago1734724050
0xb8483Ce2...448DE189b
2 S
9185482024-12-20 19:15:3021 days ago1734722130
0xb8483Ce2...448DE189b
2 S
9171052024-12-20 18:57:0921 days ago1734721029
0xb8483Ce2...448DE189b
2 S
9170362024-12-20 18:56:2321 days ago1734720983
0xb8483Ce2...448DE189b
2 S
9168852024-12-20 18:54:3821 days ago1734720878
0xb8483Ce2...448DE189b
2 S
9168092024-12-20 18:53:3921 days ago1734720819
0xb8483Ce2...448DE189b
2 S
9165572024-12-20 18:50:0921 days ago1734720609
0xb8483Ce2...448DE189b
2 S
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
alea30

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 1000000 runs

Other Settings:
default evmVersion, MIT license
File 1 of 1 : alea30.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/alea30.sol
pragma solidity ^0.8.19;
contract alea30 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 S
    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 Security Audit

Contract ABI

[{"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 alea30.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"}]

6080806040523461003e5760016000819055670de0b6b3a7640000600281905560035580546001600160a01b03191633179055610e3190816100448239f35b600080fdfe6040608081526004908136101561001557600080fd5b600091823560e01c80633a4b66f11461088d57806347ffc426146108505780634e71d92d1461080057806353f2092b1461063e578063881eff1e146105e757806388ea41b91461059057806393e84cd91461026f57806394f38bd3146102325780639f6509dc146101f1578063e6b43d01146101045763f9c62cc31461009a57600080fd5b346101005760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010057803573ffffffffffffffffffffffffffffffffffffffff81168091036100fc579282916020948252845220549051908152f35b8380fd5b8280fd5b50346101005760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101005780359061015a73ffffffffffffffffffffffffffffffffffffffff600154163314610d96565b4782116101945750828080809381811561018b575b3390f115610181576020905160018152f35b51903d90823e3d90fd5b506108fc61016f565b60649060208451917f08c379a0000000000000000000000000000000000000000000000000000000008352820152601660248201527f6e6f207375666666696369656e742062616c616e6365000000000000000000006044820152fd5b50503461022e57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022e576020906002549051908152f35b5080fd5b50503461022e57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022e576020906007549051908152f35b5091807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261058d576102a26109ff565b6102b363ffffffff333b1615610930565b60025434101580610581575b1561052457338152602091838352808220546104c85760075490805191848301428152448385015281606085015260608452608084019084821067ffffffffffffffff83111761049c5760649082855285519020069361031e826108e5565b82825260a081019433865261010060c083019234845260e081019283520191438352680100000000000000008510156104705760019687860160075561036386610995565b95909561044557908b9493929151865573ffffffffffffffffffffffffffffffffffffffff8987019151167fffffffffffffffffffffffff000000000000000000000000000000000000000082541617905551600285015551600384015551910155820180831161041957829394953386528652818520556005855243818520556006855242818520555192337f7c30c46017e6377826c6557f0d89e6760aced7a4ca61f469b1d729c50a81397c8280a2558152f35b6024846011887f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b60248a808e7f4e487b7100000000000000000000000000000000000000000000000000000000825252fd5b60248860418c7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b60248660418a7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b838360649251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152600e60248201527f616c726561647920706c617965640000000000000000000000000000000000006044820152fd5b60648360208451917f08c379a0000000000000000000000000000000000000000000000000000000008352820152600960248201527f6261642076616c756500000000000000000000000000000000000000000000006044820152fd5b506003543411156102bf565b80fd5b83823461022e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022e5773ffffffffffffffffffffffffffffffffffffffff60015416330361022e573560025580f35b83823461022e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022e5773ffffffffffffffffffffffffffffffffffffffff60015416330361022e573560035580f35b5082903461022e57602091827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261058d5781359060808551610682816108e5565b8281528286820152828782015282606082015201526106a863ffffffff333b1615610930565b6007548110156107a457816106bc82610995565b50015443111561074857926106d260a094610995565b50908051926106e0846108e5565b82549485855273ffffffffffffffffffffffffffffffffffffffff80600186015416828701908152608060028701549486890195865260038801549760608a019889520154970196875284519788525116908601525190840152516060830152516080820152f35b509060649251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152600960248201527f746f6f206561726c7900000000000000000000000000000000000000000000006044820152fd5b509060649251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152600960248201527f62616420696e64657800000000000000000000000000000000000000000000006044820152fd5b50503461022e57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022e579060209161083c6109ff565b6001610846610a3a565b9255519015158152f35b50503461022e57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022e576020906003549051908152f35b5050817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022e576020906108de73ffffffffffffffffffffffffffffffffffffffff600154163314610d96565b5160018152f35b60a0810190811067ffffffffffffffff82111761090157604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b1561093757565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f6f6e6c792077616c6c65740000000000000000000000000000000000000000006044820152fd5b6007548110156109d0576005906007600052027fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6880190600090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600260005414610a10576002600055565b60046040517f3ee5aeb5000000000000000000000000000000000000000000000000000000008152fd5b610a4b63ffffffff333b1615610930565b600033815260206005815260408083205460028101809111610d0c57431115610d3957600a4201804211610d0c5733845260068352818420541015610caf5733835260048083528184205415610c5457338452808352818420547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101908111610c2857610ae3903386528285528584812055610995565b50601e600382015410610b1e5750505182815233917f650639b17ab5dbad2d79a2e4757e3be67a53db225cede5d96cb5ab54837b85ce91a290565b6002909492939401908154908160011b9180830460021490151715610bfc5747821015610ba057508280808093818115610b97575b3390f115610b8b5755516001815233917f650639b17ab5dbad2d79a2e4757e3be67a53db225cede5d96cb5ab54837b85ce91a2600190565b509051903d90823e3d90fd5b506108fc610b53565b606490868651917f08c379a0000000000000000000000000000000000000000000000000000000008352820152601160248201527f696e73756666696369656e742066756e640000000000000000000000000000006044820152fd5b8360116024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b6024856011847f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b8260649251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152600a60248201527f6e6f7420706c61796564000000000000000000000000000000000000000000006044820152fd5b6064925051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152600a60248201527f6561726c792074696d65000000000000000000000000000000000000000000006044820152fd5b6024847f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b6064925051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152600b60248201527f6561726c7920626c6f636b0000000000000000000000000000000000000000006044820152fd5b15610d9d57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6f6e6c79206f776e6572000000000000000000000000000000000000000000006044820152fdfea2646970667358221220d8d20a1c20ed259e85464425a24d86349b111a1357272bef6eded90c62b0a20464736f6c63430008130033

Deployed Bytecode

0x6040608081526004908136101561001557600080fd5b600091823560e01c80633a4b66f11461088d57806347ffc426146108505780634e71d92d1461080057806353f2092b1461063e578063881eff1e146105e757806388ea41b91461059057806393e84cd91461026f57806394f38bd3146102325780639f6509dc146101f1578063e6b43d01146101045763f9c62cc31461009a57600080fd5b346101005760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010057803573ffffffffffffffffffffffffffffffffffffffff81168091036100fc579282916020948252845220549051908152f35b8380fd5b8280fd5b50346101005760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101005780359061015a73ffffffffffffffffffffffffffffffffffffffff600154163314610d96565b4782116101945750828080809381811561018b575b3390f115610181576020905160018152f35b51903d90823e3d90fd5b506108fc61016f565b60649060208451917f08c379a0000000000000000000000000000000000000000000000000000000008352820152601660248201527f6e6f207375666666696369656e742062616c616e6365000000000000000000006044820152fd5b50503461022e57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022e576020906002549051908152f35b5080fd5b50503461022e57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022e576020906007549051908152f35b5091807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261058d576102a26109ff565b6102b363ffffffff333b1615610930565b60025434101580610581575b1561052457338152602091838352808220546104c85760075490805191848301428152448385015281606085015260608452608084019084821067ffffffffffffffff83111761049c5760649082855285519020069361031e826108e5565b82825260a081019433865261010060c083019234845260e081019283520191438352680100000000000000008510156104705760019687860160075561036386610995565b95909561044557908b9493929151865573ffffffffffffffffffffffffffffffffffffffff8987019151167fffffffffffffffffffffffff000000000000000000000000000000000000000082541617905551600285015551600384015551910155820180831161041957829394953386528652818520556005855243818520556006855242818520555192337f7c30c46017e6377826c6557f0d89e6760aced7a4ca61f469b1d729c50a81397c8280a2558152f35b6024846011887f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b60248a808e7f4e487b7100000000000000000000000000000000000000000000000000000000825252fd5b60248860418c7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b60248660418a7f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b838360649251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152600e60248201527f616c726561647920706c617965640000000000000000000000000000000000006044820152fd5b60648360208451917f08c379a0000000000000000000000000000000000000000000000000000000008352820152600960248201527f6261642076616c756500000000000000000000000000000000000000000000006044820152fd5b506003543411156102bf565b80fd5b83823461022e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022e5773ffffffffffffffffffffffffffffffffffffffff60015416330361022e573560025580f35b83823461022e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022e5773ffffffffffffffffffffffffffffffffffffffff60015416330361022e573560035580f35b5082903461022e57602091827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261058d5781359060808551610682816108e5565b8281528286820152828782015282606082015201526106a863ffffffff333b1615610930565b6007548110156107a457816106bc82610995565b50015443111561074857926106d260a094610995565b50908051926106e0846108e5565b82549485855273ffffffffffffffffffffffffffffffffffffffff80600186015416828701908152608060028701549486890195865260038801549760608a019889520154970196875284519788525116908601525190840152516060830152516080820152f35b509060649251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152600960248201527f746f6f206561726c7900000000000000000000000000000000000000000000006044820152fd5b509060649251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152600960248201527f62616420696e64657800000000000000000000000000000000000000000000006044820152fd5b50503461022e57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022e579060209161083c6109ff565b6001610846610a3a565b9255519015158152f35b50503461022e57817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022e576020906003549051908152f35b5050817ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261022e576020906108de73ffffffffffffffffffffffffffffffffffffffff600154163314610d96565b5160018152f35b60a0810190811067ffffffffffffffff82111761090157604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b1561093757565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f6f6e6c792077616c6c65740000000000000000000000000000000000000000006044820152fd5b6007548110156109d0576005906007600052027fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6880190600090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600260005414610a10576002600055565b60046040517f3ee5aeb5000000000000000000000000000000000000000000000000000000008152fd5b610a4b63ffffffff333b1615610930565b600033815260206005815260408083205460028101809111610d0c57431115610d3957600a4201804211610d0c5733845260068352818420541015610caf5733835260048083528184205415610c5457338452808352818420547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101908111610c2857610ae3903386528285528584812055610995565b50601e600382015410610b1e5750505182815233917f650639b17ab5dbad2d79a2e4757e3be67a53db225cede5d96cb5ab54837b85ce91a290565b6002909492939401908154908160011b9180830460021490151715610bfc5747821015610ba057508280808093818115610b97575b3390f115610b8b5755516001815233917f650639b17ab5dbad2d79a2e4757e3be67a53db225cede5d96cb5ab54837b85ce91a2600190565b509051903d90823e3d90fd5b506108fc610b53565b606490868651917f08c379a0000000000000000000000000000000000000000000000000000000008352820152601160248201527f696e73756666696369656e742066756e640000000000000000000000000000006044820152fd5b8360116024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b6024856011847f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b8260649251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152600a60248201527f6e6f7420706c61796564000000000000000000000000000000000000000000006044820152fd5b6064925051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152600a60248201527f6561726c792074696d65000000000000000000000000000000000000000000006044820152fd5b6024847f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b6064925051907f08c379a00000000000000000000000000000000000000000000000000000000082526004820152600b60248201527f6561726c7920626c6f636b0000000000000000000000000000000000000000006044820152fd5b15610d9d57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6f6e6c79206f776e6572000000000000000000000000000000000000000000006044820152fdfea2646970667358221220d8d20a1c20ed259e85464425a24d86349b111a1357272bef6eded90c62b0a20464736f6c63430008130033

Deployed Bytecode Sourcemap

3587:3663:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6887:42;3587:3663;;;;6895:10;:19;6887:42;:::i;:::-;6954:21;6994:12;;3587:3663;;7044:35;;;;;;;;;;;3587:3663;6895:10;7044:35;;;;;3587:3663;;;;;;;7044:35;3587:3663;;;;;;;;;7044:35;;;;;3587:3663;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3964:36;3587:3663;;;;;;;;;;;;;;;;;;;;;;;;;;4600:9;3587:3663;;;;;;;;;;;;;;;;;2578:107;;:::i;:::-;5205:48;3587:3663;5226:10;5034:60;3587:3663;5112:8;5205:48;:::i;:::-;5283:6;3587:3663;5272:9;:17;;:38;;;3587:3663;;;;5226:10;3587:3663;;;;;;;;;;;;;5417:9;3587:3663;;;;6735:61;;;;6752:15;3587:3663;;6769:16;3587:3663;;;;;;;;;;6735:61;;3587:3663;;;;;;;;;;;;;6801:3;3587:3663;;;;;;6725:72;;3587:3663;;;;;:::i;:::-;;;;5498:53;;;5226:10;;3587:3663;;5498:53;;;;5272:9;;3587:3663;;;5498:53;;3587:3663;;;5498:53;5538:12;;3587:3663;;;;;;;;;;;;;5417:9;3587:3663;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5283:6;3587:3663;;;;;;;;;;;;;;;;;;;5226:10;;;;;3587:3663;;;;;;;;5609:10;3587:3663;;5538:12;3587:3663;;;;5657:14;3587:3663;;6752:15;3587:3663;;;;;5226:10;;5717:18;;;;3587:3663;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5272:38;3587:3663;5304:6;3587:3663;5272:9;5293:17;;5272:38;;3587:3663;;;;;;;;;;;;;;;;;;;;4358:10;:19;3587:3663;;;4389:10;3587:3663;;;;;;;;;;;;;;;;;;;;4471:10;:19;3587:3663;;;4502:10;3587:3663;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;4707:48;3587:3663;4728:10;5034:60;3587:3663;5112:8;4707:48;:::i;:::-;4782:9;3587:3663;4774:24;;3587:3663;;;4831:16;;;;:::i;:::-;:30;;3587:3663;4864:12;-1:-1:-1;3587:3663:0;;;4908:16;;3587:3663;4908:16;;:::i;:::-;3587:3663;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2578:107;3587:3663;2578:107;;;:::i;:::-;1956:1;2645;;:::i;:::-;3587:3663;;;;;;;;;;;;;;;;;;;;;;;;4007:36;3587:3663;;;;;;;;;;;;;;;;;;;7175:42;3587:3663;7197:5;3587:3663;;7183:10;:19;7175:42;:::i;:::-;3587:3663;7197:5;3587:3663;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;4782:9;3587:3663;;;;;;;;4782:9;-1:-1:-1;3587:3663:0;;;;;-1:-1:-1;3587:3663:0;:::o;:::-;;;;;;;;;;2691:313;1999:1;2820:7;3587:3663;2820:18;2816:88;;1999:1;2820:7;3587:3663;2691:313::o;2816:88::-;2862:30;3587:3663;;2862:30;;;;5771:857;5834:48;3587:3663;5855:10;5034:60;3587:3663;5112:8;5834:48;:::i;:::-;3587:3663;5855:10;3587:3663;;;5916:10;3587:3663;;;;;;;5941:1;3587:3663;;;;;;;5901:12;:41;3587:3663;;;5995:10;5977:15;3587:3663;5977:15;;3587:3663;;;5855:10;3587:3663;;6008:14;3587:3663;;;;;;-1:-1:-1;3587:3663:0;;;5855:10;3587:3663;;6068:11;3587:3663;;;;;;;6068:27;3587:3663;;5855:10;3587:3663;;;;;;;;;;;;;;;;;6229:16;5855:10;;3587:3663;;;;;;;;;;6229:16;:::i;:::-;6260:6;6269:2;6260:6;;;3587:3663;6260:11;6256:300;;-1:-1:-1;;3587:3663:0;;;;5855:10;;6571:26;;;5771:857;:::o;6256:300::-;5941:1;6303:8;;;;;;3587:3663;;;;;6163:1;3587:3663;;;;;5941:1;3587:3663;;;;;;;6354:21;6347:28;;3587:3663;;;6412:34;;;;;;;;;;;6256:300;5855:10;6412:34;;;;;3587:3663;;6163:1;3587:3663;;5855:10;;6493:25;;;6163:1;6533:11;:::o;6412:34::-;3587:3663;;;;;;;;;;;6412:34;;;;;3587:3663;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5995:10;3587:3663;;;;;;;;;;;;;;;;;;;;;;;5995:10;3587:3663;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;

Swarm Source

ipfs://d8d20a1c20ed259e85464425a24d86349b111a1357272bef6eded90c62b0a204

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.