APE Price: $0.19 (-0.83%)

Contract

0x6EA76F01Aa615112AB7de1409EFBD80a13BfCC84

Overview

APE Balance

Apechain LogoApechain LogoApechain Logo0 APE

APE Value

$0.00

More Info

Private Name Tags

Multichain Info

N/A
Transaction Hash
Block
From
To
Set Max Bet Amou...308562252025-12-13 0:55:2742 days ago1765587327IN
0x6EA76F01...a13BfCC84
0 APE0.00325883101.68276
Set Max Bet Amou...306002232025-12-08 22:21:0146 days ago1765232461IN
0x6EA76F01...a13BfCC84
0 APE0.00325883101.68276
Set Max Bet Amou...305990302025-12-08 21:51:1947 days ago1765230679IN
0x6EA76F01...a13BfCC84
0 APE0.00325883101.68276
Set Max Bet Amou...293438362025-11-29 21:05:2856 days ago1764450328IN
0x6EA76F01...a13BfCC84
0 APE0.0008150125.42069
Set Exp Manager236557292025-09-18 0:10:56128 days ago1758154256IN
0x6EA76F01...a13BfCC84
0 APE0.0008199925.42069
Init234657892025-09-12 22:05:11133 days ago1757714711IN
0x6EA76F01...a13BfCC84
0 APE0.4320740925.42069
Set Exp Manager234657722025-09-12 22:04:54133 days ago1757714694IN
0x6EA76F01...a13BfCC84
0 APE0.0012546825.42069

View more zero value Internal Transactions in Advanced View mode

Advanced mode:

Cross-Chain Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
UserInfo

Compiler Version
v0.8.28+commit.7893614a

Optimization Enabled:
Yes with 200 runs

Other Settings:
paris EvmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at apescan.io on 2025-09-11
*/

//SPDX-License-Identifier: MIT
pragma solidity 0.8.28;

interface IGovernanceManager {
    function RNG() external view returns (address);
    function owner() external view returns (address);
    function referralManager() external view returns (address);
    function feeReceiver() external view returns (address);
    function claimManager() external view returns (address);
    function house() external view returns (address);
    function isGame(address game) external view returns (bool);
    function userInfoTracker() external view returns (address);
    function canPlayForOthers(address addr) external view returns (bool);
    function paused() external view returns (bool);
    function isAdmin(address admin) external view returns (bool);
}

contract ApeOwnable {

    // Governance Manager
    IGovernanceManager public constant manager = IGovernanceManager(0x8632f22e5A921C751CFbBFF92F058A3b11E96b8a);

    modifier onlyOwner() {
        require(
            msg.sender == manager.owner(),
            'Only Owner'
        );
        _;
    }

    modifier onlyGame() {
        require(
            manager.isGame(msg.sender),
            'UnAuthorized'
        );
        _;
    }

    modifier onlyRNG() {
        require(
            msg.sender == manager.RNG(),
            'Only RNG Contract'
        );
        _;
    }

    modifier validatePlayer(address player) {
        if (player != msg.sender) {
            require(
                manager.canPlayForOthers(msg.sender),
                'UnAuthorized To Play For Others'
            );
        }
        _;
    }

    modifier notPaused() {
        require(
            manager.paused() == false,
            'All Games Paused'
        );
        _;
    }

    modifier onlyAdmin() {
        require(
            manager.isAdmin(msg.sender),
            'UnAuthorized'
        );
        _;
    }
}

interface IEXPManager {
    function wagered(address user, uint256 amount) external;
    function initWagered(address user, uint256 amount, address oldEXPManager) external;
}

interface IOldUserInfo {
    function balanceOf(address user) external view returns (uint256);
    function listAllUsers() external view returns (address[] memory);
    function totalSupply() external view returns (uint256);
}

interface IUserInfoTracker {
    function wagered(address user, uint256 amount, uint256 GAME_ID) external;
}

contract UserInfo is IUserInfoTracker, ApeOwnable {

    // Name + Symbol for wallet support
    string public constant name = "APE Wagered";
    string public constant symbol = "wAPE";

    // Game Data Structure
    struct GameData {
        uint256 totalWagered;
        uint256 numGamesPlayed;
    }

    // User Info Structure
    struct UserInfoStruct {
        uint256 totalWagered;
        mapping ( uint256 => GameData ) gameData;
    }

    // Mapping From User To Total WETH Wagered
    mapping ( address => UserInfoStruct ) private userInfo;

    // List Of All Unique Users
    address[] public allUsers;

    // Total Wagered
    uint256 public totalWagered;

    // EXP Manager
    IEXPManager public expManager;

    // Min / Max Bet Amounts
    uint256 public minBetAmount = 0.1 ether;
    uint256 public maxBetAmount = 2_000 ether;

    // Transfer Event
    event Transfer(address indexed from, address indexed to, uint256 value);

    function init(IOldUserInfo oldUserInfo, address oldEXPManager) external onlyOwner {
        require(allUsers.length == 0, "Already initialized");

        // fetch all users
        address[] memory users = oldUserInfo.listAllUsers();

        // save these users and set total wagered
        allUsers = users;
        totalWagered = oldUserInfo.totalSupply();

        // set user info for each user
        for (uint i = 0; i < users.length;) {
            uint256 totalWagered_ = oldUserInfo.balanceOf(users[i]);
            userInfo[users[i]].totalWagered = totalWagered_;
            expManager.initWagered(users[i], totalWagered_, oldEXPManager);
            emit Transfer(address(0), users[i], totalWagered_);
            unchecked { ++i; }
        }
    }

    function setMinBetAmount(uint256 minBetAmount_) external onlyOwner {
        minBetAmount = minBetAmount_;
    }
    
    function setMaxBetAmount(uint256 maxBetAmount_) external onlyOwner {
        maxBetAmount = maxBetAmount_;
    }

    function setExpManager(address expManager_) external onlyOwner {
        expManager = IEXPManager(expManager_);
    }

    function balanceOf(address user) external view returns (uint256) {
        return userInfo[user].totalWagered;
    }

    function totalSupply() external view returns (uint256) {
        return totalWagered;
    }

    function decimals() external pure returns (uint8) {
        return 18;
    }

    function wagered(address user, uint256 amount, uint256 GAME_ID) external override onlyGame {
        require(
            amount >= minBetAmount,
            "Amount is less than minimum bet amount"
        );
        if (maxBetAmount > 0) {
            require(
                amount <= maxBetAmount,
                "Amount is greater than maximum bet amount"
            );
        }

        // add to list if new user
        if (userInfo[user].totalWagered == 0 && amount > 0) {
            allUsers.push(user);
        }
        
        // increment total native Spent
        unchecked {
            
            // increment values by the amount of native spent
            totalWagered += amount;
            userInfo[user].totalWagered += amount;
            userInfo[user].gameData[GAME_ID].totalWagered += amount;

            // increment total wagers placed
            ++userInfo[user].gameData[GAME_ID].numGamesPlayed;
        }

        if (amount > 0) {
            expManager.wagered(user, amount);
        }

        // emit events for tracking
        emit Transfer(address(0), user, amount);
    }

    function listAllUsers() external view returns (address[] memory) {
        return allUsers;
    }

    function numUsers() external view returns (uint256) {
        return allUsers.length;
    }

    function getTotalWagered(address user) external view returns (uint256) {
        return userInfo[user].totalWagered;
    }

    function getGameData(address user, uint256 GAME_ID) external view returns (uint256 _totalWagered, uint256 numGamesPlayed) {
        return (userInfo[user].gameData[GAME_ID].totalWagered, userInfo[user].gameData[GAME_ID].numGamesPlayed);
    }

    function batchGameData(address user, uint256[] calldata GAME_IDs) external view returns (uint256[] memory _totalWagered, uint256[] memory numGamesPlayed) {
        uint256 len = GAME_IDs.length;
        _totalWagered = new uint256[](len);
        numGamesPlayed = new uint256[](len);
        for (uint i = 0; i < len;) {
            _totalWagered[i] = userInfo[user].gameData[GAME_IDs[i]].totalWagered;
            numGamesPlayed[i] = userInfo[user].gameData[GAME_IDs[i]].numGamesPlayed;
            unchecked { ++i; }
        }
    }

    function getListOfTotalWagered(address[] calldata users) external view returns (uint256[] memory) {
        uint256 len = users.length;
        uint256[] memory list = new uint256[](len);
        for (uint i = 0; i < len;) {
            list[i] = userInfo[users[i]].totalWagered;
            unchecked { ++i; }
        }
        return list;
    }

    function getListOfTotalWageredPaginated(uint256 startIndex, uint256 endIndex) external view returns (uint256[] memory) {
        if (endIndex > allUsers.length) {
            endIndex = allUsers.length;
        }
        uint256[] memory list = new uint256[](endIndex - startIndex);
        uint256 count;
        for (uint256 i = startIndex; i < endIndex;) {
            list[count] = userInfo[allUsers[i]].totalWagered;
            unchecked { ++i; ++count; }
        }
        return list;
    }

    function paginateAllUsers(uint256 startIndex, uint256 endIndex) public view returns (address[] memory) {
        if (endIndex > allUsers.length) {
            endIndex = allUsers.length;
        }
        address[] memory list = new address[](endIndex - startIndex);
        uint256 count;
        for (uint256 i = startIndex; i < endIndex;) {
            list[count] = allUsers[i];
            unchecked { ++i; ++count; }
        }
        return list;
    }
}

