Source Code
Overview
CELO Balance
CELO Value
Less Than $0.01 (@ $0.12/CELO)Multichain Info
Latest 20 from a total of 20 transactions
| Transaction Hash |
|
Block
|
From
|
To
|
|||||
|---|---|---|---|---|---|---|---|---|---|
| Submit Score | 53165373 | 49 days ago | IN | 0 CELO | 0.00055674 | ||||
| Submit Score | 53162972 | 49 days ago | IN | 0 CELO | 0.00055674 | ||||
| Submit Score | 53162600 | 49 days ago | IN | 0 CELO | 0.0006119 | ||||
| Submit Score | 53134834 | 49 days ago | IN | 0 CELO | 0.0013376 | ||||
| Start Game | 53134675 | 49 days ago | IN | 0.01 CELO | 0.00181797 | ||||
| Start Game | 53134584 | 49 days ago | IN | 0.01 CELO | 0.00181732 | ||||
| Submit Score | 53133018 | 49 days ago | IN | 0 CELO | 0.00055629 | ||||
| Submit Score | 53132978 | 49 days ago | IN | 0 CELO | 0.00397664 | ||||
| Start Game | 53132478 | 49 days ago | IN | 0.01 CELO | 0.00181797 | ||||
| Submit Score | 53132407 | 49 days ago | IN | 0 CELO | 0.00055629 | ||||
| Start Game | 53132384 | 49 days ago | IN | 0.01 CELO | 0.00181797 | ||||
| Submit Score | 53131957 | 49 days ago | IN | 0 CELO | 0.00397664 | ||||
| Start Game | 53131764 | 49 days ago | IN | 0.01 CELO | 0.00181797 | ||||
| Submit Score | 53092098 | 50 days ago | IN | 0 CELO | 0.00055629 | ||||
| Start Game | 52826614 | 53 days ago | IN | 0.01 CELO | 0.00181797 | ||||
| Start Game | 52825955 | 53 days ago | IN | 0.01 CELO | 0.00059363 | ||||
| Start Game | 52823724 | 53 days ago | IN | 0.01 CELO | 0.00181797 | ||||
| Submit Score | 52820583 | 53 days ago | IN | 0 CELO | 0.00400685 | ||||
| Start Game | 52820521 | 53 days ago | IN | 0.01 CELO | 0.00059363 | ||||
| Start Game | 52820064 | 53 days ago | IN | 0.01 CELO | 0.00224654 |
Cross-Chain Transactions
Loading...
Loading
Contract Name:
Game2048V2
Compiler Version
v0.8.30+commit.73712a01
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
- No Contract Security Audit Submitted- Submit Audit Here
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"}]Contract Creation Code
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
Loading...
Loading
Loading...
Loading
Loading...
Loading
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.