{"address":"0xf672d186c8bce7e9eba36b91b5bdd5dc247a1b11","latest":5070249,"price":{"usd":0.609665656554181,"btc":0,"change24h":0,"marketCap":180908842.9097615,"volume24h":0,"source":"onchain","venue":"On-chain pool WDAN/USDT on dannyswap"},"balance":"0","nonce":1,"codeSize":15701,"isContract":true,"contract":{"verified":true,"name":"MemeMining","compiler":"v0.8.28+commit.7893614a","optimization":true,"runs":200,"license":"mit","proxy":false,"implementation":null,"sourceCode":"// SPDX-License-Identifier: MIT\npragma solidity 0.8.28;\n\nabstract contract Context {\n    function _msgSender() internal view virtual returns (address) {\n        return msg.sender;\n    }\n\n    function _msgData() internal view virtual returns (bytes calldata) {\n        return msg.data;\n    }\n\n    function _contextSuffixLength() internal view virtual returns (uint256) {\n        return 0;\n    }\n}\n\ninterface IERC20 {\n    function transfer(address to, uint256 amount) external returns (bool);\n    function balanceOf(address account) external view returns (uint256);\n    function transferFrom(\n        address from,\n        address to,\n        uint256 value\n    ) external returns (bool);\n}\n\nabstract contract Ownable is Context {\n    address private _owner;\n\n    /**\n     * @dev The caller account is not authorized to perform an operation.\n     */\n    error OwnableUnauthorizedAccount(address account);\n\n    /**\n     * @dev The owner is not a valid owner account. (eg. `address(0)`)\n     */\n    error OwnableInvalidOwner(address owner);\n\n    event OwnershipTransferred(\n        address indexed previousOwner,\n        address indexed newOwner\n    );\n\n    /**\n     * @dev Initializes the contract setting the address provided by the deployer as the initial owner.\n     */\n    constructor(address initialOwner) {\n        if (initialOwner == address(0)) {\n            revert OwnableInvalidOwner(address(0));\n        }\n        _transferOwnership(initialOwner);\n    }\n\n    /**\n     * @dev Throws if called by any account other than the owner.\n     */\n    modifier onlyOwner() {\n        _checkOwner();\n        _;\n    }\n\n    /**\n     * @dev Returns the address of the current owner.\n     */\n    function owner() public view virtual returns (address) {\n        return _owner;\n    }\n\n    /**\n     * @dev Throws if the sender is not the owner.\n     */\n    function _checkOwner() internal view virtual {\n        if (owner() != _msgSender()) {\n            revert OwnableUnauthorizedAccount(_msgSender());\n        }\n    }\n\n    /**\n     * @dev Leaves the contract without owner. It will not be possible to call\n     * `onlyOwner` functions. Can only be called by the current owner.\n     *\n     * NOTE: Renouncing ownership will leave the contract without an owner,\n     * thereby disabling any functionality that is only available to the owner.\n     */\n    function renounceOwnership() public virtual onlyOwner {\n        _transferOwnership(address(0));\n    }\n\n    /**\n     * @dev Transfers ownership of the contract to a new account (`newOwner`).\n     * Can only be called by the current owner.\n     */\n    function transferOwnership(address newOwner) public virtual onlyOwner {\n        if (newOwner == address(0)) {\n            revert OwnableInvalidOwner(address(0));\n        }\n        _transferOwnership(newOwner);\n    }\n\n    /**\n     * @dev Transfers ownership of the contract to a new account (`newOwner`).\n     * Internal function without access restriction.\n     */\n    function _transferOwnership(address newOwner) internal virtual {\n        address oldOwner = _owner;\n        _owner = newOwner;\n        emit OwnershipTransferred(oldOwner, newOwner);\n    }\n}\n\nabstract contract ReentrancyGuard {\n    uint256 private constant _NOT_ENTERED = 1;\n    uint256 private constant _ENTERED = 2;\n\n    uint256 private _status;\n\n    constructor() {\n        _status = _NOT_ENTERED;\n    }\n\n    modifier nonReentrant() {\n        _nonReentrantBefore();\n        _;\n        _nonReentrantAfter();\n    }\n\n    function _nonReentrantBefore() private {\n        // On the first call to nonReentrant, _notEntered will be true\n        require(_status != _ENTERED, \"ReentrancyGuard: reentrant call\");\n\n        // Any calls to nonReentrant after this point will fail\n        _status = _ENTERED;\n    }\n\n    function _nonReentrantAfter() private {\n        // By storing the original value once again, a refund is triggered (see\n        // https://eips.ethereum.org/EIPS/eip-2200)\n        _status = _NOT_ENTERED;\n    }\n}\n\ninterface IUniswapV2Pair {\n    function token0() external view returns (address);\n    function token1() external view returns (address);\n    function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast);\n}\n\ncontract MemeMining is ReentrancyGuard, Ownable {\n    IERC20 public token;\n    IUniswapV2Pair public lpaddress;\n    uint256 private SIGN_UP_BONUS; // $0.5\n    uint256 private BONUS_DURATION;\n    uint256 private REFERRAL_DURATION;\n    uint256 private transactionIdCounter;\n    uint256 private boosterPlanCount;\n    uint256 private claimperiod;\n    \n    uint256 public totalusers;\n    uint256 public totaldeposit;\n    uint256 public totalclaimed;\n\n    bool public signuppause;\n    bool public boosterpause;\n    bool public claimpause;\n\n    struct BoosterPlan {\n        string name;\n        uint256 usdAmount; // token tokens\n        uint256 duration; // in seconds\n        uint256 returnPercentage; // 200 for 200%\n        uint256 referralper;\n        bool active;\n    }\n\n    struct UserMining {\n        uint256 hashrate;\n        uint256 signUpTime;\n        uint256 totalMined;\n        uint256 totalClaimed;\n        bool hasSignedUp;\n        uint256[] activeTransactionIds;\n        uint256[] referralIds;\n        uint256[] boosterIds;\n        uint256 lastclaimed;\n        uint256 endTime;\n        uint256 pendingreward;\n        uint256 totalpower;\n        uint256 lastclaimtime;\n        uint256 level;\n    }\n\n    struct Transaction {\n        address useraddress;\n        uint256 transactionId;\n        uint256 transactionType; // 1=joining bonus, 2=referral, 3=buy booster\n        uint256 purchaseAmount;\n        uint256 usdamount;\n        uint256 totalAmount; \n        uint256 startTime;\n        uint256 duration;\n        string sourceType;\n        uint256 level; // For referrals: 1, 2, or 3\n        address referrer; // For referrals: the referred user\n        uint256 hashrate; // totalAmount * HASHRATE_PER_TOKEN / 10**18\n    }\n\n    mapping(address => UserMining) public users;\n    mapping(address => address) public referrers; // user => referrer\n    mapping(uint256 => Transaction) public transactions;\n    mapping(address => mapping(uint256 => uint256)) public userTransactionIndex; // user => page => transactionId\n    mapping(address => uint256) public userTransactionCount;\n    mapping(uint256 => BoosterPlan) public boosterPlans;\n    mapping(address => bool) public isuserpurchasebooster;\n\n    event UserSignedUp(\n        address indexed user,\n        uint256 transactionId,\n        uint256 totalReward\n    );\n    event BoosterPurchased(\n        address indexed user,\n        uint256 transactionId,\n        uint256 planId,\n        uint256 totalReward,\n        uint256 totalpaid\n    );\n    event ReferralReward(\n        address indexed referrer,\n        uint256 transactionId,\n        address indexed referee,\n        uint256 level,\n        uint256 totalReward\n    );\n    event RewardClaimed(address indexed user, uint256 amount);\n    event BoosterPlanAdded(uint256 indexed planId, string name);\n    event BoosterPlanUpdated(uint256 indexed planId);\n    event BoosterPlanRemoved(uint256 indexed planId);\n\n    constructor() Ownable(msg.sender) {\n        token = IERC20(0xd2739a80cC09D048a782A40BAE4b268a71Da309b);\n        lpaddress = IUniswapV2Pair(0x7F08dBA24587C9a89E9A1fE4e6281085Cbc78893);\n        // Initialize default booster plans\n        _addBoosterPlan(\"Starter\", 10 * 10 ** 18, 180 days , 2000 , 300);\n        _addBoosterPlan(\"Basic\", 50 * 10 ** 18, 180 days,4000,400);\n        _addBoosterPlan(\"Premium\", 100 * 10 ** 18, 180 days,6000,500);\n\n        SIGN_UP_BONUS = 3e18;\n        BONUS_DURATION = 180 days;\n        REFERRAL_DURATION = 180 days;\n        claimperiod = 1 days;\n    }\n\n    modifier whenSignupNotPaused() {\n        require(!signuppause, \"Signup is paused\");\n        _;\n    }\n\n    modifier whenBoosterNotPaused() {\n        require(!boosterpause, \"Booster is paused\");\n        _;\n    }\n\n    modifier whenClaimNotPaused() {\n        require(!claimpause, \"Claim is paused\");\n        _;\n    }\n\n    function _updateRewards(address _account,uint256 _totalReward, uint256 _duration) internal {\n        UserMining storage user = users[_account];\n\n        // 1. Calculate reward earned up to now (or until endTime)\n        uint256 rewardTime = block.timestamp > user.endTime ? user.endTime : block.timestamp;\n        uint256 elapsed = (user.lastclaimed == 0 || user.lastclaimed >= rewardTime) ? 0 : rewardTime - user.lastclaimed;\n        uint256 pendingReward = elapsed * user.hashrate;\n\n        // 2. Store earned rewards\n        user.pendingreward += pendingReward;\n        // 3. Update last claimed timestamp\n        user.lastclaimed = block.timestamp;\n        // 4. Calculate remaining unearned rewards from current investment\n        uint256 remainingReward = 0;\n        if (user.endTime > block.timestamp) {\n            uint256 remainingTime = user.endTime - block.timestamp;\n            remainingReward = remainingTime * user.hashrate;\n        }\n\n        // 5. Add new investment reward\n        uint256 newTotalReward = remainingReward + _totalReward;\n        // 6. Calculate end time of the new investment\n        uint256 newInvestmentEndTime = block.timestamp + _duration;\n        // 7. Use whichever end time is later\n        uint256 finalEndTime = user.endTime > newInvestmentEndTime ? user.endTime : newInvestmentEndTime;\n        // 8. Remaining duration from now\n        uint256 finalDuration = finalEndTime - block.timestamp;\n        // 9. Calculate new reward rate\n        uint256 newHashrate = finalDuration > 0 ? newTotalReward / finalDuration : 0;\n\n        // 10. Update user state\n        user.hashrate = newHashrate;\n        user.endTime = finalEndTime;\n    } \n\n    \n\n    function signUp(address _referrer) external whenSignupNotPaused {\n        require(!users[msg.sender].hasSignedUp, \"Already signed up\");\n        require(_referrer != msg.sender, \"Cannot refer yourself\");\n\n        users[msg.sender].hasSignedUp = true;\n        users[msg.sender].signUpTime = block.timestamp;\n\n        // Create transaction for sign-up bonus\n        uint256 txId = transactionIdCounter++;\n        uint256 usdamount = getOutputAmount(SIGN_UP_BONUS , false);\n        uint256 hashrate = SIGN_UP_BONUS / BONUS_DURATION;\n\n        transactions[txId] = Transaction({\n            useraddress : msg.sender,\n            transactionId: txId,\n            transactionType: 1, // Joining bonus\n            purchaseAmount : 0,\n            usdamount : usdamount,\n            totalAmount: SIGN_UP_BONUS,\n            startTime: block.timestamp,\n            duration: BONUS_DURATION,\n            sourceType: \"Bonus\",\n            level: 0,\n            referrer: address(0),\n            hashrate: hashrate\n            \n        });\n\n        users[msg.sender].activeTransactionIds.push(txId);\n        userTransactionIndex[msg.sender][userTransactionCount[msg.sender]] = txId;\n        userTransactionCount[msg.sender]++;\n        users[msg.sender].totalpower += hashrate;\n        users[msg.sender].lastclaimtime = block.timestamp;\n        users[msg.sender].level = 0;\n\n        _updateRewards(msg.sender ,SIGN_UP_BONUS , BONUS_DURATION);\n        \n        if (_referrer != address(0) && users[_referrer].hasSignedUp) {\n            referrers[msg.sender] = _referrer;\n        }\n        totalusers++;\n\n        emit UserSignedUp(msg.sender, txId, SIGN_UP_BONUS);\n    }\n\n    function purchaseBooster(uint256 _planId) external whenBoosterNotPaused {\n        require(users[msg.sender].hasSignedUp, \"Must register first\");\n        require(_planId < boosterPlanCount, \"Invalid plan\");\n        require(boosterPlans[_planId].active, \"Plan not active\");\n        BoosterPlan memory plan = boosterPlans[_planId];\n        uint256 usdAmount = getOutputAmount(plan.usdAmount , false);\n        require(\n            token.transferFrom(\n                msg.sender,\n                address(this),\n                plan.usdAmount \n            )\n        );\n        \n        uint256 totalReward = plan.usdAmount  + ((plan.usdAmount  * plan.returnPercentage) / 10000);\n        uint256 hashrate = totalReward / plan.duration;\n\n        _processReferralRewards(referrers[msg.sender], msg.sender , plan.usdAmount  , usdAmount);\n\n        uint256 txId = transactionIdCounter++;\n\n        transactions[txId] = Transaction({\n            useraddress : msg.sender,\n            transactionId: txId,\n            purchaseAmount : plan.usdAmount,\n            usdamount : usdAmount,\n            transactionType: 3, // Buy booster\n            totalAmount: totalReward,\n            startTime: block.timestamp,\n            duration: plan.duration,\n            sourceType: string(abi.encodePacked(\"Booster: \", plan.name)),\n            level: 0,\n            referrer: address(0),\n            hashrate: hashrate\n        });\n\n        users[msg.sender].activeTransactionIds.push(txId);\n        users[msg.sender].boosterIds.push(txId);\n        userTransactionIndex[msg.sender][userTransactionCount[msg.sender]] = txId;\n        userTransactionCount[msg.sender]++;\n        users[msg.sender].totalpower += hashrate;\n        users[msg.sender].level = _planId + 1;\n        isuserpurchasebooster[msg.sender] = true;\n        \n        _updateRewards(msg.sender ,totalReward , plan.duration);\n\n        totaldeposit += boosterPlans[_planId].usdAmount;\n        emit BoosterPurchased(msg.sender, txId, _planId, totalReward , plan.usdAmount);\n    }\n\n    function _processReferralRewards(\n        address _referrer,\n        address _referee,\n        uint256 _amount,\n        uint256 _usdamount\n    ) internal {\n        address current = _referrer;\n        \n        if (users[current].hasSignedUp && isuserpurchasebooster[current] && users[current].level > 0) {\n            uint256 ulevel = users[current].level - 1;\n            uint256 totalReward = _amount * boosterPlans[ulevel].referralper / 10000;\n            uint256 usdamount = _usdamount * boosterPlans[ulevel].referralper  / 10000;\n            uint256 hashrate = totalReward / REFERRAL_DURATION;\n\n            uint256 txId = transactionIdCounter++;\n            \n            transactions[txId] = Transaction({\n                useraddress : current,\n                transactionId: txId,\n                purchaseAmount : 0,\n                usdamount : usdamount,\n                transactionType: 2, // Referral\n                totalAmount: totalReward,\n                startTime: block.timestamp,\n                duration: REFERRAL_DURATION,\n                sourceType: string(\n                    abi.encodePacked(\n                        \"Referral Level \",\n                        _uintToString(ulevel)\n                    )\n                ),\n                level: ulevel,\n                referrer: _referee,\n                hashrate: hashrate\n            });\n\n            users[current].activeTransactionIds.push(txId);\n            users[current].referralIds.push(txId);\n            userTransactionIndex[current][userTransactionCount[current]] = txId;\n            userTransactionCount[current]++;\n            users[current].totalpower += hashrate;\n\n            _updateRewards(current, totalReward , REFERRAL_DURATION);\n\n            emit ReferralReward(\n                current,\n                txId,\n                _referee,\n                ulevel,\n                totalReward\n            );\n        }  \n    }\n\n\n    function calculatePendingRewards(address _user) public view returns (uint256, uint256) {\n        if (!users[_user].hasSignedUp) return (0, 0);\n        UserMining storage user = users[_user];\n        uint256 totalPending = user.pendingreward;\n        uint256 rewardTime = block.timestamp > user.endTime ? user.endTime : block.timestamp;\n\n        uint256 elapsed = user.lastclaimed >= rewardTime ? 0 : rewardTime - user.lastclaimed;\n\n        uint256 pendingReward = elapsed * user.hashrate;\n        uint256 finalreward = pendingReward + totalPending;\n\n        return (finalreward, user.totalpower);\n    }\n    \n\n    function claimRewards() external nonReentrant whenClaimNotPaused {\n        require(users[msg.sender].hasSignedUp, \"Must sign up first\");\n        require(block.timestamp >= users[msg.sender].lastclaimtime + claimperiod , \"Please wait till next claim cycle!\");\n        UserMining storage user = users[msg.sender];\n        uint256 totalPending = user.pendingreward;\n        uint256 pendingReward = 0;\n        \n        uint256 rewardTime = block.timestamp > user.endTime ? user.endTime : block.timestamp;\n        uint256 elapsed = user.lastclaimed >= rewardTime ? 0 : rewardTime - user.lastclaimed;\n        pendingReward = elapsed * user.hashrate;\n        \n        \n        uint256 totalClaim = pendingReward + totalPending;\n\n        require(totalClaim > 0, \"No rewards to claim\");\n        require(token.balanceOf(address(this)) >= totalClaim, \"Insufficient contract balance\");\n\n        user.totalMined += totalClaim;\n        user.totalClaimed += totalClaim;\n        user.lastclaimtime = block.timestamp;\n        user.lastclaimed = block.timestamp;\n        user.pendingreward = 0;\n        totalclaimed += totalClaim;\n        if(block.timestamp >= user.endTime) user.totalpower = 0;\n        // Transfer  tokens to user\n        require(token.transfer(msg.sender, totalClaim), \"Transfer failed\");\n\n        emit RewardClaimed(msg.sender, totalClaim);\n    }\n\n    function getAllTransactionsPaginated(uint256 _page, uint256 _limit) external view returns (Transaction[] memory, uint256 totalPages) {\n        require(_limit > 0, \"Limit must be > 0\");\n\n        uint256 total = transactionIdCounter;\n        if (total == 0) {\n            return (new Transaction[](0), 0);\n        }\n\n        totalPages = (total + _limit - 1) / _limit;\n\n        if (_page >= totalPages) {\n            return (new Transaction[](0), totalPages);\n        }\n\n        uint256 startIndex = total - 1 - (_page * _limit);\n\n        uint256 endIndex = (startIndex >= _limit - 1)\n            ? startIndex - (_limit - 1)\n            : 0;\n\n        // result size\n        uint256 resultSize = startIndex - endIndex + 1;\n\n        Transaction[] memory result = new Transaction[](resultSize);\n\n        uint256 counter = 0;\n        for (uint256 i = startIndex; i >= endIndex; i--) {\n            result[counter] = transactions[i];\n            counter++;\n\n            // break when we hit index 0 to prevent uint underflow\n            if (i == 0) break;\n        }\n\n        return (result, totalPages);\n    }\n\n\n\n    // Pagination functions\n    function getUserTransactionsPaginated(\n        address _user,\n        uint256 _page,\n        uint256 _limit\n    ) external view returns (Transaction[] memory, uint256 totalPages) {\n        uint256 total = userTransactionCount[_user];\n        totalPages = (total + _limit - 1) / _limit;\n\n        if (_page >= totalPages || total == 0) {\n            return (new Transaction[](0), totalPages);\n        }\n\n        uint256 start = _page * _limit;\n        uint256 end = start + _limit;\n        if (end > total) end = total;\n\n        uint256 resultSize = end - start;\n        Transaction[] memory result = new Transaction[](resultSize);\n\n        for (uint256 i = 0; i < resultSize; i++) {\n            uint256 txId = userTransactionIndex[_user][start + i];\n            result[i] = transactions[txId];\n        }\n\n        return (result, totalPages);\n    }\n\n    function getUserReferralTransactionsPaginated(\n        address _user,\n        uint256 _page,\n        uint256 _limit\n    ) external view returns (Transaction[] memory, uint256 totalPages) {\n        uint256 total = users[_user].referralIds.length;\n\n        // Calculate totalPages (same formula you use already)\n        totalPages = (total + _limit - 1) / _limit;\n\n        // If page is out of range or no items -> return empty array\n        if (_page >= totalPages || total == 0) {\n            return (new Transaction[](0), totalPages);\n        }\n\n        // Calculate indexes\n        uint256 start = _page * _limit;\n        uint256 end = start + _limit;\n        if (end > total) end = total;\n\n        uint256 resultSize = end - start;\n\n        // Create output array\n        Transaction[] memory result = new Transaction[](resultSize);\n\n        // Fill with paginated referral transactions\n        for (uint256 i = 0; i < resultSize; i++) {\n            uint256 refTxId = users[_user].referralIds[start + i];\n            result[i] = transactions[refTxId];\n        }\n\n        return (result, totalPages);\n    }\n\n    function getUserBoosterTransactionsPaginated(\n        address _user,\n        uint256 _page,\n        uint256 _limit\n    ) external view returns (Transaction[] memory, uint256 totalPages) {\n        uint256 total = users[_user].boosterIds.length;\n\n        // Total pages calculation\n        totalPages = (total + _limit - 1) / _limit;\n\n        // No data or out-of-range page → return empty array\n        if (_page >= totalPages || total == 0) {\n            return (new Transaction[](0), totalPages);\n        }\n\n        // Calculate slice range\n        uint256 start = _page * _limit;\n        uint256 end = start + _limit;\n        if (end > total) end = total;\n\n        uint256 size = end - start;\n\n        Transaction[] memory result = new Transaction[](size);\n\n        // Fill response with booster transactions\n        for (uint256 i = 0; i < size; i++) {\n            uint256 txId = users[_user].boosterIds[start + i];\n            result[i] = transactions[txId];\n        }\n\n        return (result, totalPages);\n    }\n\n\n    // Helper function\n    function _uintToString(uint256 _i) internal pure returns (string memory) {\n        if (_i == 0) return \"0\";\n        uint256 j = _i;\n        uint256 length;\n        while (j != 0) {\n            length++;\n            j /= 10;\n        }\n        bytes memory bstr = new bytes(length);\n        uint256 k = length;\n        j = _i;\n        while (j != 0) {\n            bstr[--k] = bytes1(uint8(48 + (j % 10)));\n            j /= 10;\n        }\n        return string(bstr);\n    }\n\n    // View functions\n\n    function getTransaction(\n        uint256 _txId\n    ) external view returns (Transaction memory) {\n        return transactions[_txId];\n    }\n\n    // Admin functions\n    function addBoosterPlan(\n        string memory _name,\n        uint256 _tokenAmount,\n        uint256 _duration,\n        uint256 _returnPercentage,\n        uint256 _referralper\n    ) external onlyOwner {\n        _addBoosterPlan(_name, _tokenAmount, _duration, _returnPercentage,_referralper);\n    }\n\n    function _addBoosterPlan(\n        string memory _name,\n        uint256 _tokenAmount,\n        uint256 _duration,\n        uint256 _returnPercentage,\n        uint256 _referralper\n    ) internal {\n        boosterPlans[boosterPlanCount] = BoosterPlan({\n            name: _name,\n            usdAmount: _tokenAmount,\n            duration: _duration,\n            returnPercentage: _returnPercentage,\n            active: true,\n            referralper : _referralper\n        });\n\n        emit BoosterPlanAdded(boosterPlanCount, _name);\n        boosterPlanCount++;\n    }\n\n    function updateBoosterPlan(\n        uint256 _planId,\n        string memory _name,\n        uint256 _tokenAmount,\n        uint256 _duration,\n        uint256 _returnPercentage,\n        uint256 _referralper\n    ) external onlyOwner {\n        require(_planId < boosterPlanCount, \"Invalid plan\");\n\n        boosterPlans[_planId].name = _name;\n        boosterPlans[_planId].usdAmount = _tokenAmount;\n        boosterPlans[_planId].duration = _duration;\n        boosterPlans[_planId].returnPercentage = _returnPercentage;\n        boosterPlans[_planId].referralper = _referralper;\n\n        emit BoosterPlanUpdated(_planId);\n    }\n\n    function toggleBoosterPlan(uint256 _planId) external onlyOwner {\n        require(_planId < boosterPlanCount, \"Invalid plan\");\n        boosterPlans[_planId].active = !boosterPlans[_planId].active;\n\n        if (!boosterPlans[_planId].active) {\n            emit BoosterPlanRemoved(_planId);\n        }\n    }\n\n    function getActiveBoosterPlans()\n        external\n        view\n        returns (BoosterPlan[] memory)\n    {\n        uint256 activeCount = 0;\n        for (uint256 i = 0; i < boosterPlanCount; i++) {\n            if (boosterPlans[i].active) activeCount++;\n        }\n\n        BoosterPlan[] memory activePlans = new BoosterPlan[](activeCount);\n        uint256 index = 0;\n        for (uint256 i = 0; i < boosterPlanCount; i++) {\n            if (boosterPlans[i].active) {\n                activePlans[index] = boosterPlans[i];\n                index++;\n            }\n        }\n        return activePlans;\n    }\n\n    function updateToken(address _newToken) external onlyOwner {\n        require(_newToken != address(0), \"Invalid token address\");\n        token = IERC20(_newToken);\n    }\n\n    function withdrawBNB() external onlyOwner {\n        payable(owner()).transfer(address(this).balance);\n    }\n\n    function withdrawTokens(\n        address _token,\n        uint256 _amount\n    ) external onlyOwner {\n        IERC20(_token).transfer(owner(), _amount);\n    }\n\n    function setToken(address _token) external onlyOwner {\n        require(_token != address(0), \"Invalid token address\");\n        token = IERC20(_token);\n    }\n\n    function setSignUpBonus(uint256 _bonus) external onlyOwner {\n        SIGN_UP_BONUS = _bonus;\n    }\n\n    function setBonusDuration(uint256 _duration) external onlyOwner {\n        require(_duration > 0, \"Duration must be > 0\");\n        BONUS_DURATION = _duration;\n    }\n\n    function setReferralDuration(uint256 _duration) external onlyOwner {\n        require(_duration > 0, \"Duration must be > 0\");\n        REFERRAL_DURATION = _duration;\n    }\n\n\n    function getContractInfo()\n        external\n        view\n        returns (\n            address,\n            uint256,\n            uint256,\n            uint256,\n            uint256,\n            uint256,\n            uint256\n        )\n    {\n        return (\n            address(token),\n            SIGN_UP_BONUS,\n            BONUS_DURATION,\n            REFERRAL_DURATION,\n            transactionIdCounter,\n            boosterPlanCount,\n            claimperiod\n        );\n    }\n\n    function getContractStats()\n        external\n        view\n        returns (\n            uint256 _totalUsers,\n            uint256 _totalDeposit,\n            uint256 _totalClaimed\n        )\n    {\n        return (totalusers, totaldeposit, totalclaimed);\n    }\n\n    function setClaimPeriod(uint256 _period) external onlyOwner{\n        claimperiod = _period;\n    }\n\n    function setPair(address _pair) external onlyOwner{\n        lpaddress = IUniswapV2Pair(_pair);\n    }\n\n    function getTokenPrice() public view returns (uint256) {\n        (uint256 reserve0, uint256 reserve1, ) = lpaddress.getReserves();\n        uint256 tokenprice = (reserve0 * (10**28)) / reserve1;\n        return tokenprice;\n    }\n\n    function getOutputAmount(uint256 amount, bool isUsd) public view returns (uint256) {\n        uint256 price = getTokenPrice(); // price in USD (scaled 1e18)\n\n        if (isUsd) {\n            // USD → TOKEN\n            // tokenAmount = usdAmount / price\n            return (amount * 1e18) / price;\n        } else {\n            // TOKEN → USD\n            // usdAmount = tokenAmount * price\n            return (amount * price) / 1e18;\n        }\n    }\n\n    function setSignupPause(bool status) external onlyOwner {\n        signuppause = status;\n    }\n\n    function setBoosterPause(bool status) external onlyOwner {\n        boosterpause = status;\n    }\n\n    function setClaimPause(bool status) external onlyOwner {\n        claimpause = status;\n    }\n}","abi":"[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnableInvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"OwnableUnauthorizedAccount\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"planId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"BoosterPlanAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"planId\",\"type\":\"uint256\"}],\"name\":\"BoosterPlanRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"planId\",\"type\":\"uint256\"}],\"name\":\"BoosterPlanUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"transactionId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"planId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"totalReward\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"totalpaid\",\"type\":\"uint256\"}],\"name\":\"BoosterPurchased\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"referrer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"transactionId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"referee\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"totalReward\",\"type\":\"uint256\"}],\"name\":\"ReferralReward\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"RewardClaimed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"transactionId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"totalReward\",\"type\":\"uint256\"}],\"name\":\"UserSignedUp\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"_tokenAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_duration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_returnPercentage\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_referralper\",\"type\":\"uint256\"}],\"name\":\"addBoosterPlan\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"boosterPlans\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"usdAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"returnPercentage\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"referralper\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"active\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"boosterpause\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"calculatePendingRewards\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"claimRewards\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"claimpause\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getActiveBoosterPlans\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"usdAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"returnPercentage\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"referralper\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"active\",\"type\":\"bool\"}],\"internalType\":\"struct MemeMining.BoosterPlan[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_page\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_limit\",\"type\":\"uint256\"}],\"name\":\"getAllTransactionsPaginated\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"useraddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"transactionId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"transactionType\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"purchaseAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"usdamount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"startTime\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"sourceType\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"referrer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"hashrate\",\"type\":\"uint256\"}],\"internalType\":\"struct MemeMining.Transaction[]\",\"name\":\"\",\"type\":\"tuple[]\"},{\"internalType\":\"uint256\",\"name\":\"totalPages\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getContractInfo\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getContractStats\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_totalUsers\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_totalDeposit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_totalClaimed\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"isUsd\",\"type\":\"bool\"}],\"name\":\"getOutputAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTokenPrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_txId\",\"type\":\"uint256\"}],\"name\":\"getTransaction\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"useraddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"transactionId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"transactionType\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"purchaseAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"usdamount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"startTime\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"sourceType\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"referrer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"hashrate\",\"type\":\"uint256\"}],\"internalType\":\"struct MemeMining.Transaction\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_page\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_limit\",\"type\":\"uint256\"}],\"name\":\"getUserBoosterTransactionsPaginated\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"useraddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"transactionId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"transactionType\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"purchaseAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"usdamount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"startTime\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"sourceType\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"referrer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"hashrate\",\"type\":\"uint256\"}],\"internalType\":\"struct MemeMining.Transaction[]\",\"name\":\"\",\"type\":\"tuple[]\"},{\"internalType\":\"uint256\",\"name\":\"totalPages\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_page\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_limit\",\"type\":\"uint256\"}],\"name\":\"getUserReferralTransactionsPaginated\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"useraddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"transactionId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"transactionType\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"purchaseAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"usdamount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"startTime\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"sourceType\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"referrer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"hashrate\",\"type\":\"uint256\"}],\"internalType\":\"struct MemeMining.Transaction[]\",\"name\":\"\",\"type\":\"tuple[]\"},{\"internalType\":\"uint256\",\"name\":\"totalPages\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_page\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_limit\",\"type\":\"uint256\"}],\"name\":\"getUserTransactionsPaginated\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"useraddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"transactionId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"transactionType\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"purchaseAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"usdamount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"startTime\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"sourceType\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"referrer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"hashrate\",\"type\":\"uint256\"}],\"internalType\":\"struct MemeMining.Transaction[]\",\"name\":\"\",\"type\":\"tuple[]\"},{\"internalType\":\"uint256\",\"name\":\"totalPages\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"isuserpurchasebooster\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lpaddress\",\"outputs\":[{\"internalType\":\"contract IUniswapV2Pair\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_planId\",\"type\":\"uint256\"}],\"name\":\"purchaseBooster\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"referrers\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_duration\",\"type\":\"uint256\"}],\"name\":\"setBonusDuration\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"status\",\"type\":\"bool\"}],\"name\":\"setBoosterPause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"status\",\"type\":\"bool\"}],\"name\":\"setClaimPause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_period\",\"type\":\"uint256\"}],\"name\":\"setClaimPeriod\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_pair\",\"type\":\"address\"}],\"name\":\"setPair\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_duration\",\"type\":\"uint256\"}],\"name\":\"setReferralDuration\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_bonus\",\"type\":\"uint256\"}],\"name\":\"setSignUpBonus\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"status\",\"type\":\"bool\"}],\"name\":\"setSignupPause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"}],\"name\":\"setToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_referrer\",\"type\":\"address\"}],\"name\":\"signUp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"signuppause\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_planId\",\"type\":\"uint256\"}],\"name\":\"toggleBoosterPlan\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"internalType\":\"contract IERC20\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalclaimed\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totaldeposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalusers\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"transactions\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"useraddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"transactionId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"transactionType\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"purchaseAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"usdamount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"startTime\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"sourceType\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"referrer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"hashrate\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_planId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"_tokenAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_duration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_returnPercentage\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_referralper\",\"type\":\"uint256\"}],\"name\":\"updateBoosterPlan\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_newToken\",\"type\":\"address\"}],\"name\":\"updateToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"userTransactionCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"userTransactionIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"users\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"hashrate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"signUpTime\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalMined\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalClaimed\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"hasSignedUp\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"lastclaimed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"endTime\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"pendingreward\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalpower\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"lastclaimtime\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"withdrawBNB\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"withdrawTokens\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]"},"tokens":[{"address":"0xd2739a80cc09d048a782a40bae4b268a71da309b","name":"MEME COIN","symbol":"MEME","decimals":18,"type":"ERC-20","value":"414337188299964877809810","tokenId":null,"price":0.185594872495096}],"summary":{"isContract":true,"isVerified":true,"name":null,"ensName":null,"creator":"0xbb576f8a4283c9cba153f9c79f2ac4fe50fde526","creationTx":null,"publicTags":[],"hasTokens":true,"hasLogs":true,"validatedBlocks":false},"firstLast":{"last":{"hash":"0x2f45819c8463057d9d0d6ff067cbe9dd70beb546c4bc2fcbea06ba2f866c6b8f","timestamp":1788369785,"blockNumber":5067209},"first":null,"fundedBy":null,"complete":false},"tab":"txs","page":1,"offset":25,"scan":{"available":true,"source":"blockscout","ok":true,"message":"OK"},"rows":[{"hash":"0x2f45819c8463057d9d0d6ff067cbe9dd70beb546c4bc2fcbea06ba2f866c6b8f","blockNumber":"5067209","timeStamp":"1788369785","from":"0xcbe7b41227cbe5b14a6385b089a0ce61ef191968","to":"0xf672d186c8bce7e9eba36b91b5bdd5dc247a1b11","contractAddress":"","value":"0","gas":"142173","gasUsed":"132295","gasPrice":"5085220268649","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0xe3d7c6a8e864847e91389285eea8e8536cab92862780e1d24b79d163dbd03be0","blockNumber":"5062293","timeStamp":"1788359953","from":"0x1a60ba20d03ddd15033aad38797c426118aed7fd","to":"0xf672d186c8bce7e9eba36b91b5bdd5dc247a1b11","contractAddress":"","value":"0","gas":"105871","gasUsed":"100095","gasPrice":"4560666433141","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0xd35047445fb69397b40cd32ff0cc344a58c6221ddf585f30a0321869c3686578","blockNumber":"5062208","timeStamp":"1788359783","from":"0xf125b5c146960574b5a73d6c2564d05d5c529b71","to":"0xf672d186c8bce7e9eba36b91b5bdd5dc247a1b11","contractAddress":"","value":"0","gas":"105871","gasUsed":"100095","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x1d311970e465250688bab5146b997a95f620ab0c29c9cbaaa49bbb8967c7e38d","blockNumber":"5062150","timeStamp":"1788359667","from":"0xd7e76d947e220bb0eac173ff6297480daf709fcd","to":"0xf672d186c8bce7e9eba36b91b5bdd5dc247a1b11","contractAddress":"","value":"0","gas":"901952","gasUsed":"888892","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x6f4a3ad70000000000000000000000000000000000000000000000000000000000000000","methodId":"0x6f4a3ad7","functionName":"purchaseBooster"},{"hash":"0xecbbd53be930b0d4789dd2cfc59615ddc8ae2b81dc82b1b12bc8ffa5368c6056","blockNumber":"5062109","timeStamp":"1788359585","from":"0xd7e76d947e220bb0eac173ff6297480daf709fcd","to":"0xf672d186c8bce7e9eba36b91b5bdd5dc247a1b11","contractAddress":"","value":"0","gas":"535826","gasUsed":"530449","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0xcb9429b50000000000000000000000006a0c5242b17ccdb805df1f1b3747b6ea95a65957","methodId":"0xcb9429b5","functionName":"signUp"},{"hash":"0xb686c8c17f6fb5a554b625ba8a2689ffbd092b2849b8547257e7cf24d104085d","blockNumber":"5061872","timeStamp":"1788359111","from":"0x65f57357eeaffdfcfa86dd6b91a2adaaeca1fcce","to":"0xf672d186c8bce7e9eba36b91b5bdd5dc247a1b11","contractAddress":"","value":"0","gas":"512847","gasUsed":"507651","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x6f4a3ad70000000000000000000000000000000000000000000000000000000000000002","methodId":"0x6f4a3ad7","functionName":"purchaseBooster"},{"hash":"0x6bfedf577b7c8da3e6e4844963d11a59e99bee936ebd130394c6f0b582023fb4","blockNumber":"5061852","timeStamp":"1788359071","from":"0x65f57357eeaffdfcfa86dd6b91a2adaaeca1fcce","to":"0xf672d186c8bce7e9eba36b91b5bdd5dc247a1b11","contractAddress":"","value":"0","gas":"510964","gasUsed":"505783","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0xcb9429b50000000000000000000000000000000000000000000000000000000000000000","methodId":"0xcb9429b5","functionName":"signUp"},{"hash":"0x24b14e63bd06c9c74f330b69fb21cff6fe72e065094062192947d81a4ee2ee2b","blockNumber":"5061359","timeStamp":"1788358085","from":"0xc656d8f58ef9a177de866853d170afd4cb388a1d","to":"0xf672d186c8bce7e9eba36b91b5bdd5dc247a1b11","contractAddress":"","value":"0","gas":"88568","gasUsed":"82995","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x4cbce5b65be9423090b83aeb7ecc2a35466f5662f65a164501b8003d57572aa6","blockNumber":"5059966","timeStamp":"1788355299","from":"0xec3deb6b480fd597c8be1a8bc589e08a682d92f3","to":"0xf672d186c8bce7e9eba36b91b5bdd5dc247a1b11","contractAddress":"","value":"0","gas":"91401","gasUsed":"80995","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x276920b11c4ec10422dccc0ba48b7870b443d0b95d6062df544843a7dbb74317","blockNumber":"5059742","timeStamp":"1788354851","from":"0x88fd04b5f60e2984d65c8abd3299aba585d3fcb7","to":"0xf672d186c8bce7e9eba36b91b5bdd5dc247a1b11","contractAddress":"","value":"0","gas":"91401","gasUsed":"80995","gasPrice":"5041442184725","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x92f7eb59183b803330ef0f9dab0dd17c096eab9549b65b1f1fbcb7fba049d0d9","blockNumber":"5059401","timeStamp":"1788354169","from":"0xa338ca2825239886cd415ca7f9395ccb87e0c3ee","to":"0xf672d186c8bce7e9eba36b91b5bdd5dc247a1b11","contractAddress":"","value":"0","gas":"808125","gasUsed":"800604","gasPrice":"5349159723636","isError":"0","txreceipt_status":"1","input":"0x6f4a3ad70000000000000000000000000000000000000000000000000000000000000002","methodId":"0x6f4a3ad7","functionName":"purchaseBooster"},{"hash":"0x56ace75b10a58c58040f4b0b96c042b2642511e67f3e99ec58228156a8bb347c","blockNumber":"5059250","timeStamp":"1788353867","from":"0x2884ad981980c29d4f2d8e727d181acda5373d4c","to":"0xf672d186c8bce7e9eba36b91b5bdd5dc247a1b11","contractAddress":"","value":"0","gas":"808125","gasUsed":"800604","gasPrice":"4840250840217","isError":"0","txreceipt_status":"1","input":"0x6f4a3ad70000000000000000000000000000000000000000000000000000000000000002","methodId":"0x6f4a3ad7","functionName":"purchaseBooster"},{"hash":"0x45f8bbb4357b5bf81fb868daf083a3981ea476d4100eae05103cfe0fe77586be","blockNumber":"5058789","timeStamp":"1788352945","from":"0xed642dd80703d80dc5388db7a44a588f75d37308","to":"0xf672d186c8bce7e9eba36b91b5bdd5dc247a1b11","contractAddress":"","value":"0","gas":"808125","gasUsed":"800604","gasPrice":"4568092333780","isError":"0","txreceipt_status":"1","input":"0x6f4a3ad70000000000000000000000000000000000000000000000000000000000000002","methodId":"0x6f4a3ad7","functionName":"purchaseBooster"},{"hash":"0xe15d8dc834558a99effed67fc28cba5bebc170050fc1cf837043b2f8508fe185","blockNumber":"5056331","timeStamp":"1788348028","from":"0xb4b310a4bb372474706260a1cd86ec0c6522c5d9","to":"0xf672d186c8bce7e9eba36b91b5bdd5dc247a1b11","contractAddress":"","value":"0","gas":"825361","gasUsed":"817704","gasPrice":"5400000000000","isError":"0","txreceipt_status":"1","input":"0x6f4a3ad70000000000000000000000000000000000000000000000000000000000000002","methodId":"0x6f4a3ad7","functionName":"purchaseBooster"},{"hash":"0xdb5daffb03aa339a640f42157cb6eee4f479e6bc82fd9f1de8b23c0b00b44134","blockNumber":"5056321","timeStamp":"1788348008","from":"0xb4b310a4bb372474706260a1cd86ec0c6522c5d9","to":"0xf672d186c8bce7e9eba36b91b5bdd5dc247a1b11","contractAddress":"","value":"0","gas":"91401","gasUsed":"80995","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x4958d9cd6fc1532d6a17787bd4d7476caeecea3e0dbd16cf0413aff870b0d307","blockNumber":"5054788","timeStamp":"1788344942","from":"0xf930174021134d4bff0e4fdd4b27c2f0922f614e","to":"0xf672d186c8bce7e9eba36b91b5bdd5dc247a1b11","contractAddress":"","value":"0","gas":"535826","gasUsed":"530449","gasPrice":"5013706389155","isError":"0","txreceipt_status":"1","input":"0xcb9429b500000000000000000000000066d882621754b9e8a9cd0dee3817e2b5a1b18417","methodId":"0xcb9429b5","functionName":"signUp"},{"hash":"0x0bb36e07a9b867b83f0d064bf413b1c3c146c43140c8f68165003e4d9a930276","blockNumber":"5054698","timeStamp":"1788344762","from":"0xe96ddb8e7df86df4397afa4d8062f28ab5685d55","to":"0xf672d186c8bce7e9eba36b91b5bdd5dc247a1b11","contractAddress":"","value":"0","gas":"535826","gasUsed":"530449","gasPrice":"4675076046234","isError":"0","txreceipt_status":"1","input":"0xcb9429b500000000000000000000000066d882621754b9e8a9cd0dee3817e2b5a1b18417","methodId":"0xcb9429b5","functionName":"signUp"},{"hash":"0xf4703621ba259aff4c565d4210984ab67035d408f2a3a4c140a941f3c32bfa8e","blockNumber":"5054606","timeStamp":"1788344578","from":"0x7aa237e7707b8956bdfa93e17c980439a5cc1981","to":"0xf672d186c8bce7e9eba36b91b5bdd5dc247a1b11","contractAddress":"","value":"0","gas":"535826","gasUsed":"530449","gasPrice":"4918862192929","isError":"0","txreceipt_status":"1","input":"0xcb9429b500000000000000000000000066d882621754b9e8a9cd0dee3817e2b5a1b18417","methodId":"0xcb9429b5","functionName":"signUp"},{"hash":"0xad6d75dd7788151b593daa060fb760a03c8bf14cbc5708c841aad94d26971c3a","blockNumber":"5054482","timeStamp":"1788344330","from":"0x8252ed8c2844f547a076dbc7bf64ebaa65c3b73d","to":"0xf672d186c8bce7e9eba36b91b5bdd5dc247a1b11","contractAddress":"","value":"0","gas":"535826","gasUsed":"530449","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0xcb9429b500000000000000000000000066d882621754b9e8a9cd0dee3817e2b5a1b18417","methodId":"0xcb9429b5","functionName":"signUp"},{"hash":"0xe1bf01362db028ff1bf4d72a5894b0e544e9842f86486b5f9823bd1cdad1f5dc","blockNumber":"5054423","timeStamp":"1788344212","from":"0x835db982782196b376c63ddc3f23c8503d043b6e","to":"0xf672d186c8bce7e9eba36b91b5bdd5dc247a1b11","contractAddress":"","value":"0","gas":"535826","gasUsed":"530449","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0xcb9429b500000000000000000000000051deba4d9dade4c93f08b3144f3627c7abb1ea72","methodId":"0xcb9429b5","functionName":"signUp"},{"hash":"0x1b57c73d417cdfab8fda73af2389e6e9c4a96bdf5b8d612c37c888343fa9f96d","blockNumber":"5054403","timeStamp":"1788344172","from":"0x8f331a29f78de715d19c63c7547a64fb6d05d90d","to":"0xf672d186c8bce7e9eba36b91b5bdd5dc247a1b11","contractAddress":"","value":"0","gas":"535826","gasUsed":"530449","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0xcb9429b500000000000000000000000066d882621754b9e8a9cd0dee3817e2b5a1b18417","methodId":"0xcb9429b5","functionName":"signUp"},{"hash":"0x50bd953e89e39a0d90ce03b0b7c7850c5837493d07f11e64413ab4fd39d0871d","blockNumber":"5054296","timeStamp":"1788343958","from":"0x8c5867c90e6272b1a8c1f14ffb19b3c04f2930ff","to":"0xf672d186c8bce7e9eba36b91b5bdd5dc247a1b11","contractAddress":"","value":"0","gas":"535826","gasUsed":"530449","gasPrice":"4541970165046","isError":"0","txreceipt_status":"1","input":"0xcb9429b500000000000000000000000066d882621754b9e8a9cd0dee3817e2b5a1b18417","methodId":"0xcb9429b5","functionName":"signUp"},{"hash":"0x5caf7f42c675f303faf3867c5176bd1e1157d167f1e2718360bc154a27306beb","blockNumber":"5054175","timeStamp":"1788343716","from":"0x25ce0aa359666e9d1e1caa43a9a905c8c514b198","to":"0xf672d186c8bce7e9eba36b91b5bdd5dc247a1b11","contractAddress":"","value":"0","gas":"535826","gasUsed":"530449","gasPrice":"4539460008426","isError":"0","txreceipt_status":"1","input":"0xcb9429b500000000000000000000000066d882621754b9e8a9cd0dee3817e2b5a1b18417","methodId":"0xcb9429b5","functionName":"signUp"},{"hash":"0xb57ee2e296eb03aaa9e6edd1e8fcea02c1db53d8fdc97ebff756cb12a6d19069","blockNumber":"5054098","timeStamp":"1788343562","from":"0xdacbfa27cd1b524f135a74241c304c3a03221db2","to":"0xf672d186c8bce7e9eba36b91b5bdd5dc247a1b11","contractAddress":"","value":"0","gas":"535826","gasUsed":"530449","gasPrice":"4850483585080","isError":"0","txreceipt_status":"1","input":"0xcb9429b500000000000000000000000066d882621754b9e8a9cd0dee3817e2b5a1b18417","methodId":"0xcb9429b5","functionName":"signUp"},{"hash":"0xf94be1bcd337ad8adfe1e74a596e83ac005942cbca45defc67b799ba4ee9971c","blockNumber":"5053949","timeStamp":"1788343264","from":"0x5e012d2519ce737a2af9bf11e5f1d91499748ec9","to":"0xf672d186c8bce7e9eba36b91b5bdd5dc247a1b11","contractAddress":"","value":"0","gas":"535826","gasUsed":"530449","gasPrice":"5213965631294","isError":"0","txreceipt_status":"1","input":"0xcb9429b500000000000000000000000066d882621754b9e8a9cd0dee3817e2b5a1b18417","methodId":"0xcb9429b5","functionName":"signUp"},{"hash":"0x121c3c0c88438053fb90b0351c2693f659209ec15f10d740320271536a0fcb54","blockNumber":"5052990","timeStamp":"1788341346","from":"0xb7ce7f7a2ec513666395282cb6950744bec74a99","to":"0xf672d186c8bce7e9eba36b91b5bdd5dc247a1b11","contractAddress":"","value":"0","gas":"108705","gasUsed":"98095","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x3a022cebbc8c6f6ab5cb4aa23e00823880be85a3fe856289adf70889c66deb5d","blockNumber":"5052802","timeStamp":"1788340970","from":"0xdee77b24dcb5b8903aac44cf2b7048182d4d23bd","to":"0xf672d186c8bce7e9eba36b91b5bdd5dc247a1b11","contractAddress":"","value":"0","gas":"808125","gasUsed":"800604","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x6f4a3ad70000000000000000000000000000000000000000000000000000000000000002","methodId":"0x6f4a3ad7","functionName":"purchaseBooster"},{"hash":"0x6bc07ba43af10776af7b9ad5c1afb5c7cb8dda8649a3b0cc03305b74f242d35d","blockNumber":"5052795","timeStamp":"1788340956","from":"0xdee77b24dcb5b8903aac44cf2b7048182d4d23bd","to":"0xf672d186c8bce7e9eba36b91b5bdd5dc247a1b11","contractAddress":"","value":"0","gas":"808125","gasUsed":"800604","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x6f4a3ad70000000000000000000000000000000000000000000000000000000000000002","methodId":"0x6f4a3ad7","functionName":"purchaseBooster"},{"hash":"0xa51cc04314b3b1665138c00dc1c0e5f7b11a4b70e4e7c0ce4023004833138ca7","blockNumber":"5052789","timeStamp":"1788340944","from":"0xdee77b24dcb5b8903aac44cf2b7048182d4d23bd","to":"0xf672d186c8bce7e9eba36b91b5bdd5dc247a1b11","contractAddress":"","value":"0","gas":"808125","gasUsed":"800604","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x6f4a3ad70000000000000000000000000000000000000000000000000000000000000002","methodId":"0x6f4a3ad7","functionName":"purchaseBooster"},{"hash":"0xb7d36cf4bf3cd3d4deeb658aa974ba27dd8dd1865c66bfb6ec55d02c25071f72","blockNumber":"5052784","timeStamp":"1788340934","from":"0xdee77b24dcb5b8903aac44cf2b7048182d4d23bd","to":"0xf672d186c8bce7e9eba36b91b5bdd5dc247a1b11","contractAddress":"","value":"0","gas":"808125","gasUsed":"800604","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x6f4a3ad70000000000000000000000000000000000000000000000000000000000000002","methodId":"0x6f4a3ad7","functionName":"purchaseBooster"},{"hash":"0x3a0e2b89557d9ed97cd8ffaf3745964c2cb8bc7a49c860a0b0a4c8cfe44b5c0f","blockNumber":"5052775","timeStamp":"1788340916","from":"0xdee77b24dcb5b8903aac44cf2b7048182d4d23bd","to":"0xf672d186c8bce7e9eba36b91b5bdd5dc247a1b11","contractAddress":"","value":"0","gas":"808125","gasUsed":"800604","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x6f4a3ad70000000000000000000000000000000000000000000000000000000000000002","methodId":"0x6f4a3ad7","functionName":"purchaseBooster"},{"hash":"0xa174037a883533593c230551e0f48cdcc876e188d9d2419532b7b1e65b9f035b","blockNumber":"5052769","timeStamp":"1788340904","from":"0xdee77b24dcb5b8903aac44cf2b7048182d4d23bd","to":"0xf672d186c8bce7e9eba36b91b5bdd5dc247a1b11","contractAddress":"","value":"0","gas":"808125","gasUsed":"800604","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x6f4a3ad70000000000000000000000000000000000000000000000000000000000000002","methodId":"0x6f4a3ad7","functionName":"purchaseBooster"},{"hash":"0xd6499d906e5d5122386725eb37946a842b999e94cd078bc8960e1b1ec0b755eb","blockNumber":"5052763","timeStamp":"1788340892","from":"0xdee77b24dcb5b8903aac44cf2b7048182d4d23bd","to":"0xf672d186c8bce7e9eba36b91b5bdd5dc247a1b11","contractAddress":"","value":"0","gas":"808125","gasUsed":"800604","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x6f4a3ad70000000000000000000000000000000000000000000000000000000000000002","methodId":"0x6f4a3ad7","functionName":"purchaseBooster"},{"hash":"0xfbe2aac3b852e0739c6581d0cf9b1307697ab3151b0bbc8801367e35db18933e","blockNumber":"5052757","timeStamp":"1788340880","from":"0xdee77b24dcb5b8903aac44cf2b7048182d4d23bd","to":"0xf672d186c8bce7e9eba36b91b5bdd5dc247a1b11","contractAddress":"","value":"0","gas":"808125","gasUsed":"800604","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x6f4a3ad70000000000000000000000000000000000000000000000000000000000000002","methodId":"0x6f4a3ad7","functionName":"purchaseBooster"},{"hash":"0x072b3f231379b4da6b6ccdb24eae3abf0a0e265adfe8141c4b7e1fffa38e6218","blockNumber":"5052752","timeStamp":"1788340870","from":"0xdee77b24dcb5b8903aac44cf2b7048182d4d23bd","to":"0xf672d186c8bce7e9eba36b91b5bdd5dc247a1b11","contractAddress":"","value":"0","gas":"808125","gasUsed":"800604","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x6f4a3ad70000000000000000000000000000000000000000000000000000000000000002","methodId":"0x6f4a3ad7","functionName":"purchaseBooster"},{"hash":"0xcdb91c3444f99abecf400276c25384f452e908bb9bf5d67c046e1c477715979e","blockNumber":"5052745","timeStamp":"1788340856","from":"0xdee77b24dcb5b8903aac44cf2b7048182d4d23bd","to":"0xf672d186c8bce7e9eba36b91b5bdd5dc247a1b11","contractAddress":"","value":"0","gas":"808125","gasUsed":"800604","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x6f4a3ad70000000000000000000000000000000000000000000000000000000000000002","methodId":"0x6f4a3ad7","functionName":"purchaseBooster"},{"hash":"0x92fdb1af466b21cde829b5a804b565cd31dfda3fc489c669ca51578777d13752","blockNumber":"5052739","timeStamp":"1788340844","from":"0xdee77b24dcb5b8903aac44cf2b7048182d4d23bd","to":"0xf672d186c8bce7e9eba36b91b5bdd5dc247a1b11","contractAddress":"","value":"0","gas":"808125","gasUsed":"800604","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x6f4a3ad70000000000000000000000000000000000000000000000000000000000000002","methodId":"0x6f4a3ad7","functionName":"purchaseBooster"},{"hash":"0x4b4162bcdf705582f53ed5c58865f7d7053e0782313c00b071edb2e706f88928","blockNumber":"5052716","timeStamp":"1788340798","from":"0xdee77b24dcb5b8903aac44cf2b7048182d4d23bd","to":"0xf672d186c8bce7e9eba36b91b5bdd5dc247a1b11","contractAddress":"","value":"0","gas":"808125","gasUsed":"800604","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x6f4a3ad70000000000000000000000000000000000000000000000000000000000000002","methodId":"0x6f4a3ad7","functionName":"purchaseBooster"},{"hash":"0x17df8f4503fed95b9fd99a12135e0322f24ca84bca55cdca4df460fa9da4c02d","blockNumber":"5052711","timeStamp":"1788340788","from":"0xdee77b24dcb5b8903aac44cf2b7048182d4d23bd","to":"0xf672d186c8bce7e9eba36b91b5bdd5dc247a1b11","contractAddress":"","value":"0","gas":"808125","gasUsed":"800604","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x6f4a3ad70000000000000000000000000000000000000000000000000000000000000002","methodId":"0x6f4a3ad7","functionName":"purchaseBooster"},{"hash":"0x8b07d4bd331d3b0853cd0c95011a7a6ae7e2d1e3a72dd56498811da6d46475b9","blockNumber":"5052706","timeStamp":"1788340778","from":"0xdee77b24dcb5b8903aac44cf2b7048182d4d23bd","to":"0xf672d186c8bce7e9eba36b91b5bdd5dc247a1b11","contractAddress":"","value":"0","gas":"808125","gasUsed":"800604","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x6f4a3ad70000000000000000000000000000000000000000000000000000000000000002","methodId":"0x6f4a3ad7","functionName":"purchaseBooster"},{"hash":"0x2116d76e5d185a1953f50282d9c81aedd352cc5ac747625b9c70c00fc54a3e88","blockNumber":"5052700","timeStamp":"1788340766","from":"0xdee77b24dcb5b8903aac44cf2b7048182d4d23bd","to":"0xf672d186c8bce7e9eba36b91b5bdd5dc247a1b11","contractAddress":"","value":"0","gas":"808125","gasUsed":"800604","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x6f4a3ad70000000000000000000000000000000000000000000000000000000000000002","methodId":"0x6f4a3ad7","functionName":"purchaseBooster"},{"hash":"0x61a1876df02b9d4584da769c9b0120cb022c91b1a14006d6e4cb7eec82c2160b","blockNumber":"5052695","timeStamp":"1788340756","from":"0xdee77b24dcb5b8903aac44cf2b7048182d4d23bd","to":"0xf672d186c8bce7e9eba36b91b5bdd5dc247a1b11","contractAddress":"","value":"0","gas":"808125","gasUsed":"800604","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x6f4a3ad70000000000000000000000000000000000000000000000000000000000000002","methodId":"0x6f4a3ad7","functionName":"purchaseBooster"},{"hash":"0x6a9ade7b568be5fb31ef37ec356b051ce22cd017010f8b8df84d0b8878977e95","blockNumber":"5052689","timeStamp":"1788340744","from":"0xdee77b24dcb5b8903aac44cf2b7048182d4d23bd","to":"0xf672d186c8bce7e9eba36b91b5bdd5dc247a1b11","contractAddress":"","value":"0","gas":"808125","gasUsed":"800604","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x6f4a3ad70000000000000000000000000000000000000000000000000000000000000002","methodId":"0x6f4a3ad7","functionName":"purchaseBooster"},{"hash":"0x37c233cfa3a22d9c11f1bf0cab2acde0166a66cb778a74eedb31f9ba6477041c","blockNumber":"5052684","timeStamp":"1788340734","from":"0xdee77b24dcb5b8903aac44cf2b7048182d4d23bd","to":"0xf672d186c8bce7e9eba36b91b5bdd5dc247a1b11","contractAddress":"","value":"0","gas":"808125","gasUsed":"800604","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x6f4a3ad70000000000000000000000000000000000000000000000000000000000000002","methodId":"0x6f4a3ad7","functionName":"purchaseBooster"},{"hash":"0x99fab43d9c890e04529473926a38fe93384356c7a925d536cc6e9f7f1b26e9f6","blockNumber":"5052677","timeStamp":"1788340720","from":"0xdee77b24dcb5b8903aac44cf2b7048182d4d23bd","to":"0xf672d186c8bce7e9eba36b91b5bdd5dc247a1b11","contractAddress":"","value":"0","gas":"808125","gasUsed":"800604","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x6f4a3ad70000000000000000000000000000000000000000000000000000000000000002","methodId":"0x6f4a3ad7","functionName":"purchaseBooster"},{"hash":"0x622e3abd1f2c020f58699f4cf1df782d5040752a045b8d042169a41864f21e06","blockNumber":"5052671","timeStamp":"1788340708","from":"0xdee77b24dcb5b8903aac44cf2b7048182d4d23bd","to":"0xf672d186c8bce7e9eba36b91b5bdd5dc247a1b11","contractAddress":"","value":"0","gas":"808125","gasUsed":"800604","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x6f4a3ad70000000000000000000000000000000000000000000000000000000000000002","methodId":"0x6f4a3ad7","functionName":"purchaseBooster"},{"hash":"0x7dbdedfd88eb2dde66c89eafef74c5dcf5deb25592f07da48188d336320e4d79","blockNumber":"5052666","timeStamp":"1788340698","from":"0xdee77b24dcb5b8903aac44cf2b7048182d4d23bd","to":"0xf672d186c8bce7e9eba36b91b5bdd5dc247a1b11","contractAddress":"","value":"0","gas":"808125","gasUsed":"800604","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x6f4a3ad70000000000000000000000000000000000000000000000000000000000000002","methodId":"0x6f4a3ad7","functionName":"purchaseBooster"},{"hash":"0x86774045954de5013ecf66180cb792190ca2f0046693d2a9fb2a36a7d6567776","blockNumber":"5052659","timeStamp":"1788340684","from":"0xdee77b24dcb5b8903aac44cf2b7048182d4d23bd","to":"0xf672d186c8bce7e9eba36b91b5bdd5dc247a1b11","contractAddress":"","value":"0","gas":"808125","gasUsed":"800604","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x6f4a3ad70000000000000000000000000000000000000000000000000000000000000002","methodId":"0x6f4a3ad7","functionName":"purchaseBooster"},{"hash":"0xfacd3a1f5086b8cc2d0cbb60384a5cbde85f8bb51f7b78310800770f75ebbe60","blockNumber":"5052653","timeStamp":"1788340672","from":"0xdee77b24dcb5b8903aac44cf2b7048182d4d23bd","to":"0xf672d186c8bce7e9eba36b91b5bdd5dc247a1b11","contractAddress":"","value":"0","gas":"808125","gasUsed":"800604","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x6f4a3ad70000000000000000000000000000000000000000000000000000000000000002","methodId":"0x6f4a3ad7","functionName":"purchaseBooster"},{"hash":"0x1ee48dfd54c7c062bf4721f13b4da5b21191ef97ee89babdc22b63d6669f5d44","blockNumber":"5052647","timeStamp":"1788340660","from":"0xdee77b24dcb5b8903aac44cf2b7048182d4d23bd","to":"0xf672d186c8bce7e9eba36b91b5bdd5dc247a1b11","contractAddress":"","value":"0","gas":"808125","gasUsed":"800604","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x6f4a3ad70000000000000000000000000000000000000000000000000000000000000002","methodId":"0x6f4a3ad7","functionName":"purchaseBooster"}],"nextCursor":{"block_number":5052647,"fee":"3602718000000000000","hash":"0x1ee48dfd54c7c062bf4721f13b4da5b21191ef97ee89babdc22b63d6669f5d44","index":0,"inserted_at":"2026-09-02T09:17:40.122273Z","items_count":50,"value":"0"}}