CELO Price: $0.12 (+2.25%)
Gas: 25 GWei

Contract

0xB8562b198Af496DE6f1222d35810cA54984263AA

Overview

CELO Balance

Celo Mainnet LogoCelo Mainnet LogoCelo Mainnet Logo0.08 CELO

CELO Value

Less Than $0.01 (@ $0.12/CELO)

More Info

Private Name Tags

Multichain Info

Transaction Hash
Block
From
To
Submit Score531653732025-12-07 0:08:5149 days ago1765066131IN
0xB8562b19...4984263AA
0 CELO0.0005567425.03
Submit Score531629722025-12-06 23:28:5049 days ago1765063730IN
0xB8562b19...4984263AA
0 CELO0.0005567425.03
Submit Score531626002025-12-06 23:22:3849 days ago1765063358IN
0xB8562b19...4984263AA
0 CELO0.000611927.51
Submit Score531348342025-12-06 15:39:5249 days ago1765035592IN
0xB8562b19...4984263AA
0 CELO0.001337625.01
Start Game531346752025-12-06 15:37:1349 days ago1765035433IN
0xB8562b19...4984263AA
0.01 CELO0.0018179725.01
Start Game531345842025-12-06 15:35:4249 days ago1765035342IN
0xB8562b19...4984263AA
0.01 CELO0.0018173225.001
Submit Score531330182025-12-06 15:09:3649 days ago1765033776IN
0xB8562b19...4984263AA
0 CELO0.0005562925.01
Submit Score531329782025-12-06 15:08:5649 days ago1765033736IN
0xB8562b19...4984263AA
0 CELO0.0039766425.01
Start Game531324782025-12-06 15:00:3649 days ago1765033236IN
0xB8562b19...4984263AA
0.01 CELO0.0018179725.01
Submit Score531324072025-12-06 14:59:2549 days ago1765033165IN
0xB8562b19...4984263AA
0 CELO0.0005562925.01
Start Game531323842025-12-06 14:59:0249 days ago1765033142IN
0xB8562b19...4984263AA
0.01 CELO0.0018179725.01
Submit Score531319572025-12-06 14:51:5549 days ago1765032715IN
0xB8562b19...4984263AA
0 CELO0.0039766425.01
Start Game531317642025-12-06 14:48:4249 days ago1765032522IN
0xB8562b19...4984263AA
0.01 CELO0.0018179725.01
Submit Score530920982025-12-06 3:47:3650 days ago1764992856IN
0xB8562b19...4984263AA
0 CELO0.0005562925.01
Start Game528266142025-12-03 2:02:5253 days ago1764727372IN
0xB8562b19...4984263AA
0.01 CELO0.0018179725.01
Start Game528259552025-12-03 1:51:5353 days ago1764726713IN
0xB8562b19...4984263AA
0.01 CELO0.0005936325.01
Start Game528237242025-12-03 1:14:4253 days ago1764724482IN
0xB8562b19...4984263AA
0.01 CELO0.0018179725.01
Submit Score528205832025-12-03 0:22:2153 days ago1764721341IN
0xB8562b19...4984263AA
0 CELO0.0040068525.2
Start Game528205212025-12-03 0:21:1953 days ago1764721279IN
0xB8562b19...4984263AA
0.01 CELO0.0005936325.01
Start Game528200642025-12-03 0:13:4253 days ago1764720822IN
0xB8562b19...4984263AA
0.01 CELO0.0022465425.02

Advanced mode:
Parent Transaction Hash Block From To
View All Internal Transactions

Cross-Chain Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Game2048V2

Compiler Version
v0.8.30+commit.73712a01

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at celoscan.io on 2025-12-02
*/

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;

/**
 * @title Game2048V2
 * @dev Smart contract for playing 2048 on-chain with game start transactions
 * @notice Players must pay to start a game, then can submit their score
 */
