{"address":"0xd46f087cad4643b166799fd487c314358ffca924","latest":5077327,"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":14982,"isContract":true,"contract":{"verified":true,"name":"yokCoinMining","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 yokCoinMining 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 bonusPercentages;\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    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        uint256 lastclaimtime;\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(0x3435d20738487C21F24063A4851ff2c6Ba20218b) {\n        token = IERC20(0x772F9A3f5A968F15980e304931b02c4161306b3c);\n        lpaddress = IUniswapV2Pair(0x6f40C3263495EdC2B1396938CA7B635Fa53542cC);\n        // Initialize default booster plans\n        _addBoosterPlan(\"Starter\", 50 * 10 ** 18, 180 days, 12000);\n        _addBoosterPlan(\"Basic\", 100 * 10 ** 18, 180 days, 14000);\n        _addBoosterPlan(\"Advanced\", 500 * 10 ** 18, 180 days, 16000);\n        _addBoosterPlan(\"Premium\", 1000 * 10 ** 18, 180 days, 18000);\n\n        SIGN_UP_BONUS = 30e18;\n        BONUS_DURATION = 180 days;\n        REFERRAL_DURATION = 180 days;\n        bonusPercentages = 500;\n        claimperiod = 1 days;\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        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\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 {\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        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        uint256 level = 1;\n        if (users[current].hasSignedUp && isuserpurchasebooster[current]) {\n            uint256 totalReward = _amount * bonusPercentages / 10000;\n            uint256 usdamount = _usdamount * bonusPercentages / 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(level)\n                    )\n                ),\n                level: level,\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                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].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    ) 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    // Update a single bonus percentage (index 0–2)\n    function setBonusPercentage(\n        uint256 value\n    ) external onlyOwner {\n        bonusPercentages = value;\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            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 getTokenPrice() public view returns (uint256) {\n        (uint256 reserve0, uint256 reserve1, ) = lpaddress.getReserves();\n        uint256 tokenprice = (reserve1 * (10**28)) / reserve0;\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}","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 yokCoinMining.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 yokCoinMining.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\"},{\"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 yokCoinMining.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 yokCoinMining.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 yokCoinMining.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 yokCoinMining.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\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"setBonusPercentage\",\"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\":\"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\"},{\"internalType\":\"uint256\",\"name\":\"lastclaimtime\",\"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":"0x772f9a3f5a968f15980e304931b02c4161306b3c","name":"YOKCOIN","symbol":"YOK","decimals":18,"type":"ERC-20","value":"4469728914520600595845791","tokenId":null,"price":0.08764349873172415}],"summary":{"isContract":true,"isVerified":true,"name":null,"ensName":null,"creator":"0xbb576f8a4283c9cba153f9c79f2ac4fe50fde526","creationTx":null,"publicTags":[],"hasTokens":true,"hasLogs":true,"validatedBlocks":false},"firstLast":{"last":{"hash":"0x74089fe513a0cd00a6b9913f9cfc4b615bd4cd08ceb61345f4d747162ecec829","timestamp":1788388967,"blockNumber":5076800},"first":null,"fundedBy":null,"complete":false},"tab":"txs","page":1,"offset":25,"scan":{"available":true,"source":"blockscout","ok":true,"message":"OK"},"rows":[{"hash":"0x74089fe513a0cd00a6b9913f9cfc4b615bd4cd08ceb61345f4d747162ecec829","blockNumber":"5076800","timeStamp":"1788388967","from":"0x5df074b1faf68c49b5e068695ac2c735b1281d24","to":"0xd46f087cad4643b166799fd487c314358ffca924","contractAddress":"","value":"0","gas":"129558","gasUsed":"80825","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x363fdebcfef91521458b1a432f5d7ae6c30ad69a7132ac4f7c2fe617e0d86764","blockNumber":"5063318","timeStamp":"1788362003","from":"0xe4dcf45c15f695b634d32ec323ba44b965779625","to":"0xd46f087cad4643b166799fd487c314358ffca924","contractAddress":"","value":"0","gas":"86372","gasUsed":"80825","gasPrice":"4665144283175","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x9de8a09b26f2eac7b080b6ae4b562bb3f627887127f1859f2254e51d785a290d","blockNumber":"5063272","timeStamp":"1788361911","from":"0x1a60ba20d03ddd15033aad38797c426118aed7fd","to":"0xd46f087cad4643b166799fd487c314358ffca924","contractAddress":"","value":"0","gas":"103676","gasUsed":"97925","gasPrice":"5035056500323","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x82b2c5e5504f1f0b7c0a1e7c293b746f5ea5e85d372e7b39ba133e5425386de6","blockNumber":"5060954","timeStamp":"1788357275","from":"0x4c8d76efba315b51c2c40b7e23721cedefff6637","to":"0xd46f087cad4643b166799fd487c314358ffca924","contractAddress":"","value":"0","gas":"86372","gasUsed":"80825","gasPrice":"4509905236312","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x87db9ee329ba3eac1550d600bf5437a7d46e959151621997c3218163bd097d4d","blockNumber":"5060492","timeStamp":"1788356351","from":"0xdc576a0ca464312084a18cdcd4179fd95dabbe59","to":"0xd46f087cad4643b166799fd487c314358ffca924","contractAddress":"","value":"0","gas":"103676","gasUsed":"97925","gasPrice":"4625600354867","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0xfb5d2924864df3e49449d89ef7420b5c1a0c5cb4cb83f0303c5d91dde1511d18","blockNumber":"5059915","timeStamp":"1788355197","from":"0xe7596fcf114601137507f35caacf30b71bab1fcc","to":"0xd46f087cad4643b166799fd487c314358ffca924","contractAddress":"","value":"0","gas":"86372","gasUsed":"80825","gasPrice":"4507510612553","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0xdcbb90d4eaa8c2ba1bb22dea8765eb67cb0ac36d31e1434df3b411425392bb95","blockNumber":"5059885","timeStamp":"1788355137","from":"0xa096d1118466d3064cdde60bc973a163b1d9842c","to":"0xd46f087cad4643b166799fd487c314358ffca924","contractAddress":"","value":"0","gas":"86372","gasUsed":"80825","gasPrice":"4507628217479","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0xf3a3b8b86ad400cfccd154e7098bfd5f2d2efa7aa8c74bfb89cdddc63a9a24fa","blockNumber":"5059852","timeStamp":"1788355071","from":"0xc1b77e363a6424bc85e091e702e5da09cdfc63f7","to":"0xd46f087cad4643b166799fd487c314358ffca924","contractAddress":"","value":"0","gas":"86372","gasUsed":"80825","gasPrice":"4501666001172","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x0df1e355ee5220001bae4ddf63188a8f2cd8beb518cd0f99c5d35b0f1456023b","blockNumber":"5059589","timeStamp":"1788354545","from":"0x6f45c67d3c2e38971fd98722d5efd47b134672e5","to":"0xd46f087cad4643b166799fd487c314358ffca924","contractAddress":"","value":"0","gas":"129558","gasUsed":"80825","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x209d1adf2edbcef263181f95a59bb937a30a1b48c344fb277eb25de4bc16e3df","blockNumber":"5059385","timeStamp":"1788354137","from":"0xa338ca2825239886cd415ca7f9395ccb87e0c3ee","to":"0xd46f087cad4643b166799fd487c314358ffca924","contractAddress":"","value":"0","gas":"86372","gasUsed":"80825","gasPrice":"5350438638791","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x5a723e7743ecb781352bed122001843943dd2689d6f6fd4dbec2144d017f14aa","blockNumber":"5059213","timeStamp":"1788353793","from":"0x91f4d6f4217fca3eca5d3fdd7b9795f8e759b71f","to":"0xd46f087cad4643b166799fd487c314358ffca924","contractAddress":"","value":"0","gas":"86372","gasUsed":"80825","gasPrice":"4679833489384","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0xe8e7d17d831a6fe64064d31311e0c0e482fb662d933763aae2009dd6cc8a5087","blockNumber":"5059201","timeStamp":"1788353769","from":"0x1b179b2d80cf2ac2b63a8ece177bafa8d731f1c0","to":"0xd46f087cad4643b166799fd487c314358ffca924","contractAddress":"","value":"0","gas":"86372","gasUsed":"80825","gasPrice":"4679833489384","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x8d8c174dcb6af34cdf3c77d7e172d7dfce0fab79f5bf7283455e79d757013b49","blockNumber":"5058059","timeStamp":"1788351485","from":"0x58b1721505a4bb368bae264c71a7f3ba4217f223","to":"0xd46f087cad4643b166799fd487c314358ffca924","contractAddress":"","value":"0","gas":"86372","gasUsed":"80825","gasPrice":"5361047868598","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0xa27215ffe980701b7346e6f1648549ed3d680f18a5cb0cac6dc0c51e4e274cb6","blockNumber":"5056290","timeStamp":"1788347946","from":"0xa77b5febf8013c0337b4d78c2352cf766466ed32","to":"0xd46f087cad4643b166799fd487c314358ffca924","contractAddress":"","value":"0","gas":"86372","gasUsed":"80825","gasPrice":"4984837196947","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0xfe04938b0394c56033a3a6cdfb727d3101fbc68809198b8e66e6242a1a22106f","blockNumber":"5055991","timeStamp":"1788347348","from":"0x75703b19383c5887dcce2cffae0ad84d597b3339","to":"0xd46f087cad4643b166799fd487c314358ffca924","contractAddress":"","value":"0","gas":"129558","gasUsed":"80825","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0xb0098c9a695d3be8c375ce4d809e089b83aeb85274c8e2de55b29b93eb23b928","blockNumber":"5055321","timeStamp":"1788346008","from":"0x9c24e51d3c626b419012e43c835cc63fd875501e","to":"0xd46f087cad4643b166799fd487c314358ffca924","contractAddress":"","value":"0","gas":"86372","gasUsed":"80825","gasPrice":"4867759829447","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x23fc8af70fdbab301bfa8ba4a21f8808858f2c1eb49df07cadda9cf425d51c9d","blockNumber":"5054818","timeStamp":"1788345002","from":"0x5755efd47346ee8e0e54ab092e058c1f7142292a","to":"0xd46f087cad4643b166799fd487c314358ffca924","contractAddress":"","value":"0","gas":"129558","gasUsed":"80825","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x854897d160893d153b727bd76b607c10ad0edac80c8269e435d892c5277d8638","blockNumber":"5054634","timeStamp":"1788344634","from":"0x56f81577a446587e60a3be860d41c1d62553f151","to":"0xd46f087cad4643b166799fd487c314358ffca924","contractAddress":"","value":"0","gas":"86372","gasUsed":"80825","gasPrice":"4527832231112","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0xbe9846637326578eb00ca82bd6546c6f49138c6da1dafcbce8649c4e31cd7a43","blockNumber":"5054611","timeStamp":"1788344588","from":"0x75e9540eb8d7c43020a7491c6ab345a0018e144c","to":"0xd46f087cad4643b166799fd487c314358ffca924","contractAddress":"","value":"0","gas":"86372","gasUsed":"80825","gasPrice":"4919511431035","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0xe4b502542395000373cafc5e5925bd1990b9972e3589137e02c79dcf2754025e","blockNumber":"5054587","timeStamp":"1788344540","from":"0xbecb467db25f79f9b04e0b20fdec3ef38b4544a9","to":"0xd46f087cad4643b166799fd487c314358ffca924","contractAddress":"","value":"0","gas":"86372","gasUsed":"80825","gasPrice":"5032531032335","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x1ef41e74cea4361412c280b052a7b5cf3bc3314c7fa64f13897c2ce3e4d8f1ea","blockNumber":"5054562","timeStamp":"1788344490","from":"0x7f78b559d0d85b9e4aaaa0663ce1685560847607","to":"0xd46f087cad4643b166799fd487c314358ffca924","contractAddress":"","value":"0","gas":"86372","gasUsed":"80825","gasPrice":"5128766933042","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0xa8e5f4ecbeba8b97e477779c13fc850421d34bef3a744a48ceaf6de6a50b4206","blockNumber":"5054502","timeStamp":"1788344370","from":"0xfa27a4a0b2b2e50207359300af128af16ba2d549","to":"0xd46f087cad4643b166799fd487c314358ffca924","contractAddress":"","value":"0","gas":"86372","gasUsed":"80825","gasPrice":"5580000000000","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x96607704fca965565331b78be2c899cf49c82f5683d49574cf3b14af87f74935","blockNumber":"5054446","timeStamp":"1788344258","from":"0xb575e3d7087ef0b18f769c53e0d17e4e92f35da9","to":"0xd46f087cad4643b166799fd487c314358ffca924","contractAddress":"","value":"0","gas":"86372","gasUsed":"80825","gasPrice":"4516557234388","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0xed2d19c9a07fece37b18c34c5b1e17073dd9f9d9b238ad86994cf51cc2cb6bd5","blockNumber":"5054141","timeStamp":"1788343648","from":"0x86ff254c931453174a2d2528d7875fa78cd0832f","to":"0xd46f087cad4643b166799fd487c314358ffca924","contractAddress":"","value":"0","gas":"129558","gasUsed":"80825","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x4f1be4a46dc78d4e74bdeaa9260cd2465bbf17acd9d568bee268cd93da65c314","blockNumber":"5047633","timeStamp":"1788330627","from":"0x60dae23a0ac03759dc4439ea048cb3910dc91182","to":"0xd46f087cad4643b166799fd487c314358ffca924","contractAddress":"","value":"0","gas":"103676","gasUsed":"97925","gasPrice":"4998049825519","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x663ecc8f37c35855e834fe3fbf9968a2071231c87df49a25dc9cb9a324c5d475","blockNumber":"5047604","timeStamp":"1788330569","from":"0x51deba4d9dade4c93f08b3144f3627c7abb1ea72","to":"0xd46f087cad4643b166799fd487c314358ffca924","contractAddress":"","value":"0","gas":"103676","gasUsed":"97925","gasPrice":"5020247550560","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x90331099352bddb7018cc5b909b40ac7b21ed6da094ea0ac200fc8c5ddd67919","blockNumber":"5047009","timeStamp":"1788329379","from":"0x3705b3c22ae39e33cb653f128877cd9f5e5edb02","to":"0xd46f087cad4643b166799fd487c314358ffca924","contractAddress":"","value":"0","gas":"205745","gasUsed":"132125","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x48763fa3b677290bb8ae98d60d1bd7ebd81438a79d8b09724a1e7a56c5c98ab3","blockNumber":"5046736","timeStamp":"1788328833","from":"0x3f6d982430297691d8417e6991dc8ddc68af0c26","to":"0xd46f087cad4643b166799fd487c314358ffca924","contractAddress":"","value":"0","gas":"155514","gasUsed":"97925","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x0fdc8646625257bab608c5c8e58bd73130b54935aeb94c67ed000573907f15ed","blockNumber":"5046364","timeStamp":"1788328089","from":"0xe7cd40b6f84dba6a18ad761ccc142aea3db957d0","to":"0xd46f087cad4643b166799fd487c314358ffca924","contractAddress":"","value":"0","gas":"129558","gasUsed":"80825","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0xfd7a2d8543c0d9a338cd7240c3b4e4835f59ac3300910e961024e5889c898a85","blockNumber":"5044624","timeStamp":"1788324609","from":"0xe321eccd0f4875b80c774afb2702ee1127ed9e6b","to":"0xd46f087cad4643b166799fd487c314358ffca924","contractAddress":"","value":"0","gas":"86372","gasUsed":"80825","gasPrice":"4577336861722","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x3b3afa260304093ac456b01cb8a84c83f460009c5b6e7a4f890179e2689ac1e8","blockNumber":"5044596","timeStamp":"1788324553","from":"0x2f4849514d6c28d9b0fa7b8d6ef33ba013515ab5","to":"0xd46f087cad4643b166799fd487c314358ffca924","contractAddress":"","value":"0","gas":"86372","gasUsed":"80825","gasPrice":"4585000512259","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0xa0930dcfde0c4fea7385bb58ddc151670f2bc518e7d920d3f63a97e80d7ede09","blockNumber":"5044574","timeStamp":"1788324509","from":"0xdb809917a3e076d92b47f21a7e16e040eb827295","to":"0xd46f087cad4643b166799fd487c314358ffca924","contractAddress":"","value":"0","gas":"86372","gasUsed":"80825","gasPrice":"5400000000000","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x209b3a5d8d4eb6289f7a5fea7c25d4434b6b767101ab72f48842e9400efb5325","blockNumber":"5044540","timeStamp":"1788324441","from":"0x1641a850d59466df9d12af3359071ea6090b192c","to":"0xd46f087cad4643b166799fd487c314358ffca924","contractAddress":"","value":"0","gas":"86372","gasUsed":"80825","gasPrice":"4522194740794","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x1675c4f6ce399a1a0edd742142f2efa247512b88ef76c05e63d82a29f3671726","blockNumber":"5044330","timeStamp":"1788324021","from":"0x6e24de2ec7cd3db9ade7d6a2a829472fb99c9f4a","to":"0xd46f087cad4643b166799fd487c314358ffca924","contractAddress":"","value":"0","gas":"103676","gasUsed":"97925","gasPrice":"4513171275800","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x209899b1e9a29eab739e535ff8b42d8758ae8de698f6e12f55dc07203e47a8bf","blockNumber":"5044313","timeStamp":"1788323987","from":"0x9d06f6ec8171480c9eedff4e90228aab9d0d17f5","to":"0xd46f087cad4643b166799fd487c314358ffca924","contractAddress":"","value":"0","gas":"103676","gasUsed":"97925","gasPrice":"4705028937559","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x03c180306cad523c7360f35617473c7a9598ae5de2e70e27aa5183e55821dc07","blockNumber":"5044298","timeStamp":"1788323957","from":"0x78947bc2e3bed811acc55b216b88ec61ed2c8254","to":"0xd46f087cad4643b166799fd487c314358ffca924","contractAddress":"","value":"0","gas":"103676","gasUsed":"97925","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x776b18ba5f2d0aa6755e8cd2cd1c0c7d367a22dc4b40d2b17f852a72cf193357","blockNumber":"5043767","timeStamp":"1788322895","from":"0xbbd1d6c1c38838a4722b309921dd6a500b304791","to":"0xd46f087cad4643b166799fd487c314358ffca924","contractAddress":"","value":"0","gas":"86372","gasUsed":"80825","gasPrice":"5151660977534","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x6605c7a09cc278161b5025e9a7f8657ee677440f4f98dcbb6365373143ed7f37","blockNumber":"5043703","timeStamp":"1788322767","from":"0x08703798bc4f878bf640df90a9cc46d4a19ca572","to":"0xd46f087cad4643b166799fd487c314358ffca924","contractAddress":"","value":"0","gas":"129558","gasUsed":"80825","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x521073677243e303975c9ffc6bb8ac8685130e90b365e4e624d91e2cb6ae8fbd","blockNumber":"5043577","timeStamp":"1788322515","from":"0xd2c98f0c44e826756e05302ea6f1840226637b43","to":"0xd46f087cad4643b166799fd487c314358ffca924","contractAddress":"","value":"0","gas":"129558","gasUsed":"80825","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x3d0e99316f291db3e5188da94633ebdd0c0b788347c1d085fb55fa5bef9e0aec","blockNumber":"5041227","timeStamp":"1788317815","from":"0x0306cf3ccbeb82c78cb2a2475518206b01f08080","to":"0xd46f087cad4643b166799fd487c314358ffca924","contractAddress":"","value":"0","gas":"103676","gasUsed":"33000","gasPrice":"4950000000000","isError":"1","txreceipt_status":"0","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x459c69c23a8bccfbcb81e9a4bf4dd11a91c010710d93c3c2836c0f694df7ff14","blockNumber":"5041223","timeStamp":"1788317807","from":"0x0306cf3ccbeb82c78cb2a2475518206b01f08080","to":"0xd46f087cad4643b166799fd487c314358ffca924","contractAddress":"","value":"0","gas":"103676","gasUsed":"97925","gasPrice":"4950000000000","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x76b3444031fa2b357e9ed2a85df84eeb5dc4464c6ad89f6e4b796aacec63bf76","blockNumber":"5040938","timeStamp":"1788317237","from":"0x56649a7a6ddf07f386c3393868d37f03b92da689","to":"0xd46f087cad4643b166799fd487c314358ffca924","contractAddress":"","value":"0","gas":"155514","gasUsed":"97925","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0xd63242526376dd7a5ccafae7ed81aa4c03cbe5670d7fb4e0e3df0d3cf10b94de","blockNumber":"5040594","timeStamp":"1788316549","from":"0xa56d15893a5260b734c91978a8598a47b3e121be","to":"0xd46f087cad4643b166799fd487c314358ffca924","contractAddress":"","value":"0","gas":"129558","gasUsed":"80825","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0xafe7ef70994bf2fc584a8c64bd09b43aa747babd7af849d99dbc95e067c39070","blockNumber":"5040475","timeStamp":"1788316311","from":"0xa5c250e4fa16134f77b46f1bcae856cc06b57a74","to":"0xd46f087cad4643b166799fd487c314358ffca924","contractAddress":"","value":"0","gas":"129558","gasUsed":"80825","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x408ac769f238db0225af9fbcc3332b4509f14e74ade3adb4c9144cdf3797227e","blockNumber":"5039649","timeStamp":"1788314659","from":"0xa5f23ba3ba1ac28f3d84c0ce6407d404e544bd8e","to":"0xd46f087cad4643b166799fd487c314358ffca924","contractAddress":"","value":"0","gas":"86372","gasUsed":"80825","gasPrice":"4852473122673","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x54e7c3efcbf08ab2fbe71a2c43b1c659032e2639fc9290e8d93400079f8008b8","blockNumber":"5039592","timeStamp":"1788314545","from":"0x9c84cf40dafe1dcec8e021520e3f93dedb57e889","to":"0xd46f087cad4643b166799fd487c314358ffca924","contractAddress":"","value":"0","gas":"86372","gasUsed":"80825","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x427c862c24a2a6582c5cb0574d245129dfab83f5bf4ef8d8236fb7b5bcd605a9","blockNumber":"5038894","timeStamp":"1788313149","from":"0x0702f03cbec6ec295b1059221c822238ae3763e5","to":"0xd46f087cad4643b166799fd487c314358ffca924","contractAddress":"","value":"0","gas":"86372","gasUsed":"80825","gasPrice":"4964390987877","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x38f3dfe47091a528ad912fe9ba7abadbcfbe53561dc304ca579bba9f76bbdae0","blockNumber":"5038879","timeStamp":"1788313119","from":"0x825428f736d222d0c1e9759ca4b3e305f652bc1c","to":"0xd46f087cad4643b166799fd487c314358ffca924","contractAddress":"","value":"0","gas":"86372","gasUsed":"80825","gasPrice":"4964390987877","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x0a0c89bf6cbac8f2646bc9b69c6f9975a4b3a78cb9b555558803b9d89c6b0e61","blockNumber":"5038856","timeStamp":"1788313073","from":"0xf6c66cc98314760ee811c10698ba14b07e09adef","to":"0xd46f087cad4643b166799fd487c314358ffca924","contractAddress":"","value":"0","gas":"103676","gasUsed":"97925","gasPrice":"5389530194768","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0xdaf8e05e6914a003eb270c7d8cad0192a358017113fb6ec5d1e6942649838a9c","blockNumber":"5037239","timeStamp":"1788309839","from":"0x5affe3f8c5e22726aa9aef690d7f92829e9e0d20","to":"0xd46f087cad4643b166799fd487c314358ffca924","contractAddress":"","value":"0","gas":"129558","gasUsed":"80825","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"}],"nextCursor":{"block_number":5037239,"fee":"363712500000000000","hash":"0xdaf8e05e6914a003eb270c7d8cad0192a358017113fb6ec5d1e6942649838a9c","index":0,"inserted_at":"2026-09-02T00:43:58.421069Z","items_count":50,"value":"0"}}