Abstract Testnet

Contract

0xFae263fE7ae81169119aC43e6523d51eaBC9b6D2

Overview

ETH Balance

0 ETH

Multichain Info

N/A
Transaction Hash
Method
Block
From
To
Start Game58177332025-02-05 14:30:4945 hrs ago1738765849IN
0xFae263fE...eaBC9b6D2
0 ETH0.00002970.025
Start Game57113712025-02-03 21:17:513 days ago1738617471IN
0xFae263fE...eaBC9b6D2
0 ETH0.000004550.025
Submit Score57002472025-02-03 17:14:253 days ago1738602865IN
0xFae263fE...eaBC9b6D2
0 ETH0.000020110.03
Start Game57002402025-02-03 17:14:173 days ago1738602857IN
0xFae263fE...eaBC9b6D2
0 ETH0.000004040.03
Start Game56994992025-02-03 16:59:343 days ago1738601974IN
0xFae263fE...eaBC9b6D2
0 ETH0.000011820.025
Start Game56479082025-02-02 18:40:004 days ago1738521600IN
0xFae263fE...eaBC9b6D2
0 ETH0.000002630.03
Start Game56476172025-02-02 18:35:094 days ago1738521309IN
0xFae263fE...eaBC9b6D2
0 ETH0.000002630.03
Start Game56473552025-02-02 18:30:474 days ago1738521047IN
0xFae263fE...eaBC9b6D2
0 ETH0.00000660.03
Submit Score56437122025-02-02 17:16:034 days ago1738516563IN
0xFae263fE...eaBC9b6D2
0 ETH0.00001250.03
Start Game56437082025-02-02 17:15:594 days ago1738516559IN
0xFae263fE...eaBC9b6D2
0 ETH0.000007660.03
Submit Score56398012025-02-02 15:59:274 days ago1738511967IN
0xFae263fE...eaBC9b6D2
0 ETH0.000008530.03
Start Game56397892025-02-02 15:59:154 days ago1738511955IN
0xFae263fE...eaBC9b6D2
0 ETH0.000005610.03
Submit Score56396282025-02-02 15:56:184 days ago1738511778IN
0xFae263fE...eaBC9b6D2
0 ETH0.000009980.03
Start Game56396172025-02-02 15:56:074 days ago1738511767IN
0xFae263fE...eaBC9b6D2
0 ETH0.00000340.03
Submit Score55783832025-02-01 14:53:185 days ago1738421598IN
0xFae263fE...eaBC9b6D2
0 ETH0.000009270.03
Start Game55783812025-02-01 14:53:165 days ago1738421596IN
0xFae263fE...eaBC9b6D2
0 ETH0.000008340.03
Start Game54609312025-01-30 17:18:157 days ago1738257495IN
0xFae263fE...eaBC9b6D2
0 ETH0.000002630.03
Start Game54609262025-01-30 17:18:097 days ago1738257489IN
0xFae263fE...eaBC9b6D2
0 ETH0.000002630.03
Start Game54604772025-01-30 17:10:007 days ago1738257000IN
0xFae263fE...eaBC9b6D2
0 ETH0.000004140.03
Start Game54602722025-01-30 17:06:057 days ago1738256765IN
0xFae263fE...eaBC9b6D2
0 ETH0.000002630.03
Start Game54602652025-01-30 17:05:577 days ago1738256757IN
0xFae263fE...eaBC9b6D2
0 ETH0.000023760.03
Submit Score53977422025-01-29 20:02:198 days ago1738180939IN
0xFae263fE...eaBC9b6D2
0 ETH0.000003710.03
Start Game53977382025-01-29 20:02:138 days ago1738180933IN
0xFae263fE...eaBC9b6D2
0 ETH0.000003280.03
Start Game53966842025-01-29 19:42:518 days ago1738179771IN
0xFae263fE...eaBC9b6D2
0 ETH0.000002630.03
Start Game53966842025-01-29 19:42:518 days ago1738179771IN
0xFae263fE...eaBC9b6D2
0 ETH0.000003280.03
View all transactions

Latest 25 internal transactions (View All)