Contract Security Audit

Contract ABI

API
[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"allUsers","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint256[]","name":"GAME_IDs","type":"uint256[]"}],"name":"batchGameData","outputs":[{"internalType":"uint256[]","name":"_totalWagered","type":"uint256[]"},{"internalType":"uint256[]","name":"numGamesPlayed","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"expManager","outputs":[{"internalType":"contract IEXPManager","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint256","name":"GAME_ID","type":"uint256"}],"name":"getGameData","outputs":[{"internalType":"uint256","name":"_totalWagered","type":"uint256"},{"internalType":"uint256","name":"numGamesPlayed","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"users","type":"address[]"}],"name":"getListOfTotalWagered","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"startIndex","type":"uint256"},{"internalType":"uint256","name":"endIndex","type":"uint256"}],"name":"getListOfTotalWageredPaginated","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"getTotalWagered","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract IOldUserInfo","name":"oldUserInfo","type":"address"},{"internalType":"address","name":"oldEXPManager","type":"address"}],"name":"init","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"listAllUsers","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manager","outputs":[{"internalType":"contract IGovernanceManager","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxBetAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minBetAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"numUsers","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"startIndex","type":"uint256"},{"internalType":"uint256","name":"endIndex","type":"uint256"}],"name":"paginateAllUsers","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"expManager_","type":"address"}],"name":"setExpManager","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxBetAmount_","type":"uint256"}],"name":"setMaxBetAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"minBetAmount_","type":"uint256"}],"name":"setMinBetAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalWagered","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"GAME_ID","type":"uint256"}],"name":"wagered","outputs":[],"stateMutability":"nonpayable","type":"function"}]