contract Game2048V2 {
    uint256 public constant GAME_FEE = 0.01 ether; // Cost to start a game (~$0.01 USD)

    struct PlayerStats {
        uint256 highScore;
        uint256 wins;       // Games reaching 2048
        uint256 losses;     // Games not reaching 2048
        uint256 totalGames;
        int256 currentStreak;
        uint256 bestStreak;
        uint256 lastPlayed;
    }

    struct ActiveGame {
        bool exists;
        uint256 startTime;
    }

    mapping(address => PlayerStats) public playerStats;
    mapping(address => ActiveGame) public activeGames;

    uint256 public totalFeesCollected;

    event GameStarted(address indexed player, uint256 timestamp);
    event ScoreSubmitted(
        address indexed player,
        uint256 score,
        bool reachedGoal,
        uint256 timestamp
    );

    /**
     * @dev Start a new on-chain game by paying the fee
     */
    function startGame() external payable {
        require(msg.value == GAME_FEE, "Incorrect game fee");
        require(!activeGames[msg.sender].exists, "Game already in progress");

        activeGames[msg.sender] = ActiveGame({
            exists: true,
            startTime: block.timestamp
        });

        totalFeesCollected += msg.value;

        emit GameStarted(msg.sender, block.timestamp);
    }

    /**
     * @dev Submit a game score to the blockchain
     * @param score The final score achieved in the game
     * @param reachedGoal Whether the player reached the 2048 tile
     */
    function submitScore(uint256 score, bool reachedGoal) external {
        require(score > 0, "Invalid score");
        require(activeGames[msg.sender].exists, "No active game - start a game first");

        // Clear active game
        delete activeGames[msg.sender];

        PlayerStats storage stats = playerStats[msg.sender];

        // Update high score
        if (score > stats.highScore) {
            stats.highScore = score;
        }

        // Update win/loss record
        if (reachedGoal) {
            stats.wins++;
            stats.currentStreak = stats.currentStreak >= 0 ? stats.currentStreak + 1 : int256(1);
        } else {
            stats.losses++;
            stats.currentStreak = stats.currentStreak <= 0 ? stats.currentStreak - 1 : int256(-1);
        }

        // Update best streak
        uint256 absStreak = stats.currentStreak >= 0
            ? uint256(stats.currentStreak)
            : uint256(-stats.currentStreak);
        if (absStreak > stats.bestStreak) {
            stats.bestStreak = absStreak;
        }

        stats.totalGames++;
        stats.lastPlayed = block.timestamp;

        emit ScoreSubmitted(msg.sender, score, reachedGoal, block.timestamp);
    }

    /**
     * @dev Get player statistics
     * @param player The address of the player
     * @return highScore The player's highest score
     * @return wins Number of wins (games reaching 2048)
     * @return losses Number of losses
     * @return totalGames Total games played
     * @return winRate Win percentage (0-100)
     * @return currentStreak Current win/loss streak (positive = wins, negative = losses)
     * @return bestStreak Best streak achieved
     */
    function getStats(address player) external view returns (
        uint256 highScore,
        uint256 wins,
        uint256 losses,
        uint256 totalGames,
        uint256 winRate,
        int256 currentStreak,
        uint256 bestStreak
    ) {
        PlayerStats memory stats = playerStats[player];
        uint256 rate = stats.totalGames > 0
            ? (stats.wins * 100) / stats.totalGames
            : 0;

        return (
            stats.highScore,
            stats.wins,
            stats.losses,
            stats.totalGames,
            rate,
            stats.currentStreak,
            stats.bestStreak
        );
    }

    /**
     * @dev Check if player has an active game
     * @param player The address to check
     * @return exists Whether the player has an active game
     * @return startTime When the game was started
     */
    function hasActiveGame(address player) external view returns (bool exists, uint256 startTime) {
        ActiveGame memory game = activeGames[player];
        return (game.exists, game.startTime);
    }
}

Contract Security Audit

Contract ABI