Parent Transaction Hash Block From To
58177332025-02-05 14:30:4945 hrs ago1738765849
0xFae263fE...eaBC9b6D2
0 ETH
58177332025-02-05 14:30:4945 hrs ago1738765849
0xFae263fE...eaBC9b6D2
0 ETH
58177332025-02-05 14:30:4945 hrs ago1738765849
0xFae263fE...eaBC9b6D2
0 ETH
58177332025-02-05 14:30:4945 hrs ago1738765849
0xFae263fE...eaBC9b6D2
0 ETH
58177332025-02-05 14:30:4945 hrs ago1738765849
0xFae263fE...eaBC9b6D2
0 ETH
58177332025-02-05 14:30:4945 hrs ago1738765849
0xFae263fE...eaBC9b6D2
0 ETH
58177332025-02-05 14:30:4945 hrs ago1738765849
0xFae263fE...eaBC9b6D2
0 ETH
58177332025-02-05 14:30:4945 hrs ago1738765849
0xFae263fE...eaBC9b6D2
0 ETH
58177332025-02-05 14:30:4945 hrs ago1738765849
0xFae263fE...eaBC9b6D2
0 ETH
57113712025-02-03 21:17:513 days ago1738617471
0xFae263fE...eaBC9b6D2
0 ETH
57113712025-02-03 21:17:513 days ago1738617471
0xFae263fE...eaBC9b6D2
0 ETH
57113712025-02-03 21:17:513 days ago1738617471
0xFae263fE...eaBC9b6D2
0 ETH
57113712025-02-03 21:17:513 days ago1738617471
0xFae263fE...eaBC9b6D2
0 ETH
57113712025-02-03 21:17:513 days ago1738617471
0xFae263fE...eaBC9b6D2
0 ETH
57113712025-02-03 21:17:513 days ago1738617471
0xFae263fE...eaBC9b6D2
0 ETH
57113712025-02-03 21:17:513 days ago1738617471
0xFae263fE...eaBC9b6D2
0 ETH
57113712025-02-03 21:17:513 days ago1738617471
0xFae263fE...eaBC9b6D2
0 ETH
57113712025-02-03 21:17:513 days ago1738617471
0xFae263fE...eaBC9b6D2
0 ETH
57002472025-02-03 17:14:253 days ago1738602865
0xFae263fE...eaBC9b6D2
0 ETH
57002472025-02-03 17:14:253 days ago1738602865
0xFae263fE...eaBC9b6D2
0 ETH
57002472025-02-03 17:14:253 days ago1738602865
0xFae263fE...eaBC9b6D2
0 ETH
57002472025-02-03 17:14:253 days ago1738602865
0xFae263fE...eaBC9b6D2
0 ETH
57002472025-02-03 17:14:253 days ago1738602865
0xFae263fE...eaBC9b6D2
0 ETH
57002472025-02-03 17:14:253 days ago1738602865
0xFae263fE...eaBC9b6D2
0 ETH
57002472025-02-03 17:14:253 days ago1738602865
0xFae263fE...eaBC9b6D2
0 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
PenguinGame

Compiler Version
v0.8.24+commit.e11b9ed9

ZkSolc Version
v1.5.11

Optimization Enabled:
Yes with Mode 3

Other Settings:
paris EvmVersion

Contract Source Code (Solidity Standard Json-Input format)

File 1 of 1 : PenguinGame.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.24;

/**
 * @title PenguinGame
 * @dev Main contract for the Penguin Memory Game
 */