608060405267016345785d8a0000600455686c6b935b8bbd400000600555348015602857600080fd5b50611699806100386000396000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c806380538e27116100c3578063b5ee937b1161007c578063b5ee937b1461032d578063c51ddd5d14610340578063cab11d5d14610353578063eb3d9bea1461035c578063f09a40161461036f578063fa968eea1461038257600080fd5b806380538e271461029a578063832c205d146102bb5780638a14f12c146102db57806394ca5c9c146102e457806395d89b41146102f7578063a2bdedf41461031a57600080fd5b8063481c6a7511610115578063481c6a75146102035780635ad1df6a146102365780636c1885931461025f578063706025791461027457806370a08231146102365780637cfbc7a51461028757600080fd5b806306fdde031461015d5780630d7087e91461019d57806318160ddd146101b257806319a50f49146101c4578063313ce567146101cc578063328343ec146101db575b600080fd5b6101876040518060400160405280600b81526020016a1054114815d859d95c995960aa1b81525081565b60405161019491906111b6565b60405180910390f35b6101a561038b565b6040516101949190611204565b6002545b604051908152602001610194565b6001546101b6565b60405160128152602001610194565b6101ee6101e9366004611268565b6103ed565b60408051928352602083019190915201610194565b61021e738632f22e5a921c751cfbbff92f058a3b11e96b8a81565b6040516001600160a01b039091168152602001610194565b6101b6610244366004611294565b6001600160a01b031660009081526020819052604090205490565b61027261026d3660046112b8565b610421565b005b60035461021e906001600160a01b031681565b6102726102953660046112b8565b6104d5565b6102ad6102a8366004611316565b610580565b6040516101949291906113a7565b6102ce6102c93660046113d5565b610701565b60405161019491906113f7565b6101b660025481565b6102ce6102f236600461140a565b6107e2565b610187604051806040016040528060048152602001637741504560e01b81525081565b61021e6103283660046112b8565b6108b3565b6101a561033b3660046113d5565b6108dd565b61027261034e366004611294565b6109b3565b6101b660055481565b61027261036a36600461144c565b610a7b565b61027261037d366004611481565b610d63565b6101b660045481565b606060018054806020026020016040519081016040528092919081815260200182805480156103e357602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116103c5575b5050505050905090565b6001600160a01b038216600090815260208181526040808320848452600190810190925290912080549101545b9250929050565b738632f22e5a921c751cfbbff92f058a3b11e96b8a6001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610473573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061049791906114ca565b6001600160a01b0316336001600160a01b0316146104d05760405162461bcd60e51b81526004016104c7906114e7565b60405180910390fd5b600455565b738632f22e5a921c751cfbbff92f058a3b11e96b8a6001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610527573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061054b91906114ca565b6001600160a01b0316336001600160a01b03161461057b5760405162461bcd60e51b81526004016104c7906114e7565b600555565b606080828067ffffffffffffffff81111561059d5761059d61150b565b6040519080825280602002602001820160405280156105c6578160200160208202803683370190505b5092508067ffffffffffffffff8111156105e2576105e261150b565b60405190808252806020026020018201604052801561060b578160200160208202803683370190505b50915060005b818110156106f7576001600160a01b03871660009081526020819052604081206001019087878481811061064757610647611521565b9050602002013581526020019081526020016000206000015484828151811061067257610672611521565b602002602001018181525050600080886001600160a01b03166001600160a01b0316815260200190815260200160002060010160008787848181106106b9576106b9611521565b905060200201358152602001908152602001600020600101548382815181106106e4576106e4611521565b6020908102919091010152600101610611565b5050935093915050565b6001546060908211156107145760015491505b60006107208484611537565b67ffffffffffffffff8111156107385761073861150b565b604051908082528060200260200182016040528015610761578160200160208202803683370190505b5090506000845b848110156107d6576000806001838154811061078657610786611521565b60009182526020808320909101546001600160a01b0316835282019290925260400190205483518490849081106107bf576107bf611521565b602090810291909101015260019182019101610768565b50909150505b92915050565b60608160008167ffffffffffffffff8111156108005761080061150b565b604051908082528060200260200182016040528015610829578160200160208202803683370190505b50905060005b828110156108aa5760008087878481811061084c5761084c611521565b90506020020160208101906108619190611294565b6001600160a01b03166001600160a01b031681526020019081526020016000206000015482828151811061089757610897611521565b602090810291909101015260010161082f565b50949350505050565b600181815481106108c357600080fd5b6000918252602090912001546001600160a01b0316905081565b6001546060908211156108f05760015491505b60006108fc8484611537565b67ffffffffffffffff8111156109145761091461150b565b60405190808252806020026020018201604052801561093d578160200160208202803683370190505b5090506000845b848110156107d6576001818154811061095f5761095f611521565b9060005260206000200160009054906101000a90046001600160a01b031683838151811061098f5761098f611521565b6001600160a01b039092166020928302919091019091015260019182019101610944565b738632f22e5a921c751cfbbff92f058a3b11e96b8a6001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a05573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a2991906114ca565b6001600160a01b0316336001600160a01b031614610a595760405162461bcd60e51b81526004016104c7906114e7565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b604051636313629760e11b8152336004820152738632f22e5a921c751cfbbff92f058a3b11e96b8a9063c626c52e90602401602060405180830381865afa158015610aca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aee9190611558565b610b295760405162461bcd60e51b815260206004820152600c60248201526b155b905d5d1a1bdc9a5e995960a21b60448201526064016104c7565b600454821015610b8a5760405162461bcd60e51b815260206004820152602660248201527f416d6f756e74206973206c657373207468616e206d696e696d756d2062657420604482015265185b5bdd5b9d60d21b60648201526084016104c7565b60055415610bf657600554821115610bf65760405162461bcd60e51b815260206004820152602960248201527f416d6f756e742069732067726561746572207468616e206d6178696d756d2062604482015268195d08185b5bdd5b9d60ba1b60648201526084016104c7565b6001600160a01b038316600090815260208190526040902054158015610c1c5750600082115b15610c6c576001805480820182556000919091527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180546001600160a01b0319166001600160a01b0385161790555b60028054830190556001600160a01b03831660009081526020818152604080832080548601815584845260019081019092529091208054840181558101805490910190558115610d1d576003546040516314838cad60e21b81526001600160a01b038581166004830152602482018590529091169063520e32b490604401600060405180830381600087803b158015610d0457600080fd5b505af1158015610d18573d6000803e3d6000fd5b505050505b6040518281526001600160a01b038416906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3505050565b738632f22e5a921c751cfbbff92f058a3b11e96b8a6001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610db5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dd991906114ca565b6001600160a01b0316336001600160a01b031614610e095760405162461bcd60e51b81526004016104c7906114e7565b60015415610e4f5760405162461bcd60e51b8152602060048201526013602482015272105b1c9958591e481a5b9a5d1a585b1a5e9959606a1b60448201526064016104c7565b6000826001600160a01b0316630d7087e96040518163ffffffff1660e01b8152600401600060405180830381865afa158015610e8f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610eb7919081019061157a565b8051909150610ecd90600190602084019061113c565b50826001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f0c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f30919061164a565b60025560005b8151811015611136576000846001600160a01b03166370a08231848481518110610f6257610f62611521565b60200260200101516040518263ffffffff1660e01b8152600401610f9591906001600160a01b0391909116815260200190565b602060405180830381865afa158015610fb2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd6919061164a565b905080600080858581518110610fee57610fee611521565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060000181905550600360009054906101000a90046001600160a01b03166001600160a01b03166354f7de2784848151811061105357611053611521565b60209081029190910101516040516001600160e01b031960e084901b1681526001600160a01b039182166004820152602481018590529087166044820152606401600060405180830381600087803b1580156110ae57600080fd5b505af11580156110c2573d6000803e3d6000fd5b505050508282815181106110d8576110d8611521565b60200260200101516001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161112591815260200190565b60405180910390a350600101610f36565b50505050565b828054828255906000526020600020908101928215611191579160200282015b8281111561119157825182546001600160a01b0319166001600160a01b0390911617825560209092019160019091019061115c565b5061119d9291506111a1565b5090565b5b8082111561119d57600081556001016111a2565b602081526000825180602084015260005b818110156111e457602081860181015160408684010152016111c7565b506000604082850101526040601f19601f83011684010191505092915050565b602080825282518282018190526000918401906040840190835b818110156112455783516001600160a01b031683526020938401939092019160010161121e565b509095945050505050565b6001600160a01b038116811461126557600080fd5b50565b6000806040838503121561127b57600080fd5b823561128681611250565b946020939093013593505050565b6000602082840312156112a657600080fd5b81356112b181611250565b9392505050565b6000602082840312156112ca57600080fd5b5035919050565b60008083601f8401126112e357600080fd5b50813567ffffffffffffffff8111156112fb57600080fd5b6020830191508360208260051b850101111561041a57600080fd5b60008060006040848603121561132b57600080fd5b833561133681611250565b9250602084013567ffffffffffffffff81111561135257600080fd5b61135e868287016112d1565b9497909650939450505050565b600081518084526020840193506020830160005b8281101561139d57815186526020958601959091019060010161137f565b5093949350505050565b6040815260006113ba604083018561136b565b82810360208401526113cc818561136b565b95945050505050565b600080604083850312156113e857600080fd5b50508035926020909101359150565b6020815260006112b1602083018461136b565b6000806020838503121561141d57600080fd5b823567ffffffffffffffff81111561143457600080fd5b611440858286016112d1565b90969095509350505050565b60008060006060848603121561146157600080fd5b833561146c81611250565b95602085013595506040909401359392505050565b6000806040838503121561149457600080fd5b823561149f81611250565b915060208301356114af81611250565b809150509250929050565b80516114c581611250565b919050565b6000602082840312156114dc57600080fd5b81516112b181611250565b6020808252600a908201526927b7363c9027bbb732b960b11b604082015260600190565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b818103818111156107dc57634e487b7160e01b600052601160045260246000fd5b60006020828403121561156a57600080fd5b815180151581146112b157600080fd5b60006020828403121561158c57600080fd5b815167ffffffffffffffff8111156115a357600080fd5b8201601f810184136115b457600080fd5b805167ffffffffffffffff8111156115ce576115ce61150b565b8060051b604051601f19603f830116810181811067ffffffffffffffff821117156115fb576115fb61150b565b60405291825260208184018101929081018784111561161957600080fd5b6020850194505b8385101561163f57611631856114ba565b815260209485019401611620565b509695505050505050565b60006020828403121561165c57600080fd5b505191905056fea264697066735822122096570199b93b91b35b3dc7a67d101dca8ab66c9e983a027107642ebb6921d46064736f6c634300081c0033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101585760003560e01c806380538e27116100c3578063b5ee937b1161007c578063b5ee937b1461032d578063c51ddd5d14610340578063cab11d5d14610353578063eb3d9bea1461035c578063f09a40161461036f578063fa968eea1461038257600080fd5b806380538e271461029a578063832c205d146102bb5780638a14f12c146102db57806394ca5c9c146102e457806395d89b41146102f7578063a2bdedf41461031a57600080fd5b8063481c6a7511610115578063481c6a75146102035780635ad1df6a146102365780636c1885931461025f578063706025791461027457806370a08231146102365780637cfbc7a51461028757600080fd5b806306fdde031461015d5780630d7087e91461019d57806318160ddd146101b257806319a50f49146101c4578063313ce567146101cc578063328343ec146101db575b600080fd5b6101876040518060400160405280600b81526020016a1054114815d859d95c995960aa1b81525081565b60405161019491906111b6565b60405180910390f35b6101a561038b565b6040516101949190611204565b6002545b604051908152602001610194565b6001546101b6565b60405160128152602001610194565b6101ee6101e9366004611268565b6103ed565b60408051928352602083019190915201610194565b61021e738632f22e5a921c751cfbbff92f058a3b11e96b8a81565b6040516001600160a01b039091168152602001610194565b6101b6610244366004611294565b6001600160a01b031660009081526020819052604090205490565b61027261026d3660046112b8565b610421565b005b60035461021e906001600160a01b031681565b6102726102953660046112b8565b6104d5565b6102ad6102a8366004611316565b610580565b6040516101949291906113a7565b6102ce6102c93660046113d5565b610701565b60405161019491906113f7565b6101b660025481565b6102ce6102f236600461140a565b6107e2565b610187604051806040016040528060048152602001637741504560e01b81525081565b61021e6103283660046112b8565b6108b3565b6101a561033b3660046113d5565b6108dd565b61027261034e366004611294565b6109b3565b6101b660055481565b61027261036a36600461144c565b610a7b565b61027261037d366004611481565b610d63565b6101b660045481565b606060018054806020026020016040519081016040528092919081815260200182805480156103e357602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116103c5575b5050505050905090565b6001600160a01b038216600090815260208181526040808320848452600190810190925290912080549101545b9250929050565b738632f22e5a921c751cfbbff92f058a3b11e96b8a6001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610473573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061049791906114ca565b6001600160a01b0316336001600160a01b0316146104d05760405162461bcd60e51b81526004016104c7906114e7565b60405180910390fd5b600455565b738632f22e5a921c751cfbbff92f058a3b11e96b8a6001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610527573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061054b91906114ca565b6001600160a01b0316336001600160a01b03161461057b5760405162461bcd60e51b81526004016104c7906114e7565b600555565b606080828067ffffffffffffffff81111561059d5761059d61150b565b6040519080825280602002602001820160405280156105c6578160200160208202803683370190505b5092508067ffffffffffffffff8111156105e2576105e261150b565b60405190808252806020026020018201604052801561060b578160200160208202803683370190505b50915060005b818110156106f7576001600160a01b03871660009081526020819052604081206001019087878481811061064757610647611521565b9050602002013581526020019081526020016000206000015484828151811061067257610672611521565b602002602001018181525050600080886001600160a01b03166001600160a01b0316815260200190815260200160002060010160008787848181106106b9576106b9611521565b905060200201358152602001908152602001600020600101548382815181106106e4576106e4611521565b6020908102919091010152600101610611565b5050935093915050565b6001546060908211156107145760015491505b60006107208484611537565b67ffffffffffffffff8111156107385761073861150b565b604051908082528060200260200182016040528015610761578160200160208202803683370190505b5090506000845b848110156107d6576000806001838154811061078657610786611521565b60009182526020808320909101546001600160a01b0316835282019290925260400190205483518490849081106107bf576107bf611521565b602090810291909101015260019182019101610768565b50909150505b92915050565b60608160008167ffffffffffffffff8111156108005761080061150b565b604051908082528060200260200182016040528015610829578160200160208202803683370190505b50905060005b828110156108aa5760008087878481811061084c5761084c611521565b90506020020160208101906108619190611294565b6001600160a01b03166001600160a01b031681526020019081526020016000206000015482828151811061089757610897611521565b602090810291909101015260010161082f565b50949350505050565b600181815481106108c357600080fd5b6000918252602090912001546001600160a01b0316905081565b6001546060908211156108f05760015491505b60006108fc8484611537565b67ffffffffffffffff8111156109145761091461150b565b60405190808252806020026020018201604052801561093d578160200160208202803683370190505b5090506000845b848110156107d6576001818154811061095f5761095f611521565b9060005260206000200160009054906101000a90046001600160a01b031683838151811061098f5761098f611521565b6001600160a01b039092166020928302919091019091015260019182019101610944565b738632f22e5a921c751cfbbff92f058a3b11e96b8a6001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a05573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a2991906114ca565b6001600160a01b0316336001600160a01b031614610a595760405162461bcd60e51b81526004016104c7906114e7565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b604051636313629760e11b8152336004820152738632f22e5a921c751cfbbff92f058a3b11e96b8a9063c626c52e90602401602060405180830381865afa158015610aca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aee9190611558565b610b295760405162461bcd60e51b815260206004820152600c60248201526b155b905d5d1a1bdc9a5e995960a21b60448201526064016104c7565b600454821015610b8a5760405162461bcd60e51b815260206004820152602660248201527f416d6f756e74206973206c657373207468616e206d696e696d756d2062657420604482015265185b5bdd5b9d60d21b60648201526084016104c7565b60055415610bf657600554821115610bf65760405162461bcd60e51b815260206004820152602960248201527f416d6f756e742069732067726561746572207468616e206d6178696d756d2062604482015268195d08185b5bdd5b9d60ba1b60648201526084016104c7565b6001600160a01b038316600090815260208190526040902054158015610c1c5750600082115b15610c6c576001805480820182556000919091527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180546001600160a01b0319166001600160a01b0385161790555b60028054830190556001600160a01b03831660009081526020818152604080832080548601815584845260019081019092529091208054840181558101805490910190558115610d1d576003546040516314838cad60e21b81526001600160a01b038581166004830152602482018590529091169063520e32b490604401600060405180830381600087803b158015610d0457600080fd5b505af1158015610d18573d6000803e3d6000fd5b505050505b6040518281526001600160a01b038416906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3505050565b738632f22e5a921c751cfbbff92f058a3b11e96b8a6001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610db5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dd991906114ca565b6001600160a01b0316336001600160a01b031614610e095760405162461bcd60e51b81526004016104c7906114e7565b60015415610e4f5760405162461bcd60e51b8152602060048201526013602482015272105b1c9958591e481a5b9a5d1a585b1a5e9959606a1b60448201526064016104c7565b6000826001600160a01b0316630d7087e96040518163ffffffff1660e01b8152600401600060405180830381865afa158015610e8f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610eb7919081019061157a565b8051909150610ecd90600190602084019061113c565b50826001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610f0c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f30919061164a565b60025560005b8151811015611136576000846001600160a01b03166370a08231848481518110610f6257610f62611521565b60200260200101516040518263ffffffff1660e01b8152600401610f9591906001600160a01b0391909116815260200190565b602060405180830381865afa158015610fb2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fd6919061164a565b905080600080858581518110610fee57610fee611521565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060000181905550600360009054906101000a90046001600160a01b03166001600160a01b03166354f7de2784848151811061105357611053611521565b60209081029190910101516040516001600160e01b031960e084901b1681526001600160a01b039182166004820152602481018590529087166044820152606401600060405180830381600087803b1580156110ae57600080fd5b505af11580156110c2573d6000803e3d6000fd5b505050508282815181106110d8576110d8611521565b60200260200101516001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161112591815260200190565b60405180910390a350600101610f36565b50505050565b828054828255906000526020600020908101928215611191579160200282015b8281111561119157825182546001600160a01b0319166001600160a01b0390911617825560209092019160019091019061115c565b5061119d9291506111a1565b5090565b5b8082111561119d57600081556001016111a2565b602081526000825180602084015260005b818110156111e457602081860181015160408684010152016111c7565b506000604082850101526040601f19601f83011684010191505092915050565b602080825282518282018190526000918401906040840190835b818110156112455783516001600160a01b031683526020938401939092019160010161121e565b509095945050505050565b6001600160a01b038116811461126557600080fd5b50565b6000806040838503121561127b57600080fd5b823561128681611250565b946020939093013593505050565b6000602082840312156112a657600080fd5b81356112b181611250565b9392505050565b6000602082840312156112ca57600080fd5b5035919050565b60008083601f8401126112e357600080fd5b50813567ffffffffffffffff8111156112fb57600080fd5b6020830191508360208260051b850101111561041a57600080fd5b60008060006040848603121561132b57600080fd5b833561133681611250565b9250602084013567ffffffffffffffff81111561135257600080fd5b61135e868287016112d1565b9497909650939450505050565b600081518084526020840193506020830160005b8281101561139d57815186526020958601959091019060010161137f565b5093949350505050565b6040815260006113ba604083018561136b565b82810360208401526113cc818561136b565b95945050505050565b600080604083850312156113e857600080fd5b50508035926020909101359150565b6020815260006112b1602083018461136b565b6000806020838503121561141d57600080fd5b823567ffffffffffffffff81111561143457600080fd5b611440858286016112d1565b90969095509350505050565b60008060006060848603121561146157600080fd5b833561146c81611250565b95602085013595506040909401359392505050565b6000806040838503121561149457600080fd5b823561149f81611250565b915060208301356114af81611250565b809150509250929050565b80516114c581611250565b919050565b6000602082840312156114dc57600080fd5b81516112b181611250565b6020808252600a908201526927b7363c9027bbb732b960b11b604082015260600190565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b818103818111156107dc57634e487b7160e01b600052601160045260246000fd5b60006020828403121561156a57600080fd5b815180151581146112b157600080fd5b60006020828403121561158c57600080fd5b815167ffffffffffffffff8111156115a357600080fd5b8201601f810184136115b457600080fd5b805167ffffffffffffffff8111156115ce576115ce61150b565b8060051b604051601f19603f830116810181811067ffffffffffffffff821117156115fb576115fb61150b565b60405291825260208184018101929081018784111561161957600080fd5b6020850194505b8385101561163f57611631856114ba565b815260209485019401611620565b509695505050505050565b60006020828403121561165c57600080fd5b505191905056fea264697066735822122096570199b93b91b35b3dc7a67d101dca8ab66c9e983a027107642ebb6921d46064736f6c634300081c0033

