{"address":"0x87ec4b0e1cd08a9a82b7b1bf359f0923edbbcacd","latest":5077195,"price":{"usd":0.6114263711880005,"btc":0,"change24h":0,"marketCap":181431307.7126813,"volume24h":0,"source":"onchain","venue":"On-chain pool WDAN/USDT on dannyswap"},"balance":"0","nonce":1,"codeSize":15672,"isContract":true,"contract":{"verified":true,"name":"RescueLoyalyMining","compiler":"v0.8.28+commit.7893614a","optimization":true,"runs":200,"license":"none","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 RescueLoyalyMining 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[5] private bonusPercentages;\n    uint256 private transactionIdCounter;\n    uint256 private boosterPlanCount;\n    uint256 private claimperiod;\n    IUniswapV2Pair private nativelpaddress;\n    \n    uint256 public totalusers;\n    uint256 public totaldeposit;\n    uint256 public totalclaimed;\n\n    struct BoosterPlan {\n        string name;\n        uint256 usdAmount; // token tokens\n        uint256 duration; // in seconds\n        uint256 returnPercentage; // 200 for 200%\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    }\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\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(0xEcb35CAA376af6a94375dFEBaF938FA24bdD8F84) {\n        token = IERC20(0xD84b7c96c23BAb37b585Bac98DFE6651D30F6c11);\n        lpaddress = IUniswapV2Pair(0x0d028280Ea8B9D62c0E9C78d104fDa29034dB212);\n        nativelpaddress = IUniswapV2Pair(0xcE79470C765Cfd64274B0D43128746BDf9e3A5D2);\n        BONUS_DURATION = 180 days;\n        // Initialize default booster plans\n        _addBoosterPlan(\"Basic\", 10 * 10 ** 18, BONUS_DURATION, 18000);\n        _addBoosterPlan(\"Pro\", 50 * 10 ** 18, BONUS_DURATION, 20000);\n        _addBoosterPlan(\"Premium\", 100 * 10 ** 18, BONUS_DURATION, 22000);\n        _addBoosterPlan(\"Elite\", 200 * 10 ** 18, BONUS_DURATION, 24000);\n\n        SIGN_UP_BONUS = 450e18;\n        REFERRAL_DURATION = 30 days;\n        bonusPercentages = [500, 2000, 2000, 2000 , 2000];\n        claimperiod = 1 days;\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 {\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\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\n        _updateRewards(msg.sender ,SIGN_UP_BONUS , BONUS_DURATION);\n        \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 {\n        require(users[msg.sender].hasSignedUp, \"Must sign up first\");\n        require(_planId < boosterPlanCount, \"Invalid plan\");\n        require(boosterPlans[_planId].active, \"Plan not active\");\n        BoosterPlan memory plan = boosterPlans[_planId];\n        uint256 tokenAmount = getOutputAmount(plan.usdAmount , true);\n        require(\n            token.transferFrom(\n                msg.sender,\n                address(this),\n                tokenAmount\n            )\n        );\n        \n        uint256 totalReward = tokenAmount  + ((tokenAmount  * plan.returnPercentage) / 10000);\n        uint256 hashrate = totalReward / plan.duration;\n\n        _processReferralRewards(referrers[msg.sender], msg.sender , tokenAmount , plan.usdAmount , _planId + 1 );\n\n        uint256 txId = transactionIdCounter++;\n\n        transactions[txId] = Transaction({\n            useraddress : msg.sender,\n            transactionId: txId,\n            purchaseAmount : tokenAmount,\n            usdamount : plan.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        \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        uint256 _level\n    ) internal {\n        uint256 level = _level + 1;\n        if (users[_referrer].hasSignedUp) {\n            uint256 totalReward = _amount * bonusPercentages[_level] / 10000;\n            uint256 usdamount = _usdamount * bonusPercentages[_level] / 10000;\n            uint256 hashrate = totalReward / REFERRAL_DURATION;\n\n            uint256 txId = transactionIdCounter++;\n            \n            transactions[txId] = Transaction({\n                useraddress : _referrer,\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(level)\n                    )\n                ),\n                level: level,\n                referrer: _referee,\n                hashrate: hashrate\n            });\n\n            users[_referrer].activeTransactionIds.push(txId);\n            users[_referrer].referralIds.push(txId);\n            userTransactionIndex[_referrer][\n                userTransactionCount[_referrer]\n            ] = txId;\n            userTransactionCount[_referrer]++;\n            users[_referrer].totalpower += hashrate;\n\n            _updateRewards(_referrer, totalReward , REFERRAL_DURATION);\n\n            emit ReferralReward(\n                _referrer,\n                txId,\n                _referee,\n                level,\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 {\n        require(users[msg.sender].hasSignedUp, \"Must sign up first\");\n        require(block.timestamp >= users[msg.sender].lastclaimed + claimperiod , \"Please wait till next claim cycle!\");\n        UserMining storage user = users[msg.sender];\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 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.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    ) external onlyOwner {\n        _addBoosterPlan(_name, _tokenAmount, _duration, _returnPercentage);\n    }\n\n    function _addBoosterPlan(\n        string memory _name,\n        uint256 _tokenAmount,\n        uint256 _duration,\n        uint256 _returnPercentage\n    ) internal {\n        boosterPlans[boosterPlanCount] = BoosterPlan({\n            name: _name,\n            usdAmount: _tokenAmount,\n            duration: _duration,\n            returnPercentage: _returnPercentage,\n            active: true\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    ) 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\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    function setBonusPercentage(\n        uint256 index,\n        uint256 value\n    ) external onlyOwner {\n        require(index < 5, \"Index out of range\");\n        bonusPercentages[index] = value;\n    }\n\n    // Batch update all percentages at once\n    function setBonusPercentages(\n        uint256[5] calldata values\n    ) external onlyOwner {\n        bonusPercentages = values;\n    }\n\n\n    function getContractInfo()\n        external\n        view\n        returns (\n            address,\n            uint256,\n            uint256,\n            uint256,\n            uint256[5] memory,\n            uint256,\n            uint256,\n            uint256\n        )\n    {\n        return (\n            address(token),\n            SIGN_UP_BONUS,\n            BONUS_DURATION,\n            REFERRAL_DURATION,\n            bonusPercentages,\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 setNativePair(address _pair) external onlyOwner{\n        nativelpaddress = IUniswapV2Pair(_pair);\n    }\n\n    function getNativePrice() public view returns (uint256) {\n        (uint256 reserve0, uint256 reserve1, ) = nativelpaddress.getReserves();\n        uint256 tokenprice = (reserve0 * (10**28)) / reserve1;\n        return tokenprice;\n    }\n\n\n    function getTokenPrice() public view returns (uint256) {\n        (uint256 reserve0, uint256 reserve1, ) = lpaddress.getReserves();\n        uint256 tokenpriceDan = (reserve0 * (10**18)) / reserve1;\n        uint256 price = getNativePrice() * tokenpriceDan;\n        return price / (10**18);\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}","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\"}],\"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\":\"bool\",\"name\":\"active\",\"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\":\"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\":\"bool\",\"name\":\"active\",\"type\":\"bool\"}],\"internalType\":\"struct RescueLoyalyMining.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 RescueLoyalyMining.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[5]\",\"name\":\"\",\"type\":\"uint256[5]\"},{\"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\":[],\"name\":\"getNativePrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"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 RescueLoyalyMining.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 RescueLoyalyMining.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 RescueLoyalyMining.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 RescueLoyalyMining.Transaction[]\",\"name\":\"\",\"type\":\"tuple[]\"},{\"internalType\":\"uint256\",\"name\":\"totalPages\",\"type\":\"uint256\"}],\"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\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"setBonusPercentage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[5]\",\"name\":\"values\",\"type\":\"uint256[5]\"}],\"name\":\"setBonusPercentages\",\"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\":\"setNativePair\",\"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\":\"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\":[{\"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\"}],\"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\"}],\"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":"0xd84b7c96c23bab37b585bac98dfe6651d30f6c11","name":"Rescue Loyal","symbol":"RLY","decimals":18,"type":"ERC-20","value":"1911241209669358461086898753","tokenId":null,"price":0.00020411236156509}],"summary":{"isContract":true,"isVerified":true,"name":null,"ensName":null,"creator":"0xbb576f8a4283c9cba153f9c79f2ac4fe50fde526","creationTx":null,"publicTags":[],"hasTokens":true,"hasLogs":true,"validatedBlocks":false},"firstLast":{"last":{"hash":"0x87b28e45856cd4d2f4a72a0c42625c985bed20c43f83b36ab9fd7042d46e8838","timestamp":1788389439,"blockNumber":5077036},"first":null,"fundedBy":null,"complete":false},"tab":"txs","page":1,"offset":25,"scan":{"available":true,"source":"blockscout","ok":true,"message":"OK"},"rows":[{"hash":"0x87b28e45856cd4d2f4a72a0c42625c985bed20c43f83b36ab9fd7042d46e8838","blockNumber":"5077036","timeStamp":"1788389439","from":"0x4385f843f843216dbf629c6f014e985b075eb4fc","to":"0x87ec4b0e1cd08a9a82b7b1bf359f0923edbbcacd","contractAddress":"","value":"0","gas":"801589","gasUsed":"794119","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x6f4a3ad70000000000000000000000000000000000000000000000000000000000000003","methodId":"0x6f4a3ad7","functionName":"purchaseBooster"},{"hash":"0x765dce1e1452c41a25fec1e6752f515e8edeb75dcf6def1da4c884039463e116","blockNumber":"5077005","timeStamp":"1788389377","from":"0x4385f843f843216dbf629c6f014e985b075eb4fc","to":"0x87ec4b0e1cd08a9a82b7b1bf359f0923edbbcacd","contractAddress":"","value":"0","gas":"801589","gasUsed":"794119","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x6f4a3ad70000000000000000000000000000000000000000000000000000000000000003","methodId":"0x6f4a3ad7","functionName":"purchaseBooster"},{"hash":"0xeb8e0533799ebf83aabd49950a5f9545a9bbd1a69b10fdbec53ec086263d5a46","blockNumber":"5076995","timeStamp":"1788389357","from":"0x4385f843f843216dbf629c6f014e985b075eb4fc","to":"0x87ec4b0e1cd08a9a82b7b1bf359f0923edbbcacd","contractAddress":"","value":"0","gas":"818825","gasUsed":"811219","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x6f4a3ad70000000000000000000000000000000000000000000000000000000000000003","methodId":"0x6f4a3ad7","functionName":"purchaseBooster"},{"hash":"0x3680f6747a75cb8b283158d0477b2c36d7fbff87d9a5313817641fb00717bc7b","blockNumber":"5076968","timeStamp":"1788389303","from":"0x4385f843f843216dbf629c6f014e985b075eb4fc","to":"0x87ec4b0e1cd08a9a82b7b1bf359f0923edbbcacd","contractAddress":"","value":"0","gas":"85497","gasUsed":"75160","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x59bfa0ff8d164c4087f43b275dafafa9f2b633ffd7943a1cbf216f1d41d90bbf","blockNumber":"5076721","timeStamp":"1788388809","from":"0xd58d8063e14506c16740f03690257e0902a34276","to":"0x87ec4b0e1cd08a9a82b7b1bf359f0923edbbcacd","contractAddress":"","value":"0","gas":"437250","gasUsed":"432649","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x6f4a3ad70000000000000000000000000000000000000000000000000000000000000003","methodId":"0x6f4a3ad7","functionName":"purchaseBooster"},{"hash":"0x696843e5abd1bd14166714a03704a2972d0202dc5259cd15b510325ce48e9a4c","blockNumber":"5076714","timeStamp":"1788388795","from":"0xd58d8063e14506c16740f03690257e0902a34276","to":"0x87ec4b0e1cd08a9a82b7b1bf359f0923edbbcacd","contractAddress":"","value":"0","gas":"454486","gasUsed":"449749","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x6f4a3ad70000000000000000000000000000000000000000000000000000000000000003","methodId":"0x6f4a3ad7","functionName":"purchaseBooster"},{"hash":"0x2598a306b5ff6bead111ed17ce143d18340f92562163d023cc2f1fab91b154db","blockNumber":"5076687","timeStamp":"1788388741","from":"0xd58d8063e14506c16740f03690257e0902a34276","to":"0x87ec4b0e1cd08a9a82b7b1bf359f0923edbbcacd","contractAddress":"","value":"0","gas":"85497","gasUsed":"75160","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0xb0079ee440fff79bf9c4d60a6463f7713f71a6f45e25c1a717ba6fb804562d53","blockNumber":"5076060","timeStamp":"1788387487","from":"0x6dee9c03524afe1ad45d7304bc154442f645aa3d","to":"0x87ec4b0e1cd08a9a82b7b1bf359f0923edbbcacd","contractAddress":"","value":"0","gas":"120104","gasUsed":"109360","gasPrice":"5188785342352","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0xa4867bdca72e1a3646bc67115c0f7a849145c1054a0a3bf59815d3788fd94668","blockNumber":"5072538","timeStamp":"1788380443","from":"0x71b24d25458598842ced879d484efeabc03e5da7","to":"0x87ec4b0e1cd08a9a82b7b1bf359f0923edbbcacd","contractAddress":"","value":"0","gas":"1228238","gasUsed":"811219","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x6f4a3ad70000000000000000000000000000000000000000000000000000000000000003","methodId":"0x6f4a3ad7","functionName":"purchaseBooster"},{"hash":"0xeb16027327478237de1cebe03218cccefc6f6d6eaef871db66e4a8ae0cbb4739","blockNumber":"5072497","timeStamp":"1788380361","from":"0x71b24d25458598842ced879d484efeabc03e5da7","to":"0x87ec4b0e1cd08a9a82b7b1bf359f0923edbbcacd","contractAddress":"","value":"0","gas":"128246","gasUsed":"75160","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x616797fd730a1ea976e99e14215778ba938bb3b201cebe9bc7d1829ef03dadc8","blockNumber":"5071721","timeStamp":"1788378809","from":"0x6a0c5242b17ccdb805df1f1b3747b6ea95a65957","to":"0x87ec4b0e1cd08a9a82b7b1bf359f0923edbbcacd","contractAddress":"","value":"0","gas":"801589","gasUsed":"794119","gasPrice":"5400000000000","isError":"0","txreceipt_status":"1","input":"0x6f4a3ad70000000000000000000000000000000000000000000000000000000000000003","methodId":"0x6f4a3ad7","functionName":"purchaseBooster"},{"hash":"0x75e2e30aa18f7fdf5b5e2bdbf46eb1fa85c1d8d508a8909fd12eda87f1a407e3","blockNumber":"5071158","timeStamp":"1788377683","from":"0x2e4ee3a373a1592b71888e8c6bac56856b6c21cd","to":"0x87ec4b0e1cd08a9a82b7b1bf359f0923edbbcacd","contractAddress":"","value":"0","gas":"801589","gasUsed":"794119","gasPrice":"5400000000000","isError":"0","txreceipt_status":"1","input":"0x6f4a3ad70000000000000000000000000000000000000000000000000000000000000003","methodId":"0x6f4a3ad7","functionName":"purchaseBooster"},{"hash":"0xff252ca4d8afd3e14ee49886c3768647b4585293bc1ba6943113cfa56cd5ca51","blockNumber":"5068312","timeStamp":"1788371991","from":"0xfb84b43d3855c61917529f38cbebbd79eccf33c8","to":"0x87ec4b0e1cd08a9a82b7b1bf359f0923edbbcacd","contractAddress":"","value":"0","gas":"1254090","gasUsed":"828319","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x6f4a3ad70000000000000000000000000000000000000000000000000000000000000002","methodId":"0x6f4a3ad7","functionName":"purchaseBooster"},{"hash":"0x380784688277cd93fe2bab0ab2a964c33453657cea885c153d5276348f0bea74","blockNumber":"5068216","timeStamp":"1788371799","from":"0x3145f4e89cfd1989b4a64b841fbebf068065ab60","to":"0x87ec4b0e1cd08a9a82b7b1bf359f0923edbbcacd","contractAddress":"","value":"0","gas":"82663","gasUsed":"77160","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0xaedbadd71d4318356310efa5258747586696613427d03ce670c2a64e34e29ca9","blockNumber":"5068131","timeStamp":"1788371629","from":"0xe14fbf819e630dd501eafffffeb67f6974680914","to":"0x87ec4b0e1cd08a9a82b7b1bf359f0923edbbcacd","contractAddress":"","value":"0","gas":"128246","gasUsed":"75160","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x2d9ff48b0f559bb0ffd9a28df98a460d210d4a0c0a9dbc323e1611014f88f547","blockNumber":"5068006","timeStamp":"1788371379","from":"0x2f0246f9624afa2950b67032330e75d28a8b1968","to":"0x87ec4b0e1cd08a9a82b7b1bf359f0923edbbcacd","contractAddress":"","value":"0","gas":"128246","gasUsed":"75160","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0xf1711d1994189c7e2f6863011fe0a2e15986094f1ea3c9a6982b0901c23041fa","blockNumber":"5067053","timeStamp":"1788369473","from":"0xca67f0b4f26171081209da4731dab55c85b3518a","to":"0x87ec4b0e1cd08a9a82b7b1bf359f0923edbbcacd","contractAddress":"","value":"0","gas":"818812","gasUsed":"811207","gasPrice":"4502982983438","isError":"0","txreceipt_status":"1","input":"0x6f4a3ad70000000000000000000000000000000000000000000000000000000000000000","methodId":"0x6f4a3ad7","functionName":"purchaseBooster"},{"hash":"0xb3de6911158272e5d2e5178d148948e00e3b8107699b267d372a24cd752d0656","blockNumber":"5067049","timeStamp":"1788369465","from":"0xa70ae3fddd76ef45a3d8d563c58ed2d2d31592ec","to":"0x87ec4b0e1cd08a9a82b7b1bf359f0923edbbcacd","contractAddress":"","value":"0","gas":"82663","gasUsed":"77160","gasPrice":"4502982983438","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x468109672a6f83b127a23ec9437aea59a1d12c357e8d3dd3ff6a5cc418b664e0","blockNumber":"5067030","timeStamp":"1788369427","from":"0xca67f0b4f26171081209da4731dab55c85b3518a","to":"0x87ec4b0e1cd08a9a82b7b1bf359f0923edbbcacd","contractAddress":"","value":"0","gas":"85497","gasUsed":"75160","gasPrice":"4502982983438","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0xc441eadb7adcb90bc3fc8394a5f0274b91d2828ca4e6bfd881235978e91d1bb3","blockNumber":"5066813","timeStamp":"1788368993","from":"0x9a003c4f5216dc92fe4e86da9623672d4e8c6ff0","to":"0x87ec4b0e1cd08a9a82b7b1bf359f0923edbbcacd","contractAddress":"","value":"0","gas":"836060","gasUsed":"828319","gasPrice":"4503280552360","isError":"0","txreceipt_status":"1","input":"0x6f4a3ad70000000000000000000000000000000000000000000000000000000000000001","methodId":"0x6f4a3ad7","functionName":"purchaseBooster"},{"hash":"0x13799eb212ea14d48bab19a52f872756ca906afa045b7613e6e45ec305888206","blockNumber":"5065441","timeStamp":"1788366249","from":"0x8825cd0baec526c25d71ab8660a317be377c8916","to":"0x87ec4b0e1cd08a9a82b7b1bf359f0923edbbcacd","contractAddress":"","value":"0","gas":"818825","gasUsed":"811219","gasPrice":"4500255847528","isError":"0","txreceipt_status":"1","input":"0x6f4a3ad70000000000000000000000000000000000000000000000000000000000000001","methodId":"0x6f4a3ad7","functionName":"purchaseBooster"},{"hash":"0x7c104d6b3fc00259ff62bce97cfa32e495eca6de27bb8fbaf042b4318e5de660","blockNumber":"5065393","timeStamp":"1788366153","from":"0x8825cd0baec526c25d71ab8660a317be377c8916","to":"0x87ec4b0e1cd08a9a82b7b1bf359f0923edbbcacd","contractAddress":"","value":"0","gas":"82663","gasUsed":"77160","gasPrice":"4500255847528","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x363fd142b0210db45c97bae7f5235fcd95413283d33c3a586b4bfe0af8d09508","blockNumber":"5065374","timeStamp":"1788366115","from":"0x3df9dd33b3b4a49a15ed582eeb9fa7cb5fff3adb","to":"0x87ec4b0e1cd08a9a82b7b1bf359f0923edbbcacd","contractAddress":"","value":"0","gas":"123995","gasUsed":"77160","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x42c1e649439abeb79d8294d474e896fa2c8420c17aca91f560d9c6fadff069e8","blockNumber":"5065253","timeStamp":"1788365873","from":"0xc5d1eb686f5ba1ee8757bd6be01bf3827779de73","to":"0x87ec4b0e1cd08a9a82b7b1bf359f0923edbbcacd","contractAddress":"","value":"0","gas":"82663","gasUsed":"77160","gasPrice":"4500255847528","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x6fc3987f9e1f38308ba575394eb5d4e683f853c74ef4a56a540365c369d9b6c2","blockNumber":"5065217","timeStamp":"1788365801","from":"0xadd0d820d0d456fc0bc374f8a16c822dc2297421","to":"0x87ec4b0e1cd08a9a82b7b1bf359f0923edbbcacd","contractAddress":"","value":"0","gas":"99967","gasUsed":"94260","gasPrice":"4500255847528","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x1bb02ae70c9f2bf6464b4d899f80da8f17fd7af68ba9f0d355ea0adc0c14c1f9","blockNumber":"5065118","timeStamp":"1788365603","from":"0x318569381835930aad14942ee07553808d139d92","to":"0x87ec4b0e1cd08a9a82b7b1bf359f0923edbbcacd","contractAddress":"","value":"0","gas":"99967","gasUsed":"94260","gasPrice":"4500255847528","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x881a1424531ea87a674b26749461d7bc7ed238d86e535601d6bf8ca56e34559d","blockNumber":"5065002","timeStamp":"1788365371","from":"0x414c2c6af38889f93d779bc26ea5241ca8f7a621","to":"0x87ec4b0e1cd08a9a82b7b1bf359f0923edbbcacd","contractAddress":"","value":"0","gas":"123995","gasUsed":"77160","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x220864705ea08e327697282ac77afd84cb618cf2152c1f053cfb96b3495a4cdd","blockNumber":"5064878","timeStamp":"1788365123","from":"0x59d3f7af3d69f6e2f66e15293f126025196b8da7","to":"0x87ec4b0e1cd08a9a82b7b1bf359f0923edbbcacd","contractAddress":"","value":"0","gas":"123995","gasUsed":"77160","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x487393d6d5a0e6bdf3b1138a15ea629ac79721d3a8daad4cdd7f65c2955d371a","blockNumber":"5064826","timeStamp":"1788365019","from":"0xfb84b43d3855c61917529f38cbebbd79eccf33c8","to":"0x87ec4b0e1cd08a9a82b7b1bf359f0923edbbcacd","contractAddress":"","value":"0","gas":"85497","gasUsed":"75160","gasPrice":"4500016744273","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x8ca05d7e65843433e187b8ebd5e8454fe9fe795f4f177fee8a973e003920c071","blockNumber":"5064727","timeStamp":"1788364821","from":"0x63aac0db98abe1f4f3e00aff00a421fd5aa8a73d","to":"0x87ec4b0e1cd08a9a82b7b1bf359f0923edbbcacd","contractAddress":"","value":"0","gas":"123995","gasUsed":"77160","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x3d19f838467c280e5a7fe26e332c9511b7be55306669936b6c1fa2aded8873c5","blockNumber":"5064562","timeStamp":"1788364491","from":"0x791764eb7684e0eca57dc965b17b013d6f8d7f4b","to":"0x87ec4b0e1cd08a9a82b7b1bf359f0923edbbcacd","contractAddress":"","value":"0","gas":"123995","gasUsed":"77160","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x50782ba733d926c5feb57e1ad1c58f1803e86239afff6702b9d5d5c6b5f753ee","blockNumber":"5064389","timeStamp":"1788364145","from":"0x858fb8f7deabd1bafd797a85522ba12e366f0032","to":"0x87ec4b0e1cd08a9a82b7b1bf359f0923edbbcacd","contractAddress":"","value":"0","gas":"123995","gasUsed":"77160","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0xf2fcb0e7758f85f45a3be734fdee0e47ff5e6c187cc67ab643206f9260be7444","blockNumber":"5064214","timeStamp":"1788363795","from":"0x3bdfcb57b8e90d583b6ae9bff70e5cd53735c171","to":"0x87ec4b0e1cd08a9a82b7b1bf359f0923edbbcacd","contractAddress":"","value":"0","gas":"123995","gasUsed":"77160","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x7d34ae5403ac8f40f3032200fff40911768a7ca7b53f7d6f53861dd3579b4b9d","blockNumber":"5063953","timeStamp":"1788363273","from":"0x16083f52b47a2f835851869a32fc7364b224b9b1","to":"0x87ec4b0e1cd08a9a82b7b1bf359f0923edbbcacd","contractAddress":"","value":"0","gas":"123995","gasUsed":"77160","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0xeb8fdcb41c053021bfd9eb9cb26e89c8d54fec68430f4bfe66adef5d51e643a7","blockNumber":"5063868","timeStamp":"1788363103","from":"0x77425915e33685556111a70c8bb6f24db251a91c","to":"0x87ec4b0e1cd08a9a82b7b1bf359f0923edbbcacd","contractAddress":"","value":"0","gas":"123995","gasUsed":"77160","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x64bd79707155fd3501ead7b8fe94fc0089440e4f296ac1c227a810617e60560c","blockNumber":"5063764","timeStamp":"1788362895","from":"0xd2e6ab6d530778974be96630d214574ea54a2e73","to":"0x87ec4b0e1cd08a9a82b7b1bf359f0923edbbcacd","contractAddress":"","value":"0","gas":"123995","gasUsed":"77160","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x69a1dd03400e339b103d54588fc9e130ce801127099dab0eadc7b80c6c4084bc","blockNumber":"5063573","timeStamp":"1788362513","from":"0x892e966cc5e0161123a7c1b70567d04019343953","to":"0x87ec4b0e1cd08a9a82b7b1bf359f0923edbbcacd","contractAddress":"","value":"0","gas":"123995","gasUsed":"77160","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0xb6f98fbea0a019bfe9a3559546ef5d1b363b3c41b0c757d32023fb0859f5d9e2","blockNumber":"5063553","timeStamp":"1788362473","from":"0xf534c665546b252a915456ef4cd85c350f83635f","to":"0x87ec4b0e1cd08a9a82b7b1bf359f0923edbbcacd","contractAddress":"","value":"0","gas":"99967","gasUsed":"94260","gasPrice":"4948612822582","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0xb7099059fa605621597da9cbae1d34d53082c1f0aad6bec6dee457131def5fc8","blockNumber":"5063532","timeStamp":"1788362431","from":"0x4eb43f77ef95559f1091b5fdcf79e4133ca6f0fe","to":"0x87ec4b0e1cd08a9a82b7b1bf359f0923edbbcacd","contractAddress":"","value":"0","gas":"99967","gasUsed":"94260","gasPrice":"4617230710729","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0xbdbefdf5c4292c941e842baf0ec944bb009205b2852b15a3a3da87c05cc8ec5b","blockNumber":"5063513","timeStamp":"1788362393","from":"0x979f1030d3a9f7a0aa14356264c839cec047955f","to":"0x87ec4b0e1cd08a9a82b7b1bf359f0923edbbcacd","contractAddress":"","value":"0","gas":"99967","gasUsed":"94260","gasPrice":"5088476734549","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x76c3deb1bb952d7dbc93fcbecb7b17685fffbc59f9c21fd88fee734f12ce6e63","blockNumber":"5063492","timeStamp":"1788362351","from":"0xd17454aef438f04a9b38a4d4118fb25878a386c8","to":"0x87ec4b0e1cd08a9a82b7b1bf359f0923edbbcacd","contractAddress":"","value":"0","gas":"82663","gasUsed":"77160","gasPrice":"5089038230429","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0xae533b85dd1bc21f05c718a6f248a025113927fc2609088ffa4f632369e6c704","blockNumber":"5063484","timeStamp":"1788362335","from":"0x9a003c4f5216dc92fe4e86da9623672d4e8c6ff0","to":"0x87ec4b0e1cd08a9a82b7b1bf359f0923edbbcacd","contractAddress":"","value":"0","gas":"85497","gasUsed":"75160","gasPrice":"5091604329430","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x32dae9189fd1b03c336d4f6ce638c32195770ba0c2840d594c0655691a9b4477","blockNumber":"5063386","timeStamp":"1788362139","from":"0x088d6a2f26ebd5a368f50b7d468b409b6773fd51","to":"0x87ec4b0e1cd08a9a82b7b1bf359f0923edbbcacd","contractAddress":"","value":"0","gas":"123995","gasUsed":"77160","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x71da1b658b2f361e53462206d1d29fe1f7d949816d6dc8096acb35ee3242a721","blockNumber":"5063176","timeStamp":"1788361719","from":"0xa6557cfaed0cbad89b7c6adac1d43cd72e9ac04a","to":"0x87ec4b0e1cd08a9a82b7b1bf359f0923edbbcacd","contractAddress":"","value":"0","gas":"85497","gasUsed":"75160","gasPrice":"4535765958979","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x724b97d50b671628545b5ea670b3ef6e1d302278ead961fc016841be078fd2f3","blockNumber":"5062499","timeStamp":"1788360365","from":"0x4ed85326fdc5e2a3a8e0997a02cf83862c15de32","to":"0x87ec4b0e1cd08a9a82b7b1bf359f0923edbbcacd","contractAddress":"","value":"0","gas":"102800","gasUsed":"92260","gasPrice":"5205798530394","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x63194c50a182a324c9cd06cd0391c7d4c2dbac9b2afc29a545ff448801f2c9f9","blockNumber":"5062412","timeStamp":"1788360191","from":"0xa3c9e9595028e544e873ce4de6ebf8113d88fe55","to":"0x87ec4b0e1cd08a9a82b7b1bf359f0923edbbcacd","contractAddress":"","value":"0","gas":"123995","gasUsed":"77160","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0xf2320a2018811e6a97a6f90ff6f4f7bb43d9621974cd0a88f6e1fabc47a26dff","blockNumber":"5062281","timeStamp":"1788359929","from":"0x1a60ba20d03ddd15033aad38797c426118aed7fd","to":"0x87ec4b0e1cd08a9a82b7b1bf359f0923edbbcacd","contractAddress":"","value":"0","gas":"99967","gasUsed":"94260","gasPrice":"4870342452651","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x8a077244c8ac9eff32db8be73ff6a56dd6ae97a667457aa3549cae6a3689fc63","blockNumber":"5062259","timeStamp":"1788359885","from":"0x14baa0a4eae58482a1557e0df997970d0d8508e7","to":"0x87ec4b0e1cd08a9a82b7b1bf359f0923edbbcacd","contractAddress":"","value":"0","gas":"123995","gasUsed":"77160","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x084c76cebaca114a926ff275ca173c40b61250e4df3f5363fb6a9f8b1de22afa","blockNumber":"5062248","timeStamp":"1788359863","from":"0xf125b5c146960574b5a73d6c2564d05d5c529b71","to":"0x87ec4b0e1cd08a9a82b7b1bf359f0923edbbcacd","contractAddress":"","value":"0","gas":"99967","gasUsed":"94260","gasPrice":"5104281309782","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x4a1469339918b18d7634c441e4c0ebe0b1a92621bf37ddd9ace4d769bf9533b0","blockNumber":"5061973","timeStamp":"1788359313","from":"0x89277499d441e2e122087f843f42962899b685ea","to":"0x87ec4b0e1cd08a9a82b7b1bf359f0923edbbcacd","contractAddress":"","value":"0","gas":"1202384","gasUsed":"794119","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x6f4a3ad70000000000000000000000000000000000000000000000000000000000000003","methodId":"0x6f4a3ad7","functionName":"purchaseBooster"}],"nextCursor":{"block_number":5061973,"fee":"3573535500000000000","hash":"0x4a1469339918b18d7634c441e4c0ebe0b1a92621bf37ddd9ace4d769bf9533b0","index":1,"inserted_at":"2026-09-02T14:28:32.630258Z","items_count":50,"value":"0"}}