contract PenguinGame {
    // Structs
    struct PlayerStats {
        uint256 highestLevel;
        uint256 totalGamesPlayed;
        uint256 totalClicks;
        mapping(uint256 => LevelStats) levelStats;
        uint256[] achievements;
        uint256 lastPlayedTimestamp;
    }

    struct LevelStats {
        uint256 bestScore;      // Lowest click count
        uint256 timesCompleted;
        uint256 lastCompletedAt;
    }

    struct LeaderboardEntry {
        address player;
        uint256 score;
    }

    struct GameSession {
        uint256 startTime;
        bytes32 levelHash;      // Hash of level configuration
        bool isComplete;
        uint256 clickCount;
    }

    // State variables
    address public owner;
    mapping(address => PlayerStats) public playerStats;
    mapping(uint256 => LeaderboardEntry[]) private levelLeaderboards;
    mapping(bytes32 => bool) private usedLevelHashes;
    mapping(address => GameSession) public activeSessions;
    uint256 private sessionCounter;
    
    // Constants
    uint256 public constant MAX_LEVEL = 3;
    uint256 public constant LEADERBOARD_SIZE = 10;
    uint256 public constant MIN_CLICKS_PER_LEVEL = 8;
    
    // Events
    event GameStarted(address indexed player, uint256 level, uint256 timestamp);
    event LevelCompleted(address indexed player, uint256 level, uint256 clicks, uint256 timestamp);
    event NewHighScore(address indexed player, uint256 level, uint256 score, uint256 timestamp);
    event AchievementUnlocked(address indexed player, uint256 achievementId, uint256 timestamp);

    // Custom errors
    error InvalidLevel();
    error NoActiveSession();
    error SessionAlreadyExists();
    error LevelHashUsed();
    error InvalidClickCount();
    error Unauthorized();
    error InvalidProof();

    // Constructor
    constructor() {
        owner = msg.sender;
    }

    // Modifiers
    modifier onlyOwner() {
        if (msg.sender != owner) revert Unauthorized();
        _;
    }

    modifier validLevel(uint256 level) {
        if (level == 0 || level > MAX_LEVEL) revert InvalidLevel();
        _;
    }

    modifier hasActiveSession() {
        if (activeSessions[msg.sender].startTime == 0 || 
            activeSessions[msg.sender].isComplete) revert NoActiveSession();
        _;
    }

    /**
     * @dev Start a new game session
     * @param level The level to start
     * @param levelHash Hash of the level configuration
     */
    function startGame(uint256 level, bytes32 levelHash) external validLevel(level) {
        if (usedLevelHashes[levelHash]) revert LevelHashUsed();
        if (activeSessions[msg.sender].startTime != 0 && 
            !activeSessions[msg.sender].isComplete) revert SessionAlreadyExists();

        usedLevelHashes[levelHash] = true;
        activeSessions[msg.sender] = GameSession({
            startTime: block.timestamp,
            levelHash: levelHash,
            isComplete: false,
            clickCount: 0
        });

        playerStats[msg.sender].totalGamesPlayed++;
        playerStats[msg.sender].lastPlayedTimestamp = block.timestamp;

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

    /**
     * @dev Submit a completed level
     * @param level The completed level
     * @param clicks Number of clicks used
     * @param proof Verification proof
     */
    function submitScore(
        uint256 level,
        uint256 clicks,
        bytes calldata proof
    ) external validLevel(level) hasActiveSession {
        if (clicks < MIN_CLICKS_PER_LEVEL) revert InvalidClickCount();
        if (!verifyCompletion(level, clicks, proof)) revert InvalidProof();

        GameSession storage session = activeSessions[msg.sender];
        session.isComplete = true;
        session.clickCount = clicks;

        PlayerStats storage stats = playerStats[msg.sender];
        stats.totalClicks += clicks;
        
        if (level > stats.highestLevel) {
            stats.highestLevel = level;
            checkAndGrantAchievement(1);
        }

        LevelStats storage levelStats = stats.levelStats[level];
        levelStats.timesCompleted++;
        levelStats.lastCompletedAt = block.timestamp;
        
        if (levelStats.bestScore == 0 || clicks < levelStats.bestScore) {
            levelStats.bestScore = clicks;
            updateLeaderboard(level, clicks);
            emit NewHighScore(msg.sender, level, clicks, block.timestamp);
        }

        checkCompletionAchievements(level, clicks);
        emit LevelCompleted(msg.sender, level, clicks, block.timestamp);
    }

    // Internal functions
    function verifyCompletion(
        uint256 level,
        uint256 clicks,
        bytes calldata proof
    ) internal pure returns (bool) {
        return true; // Simplified for testing
    }

    function updateLeaderboard(uint256 level, uint256 score) internal {
        LeaderboardEntry[] storage leaderboard = levelLeaderboards[level];
        
        uint256 position = leaderboard.length;
        for (uint256 i = 0; i < leaderboard.length; i++) {
            if (score < leaderboard[i].score) {
                position = i;
                break;
            }
        }
        
        if (position < LEADERBOARD_SIZE) {
            if (leaderboard.length < LEADERBOARD_SIZE) {
                leaderboard.push(LeaderboardEntry(msg.sender, score));
            }
            
            for (uint256 i = leaderboard.length - 1; i > position; i--) {
                leaderboard[i] = leaderboard[i - 1];
            }
            
            leaderboard[position] = LeaderboardEntry(msg.sender, score);
        }
    }

    function checkCompletionAchievements(uint256 level, uint256 clicks) internal {
        if (clicks <= MIN_CLICKS_PER_LEVEL) {
            checkAndGrantAchievement(2);
        }
        
        if (block.timestamp - activeSessions[msg.sender].startTime < 60) {
            checkAndGrantAchievement(3);
        }
        
        if (level == MAX_LEVEL && playerStats[msg.sender].highestLevel == MAX_LEVEL) {
            checkAndGrantAchievement(4);
        }
    }

    function checkAndGrantAchievement(uint256 achievementId) internal {
        uint256[] storage achievements = playerStats[msg.sender].achievements;
        
        for (uint256 i = 0; i < achievements.length; i++) {
            if (achievements[i] == achievementId) {
                return;
            }
        }
        
        achievements.push(achievementId);
        emit AchievementUnlocked(msg.sender, achievementId, block.timestamp);
    }

    // View functions
    function getLeaderboard(uint256 level) external view validLevel(level) returns (LeaderboardEntry[] memory) {
        return levelLeaderboards[level];
    }

    function getPlayerLevelStats(
        address player,
        uint256 level
    ) external view validLevel(level) returns (
        uint256 bestScore,
        uint256 timesCompleted,
        uint256 lastCompletedAt
    ) {
        LevelStats storage stats = playerStats[player].levelStats[level];
        return (
            stats.bestScore,
            stats.timesCompleted,
            stats.lastCompletedAt
        );
    }

    function getPlayerAchievements(address player) external view returns (uint256[] memory) {
        return playerStats[player].achievements;
    }

    // Admin functions
    function adminPauseSession(address player) external onlyOwner {
        activeSessions[player].isComplete = true;
    }

    function adminClearLevelHashes() external onlyOwner {
        delete usedLevelHashes[bytes32(0)];
    }
}

Settings
{
  "optimizer": {
    "enabled": true,
    "mode": "3"
  },
  "evmVersion": "paris",
  "outputSelection": {
    "*": {
      "*": [
        "abi"
      ]
    }
  },
  "detectMissingLibraries": false,
  "forceEVMLA": false,
  "enableEraVMExtensions": false,
  "libraries": {}
}

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"InvalidClickCount","type":"error"},{"inputs":[],"name":"InvalidLevel","type":"error"},{"inputs":[],"name":"InvalidProof","type":"error"},{"inputs":[],"name":"LevelHashUsed","type":"error"},{"inputs":[],"name":"NoActiveSession","type":"error"},{"inputs":[],"name":"SessionAlreadyExists","type":"error"},{"inputs":[],"name":"Unauthorized","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"player","type":"address"},{"indexed":false,"internalType":"uint256","name":"achievementId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"AchievementUnlocked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"player","type":"address"},{"indexed":false,"internalType":"uint256","name":"level","type":"uint256"},{"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":"level","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"clicks","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"LevelCompleted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"player","type":"address"},{"indexed":false,"internalType":"uint256","name":"level","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"score","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"NewHighScore","type":"event"},{"inputs":[],"name":"LEADERBOARD_SIZE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_LEVEL","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MIN_CLICKS_PER_LEVEL","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"activeSessions","outputs":[{"internalType":"uint256","name":"startTime","type":"uint256"},{"internalType":"bytes32","name":"levelHash","type":"bytes32"},{"internalType":"bool","name":"isComplete","type":"bool"},{"internalType":"uint256","name":"clickCount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"adminClearLevelHashes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"player","type":"address"}],"name":"adminPauseSession","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"level","type":"uint256"}],"name":"getLeaderboard","outputs":[{"components":[{"internalType":"address","name":"player","type":"address"},{"internalType":"uint256","name":"score","type":"uint256"}],"internalType":"struct PenguinGame.LeaderboardEntry[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"player","type":"address"}],"name":"getPlayerAchievements","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"player","type":"address"},{"internalType":"uint256","name":"level","type":"uint256"}],"name":"getPlayerLevelStats","outputs":[{"internalType":"uint256","name":"bestScore","type":"uint256"},{"internalType":"uint256","name":"timesCompleted","type":"uint256"},{"internalType":"uint256","name":"lastCompletedAt","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"playerStats","outputs":[{"internalType":"uint256","name":"highestLevel","type":"uint256"},{"internalType":"uint256","name":"totalGamesPlayed","type":"uint256"},{"internalType":"uint256","name":"totalClicks","type":"uint256"},{"internalType":"uint256","name":"lastPlayedTimestamp","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"bytes32","name":"levelHash","type":"bytes32"}],"name":"startGame","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"uint256","name":"clicks","type":"uint256"},{"internalType":"bytes","name":"proof","type":"bytes"}],"name":"submitScore","outputs":[],"stateMutability":"nonpayable","type":"function"}]