Deployed Bytecode Sourcemap

2480:6131:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2580:43;;;;;;;;;;;;;;;-1:-1:-1;;;2580:43:0;;;;;;;;;;;;:::i;:::-;;;;;;;;6115:99;;;:::i;:::-;;;;;;;:::i;4763:93::-;4836:12;;4763:93;;;1334:25:1;;;1322:2;1307:18;4763:93:0;1188:177:1;6222:93:0;6292:8;:15;6222:93;;4864:78;;;4932:2;1512:36:1;;1500:2;1485:18;4864:78:0;1370:184:1;6455:244:0;;;;;;:::i;:::-;;:::i;:::-;;;;2241:25:1;;;2297:2;2282:18;;2275:34;;;;2214:18;6455:244:0;2067:248:1;828:107:0;;892:42;828:107;;;;;-1:-1:-1;;;;;2509:32:1;;;2491:51;;2479:2;2464:18;828:107:0;2320:228:1;6323:124:0;;;;;;:::i;:::-;-1:-1:-1;;;;;6412:14:0;6385:7;6412:14;;;;;;;;;;:27;;6323:124;4262:114;;;;;;:::i;:::-;;:::i;:::-;;3205:29;;;;;-1:-1:-1;;;;;3205:29:0;;;4388:114;;;;;;:::i;:::-;;:::i;6707:543::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;7621:509::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;3149:27::-;;;;;;7258:355;;;;;;:::i;:::-;;:::i;2630:38::-;;;;;;;;;;;;;;;-1:-1:-1;;;2630:38:0;;;;;3093:25;;;;;;:::i;:::-;;:::i;8138:470::-;;;;;;:::i;:::-;;:::i;4510:119::-;;;;;;:::i;:::-;;:::i;3319:41::-;;;;;;4950:1157;;;;;;:::i;:::-;;:::i;3472:782::-;;;;;;:::i;:::-;;:::i;3273:39::-;;;;;;6115:99;6162:16;6198:8;6191:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6191:15:0;;;;;;;;;;;;;;;;;;;;;;;6115:99;:::o;6455:244::-;-1:-1:-1;;;;;6596:14:0;;6530:21;6596:14;;;;;;;;;;;:32;;;:23;;;;:32;;;;;;:45;;6643:47;;;6455:244;;;;;;:::o;4262:114::-;892:42;-1:-1:-1;;;;;1012:13:0;;:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;998:29:0;:10;-1:-1:-1;;;;;998:29:0;;976:89;;;;-1:-1:-1;;;976:89:0;;;;;;;:::i;:::-;;;;;;;;;4340:12:::1;:28:::0;4262:114::o;4388:::-;892:42;-1:-1:-1;;;;;1012:13:0;;:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;998:29:0;:10;-1:-1:-1;;;;;998:29:0;;976:89;;;;-1:-1:-1;;;976:89:0;;;;;;;:::i;:::-;4466:12:::1;:28:::0;4388:114::o;6707:543::-;6796:30;;6886:8;;6928:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6928:18:0;;6912:34;;6988:3;6974:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6974:18:0;;6957:35;;7008:6;7003:240;7024:3;7020:1;:7;7003:240;;;-1:-1:-1;;;;;7064:14:0;;:8;:14;;;;;;;;;;:23;;;7088:8;;7097:1;7088:11;;;;;;;:::i;:::-;;;;;;;7064:36;;;;;;;;;;;:49;;;7045:13;7059:1;7045:16;;;;;;;;:::i;:::-;;;;;;:68;;;;;7148:8;:14;7157:4;-1:-1:-1;;;;;7148:14:0;-1:-1:-1;;;;;7148:14:0;;;;;;;;;;;;:23;;:36;7172:8;;7181:1;7172:11;;;;;;;:::i;:::-;;;;;;;7148:36;;;;;;;;;;;:51;;;7128:14;7143:1;7128:17;;;;;;;;:::i;:::-;;;;;;;;;;:71;7226:3;;7003:240;;;;6861:389;6707:543;;;;;;:::o;7621:509::-;7766:8;:15;7722:16;;7755:26;;7751:85;;;7809:8;:15;;-1:-1:-1;7751:85:0;7846:21;7884;7895:10;7884:8;:21;:::i;:::-;7870:36;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7870:36:0;-1:-1:-1;7846:60:0;-1:-1:-1;7917:13:0;7958:10;7941:160;7974:8;7970:1;:12;7941:160;;;8014:8;:21;8023:8;8032:1;8023:11;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;8023:11:0;8014:21;;;;;;;;;;;;:34;8000:11;;:4;;8005:5;;8000:11;;;;;;:::i;:::-;;;;;;;;;;:48;8075:3;8080:7;;;;8075:3;7941:160;;;-1:-1:-1;8118:4:0;;-1:-1:-1;;7621:509:0;;;;;:::o;7258:355::-;7338:16;7381:5;7367:11;7381:5;7428:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7428:18:0;;7404:42;;7462:6;7457:127;7478:3;7474:1;:7;7457:127;;;7509:8;:18;7518:5;;7524:1;7518:8;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;7509:18:0;-1:-1:-1;;;;;7509:18:0;;;;;;;;;;;;:31;;;7499:4;7504:1;7499:7;;;;;;;;:::i;:::-;;;;;;;;;;:41;7567:3;;7457:127;;;-1:-1:-1;7601:4:0;7258:355;-1:-1:-1;;;;7258:355:0:o;3093:25::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3093:25:0;;-1:-1:-1;3093:25:0;:::o;8138:470::-;8267:8;:15;8223:16;;8256:26;;8252:85;;;8310:8;:15;;-1:-1:-1;8252:85:0;8347:21;8385;8396:10;8385:8;:21;:::i;:::-;8371:36;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8371:36:0;-1:-1:-1;8347:60:0;-1:-1:-1;8418:13:0;8459:10;8442:137;8475:8;8471:1;:12;8442:137;;;8515:8;8524:1;8515:11;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8515:11:0;8501:4;8506:5;8501:11;;;;;;;;:::i;:::-;-1:-1:-1;;;;;8501:25:0;;;:11;;;;;;;;;;;:25;8553:3;8558:7;;;;8553:3;8442:137;;4510:119;892:42;-1:-1:-1;;;;;1012:13:0;;:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;998:29:0;:10;-1:-1:-1;;;;;998:29:0;;976:89;;;;-1:-1:-1;;;976:89:0;;;;;;;:::i;:::-;4584:10:::1;:37:::0;;-1:-1:-1;;;;;;4584:37:0::1;-1:-1:-1::0;;;;;4584:37:0;;;::::1;::::0;;;::::1;::::0;;4510:119::o;4950:1157::-;1146:26;;-1:-1:-1;;;1146:26:0;;1161:10;1146:26;;;2491:51:1;892:42:0;;1146:14;;2464:18:1;;1146:26:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1124:88;;;;-1:-1:-1;;;1124:88:0;;8995:2:1;1124:88:0;;;8977:21:1;9034:2;9014:18;;;9007:30;-1:-1:-1;;;9053:18:1;;;9046:42;9105:18;;1124:88:0;8793:336:1;1124:88:0;5084:12:::1;;5074:6;:22;;5052:110;;;::::0;-1:-1:-1;;;5052:110:0;;9336:2:1;5052:110:0::1;::::0;::::1;9318:21:1::0;9375:2;9355:18;;;9348:30;9414:34;9394:18;;;9387:62;-1:-1:-1;;;9465:18:1;;;9458:36;9511:19;;5052:110:0::1;9134:402:1::0;5052:110:0::1;5177:12;::::0;:16;5173:174:::1;;5246:12;;5236:6;:22;;5210:125;;;::::0;-1:-1:-1;;;5210:125:0;;9743:2:1;5210:125:0::1;::::0;::::1;9725:21:1::0;9782:2;9762:18;;;9755:30;9821:34;9801:18;;;9794:62;-1:-1:-1;;;9872:18:1;;;9865:39;9921:19;;5210:125:0::1;9541:405:1::0;5210:125:0::1;-1:-1:-1::0;;;;;5399:14:0;::::1;:8;:14:::0;;;::::1;::::0;;;;;;:27;:32;:46;::::1;;;;5444:1;5435:6;:10;5399:46;5395:98;;;5462:8;:19:::0;;;;::::1;::::0;;-1:-1:-1;5462:19:0;;;;;::::1;::::0;;-1:-1:-1;;;;;;5462:19:0::1;-1:-1:-1::0;;;;;5462:19:0;::::1;;::::0;;5395:98:::1;5656:12;:22:::0;;;::::1;::::0;;-1:-1:-1;;;;;5693:14:0;::::1;-1:-1:-1::0;5693:14:0;;;::::1;::::0;;;;;;;:37;;;::::1;::::0;;5745:32;;;-1:-1:-1;5745:23:0;;::::1;:32:::0;;;;;;:55;;;::::1;::::0;;5865:47;::::1;5863:49:::0;;;;::::1;::::0;;5940:10;;5936:75:::1;;5967:10;::::0;:32:::1;::::0;-1:-1:-1;;;5967:32:0;;-1:-1:-1;;;;;10143:32:1;;;5967::0::1;::::0;::::1;10125:51:1::0;10192:18;;;10185:34;;;5967:10:0;;::::1;::::0;:18:::1;::::0;10098::1;;5967:32:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;5936:75;6065:34;::::0;1334:25:1;;;-1:-1:-1;;;;;6065:34:0;::::1;::::0;6082:1:::1;::::0;6065:34:::1;::::0;1322:2:1;1307:18;6065:34:0::1;;;;;;;4950:1157:::0;;;:::o;3472:782::-;892:42;-1:-1:-1;;;;;1012:13:0;;:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;998:29:0;:10;-1:-1:-1;;;;;998:29:0;;976:89;;;;-1:-1:-1;;;976:89:0;;;;;;;:::i;:::-;3573:8:::1;:15:::0;:20;3565:52:::1;;;::::0;-1:-1:-1;;;3565:52:0;;10432:2:1;3565:52:0::1;::::0;::::1;10414:21:1::0;10471:2;10451:18;;;10444:30;-1:-1:-1;;;10490:18:1;;;10483:49;10549:18;;3565:52:0::1;10230:343:1::0;3565:52:0::1;3658:22;3683:11;-1:-1:-1::0;;;;;3683:24:0::1;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;::::0;;::::1;-1:-1:-1::0;;3683:26:0::1;::::0;::::1;;::::0;::::1;::::0;;;::::1;::::0;::::1;:::i;:::-;3773:16:::0;;3658:51;;-1:-1:-1;3773:16:0::1;::::0;:8:::1;::::0;:16:::1;::::0;::::1;::::0;::::1;:::i;:::-;;3815:11;-1:-1:-1::0;;;;;3815:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3800:12;:40:::0;3898:6:::1;3893:354;3914:5;:12;3910:1;:16;3893:354;;;3944:21;3968:11;-1:-1:-1::0;;;;;3968:21:0::1;;3990:5;3996:1;3990:8;;;;;;;;:::i;:::-;;;;;;;3968:31;;;;;;;;;;;;;;-1:-1:-1::0;;;;;2509:32:1;;;;2491:51;;2479:2;2464:18;;2320:228;3968:31:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3944:55;;4048:13;4014:8;:18:::0;4023:5:::1;4029:1;4023:8;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;4014:18:0::1;-1:-1:-1::0;;;;;4014:18:0::1;;;;;;;;;;;;:31;;:47;;;;4076:10;;;;;;;;;-1:-1:-1::0;;;;;4076:10:0::1;-1:-1:-1::0;;;;;4076:22:0::1;;4099:5;4105:1;4099:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;4076:62:::1;::::0;-1:-1:-1;;;;;;4076:62:0::1;::::0;;;;;;-1:-1:-1;;;;;12127:32:1;;;4076:62:0::1;::::0;::::1;12109:51:1::0;12176:18;;;12169:34;;;12239:32;;;12219:18;;;12212:60;12082:18;;4076:62:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;4179:5;4185:1;4179:8;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1::0;;;;;4158:45:0::1;4175:1;-1:-1:-1::0;;;;;4158:45:0::1;;4189:13;4158:45;;;;1334:25:1::0;;1322:2;1307:18;;1188:177;4158:45:0::1;;;;;;;;-1:-1:-1::0;4230:3:0::1;;3893:354;;;;3554:700;3472:782:::0;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;14:527:1;163:2;152:9;145:21;126:4;195:6;189:13;238:6;233:2;222:9;218:18;211:34;263:1;273:140;287:6;284:1;281:13;273:140;;;398:2;382:14;;;378:23;;372:30;367:2;348:17;;;344:26;337:66;302:10;273:140;;;277:3;462:1;457:2;448:6;437:9;433:22;429:31;422:42;532:2;525;521:7;516:2;508:6;504:15;500:29;489:9;485:45;481:54;473:62;;;14:527;;;;:::o;546:637::-;736:2;748:21;;;818:13;;721:18;;;840:22;;;688:4;;919:15;;;893:2;878:18;;;688:4;962:195;976:6;973:1;970:13;962:195;;;1041:13;;-1:-1:-1;;;;;1037:39:1;1025:52;;1106:2;1132:15;;;;1097:12;;;;1073:1;991:9;962:195;;;-1:-1:-1;1174:3:1;;546:637;-1:-1:-1;;;;;546:637:1:o;1559:131::-;-1:-1:-1;;;;;1634:31:1;;1624:42;;1614:70;;1680:1;1677;1670:12;1614:70;1559:131;:::o;1695:367::-;1763:6;1771;1824:2;1812:9;1803:7;1799:23;1795:32;1792:52;;;1840:1;1837;1830:12;1792:52;1879:9;1866:23;1898:31;1923:5;1898:31;:::i;:::-;1948:5;2026:2;2011:18;;;;1998:32;;-1:-1:-1;;;1695:367:1:o;2553:247::-;2612:6;2665:2;2653:9;2644:7;2640:23;2636:32;2633:52;;;2681:1;2678;2671:12;2633:52;2720:9;2707:23;2739:31;2764:5;2739:31;:::i;:::-;2789:5;2553:247;-1:-1:-1;;;2553:247:1:o;2805:226::-;2864:6;2917:2;2905:9;2896:7;2892:23;2888:32;2885:52;;;2933:1;2930;2923:12;2885:52;-1:-1:-1;2978:23:1;;2805:226;-1:-1:-1;2805:226:1:o;3263:367::-;3326:8;3336:6;3390:3;3383:4;3375:6;3371:17;3367:27;3357:55;;3408:1;3405;3398:12;3357:55;-1:-1:-1;3431:20:1;;3474:18;3463:30;;3460:50;;;3506:1;3503;3496:12;3460:50;3543:4;3535:6;3531:17;3519:29;;3603:3;3596:4;3586:6;3583:1;3579:14;3571:6;3567:27;3563:38;3560:47;3557:67;;;3620:1;3617;3610:12;3635:572;3730:6;3738;3746;3799:2;3787:9;3778:7;3774:23;3770:32;3767:52;;;3815:1;3812;3805:12;3767:52;3854:9;3841:23;3873:31;3898:5;3873:31;:::i;:::-;3923:5;-1:-1:-1;3979:2:1;3964:18;;3951:32;4006:18;3995:30;;3992:50;;;4038:1;4035;4028:12;3992:50;4077:70;4139:7;4130:6;4119:9;4115:22;4077:70;:::i;:::-;3635:572;;4166:8;;-1:-1:-1;4051:96:1;;-1:-1:-1;;;;3635:572:1:o;4212:420::-;4265:3;4303:5;4297:12;4330:6;4325:3;4318:19;4362:4;4357:3;4353:14;4346:21;;4401:4;4394:5;4390:16;4424:1;4434:173;4448:6;4445:1;4442:13;4434:173;;;4509:13;;4497:26;;4552:4;4543:14;;;;4580:17;;;;4470:1;4463:9;4434:173;;;-1:-1:-1;4623:3:1;;4212:420;-1:-1:-1;;;;4212:420:1:o;4637:465::-;4894:2;4883:9;4876:21;4857:4;4920:56;4972:2;4961:9;4957:18;4949:6;4920:56;:::i;:::-;5024:9;5016:6;5012:22;5007:2;4996:9;4992:18;4985:50;5052:44;5089:6;5081;5052:44;:::i;:::-;5044:52;4637:465;-1:-1:-1;;;;;4637:465:1:o;5107:346::-;5175:6;5183;5236:2;5224:9;5215:7;5211:23;5207:32;5204:52;;;5252:1;5249;5242:12;5204:52;-1:-1:-1;;5297:23:1;;;5417:2;5402:18;;;5389:32;;-1:-1:-1;5107:346:1:o;5458:261::-;5637:2;5626:9;5619:21;5600:4;5657:56;5709:2;5698:9;5694:18;5686:6;5657:56;:::i;5724:437::-;5810:6;5818;5871:2;5859:9;5850:7;5846:23;5842:32;5839:52;;;5887:1;5884;5877:12;5839:52;5927:9;5914:23;5960:18;5952:6;5949:30;5946:50;;;5992:1;5989;5982:12;5946:50;6031:70;6093:7;6084:6;6073:9;6069:22;6031:70;:::i;:::-;6120:8;;6005:96;;-1:-1:-1;5724:437:1;-1:-1:-1;;;;5724:437:1:o;6374:487::-;6451:6;6459;6467;6520:2;6508:9;6499:7;6495:23;6491:32;6488:52;;;6536:1;6533;6526:12;6488:52;6575:9;6562:23;6594:31;6619:5;6594:31;:::i;:::-;6644:5;6722:2;6707:18;;6694:32;;-1:-1:-1;6825:2:1;6810:18;;;6797:32;;6374:487;-1:-1:-1;;;6374:487:1:o;6866:408::-;6954:6;6962;7015:2;7003:9;6994:7;6990:23;6986:32;6983:52;;;7031:1;7028;7021:12;6983:52;7070:9;7057:23;7089:31;7114:5;7089:31;:::i;:::-;7139:5;-1:-1:-1;7196:2:1;7181:18;;7168:32;7209:33;7168:32;7209:33;:::i;:::-;7261:7;7251:17;;;6866:408;;;;;:::o;7279:138::-;7358:13;;7380:31;7358:13;7380:31;:::i;:::-;7279:138;;;:::o;7422:251::-;7492:6;7545:2;7533:9;7524:7;7520:23;7516:32;7513:52;;;7561:1;7558;7551:12;7513:52;7593:9;7587:16;7612:31;7637:5;7612:31;:::i;7678:334::-;7880:2;7862:21;;;7919:2;7899:18;;;7892:30;-1:-1:-1;;;7953:2:1;7938:18;;7931:40;8003:2;7988:18;;7678:334::o;8017:127::-;8078:10;8073:3;8069:20;8066:1;8059:31;8109:4;8106:1;8099:15;8133:4;8130:1;8123:15;8149:127;8210:10;8205:3;8201:20;8198:1;8191:31;8241:4;8238:1;8231:15;8265:4;8262:1;8255:15;8281:225;8348:9;;;8369:11;;;8366:134;;;8422:10;8417:3;8413:20;8410:1;8403:31;8457:4;8454:1;8447:15;8485:4;8482:1;8475:15;8511:277;8578:6;8631:2;8619:9;8610:7;8606:23;8602:32;8599:52;;;8647:1;8644;8637:12;8599:52;8679:9;8673:16;8732:5;8725:13;8718:21;8711:5;8708:32;8698:60;;8754:1;8751;8744:12;10578:1135;10673:6;10726:2;10714:9;10705:7;10701:23;10697:32;10694:52;;;10742:1;10739;10732:12;10694:52;10775:9;10769:16;10808:18;10800:6;10797:30;10794:50;;;10840:1;10837;10830:12;10794:50;10863:22;;10916:4;10908:13;;10904:27;-1:-1:-1;10894:55:1;;10945:1;10942;10935:12;10894:55;10978:2;10972:9;11004:18;10996:6;10993:30;10990:56;;;11026:18;;:::i;:::-;11072:6;11069:1;11065:14;11108:2;11102:9;11171:2;11167:7;11162:2;11158;11154:11;11150:25;11142:6;11138:38;11242:6;11230:10;11227:22;11206:18;11194:10;11191:34;11188:62;11185:88;;;11253:18;;:::i;:::-;11289:2;11282:22;11339;;;11389:2;11419:11;;;11415:20;;;11339:22;11377:15;;11447:19;;;11444:39;;;11479:1;11476;11469:12;11444:39;11511:2;11507;11503:11;11492:22;;11523:159;11539:6;11534:3;11531:15;11523:159;;;11605:34;11635:3;11605:34;:::i;:::-;11593:47;;11669:2;11556:12;;;;11660;11523:159;;;-1:-1:-1;11701:6:1;10578:1135;-1:-1:-1;;;;;;10578:1135:1:o;11718:184::-;11788:6;11841:2;11829:9;11820:7;11816:23;11812:32;11809:52;;;11857:1;11854;11847:12;11809:52;-1:-1:-1;11880:16:1;;11718:184;-1:-1:-1;11718:184:1:o

Swarm Source

ipfs://96570199b93b91b35b3dc7a67d101dca8ab66c9e983a027107642ebb6921d460

Block Transaction Difficulty 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
0x6EA76F01Aa615112AB7de1409EFBD80a13BfCC84
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.