API
[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"player","type":"address"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"GameStarted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"player","type":"address"},{"indexed":false,"internalType":"uint256","name":"score","type":"uint256"},{"indexed":false,"internalType":"bool","name":"reachedGoal","type":"bool"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"ScoreSubmitted","type":"event"},{"inputs":[],"name":"GAME_FEE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"activeGames","outputs":[{"internalType":"bool","name":"exists","type":"bool"},{"internalType":"uint256","name":"startTime","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"player","type":"address"}],"name":"getStats","outputs":[{"internalType":"uint256","name":"highScore","type":"uint256"},{"internalType":"uint256","name":"wins","type":"uint256"},{"internalType":"uint256","name":"losses","type":"uint256"},{"internalType":"uint256","name":"totalGames","type":"uint256"},{"internalType":"uint256","name":"winRate","type":"uint256"},{"internalType":"int256","name":"currentStreak","type":"int256"},{"internalType":"uint256","name":"bestStreak","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"player","type":"address"}],"name":"hasActiveGame","outputs":[{"internalType":"bool","name":"exists","type":"bool"},{"internalType":"uint256","name":"startTime","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"playerStats","outputs":[{"internalType":"uint256","name":"highScore","type":"uint256"},{"internalType":"uint256","name":"wins","type":"uint256"},{"internalType":"uint256","name":"losses","type":"uint256"},{"internalType":"uint256","name":"totalGames","type":"uint256"},{"internalType":"int256","name":"currentStreak","type":"int256"},{"internalType":"uint256","name":"bestStreak","type":"uint256"},{"internalType":"uint256","name":"lastPlayed","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"startGame","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"score","type":"uint256"},{"internalType":"bool","name":"reachedGoal","type":"bool"}],"name":"submitScore","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalFeesCollected","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}]

6080604052348015600e575f5ffd5b50610f738061001c5f395ff3fe60806040526004361061007a575f3560e01c8063d65ab5f21161004d578063d65ab5f214610156578063d9169b7714610160578063ddd0b37d1461019d578063f104a80d146101c55761007a565b80631001333a1461007e57806360c6d8ae146100a8578063c23f85d6146100d2578063cdafbbb614610114575b5f5ffd5b348015610089575f5ffd5b50610092610202565b60405161009f91906108bf565b60405180910390f35b3480156100b3575f5ffd5b506100bc61020d565b6040516100c991906108bf565b60405180910390f35b3480156100dd575f5ffd5b506100f860048036038101906100f39190610936565b610213565b60405161010b9796959493929190610979565b60405180910390f35b34801561011f575f5ffd5b5061013a60048036038101906101359190610936565b610317565b60405161014d97969594939291906109e6565b60405180910390f35b61015e610354565b005b34801561016b575f5ffd5b5061018660048036038101906101819190610936565b610510565b604051610194929190610a6d565b60405180910390f35b3480156101a8575f5ffd5b506101c360048036038101906101be9190610ae8565b61053c565b005b3480156101d0575f5ffd5b506101eb60048036038101906101e69190610936565b610824565b6040516101f9929190610a6d565b60405180910390f35b662386f26fc1000081565b60025481565b5f5f5f5f5f5f5f5f5f5f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206040518060e00160405290815f8201548152602001600182015481526020016002820154815260200160038201548152602001600482015481526020016005820154815260200160068201548152505090505f5f8260600151116102bb575f6102dc565b8160600151606483602001516102d19190610b53565b6102db9190610bc1565b5b9050815f01518260200151836040015184606001518486608001518760a0015198509850985098509850985098505050919395979092949650565b5f602052805f5260405f205f91509050805f0154908060010154908060020154908060030154908060040154908060050154908060060154905087565b662386f26fc10000341461039d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161039490610c4b565b60405180910390fd5b60015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f015f9054906101000a900460ff1615610429576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161042090610cb3565b60405180910390fd5b60405180604001604052806001151581526020014281525060015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f820151815f015f6101000a81548160ff021916908315150217905550602082015181600101559050503460025f8282546104b99190610cd1565b925050819055503373ffffffffffffffffffffffffffffffffffffffff167fea32a03505fd9f04d664676d72295a86c5fb0465e69654751907ca305bc1d1c74260405161050691906108bf565b60405180910390a2565b6001602052805f5260405f205f91509050805f015f9054906101000a900460ff16908060010154905082565b5f821161057e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161057590610d4e565b60405180910390fd5b60015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f015f9054906101000a900460ff16610609576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161060090610ddc565b60405180910390fd5b60015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f5f82015f6101000a81549060ff0219169055600182015f905550505f5f5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f209050805f01548311156106b55782815f01819055505b811561070657806001015f8154809291906106cf90610dfa565b91905055505f816004015412156106e75760016106f9565b600181600401546106f89190610e41565b5b816004018190555061076c565b806002015f81548092919061071a90610dfa565b91905055505f81600401541315610751577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610763565b600181600401546107629190610e82565b5b81600401819055505b5f5f8260040154121561078c57816004015461078790610ec2565b610792565b81600401545b905081600501548111156107aa578082600501819055505b816003015f8154809291906107be90610dfa565b91905055504282600601819055503373ffffffffffffffffffffffffffffffffffffffff167fa4efb826d613ebf578b228ec0c1dc125c4683fbd8b2bd173e2ff5faf002c400385854260405161081693929190610f08565b60405180910390a250505050565b5f5f5f60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206040518060400160405290815f82015f9054906101000a900460ff161515151581526020016001820154815250509050805f015181602001519250925050915091565b5f819050919050565b6108b9816108a7565b82525050565b5f6020820190506108d25f8301846108b0565b92915050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610905826108dc565b9050919050565b610915816108fb565b811461091f575f5ffd5b50565b5f813590506109308161090c565b92915050565b5f6020828403121561094b5761094a6108d8565b5b5f61095884828501610922565b91505092915050565b5f819050919050565b61097381610961565b82525050565b5f60e08201905061098c5f83018a6108b0565b61099960208301896108b0565b6109a660408301886108b0565b6109b360608301876108b0565b6109c060808301866108b0565b6109cd60a083018561096a565b6109da60c08301846108b0565b98975050505050505050565b5f60e0820190506109f95f83018a6108b0565b610a0660208301896108b0565b610a1360408301886108b0565b610a2060608301876108b0565b610a2d608083018661096a565b610a3a60a08301856108b0565b610a4760c08301846108b0565b98975050505050505050565b5f8115159050919050565b610a6781610a53565b82525050565b5f604082019050610a805f830185610a5e565b610a8d60208301846108b0565b9392505050565b610a9d816108a7565b8114610aa7575f5ffd5b50565b5f81359050610ab881610a94565b92915050565b610ac781610a53565b8114610ad1575f5ffd5b50565b5f81359050610ae281610abe565b92915050565b5f5f60408385031215610afe57610afd6108d8565b5b5f610b0b85828601610aaa565b9250506020610b1c85828601610ad4565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610b5d826108a7565b9150610b68836108a7565b9250828202610b76816108a7565b91508282048414831517610b8d57610b8c610b26565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f610bcb826108a7565b9150610bd6836108a7565b925082610be657610be5610b94565b5b828204905092915050565b5f82825260208201905092915050565b7f496e636f72726563742067616d652066656500000000000000000000000000005f82015250565b5f610c35601283610bf1565b9150610c4082610c01565b602082019050919050565b5f6020820190508181035f830152610c6281610c29565b9050919050565b7f47616d6520616c726561647920696e2070726f677265737300000000000000005f82015250565b5f610c9d601883610bf1565b9150610ca882610c69565b602082019050919050565b5f6020820190508181035f830152610cca81610c91565b9050919050565b5f610cdb826108a7565b9150610ce6836108a7565b9250828201905080821115610cfe57610cfd610b26565b5b92915050565b7f496e76616c69642073636f7265000000000000000000000000000000000000005f82015250565b5f610d38600d83610bf1565b9150610d4382610d04565b602082019050919050565b5f6020820190508181035f830152610d6581610d2c565b9050919050565b7f4e6f206163746976652067616d65202d20737461727420612067616d652066695f8201527f7273740000000000000000000000000000000000000000000000000000000000602082015250565b5f610dc6602383610bf1565b9150610dd182610d6c565b604082019050919050565b5f6020820190508181035f830152610df381610dba565b9050919050565b5f610e04826108a7565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610e3657610e35610b26565b5b600182019050919050565b5f610e4b82610961565b9150610e5683610961565b92508282019050828112155f8312168382125f841215161715610e7c57610e7b610b26565b5b92915050565b5f610e8c82610961565b9150610e9783610961565b925082820390508181125f8412168282135f851215161715610ebc57610ebb610b26565b5b92915050565b5f610ecc82610961565b91507f80000000000000000000000000000000000000000000000000000000000000008203610efe57610efd610b26565b5b815f039050919050565b5f606082019050610f1b5f8301866108b0565b610f286020830185610a5e565b610f3560408301846108b0565b94935050505056fea2646970667358221220553cf574e698a7631907bbb151c6c6dea65bf3124a282ba7f56a946241597eab64736f6c634300081e0033

Deployed Bytecode

0x60806040526004361061007a575f3560e01c8063d65ab5f21161004d578063d65ab5f214610156578063d9169b7714610160578063ddd0b37d1461019d578063f104a80d146101c55761007a565b80631001333a1461007e57806360c6d8ae146100a8578063c23f85d6146100d2578063cdafbbb614610114575b5f5ffd5b348015610089575f5ffd5b50610092610202565b60405161009f91906108bf565b60405180910390f35b3480156100b3575f5ffd5b506100bc61020d565b6040516100c991906108bf565b60405180910390f35b3480156100dd575f5ffd5b506100f860048036038101906100f39190610936565b610213565b60405161010b9796959493929190610979565b60405180910390f35b34801561011f575f5ffd5b5061013a60048036038101906101359190610936565b610317565b60405161014d97969594939291906109e6565b60405180910390f35b61015e610354565b005b34801561016b575f5ffd5b5061018660048036038101906101819190610936565b610510565b604051610194929190610a6d565b60405180910390f35b3480156101a8575f5ffd5b506101c360048036038101906101be9190610ae8565b61053c565b005b3480156101d0575f5ffd5b506101eb60048036038101906101e69190610936565b610824565b6040516101f9929190610a6d565b60405180910390f35b662386f26fc1000081565b60025481565b5f5f5f5f5f5f5f5f5f5f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206040518060e00160405290815f8201548152602001600182015481526020016002820154815260200160038201548152602001600482015481526020016005820154815260200160068201548152505090505f5f8260600151116102bb575f6102dc565b8160600151606483602001516102d19190610b53565b6102db9190610bc1565b5b9050815f01518260200151836040015184606001518486608001518760a0015198509850985098509850985098505050919395979092949650565b5f602052805f5260405f205f91509050805f0154908060010154908060020154908060030154908060040154908060050154908060060154905087565b662386f26fc10000341461039d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161039490610c4b565b60405180910390fd5b60015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f015f9054906101000a900460ff1615610429576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161042090610cb3565b60405180910390fd5b60405180604001604052806001151581526020014281525060015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f820151815f015f6101000a81548160ff021916908315150217905550602082015181600101559050503460025f8282546104b99190610cd1565b925050819055503373ffffffffffffffffffffffffffffffffffffffff167fea32a03505fd9f04d664676d72295a86c5fb0465e69654751907ca305bc1d1c74260405161050691906108bf565b60405180910390a2565b6001602052805f5260405f205f91509050805f015f9054906101000a900460ff16908060010154905082565b5f821161057e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161057590610d4e565b60405180910390fd5b60015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f015f9054906101000a900460ff16610609576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161060090610ddc565b60405180910390fd5b60015f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f5f82015f6101000a81549060ff0219169055600182015f905550505f5f5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f209050805f01548311156106b55782815f01819055505b811561070657806001015f8154809291906106cf90610dfa565b91905055505f816004015412156106e75760016106f9565b600181600401546106f89190610e41565b5b816004018190555061076c565b806002015f81548092919061071a90610dfa565b91905055505f81600401541315610751577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610763565b600181600401546107629190610e82565b5b81600401819055505b5f5f8260040154121561078c57816004015461078790610ec2565b610792565b81600401545b905081600501548111156107aa578082600501819055505b816003015f8154809291906107be90610dfa565b91905055504282600601819055503373ffffffffffffffffffffffffffffffffffffffff167fa4efb826d613ebf578b228ec0c1dc125c4683fbd8b2bd173e2ff5faf002c400385854260405161081693929190610f08565b60405180910390a250505050565b5f5f5f60015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f206040518060400160405290815f82015f9054906101000a900460ff161515151581526020016001820154815250509050805f015181602001519250925050915091565b5f819050919050565b6108b9816108a7565b82525050565b5f6020820190506108d25f8301846108b0565b92915050565b5f5ffd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610905826108dc565b9050919050565b610915816108fb565b811461091f575f5ffd5b50565b5f813590506109308161090c565b92915050565b5f6020828403121561094b5761094a6108d8565b5b5f61095884828501610922565b91505092915050565b5f819050919050565b61097381610961565b82525050565b5f60e08201905061098c5f83018a6108b0565b61099960208301896108b0565b6109a660408301886108b0565b6109b360608301876108b0565b6109c060808301866108b0565b6109cd60a083018561096a565b6109da60c08301846108b0565b98975050505050505050565b5f60e0820190506109f95f83018a6108b0565b610a0660208301896108b0565b610a1360408301886108b0565b610a2060608301876108b0565b610a2d608083018661096a565b610a3a60a08301856108b0565b610a4760c08301846108b0565b98975050505050505050565b5f8115159050919050565b610a6781610a53565b82525050565b5f604082019050610a805f830185610a5e565b610a8d60208301846108b0565b9392505050565b610a9d816108a7565b8114610aa7575f5ffd5b50565b5f81359050610ab881610a94565b92915050565b610ac781610a53565b8114610ad1575f5ffd5b50565b5f81359050610ae281610abe565b92915050565b5f5f60408385031215610afe57610afd6108d8565b5b5f610b0b85828601610aaa565b9250506020610b1c85828601610ad4565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610b5d826108a7565b9150610b68836108a7565b9250828202610b76816108a7565b91508282048414831517610b8d57610b8c610b26565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f610bcb826108a7565b9150610bd6836108a7565b925082610be657610be5610b94565b5b828204905092915050565b5f82825260208201905092915050565b7f496e636f72726563742067616d652066656500000000000000000000000000005f82015250565b5f610c35601283610bf1565b9150610c4082610c01565b602082019050919050565b5f6020820190508181035f830152610c6281610c29565b9050919050565b7f47616d6520616c726561647920696e2070726f677265737300000000000000005f82015250565b5f610c9d601883610bf1565b9150610ca882610c69565b602082019050919050565b5f6020820190508181035f830152610cca81610c91565b9050919050565b5f610cdb826108a7565b9150610ce6836108a7565b9250828201905080821115610cfe57610cfd610b26565b5b92915050565b7f496e76616c69642073636f7265000000000000000000000000000000000000005f82015250565b5f610d38600d83610bf1565b9150610d4382610d04565b602082019050919050565b5f6020820190508181035f830152610d6581610d2c565b9050919050565b7f4e6f206163746976652067616d65202d20737461727420612067616d652066695f8201527f7273740000000000000000000000000000000000000000000000000000000000602082015250565b5f610dc6602383610bf1565b9150610dd182610d6c565b604082019050919050565b5f6020820190508181035f830152610df381610dba565b9050919050565b5f610e04826108a7565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610e3657610e35610b26565b5b600182019050919050565b5f610e4b82610961565b9150610e5683610961565b92508282019050828112155f8312168382125f841215161715610e7c57610e7b610b26565b5b92915050565b5f610e8c82610961565b9150610e9783610961565b925082820390508181125f8412168282135f851215161715610ebc57610ebb610b26565b5b92915050565b5f610ecc82610961565b91507f80000000000000000000000000000000000000000000000000000000000000008203610efe57610efd610b26565b5b815f039050919050565b5f606082019050610f1b5f8301866108b0565b610f286020830185610a5e565b610f3560408301846108b0565b94935050505056fea2646970667358221220553cf574e698a7631907bbb151c6c6dea65bf3124a282ba7f56a946241597eab64736f6c634300081e0033

Deployed Bytecode Sourcemap

246:4400:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;273:45;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;852:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3545:664;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;737:50;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;1184:420;;;:::i;:::-;;794:49;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;1807:1246;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4439:204;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;273:45;308:10;273:45;:::o;852:33::-;;;;:::o;3545:664::-;3612:17;3640:12;3663:14;3688:18;3717:15;3743:20;3774:18;3811:24;3838:11;:19;3850:6;3838:19;;;;;;;;;;;;;;;3811:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3868:12;3902:1;3883:5;:16;;;:20;:90;;3972:1;3883:90;;;3940:5;:16;;;3933:3;3920:5;:10;;;:16;;;;:::i;:::-;3919:37;;;;:::i;:::-;3883:90;3868:105;;4008:5;:15;;;4038:5;:10;;;4063:5;:12;;;4090:5;:16;;;4121:4;4140:5;:19;;;4174:5;:16;;;3986:215;;;;;;;;;;;;;;;;3545:664;;;;;;;;;:::o;737:50::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1184:420::-;308:10;1241:9;:21;1233:52;;;;;;;;;;;;:::i;:::-;;;;;;;;;1305:11;:23;1317:10;1305:23;;;;;;;;;;;;;;;:30;;;;;;;;;;;;1304:31;1296:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1403:91;;;;;;;;1437:4;1403:91;;;;;;1467:15;1403:91;;;1377:11;:23;1389:10;1377:23;;;;;;;;;;;;;;;:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1529:9;1507:18;;:31;;;;;;;:::i;:::-;;;;;;;;1568:10;1556:40;;;1580:15;1556:40;;;;;;:::i;:::-;;;;;;;;1184:420::o;794:49::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1807:1246::-;1897:1;1889:5;:9;1881:35;;;;;;;;;;;;:::i;:::-;;;;;;;;;1935:11;:23;1947:10;1935:23;;;;;;;;;;;;;;;:30;;;;;;;;;;;;1927:78;;;;;;;;;;;;:::i;:::-;;;;;;;;;2055:11;:23;2067:10;2055:23;;;;;;;;;;;;;;;;2048:30;;;;;;;;;;;;;;;;;;;;;;;2091:25;2119:11;:23;2131:10;2119:23;;;;;;;;;;;;;;;2091:51;;2197:5;:15;;;2189:5;:23;2185:79;;;2247:5;2229;:15;;:23;;;;2185:79;2315:11;2311:302;;;2343:5;:10;;;:12;;;;;;;;;:::i;:::-;;;;;;2415:1;2392:5;:19;;;:24;;:62;;2452:1;2392:62;;;2441:1;2419:5;:19;;;:23;;;;:::i;:::-;2392:62;2370:5;:19;;:84;;;;2311:302;;;2487:5;:12;;;:14;;;;;;;;;:::i;:::-;;;;;;2561:1;2538:5;:19;;;:24;;:63;;2598:2;2538:63;;;2587:1;2565:5;:19;;;:23;;;;:::i;:::-;2538:63;2516:5;:19;;:85;;;;2311:302;2656:17;2699:1;2676:5;:19;;;:24;;:113;;2769:5;:19;;;2768:20;;;:::i;:::-;2676:113;;;2724:5;:19;;;2676:113;2656:133;;2816:5;:16;;;2804:9;:28;2800:89;;;2868:9;2849:5;:16;;:28;;;;2800:89;2901:5;:16;;;:18;;;;;;;;;:::i;:::-;;;;;;2949:15;2930:5;:16;;:34;;;;2997:10;2982:63;;;3009:5;3016:11;3029:15;2982:63;;;;;;;;:::i;:::-;;;;;;;;1870:1183;;1807:1246;;:::o;4439:204::-;4501:11;4514:17;4544:22;4569:11;:19;4581:6;4569:19;;;;;;;;;;;;;;;4544:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4607:4;:11;;;4620:4;:14;;;4599:36;;;;;4439:204;;;:::o;7:77:1:-;44:7;73:5;62:16;;7:77;;;:::o;90:118::-;177:24;195:5;177:24;:::i;:::-;172:3;165:37;90:118;;:::o;214:222::-;307:4;345:2;334:9;330:18;322:26;;358:71;426:1;415:9;411:17;402:6;358:71;:::i;:::-;214:222;;;;:::o;523:117::-;632:1;629;622:12;769:126;806:7;846:42;839:5;835:54;824:65;;769:126;;;:::o;901:96::-;938:7;967:24;985:5;967:24;:::i;:::-;956:35;;901:96;;;:::o;1003:122::-;1076:24;1094:5;1076:24;:::i;:::-;1069:5;1066:35;1056:63;;1115:1;1112;1105:12;1056:63;1003:122;:::o;1131:139::-;1177:5;1215:6;1202:20;1193:29;;1231:33;1258:5;1231:33;:::i;:::-;1131:139;;;;:::o;1276:329::-;1335:6;1384:2;1372:9;1363:7;1359:23;1355:32;1352:119;;;1390:79;;:::i;:::-;1352:119;1510:1;1535:53;1580:7;1571:6;1560:9;1556:22;1535:53;:::i;:::-;1525:63;;1481:117;1276:329;;;;:::o;1611:76::-;1647:7;1676:5;1665:16;;1611:76;;;:::o;1693:115::-;1778:23;1795:5;1778:23;:::i;:::-;1773:3;1766:36;1693:115;;:::o;1814:882::-;2073:4;2111:3;2100:9;2096:19;2088:27;;2125:71;2193:1;2182:9;2178:17;2169:6;2125:71;:::i;:::-;2206:72;2274:2;2263:9;2259:18;2250:6;2206:72;:::i;:::-;2288;2356:2;2345:9;2341:18;2332:6;2288:72;:::i;:::-;2370;2438:2;2427:9;2423:18;2414:6;2370:72;:::i;:::-;2452:73;2520:3;2509:9;2505:19;2496:6;2452:73;:::i;:::-;2535:71;2601:3;2590:9;2586:19;2577:6;2535:71;:::i;:::-;2616:73;2684:3;2673:9;2669:19;2660:6;2616:73;:::i;:::-;1814:882;;;;;;;;;;:::o;2702:::-;2961:4;2999:3;2988:9;2984:19;2976:27;;3013:71;3081:1;3070:9;3066:17;3057:6;3013:71;:::i;:::-;3094:72;3162:2;3151:9;3147:18;3138:6;3094:72;:::i;:::-;3176;3244:2;3233:9;3229:18;3220:6;3176:72;:::i;:::-;3258;3326:2;3315:9;3311:18;3302:6;3258:72;:::i;:::-;3340:71;3406:3;3395:9;3391:19;3382:6;3340:71;:::i;:::-;3421:73;3489:3;3478:9;3474:19;3465:6;3421:73;:::i;:::-;3504;3572:3;3561:9;3557:19;3548:6;3504:73;:::i;:::-;2702:882;;;;;;;;;;:::o;3590:90::-;3624:7;3667:5;3660:13;3653:21;3642:32;;3590:90;;;:::o;3686:109::-;3767:21;3782:5;3767:21;:::i;:::-;3762:3;3755:34;3686:109;;:::o;3801:320::-;3916:4;3954:2;3943:9;3939:18;3931:26;;3967:65;4029:1;4018:9;4014:17;4005:6;3967:65;:::i;:::-;4042:72;4110:2;4099:9;4095:18;4086:6;4042:72;:::i;:::-;3801:320;;;;;:::o;4127:122::-;4200:24;4218:5;4200:24;:::i;:::-;4193:5;4190:35;4180:63;;4239:1;4236;4229:12;4180:63;4127:122;:::o;4255:139::-;4301:5;4339:6;4326:20;4317:29;;4355:33;4382:5;4355:33;:::i;:::-;4255:139;;;;:::o;4400:116::-;4470:21;4485:5;4470:21;:::i;:::-;4463:5;4460:32;4450:60;;4506:1;4503;4496:12;4450:60;4400:116;:::o;4522:133::-;4565:5;4603:6;4590:20;4581:29;;4619:30;4643:5;4619:30;:::i;:::-;4522:133;;;;:::o;4661:468::-;4726:6;4734;4783:2;4771:9;4762:7;4758:23;4754:32;4751:119;;;4789:79;;:::i;:::-;4751:119;4909:1;4934:53;4979:7;4970:6;4959:9;4955:22;4934:53;:::i;:::-;4924:63;;4880:117;5036:2;5062:50;5104:7;5095:6;5084:9;5080:22;5062:50;:::i;:::-;5052:60;;5007:115;4661:468;;;;;:::o;5135:180::-;5183:77;5180:1;5173:88;5280:4;5277:1;5270:15;5304:4;5301:1;5294:15;5321:410;5361:7;5384:20;5402:1;5384:20;:::i;:::-;5379:25;;5418:20;5436:1;5418:20;:::i;:::-;5413:25;;5473:1;5470;5466:9;5495:30;5513:11;5495:30;:::i;:::-;5484:41;;5674:1;5665:7;5661:15;5658:1;5655:22;5635:1;5628:9;5608:83;5585:139;;5704:18;;:::i;:::-;5585:139;5369:362;5321:410;;;;:::o;5737:180::-;5785:77;5782:1;5775:88;5882:4;5879:1;5872:15;5906:4;5903:1;5896:15;5923:185;5963:1;5980:20;5998:1;5980:20;:::i;:::-;5975:25;;6014:20;6032:1;6014:20;:::i;:::-;6009:25;;6053:1;6043:35;;6058:18;;:::i;:::-;6043:35;6100:1;6097;6093:9;6088:14;;5923:185;;;;:::o;6114:169::-;6198:11;6232:6;6227:3;6220:19;6272:4;6267:3;6263:14;6248:29;;6114:169;;;;:::o;6289:168::-;6429:20;6425:1;6417:6;6413:14;6406:44;6289:168;:::o;6463:366::-;6605:3;6626:67;6690:2;6685:3;6626:67;:::i;:::-;6619:74;;6702:93;6791:3;6702:93;:::i;:::-;6820:2;6815:3;6811:12;6804:19;;6463:366;;;:::o;6835:419::-;7001:4;7039:2;7028:9;7024:18;7016:26;;7088:9;7082:4;7078:20;7074:1;7063:9;7059:17;7052:47;7116:131;7242:4;7116:131;:::i;:::-;7108:139;;6835:419;;;:::o;7260:174::-;7400:26;7396:1;7388:6;7384:14;7377:50;7260:174;:::o;7440:366::-;7582:3;7603:67;7667:2;7662:3;7603:67;:::i;:::-;7596:74;;7679:93;7768:3;7679:93;:::i;:::-;7797:2;7792:3;7788:12;7781:19;;7440:366;;;:::o;7812:419::-;7978:4;8016:2;8005:9;8001:18;7993:26;;8065:9;8059:4;8055:20;8051:1;8040:9;8036:17;8029:47;8093:131;8219:4;8093:131;:::i;:::-;8085:139;;7812:419;;;:::o;8237:191::-;8277:3;8296:20;8314:1;8296:20;:::i;:::-;8291:25;;8330:20;8348:1;8330:20;:::i;:::-;8325:25;;8373:1;8370;8366:9;8359:16;;8394:3;8391:1;8388:10;8385:36;;;8401:18;;:::i;:::-;8385:36;8237:191;;;;:::o;8434:163::-;8574:15;8570:1;8562:6;8558:14;8551:39;8434:163;:::o;8603:366::-;8745:3;8766:67;8830:2;8825:3;8766:67;:::i;:::-;8759:74;;8842:93;8931:3;8842:93;:::i;:::-;8960:2;8955:3;8951:12;8944:19;;8603:366;;;:::o;8975:419::-;9141:4;9179:2;9168:9;9164:18;9156:26;;9228:9;9222:4;9218:20;9214:1;9203:9;9199:17;9192:47;9256:131;9382:4;9256:131;:::i;:::-;9248:139;;8975:419;;;:::o;9400:222::-;9540:34;9536:1;9528:6;9524:14;9517:58;9609:5;9604:2;9596:6;9592:15;9585:30;9400:222;:::o;9628:366::-;9770:3;9791:67;9855:2;9850:3;9791:67;:::i;:::-;9784:74;;9867:93;9956:3;9867:93;:::i;:::-;9985:2;9980:3;9976:12;9969:19;;9628:366;;;:::o;10000:419::-;10166:4;10204:2;10193:9;10189:18;10181:26;;10253:9;10247:4;10243:20;10239:1;10228:9;10224:17;10217:47;10281:131;10407:4;10281:131;:::i;:::-;10273:139;;10000:419;;;:::o;10425:233::-;10464:3;10487:24;10505:5;10487:24;:::i;:::-;10478:33;;10533:66;10526:5;10523:77;10520:103;;10603:18;;:::i;:::-;10520:103;10650:1;10643:5;10639:13;10632:20;;10425:233;;;:::o;10664:375::-;10703:3;10722:19;10739:1;10722:19;:::i;:::-;10717:24;;10755:19;10772:1;10755:19;:::i;:::-;10750:24;;10797:1;10794;10790:9;10783:16;;10995:1;10990:3;10986:11;10979:19;10975:1;10972;10968:9;10964:35;10947:1;10942:3;10938:11;10933:1;10930;10926:9;10919:17;10915:35;10899:110;10896:136;;;11012:18;;:::i;:::-;10896:136;10664:375;;;;:::o;11045:372::-;11084:4;11104:19;11121:1;11104:19;:::i;:::-;11099:24;;11137:19;11154:1;11137:19;:::i;:::-;11132:24;;11180:1;11177;11173:9;11165:17;;11374:1;11368:4;11364:12;11360:1;11357;11353:9;11349:28;11332:1;11326:4;11322:12;11317:1;11314;11310:9;11303:17;11299:36;11283:104;11280:130;;;11390:18;;:::i;:::-;11280:130;11045:372;;;;:::o;11423:228::-;11458:3;11481:23;11498:5;11481:23;:::i;:::-;11472:32;;11526:66;11519:5;11516:77;11513:103;;11596:18;;:::i;:::-;11513:103;11639:5;11636:1;11632:13;11625:20;;11423:228;;;:::o;11657:430::-;11800:4;11838:2;11827:9;11823:18;11815:26;;11851:71;11919:1;11908:9;11904:17;11895:6;11851:71;:::i;:::-;11932:66;11994:2;11983:9;11979:18;11970:6;11932:66;:::i;:::-;12008:72;12076:2;12065:9;12061:18;12052:6;12008:72;:::i;:::-;11657:430;;;;;;:::o

Swarm Source

ipfs://553cf574e698a7631907bbb151c6c6dea65bf3124a282ba7f56a946241597eab

Block Transaction Gas Used Reward
View All Blocks Produced

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

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
0xB8562b198Af496DE6f1222d35810cA54984263AA
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ 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.