9c4d535b0000000000000000000000000000000000000000000000000000000000000000010001b128f78870c5f64b1fc7a5f2b97b423ecc316dcc63e43e89771ddc4b8800000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x00080000000000020000008003000039000000400030043f0000000100200190000000280000c13d00000060021002700000017e02200197000000040020008c000001f20000413d000000000301043b000000e003300270000001810030009c000000350000a13d000001820030009c000000440000a13d000001830030009c000000d60000213d000001860030009c000001140000613d000001870030009c000001f20000c13d0000000001000416000000000001004b000001f20000c13d000000000100041a00000199011001970000000002000411000000000012004b000001f40000c13d000000000000043f0000000301000039000000200010043f0000004002000039000000000100001905f505d60000040f000000000201041a000001ad02200197000000000021041b0000000001000019000005f60001042e0000000001000416000000000001004b000001f20000c13d000000000100041a0000017f011001970000000002000411000000000121019f000000000010041b0000002001000039000001000010044300000120000004430000018001000041000005f60001042e0000018b0030009c000000800000213d0000018f0030009c000001bb0000613d000001900030009c000001da0000613d000001910030009c000001f20000c13d0000000001000416000000000001004b000001f20000c13d0000000a01000039000000800010043f000001a901000041000005f60001042e000001880030009c000001300000613d000001890030009c000001990000613d0000018a0030009c000001f20000c13d000000440020008c000001f20000413d0000000002000416000000000002004b000001f20000c13d0000002402100370000000000302043b0000000401100370000000000201043b000000010120008a000000020010008c000002150000213d000700000002001d000800000003001d000000000030043f0000000301000039000000200010043f00000000010004140000017e0010009c0000017e01008041000000c00110021000000193011001c7000080100200003905f505f00000040f0000000100200190000001f20000613d000000000101043b000000000101041a000000ff00100190000002190000c13d0000000001000411000000000010043f0000000401000039000000200010043f00000000010004140000017e0010009c0000017e01008041000000c00110021000000193011001c7000080100200003905f505f00000040f0000000100200190000001f20000613d000000000101043b000000000201041a000000000002004b000002210000613d0000000201100039000000000101041a000000ff00100190000002210000c13d000000400100043d000001a6020000410000021b0000013d0000018c0030009c000001e10000613d0000018d0030009c000001e90000613d0000018e0030009c000001f20000c13d000000240020008c000001f20000413d0000000002000416000000000002004b000001f20000c13d0000000401100370000000000101043b000001990010009c000001f20000213d000000000010043f0000000101000039000000200010043f00000000010004140000017e0010009c0000017e01008041000000c00110021000000193011001c7000080100200003905f505f00000040f0000000100200190000001f20000613d000000000101043b0000000401100039000000000301041a000000400200043d000700000002001d000600000003001d0000000002320436000800000002001d000000000010043f00000000010004140000017e0010009c0000017e01008041000000c00110021000000194011001c7000080100200003905f505f00000040f0000000100200190000001f20000613d0000000605000029000000000005004b00000008060000290000000002060019000000bb0000613d000000000101043b00000000030000190000000002060019000000000401041a000000000242043600000001011000390000000103300039000000000053004b000000b50000413d000000070300002900000000013200490000001f01100039000001ae021001970000000001320019000000000021004b00000000020000390000000102004039000001920010009c000002360000213d0000000100200190000002360000c13d000000400010043f00000020020000390000000002210436000000000303043300000000003204350000004002100039000000000003004b000001900000613d0000000004000019000000006506043400000000025204360000000104400039000000000034004b000000d00000413d000001900000013d000001840030009c000001a00000613d000001850030009c000001f20000c13d000000640020008c000001f20000413d0000000003000416000000000003004b000001f20000c13d0000000403100370000000000303043b000400000003001d0000004403100370000000000303043b0000002404100370000000000404043b000500000004001d000001920030009c000001f20000213d0000002304300039000000000024004b000001f20000813d0000000404300039000000000141034f000000000101043b000001920010009c000001f20000213d00000000011300190000002401100039000000000021004b000001f20000213d0000000401000029000000010110008a000000020010008c000002150000213d0000000001000411000000000010043f0000000401000039000000200010043f00000000010004140000017e0010009c0000017e01008041000000c00110021000000193011001c7000080100200003905f505f00000040f0000000100200190000001f20000613d000000000101043b000000000201041a000000000002004b0000023c0000613d0000000201100039000000000101041a000000ff001001900000023c0000c13d0000000501000029000000070010008c000002920000213d000000400100043d0000019f020000410000021b0000013d000000240020008c000001f20000413d0000000002000416000000000002004b000001f20000c13d0000000401100370000000000101043b000001990010009c000001f20000213d000000000010043f0000000101000039000000200010043f0000004002000039000000000100001905f505d60000040f0000000502100039000000000202041a0000000203100039000000000303041a0000000104100039000000000404041a000000000101041a000000800010043f000000a00040043f000000c00030043f000000e00020043f000001a401000041000005f60001042e000000240020008c000001f20000413d0000000002000416000000000002004b000001f20000c13d0000000401100370000000000101043b000000010210008a000000020020008c000002150000213d000000000010043f0000000201000039000000200010043f00000000010004140000017e0010009c0000017e01008041000000c00110021000000193011001c7000080100200003905f505f00000040f0000000100200190000001f20000613d000000000101043b000000000401041a000001920040009c000002360000213d00000005024002100000003f02200039000001aa02200197000000400500043d0000000002250019000000000052004b00000000030000390000000103004039000001920020009c000002360000213d0000000100300190000002360000c13d000000400020043f000700000004001d000600000005001d0000000002450436000800000002001d000000000010043f00000000010004140000017e0010009c0000017e01008041000000c00110021000000194011001c7000080100200003905f505f00000040f0000000100200190000001f20000613d0000000708000029000000000008004b000000080700002900000006090000290000017d0000613d000000000101043b00000000020000190000000003070019000000400400043d000001980040009c000002360000213d0000004005400039000000400050043f000000000501041a000001990550019700000000055404360000000106100039000000000606041a0000000000650435000000000343043600000002011000390000000102200039000000000082004b0000016d0000413d000000400100043d00000020020000390000000002210436000000000309043300000000003204350000004002100039000000000003004b000001900000613d000000000400001900000000750704340000000065050434000001990550019700000000055204360000000006060433000000000065043500000040022000390000000104400039000000000034004b000001860000413d00000000021200490000017e0020009c0000017e0200804100000060022002100000017e0010009c0000017e010080410000004001100210000000000112019f000005f60001042e0000000001000416000000000001004b000001f20000c13d0000000301000039000000800010043f000001a901000041000005f60001042e000000240020008c000001f20000413d0000000002000416000000000002004b000001f20000c13d0000000401100370000000000101043b000001990010009c000001f20000213d000000000200041a00000199022001970000000003000411000000000023004b000001f40000c13d000000000010043f0000000401000039000000200010043f0000004002000039000000000100001905f505d60000040f0000000201100039000000000301041a000001ad0230019700000001022001bf000000000021041b0000000001000019000005f60001042e000000240020008c000001f20000413d0000000002000416000000000002004b000001f20000c13d0000000401100370000000000101043b000001990010009c000001f20000213d000000000010043f0000000401000039000000200010043f0000004002000039000000000100001905f505d60000040f0000000302100039000000000202041a0000000203100039000000000303041a0000000104100039000000000404041a000000000101041a000000800010043f000000a00040043f000000ff003001900000000001000039000000010100c039000000c00010043f000000e00020043f000001a401000041000005f60001042e0000000001000416000000000001004b000001f20000c13d0000000801000039000000800010043f000001a901000041000005f60001042e0000000001000416000000000001004b000001f20000c13d000000000100041a0000019901100197000000800010043f000001a901000041000005f60001042e000000440020008c000001f20000413d0000000002000416000000000002004b000001f20000c13d0000000402100370000000000202043b000001990020009c000001f80000a13d0000000001000019000005f700010430000001a201000041000000800010043f000001a301000041000005f7000104300000002401100370000000000301043b000000010130008a000000030010008c000002150000813d000000000020043f0000000101000039000000200010043f00000040020000390000000001000019000800000003001d05f505d60000040f0000000802000029000000000020043f0000000301100039000000200010043f0000000001000019000000400200003905f505d60000040f0000000202100039000000000202041a0000000103100039000000000303041a000000000101041a000000800010043f000000a00030043f000000c00020043f000001ac01000041000005f60001042e000001ab01000041000000800010043f000001a301000041000005f700010430000000400100043d000001a50200004100000000002104350000017e0010009c0000017e010080410000004001100210000001a0011001c7000005f7000104300000000801000029000000000010043f0000000301000039000000200010043f00000000010004140000017e0010009c0000017e01008041000000c00110021000000193011001c7000080100200003905f505f00000040f0000000100200190000001f20000613d000000000101043b000000000201041a000001ad0220019700000001022001bf000000000021041b000000400100043d000001a70010009c0000023f0000a13d0000019c01000041000000000010043f0000004101000039000000040010043f0000019d01000041000005f700010430000000400100043d000001a1020000410000021b0000013d000600000001001d0000008001100039000000400010043f0000019501000041000000000010044300000000010004140000017e0010009c0000017e01008041000000c00110021000000196011001c70000800b0200003905f505f00000040f00000001002001900000044f0000613d000000000201043b000000060300002900000020043000390000000801000029000400000004001d0000000000140435000300000002001d00000000002304350000006001300039000800000001001d00000000000104350000004001300039000500000001001d00000000000104350000000001000411000000000010043f0000000401000039000000200010043f00000000010004140000017e0010009c0000017e01008041000000c00110021000000193011001c7000080100200003905f505f00000040f0000000100200190000001f20000613d00000006020000290000000002020433000000000101043b000000000021041b000000040200002900000000020204330000000103100039000000000023041b0000000202100039000000000302041a000001ad0330019700000005040000290000000004040433000000000004004b000000010330c1bf000000000032041b000000030110003900000008020000290000000002020433000000000021041b0000000101000039000000200010043f00000000010004140000017e0010009c0000017e01008041000000c00110021000000193011001c7000080100200003905f505f00000040f0000000100200190000001f20000613d000000000101043b0000000101100039000000000201041a000000010220003a000004500000c13d0000019c01000041000000000010043f0000001101000039000000040010043f0000019d01000041000005f7000104300000000001000411000000000010043f0000000401000039000000200010043f00000000010004140000017e0010009c0000017e01008041000000c00110021000000193011001c7000080100200003905f505f00000040f0000000100200190000001f20000613d000000000101043b0000000202100039000000000302041a000001ad0330019700000001033001bf000000000032041b00000003011000390000000502000029000000000021041b0000000101000039000000200010043f00000000010004140000017e0010009c0000017e01008041000000c00110021000000193011001c7000080100200003905f505f00000040f0000000100200190000001f20000613d000000000101043b000300000001001d0000000201100039000000000201041a000000050020002a0000028c0000413d0000000502200029000000000021041b0000000301000029000000000101041a000000040010006b0000030b0000a13d00000004010000290000000302000029000000000012041b0000000001000411000000000010043f0000000101000039000000200010043f00000000010004140000017e0010009c0000017e01008041000000c00110021000000193011001c7000080100200003905f505f00000040f0000000100200190000001f20000613d000000000101043b0000000401100039000600000001001d000000000101041a000700000001001d000000000001004b000004790000c13d000000070100002900000001011000390000000602000029000000000012041b000000000020043f00000000010004140000017e0010009c0000017e01008041000000c00110021000000194011001c7000080100200003905f505f00000040f0000000100200190000001f20000613d000000000101043b00000007011000290000000102000039000000000021041b000000400100043d000800000001001d0000000001210436000700000001001d0000019501000041000000000010044300000000010004140000017e0010009c0000017e01008041000000c00110021000000196011001c70000800b0200003905f505f00000040f00000001002001900000044f0000613d000000000101043b0000000702000029000000000012043500000008010000290000017e0010009c0000017e01008041000000400110021000000000020004140000017e0020009c0000017e02008041000000c002200210000000000112019f00000193011001c70000800d0200003900000002030000390000019704000041000000000500041105f505eb0000040f0000000100200190000001f20000613d0000000401000029000000000010043f00000003010000290000000301100039000000200010043f00000000010004140000017e0010009c0000017e01008041000000c00110021000000193011001c7000080100200003905f505f00000040f0000000100200190000001f20000613d000000000101043b000800000001001d0000000101100039000000000201041a000000010220003a0000028c0000613d000000000021041b0000019501000041000000000010044300000000010004140000017e0010009c0000017e01008041000000c00110021000000196011001c70000800b0200003905f505f00000040f00000001002001900000044f0000613d000000000201043b00000008030000290000000201300039000100000002001d000000000021041b000000000103041a000000010110008a000000050010006c000004960000813d0000000501000029000000090010008c000003800000813d0000000001000411000000000010043f0000000101000039000000200010043f00000000010004140000017e0010009c0000017e01008041000000c00110021000000193011001c7000080100200003905f505f00000040f0000000100200190000001f20000613d000000000101043b0000000401100039000600000001001d000000000101041a000700000001001d000000000001004b000005350000c13d000000070100002900000001011000390000000602000029000000000012041b000000000020043f00000000010004140000017e0010009c0000017e01008041000000c00110021000000194011001c7000080100200003905f505f00000040f0000000100200190000001f20000613d000000000101043b00000007011000290000000202000039000000000021041b000000400100043d000800000001001d0000000001210436000700000001001d0000019501000041000000000010044300000000010004140000017e0010009c0000017e01008041000000c00110021000000196011001c70000800b0200003905f505f00000040f00000001002001900000044f0000613d000000000101043b0000000702000029000000000012043500000008010000290000017e0010009c0000017e01008041000000400110021000000000020004140000017e0020009c0000017e02008041000000c002200210000000000112019f00000193011001c70000800d0200003900000002030000390000019704000041000000000500041105f505eb0000040f0000000100200190000001f20000613d0000000001000411000000000010043f0000000401000039000000200010043f00000000010004140000017e0010009c0000017e01008041000000c00110021000000193011001c7000080100200003905f505f00000040f0000000100200190000001f20000613d000000000101043b000000000101041a000000010110006b0000028c0000413d0000003b0010008c000003dc0000213d0000000001000411000000000010043f0000000101000039000000200010043f00000000010004140000017e0010009c0000017e01008041000000c00110021000000193011001c7000080100200003905f505f00000040f0000000100200190000001f20000613d000000000101043b0000000401100039000600000001001d000000000101041a000700000001001d000000000001004b000005950000c13d000000070100002900000001011000390000000602000029000000000012041b000000000020043f00000000010004140000017e0010009c0000017e01008041000000c00110021000000194011001c7000080100200003905f505f00000040f0000000100200190000001f20000613d000000000101043b00000007011000290000000302000039000000000021041b000000400100043d000800000001001d0000000001210436000700000001001d0000019501000041000000000010044300000000010004140000017e0010009c0000017e01008041000000c00110021000000196011001c70000800b0200003905f505f00000040f00000001002001900000044f0000613d000000000101043b0000000702000029000000000012043500000008010000290000017e0010009c0000017e01008041000000400110021000000000020004140000017e0020009c0000017e02008041000000c002200210000000000112019f00000193011001c70000800d0200003900000002030000390000019704000041000000000500041105f505eb0000040f0000000100200190000001f20000613d0000000401000029000000030010008c000004390000c13d0000000001000411000000000010043f0000000101000039000000200010043f00000000010004140000017e0010009c0000017e01008041000000c00110021000000193011001c7000080100200003905f505f00000040f0000000100200190000001f20000613d000000000101043b000000000101041a000000030010008c000004390000c13d0000000001000411000000000010043f0000000101000039000000200010043f00000000010004140000017e0010009c0000017e01008041000000c00110021000000193011001c7000080100200003905f505f00000040f0000000100200190000001f20000613d000000000101043b0000000401100039000600000001001d000000000101041a000700000001001d000000000001004b000005b20000c13d000000070100002900000001011000390000000602000029000000000012041b000000000020043f00000000010004140000017e0010009c0000017e01008041000000c00110021000000194011001c7000080100200003905f505f00000040f0000000100200190000001f20000613d000000000101043b00000007011000290000000402000039000000000021041b000000400100043d000800000001001d0000000001210436000700000001001d0000019501000041000000000010044300000000010004140000017e0010009c0000017e01008041000000c00110021000000196011001c70000800b0200003905f505f00000040f00000001002001900000044f0000613d000000000101043b0000000702000029000000000012043500000008010000290000017e0010009c0000017e01008041000000400110021000000000020004140000017e0020009c0000017e02008041000000c002200210000000000112019f00000193011001c70000800d0200003900000002030000390000019704000041000000000500041105f505eb0000040f0000000100200190000001f20000613d000000400100043d000000400210003900000001030000290000000000320435000000200210003900000005030000290000000000320435000000040200002900000000002104350000017e0010009c0000017e01008041000000400110021000000000020004140000017e0020009c0000017e02008041000000c002200210000000000112019f0000019a011001c70000800d0200003900000002030000390000019e04000041000004730000013d000000000001042f000000000021041b0000000001000411000000000010043f0000000101000039000000200010043f00000000010004140000017e0010009c0000017e01008041000000c00110021000000193011001c7000080100200003905f505f00000040f0000000100200190000001f20000613d000000000101043b00000005011000390000000303000029000000000031041b000000400100043d00000020021000390000000000320435000000070200002900000000002104350000017e0010009c0000017e01008041000000400110021000000000020004140000017e0020009c0000017e02008041000000c002200210000000000112019f00000193011001c70000800d020000390000000203000039000001a804000041000000000500041105f505eb0000040f0000000100200190000001f20000613d0000000001000019000005f60001042e00000000030000190000000602000029000000000102041a000800000003001d000000000031004b000005cf0000a13d000000000020043f00000000010004140000017e0010009c0000017e01008041000000c00110021000000194011001c7000080100200003905f505f00000040f00000001002001900000000803000029000001f20000613d000000000101043b0000000001310019000000000101041a000000010010008c0000030b0000613d0000000103300039000000070030006c0000047a0000413d0000000701000029000001920010009c000002360000213d000002d60000013d00000005010000290000000802000029000000000012041b0000000401000029000000000010043f0000000201000039000000200010043f00000000010004140000017e0010009c0000017e01008041000000c00110021000000193011001c7000080100200003905f505f00000040f0000000100200190000001f20000613d000000000101043b000700000001001d000000000101041a000600000001001d000000000001004b000800000000001d000004d70000c13d000000400100043d000300000001001d000001980010009c000002360000213d00000003020000290000004001200039000000400010043f000000000100041100000000021204360000000501000029000200000002001d0000000000120435000000060100002900000001011000390000000702000029000000000012041b000000000020043f00000000010004140000017e0010009c0000017e01008041000000c00110021000000194011001c7000080100200003905f505f00000040f0000000100200190000001f20000613d00000006020000290000000102200210000000000101043b0000000001210019000000000201041a0000017f02200197000000030300002900000000030304330000019903300197000000000232019f000000000021041b000000010110003900000002020000290000000002020433000000000021041b000004fa0000013d00000000030000190000000702000029000000000102041a000800000003001d000000000031004b000005cf0000a13d000000000020043f00000000010004140000017e0010009c0000017e01008041000000c00110021000000194011001c7000080100200003905f505f00000040f0000000100200190000001f20000613d00000008030000290000000102300210000000000101043b00000000012100190000000101100039000000000101041a000000050010006b000004f40000413d0000000103300039000000060030006c0000000702000029000004d90000413d000800060000002d00000008010000290000000a0010008c0000057b0000813d00000006010000290000000a0010008c000004ad0000413d0000000701000029000000000101041a000000000001004b0000028c0000613d000000010510008a000000080050006c000005520000a13d000600000005001d00030001005000920000000702000029000000000102041a000000030010006c000005cf0000a13d000000000020043f00000000010004140000017e0010009c0000017e01008041000000c00110021000000194011001c7000080100200003905f505f00000040f0000000100200190000001f20000613d000000000101043b000200000001001d0000000702000029000000000102041a000000060010006c000005cf0000a13d000000000020043f00000000010004140000017e0010009c0000017e01008041000000c00110021000000194011001c7000080100200003905f505f00000040f0000000100200190000001f20000613d00000003050000290000000102500210000000020220002900000006030000290000000103300210000000000101043b0000000001310019000000000021004b000004ff0000613d000000000302041a0000019903300197000000000401041a0000017f04400197000000000334019f000000000031041b00000001011000390000000102200039000000000202041a000000000021041b000004ff0000013d00000000030000190000000602000029000000000102041a000800000003001d000000000031004b000005cf0000a13d000000000020043f00000000010004140000017e0010009c0000017e01008041000000c00110021000000194011001c7000080100200003905f505f00000040f0000000100200190000001f20000613d000000000101043b0000000801100029000000000101041a000000020010008c000003800000613d00000008030000290000000103300039000000070030006c000005360000413d0000000701000029000001920010009c000002360000213d0000034b0000013d000000400100043d000600000001001d000001980010009c000002360000213d00000006020000290000004001200039000000400010043f000000000100041100000000021204360000000501000029000300000002001d00000000001204350000000703000029000000000103041a000000080010006c000005cf0000a13d000000000030043f00000000010004140000017e0010009c0000017e01008041000000c00110021000000194011001c7000080100200003905f505f00000040f0000000100200190000001f20000613d00000008020000290000000102200210000000000101043b0000000001210019000000000201041a0000017f02200197000000060300002900000000030304330000019903300197000000000232019f000000000021041b000000010110003900000003020000290000000002020433000000000021041b000000400100043d000000400210003900000001030000290000000000320435000000200210003900000005030000290000000000320435000000040200002900000000002104350000017e0010009c0000017e01008041000000400110021000000000020004140000017e0020009c0000017e02008041000000c002200210000000000112019f0000019a011001c70000800d0200003900000002030000390000019b04000041000000000500041105f505eb0000040f0000000100200190000001f20000613d000003340000013d00000000030000190000000602000029000000000102041a000800000003001d000000000031004b000005cf0000a13d000000000020043f00000000010004140000017e0010009c0000017e01008041000000c00110021000000194011001c7000080100200003905f505f00000040f0000000100200190000001f20000613d000000000101043b0000000801100029000000000101041a000000030010008c000003dc0000613d00000008030000290000000103300039000000070030006c000005960000413d0000000701000029000001920010009c000002360000213d000003a70000013d00000000030000190000000602000029000000000102041a000800000003001d000000000031004b000005cf0000a13d000000000020043f00000000010004140000017e0010009c0000017e01008041000000c00110021000000194011001c7000080100200003905f505f00000040f0000000100200190000001f20000613d000000000101043b0000000801100029000000000101041a000000040010008c000004390000613d00000008030000290000000103300039000000070030006c000005b30000413d0000000701000029000001920010009c000002360000213d000004040000013d0000019c01000041000000000010043f0000003201000039000000040010043f0000019d01000041000005f700010430000000000001042f0000017e0010009c0000017e0100804100000040011002100000017e0020009c0000017e020080410000006002200210000000000112019f00000000020004140000017e0020009c0000017e02008041000000c002200210000000000112019f000001af011001c7000080100200003905f505f00000040f0000000100200190000005e90000613d000000000101043b000000000001042d0000000001000019000005f700010430000005ee002104210000000102000039000000000001042d0000000002000019000000000001042d000005f3002104230000000102000039000000000001042d0000000002000019000000000001042d000005f500000432000005f60001042e000005f70001043000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000020000000000000000000000000000004000000100000000000000000000000000000000000000000000000000000000000000000000000000a34b46fd00000000000000000000000000000000000000000000000000000000cdafbbb500000000000000000000000000000000000000000000000000000000de78fe7400000000000000000000000000000000000000000000000000000000de78fe7500000000000000000000000000000000000000000000000000000000f2c0a29a00000000000000000000000000000000000000000000000000000000cdafbbb600000000000000000000000000000000000000000000000000000000d186c41600000000000000000000000000000000000000000000000000000000a34b46fe00000000000000000000000000000000000000000000000000000000a49062d400000000000000000000000000000000000000000000000000000000bfb51ac9000000000000000000000000000000000000000000000000000000008da5cb5a000000000000000000000000000000000000000000000000000000008da5cb5b000000000000000000000000000000000000000000000000000000009c1789c6000000000000000000000000000000000000000000000000000000009ce67bdd0000000000000000000000000000000000000000000000000000000023ef2936000000000000000000000000000000000000000000000000000000002b1fcea4000000000000000000000000000000000000000000000000000000004f085f42000000000000000000000000000000000000000000000000ffffffffffffffff02000000000000000000000000000000000000400000000000000000000000000200000000000000000000000000000000000020000000000000000000000000796b89b91644bc98cd93958e4c9038275d622183e25ac5af08cc6b5d9553913202000002000000000000000000000000000000040000000000000000000000000d2905f03971dd710b34c1a52dde26e0e95c254f1b25942b22ce357c654f6dd7000000000000000000000000000000000000000000000000ffffffffffffffbf000000000000000000000000ffffffffffffffffffffffffffffffffffffffff0200000000000000000000000000000000000060000000000000000000000000201499e0d23e11b457922a314950ea0e70a8bee872e9bffaaabae090d1ffaffd4e487b7100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002400000000000000000000000082e2adc68b587da916880cc5cb342024de2fdb9cad9928b940d4fe34bfcfb52cd9b119150000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000007ff88aad0000000000000000000000000000000000000000000000000000000082b429000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000008000000000000000000000000000000000000000000000000000000080000000800000000000000000475f93e70000000000000000000000000000000000000000000000000000000046f2542200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffff7f2ebc740a82c0c6454a29c8aa9db57c66257e2f17d38a783c83c83dd49f52e0fb00000000000000000000000000000000000000200000008000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0d1459f79000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060000000800000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe00200000000000000000000000000000000000000000000000000000000000000d2fb50eddb0c85b883cc1a49dfce930150e2d39de29faaaf82c3bd05fe047a5b

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.