{"address":"0x90f23d8c38424ea6054d0477776e773619fe6ff1","latest":5077321,"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":14942,"isContract":true,"contract":{"verified":true,"name":"SDCMining","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 SDCMining 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    }\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(0x31D4E75638A019bCbFcc662184054c2028DD6330);\n        lpaddress = IUniswapV2Pair(0x9c57947cbE9580A1dac74f23476E1FD45e5AcaE5);\n        // Initialize default booster plans\n        _addBoosterPlan(\"Starter\", 100 * 10 ** 18, 180 days, 12000);\n        _addBoosterPlan(\"Basic\", 500 * 10 ** 18, 180 days, 14000);\n        _addBoosterPlan(\"Advanced\", 1000 * 10 ** 18, 180 days, 16000);\n        _addBoosterPlan(\"Premium\", 1500 * 10 ** 18, 180 days, 18000);\n        _addBoosterPlan(\"Pro\", 2000 * 10 ** 18, 180 days, 20000);\n\n\n        SIGN_UP_BONUS = 50e18;\n        BONUS_DURATION = 30 days;\n        REFERRAL_DURATION = 30 days;\n        bonusPercentages = 500;\n        claimperiod = 7 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\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].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    // 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 SDCMining.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 SDCMining.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 SDCMining.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 SDCMining.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 SDCMining.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 SDCMining.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\"}],\"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":"0x31d4e75638a019bcbfcc662184054c2028dd6330","name":"SANDEE COIN","symbol":"SDC","decimals":18,"type":"ERC-20","value":"2008363097177927079594902","tokenId":null,"price":0.05724022002896258}],"summary":{"isContract":true,"isVerified":true,"name":null,"ensName":null,"creator":"0xbb576f8a4283c9cba153f9c79f2ac4fe50fde526","creationTx":null,"publicTags":[],"hasTokens":true,"hasLogs":true,"validatedBlocks":false},"firstLast":{"last":{"hash":"0x69d9d0d9785962e9f552d814a85b27c1a1213e2564a30d4cbf625592dd6d1ef6","timestamp":1788389909,"blockNumber":5077271},"first":null,"fundedBy":null,"complete":false},"tab":"txs","page":1,"offset":25,"scan":{"available":true,"source":"blockscout","ok":true,"message":"OK"},"rows":[{"hash":"0x69d9d0d9785962e9f552d814a85b27c1a1213e2564a30d4cbf625592dd6d1ef6","blockNumber":"5077271","timeStamp":"1788389909","from":"0xc5d9293d2f43946f365b2e4d8843835a26b3d152","to":"0x90f23d8c38424ea6054d0477776e773619fe6ff1","contractAddress":"","value":"0","gas":"82663","gasUsed":"77160","gasPrice":"5400000000000","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0xe4aebbd08468884e771332a8c28c1d1360951082a22f9fceb336522d5cb96cf8","blockNumber":"5077073","timeStamp":"1788389513","from":"0x7cdf0b4b5eb5488c4c98ce04afc196e457e8604a","to":"0x90f23d8c38424ea6054d0477776e773619fe6ff1","contractAddress":"","value":"0","gas":"123995","gasUsed":"77160","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x5bf962620138e52bc3895b1d68fd16745919f9884383329c7e9eeea51a34b79e","blockNumber":"5076046","timeStamp":"1788387459","from":"0x2ef0483024588589a40b26557760a60e12fdc0b9","to":"0x90f23d8c38424ea6054d0477776e773619fe6ff1","contractAddress":"","value":"0","gas":"123995","gasUsed":"77160","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0xce426ed5df5749b4a5a4dcbb9242b337633563ae1068a752bfd316a58866b451","blockNumber":"5075455","timeStamp":"1788386277","from":"0xec3deb6b480fd597c8be1a8bc589e08a682d92f3","to":"0x90f23d8c38424ea6054d0477776e773619fe6ff1","contractAddress":"","value":"0","gas":"82663","gasUsed":"77160","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x96a6fd615d9764875faf53dee2754035547ceee759cd6999d400e4aaf48a69f8","blockNumber":"5075360","timeStamp":"1788386087","from":"0x84ad339ac706f7c8c82ad72d8ab25858965e334d","to":"0x90f23d8c38424ea6054d0477776e773619fe6ff1","contractAddress":"","value":"0","gas":"99967","gasUsed":"94260","gasPrice":"15000000000007","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0xf0c71d52521c94181298ea397bfb8f8ce863fb4a75076511069939bf21ec634c","blockNumber":"5075246","timeStamp":"1788385859","from":"0x825428f736d222d0c1e9759ca4b3e305f652bc1c","to":"0x90f23d8c38424ea6054d0477776e773619fe6ff1","contractAddress":"","value":"0","gas":"82663","gasUsed":"77160","gasPrice":"15000000000000","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x9ffbd360e3a0a138e58af686491316979ddb5ed67819e242a3a08f69cf171265","blockNumber":"5075075","timeStamp":"1788385517","from":"0x4cab048df3bf97bdfdc69dc1b57b19ea6261656b","to":"0x90f23d8c38424ea6054d0477776e773619fe6ff1","contractAddress":"","value":"0","gas":"123995","gasUsed":"77160","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x4e1ffae09a6eeb5c6f0d079f1e404d491119593870b0d23d7ddf402d59258605","blockNumber":"5067880","timeStamp":"1788371127","from":"0x2f0246f9624afa2950b67032330e75d28a8b1968","to":"0x90f23d8c38424ea6054d0477776e773619fe6ff1","contractAddress":"","value":"0","gas":"123995","gasUsed":"77160","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x15ffd694d5493668a7db8d8520cc6cd3be41bf571a5727400c2d3dc2197ec67b","blockNumber":"5066745","timeStamp":"1788368857","from":"0xa70ae3fddd76ef45a3d8d563c58ed2d2d31592ec","to":"0x90f23d8c38424ea6054d0477776e773619fe6ff1","contractAddress":"","value":"0","gas":"82663","gasUsed":"77160","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x98bcfd9271075d6b04b460112bf60cc1f1ee7d068e24836752aa886ea954a735","blockNumber":"5064647","timeStamp":"1788364661","from":"0x83371ab0eefd8091e1ce835f4718880de31e9638","to":"0x90f23d8c38424ea6054d0477776e773619fe6ff1","contractAddress":"","value":"0","gas":"82663","gasUsed":"77160","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x4675aa6543db545a6428b90fedba7d987d060c07019e219e962ad80ee64ed145","blockNumber":"5063379","timeStamp":"1788362125","from":"0x1a60ba20d03ddd15033aad38797c426118aed7fd","to":"0x90f23d8c38424ea6054d0477776e773619fe6ff1","contractAddress":"","value":"0","gas":"99967","gasUsed":"94260","gasPrice":"5091604329430","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0xa8ad47f56c1636b1179f91845905ed8314658b872777bf869b3e2522a98ba4de","blockNumber":"5062747","timeStamp":"1788360861","from":"0xfdbc7b26cbf8bb4b8e81fcbecf2271367ae43a22","to":"0x90f23d8c38424ea6054d0477776e773619fe6ff1","contractAddress":"","value":"0","gas":"123995","gasUsed":"77160","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x1d3c986cdfcb85017e82638fadadd40216cb3c4cd6cbc1615ac7599667c90f35","blockNumber":"5062178","timeStamp":"1788359723","from":"0xf125b5c146960574b5a73d6c2564d05d5c529b71","to":"0x90f23d8c38424ea6054d0477776e773619fe6ff1","contractAddress":"","value":"0","gas":"99967","gasUsed":"94260","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0xcd51d1c592919f82cd8f59a43316d646b022e9badbf002c2fd57fd9512285088","blockNumber":"5062107","timeStamp":"1788359581","from":"0x7c5012e0b5487c2015ff38813cfef46ee59e4795","to":"0x90f23d8c38424ea6054d0477776e773619fe6ff1","contractAddress":"","value":"0","gas":"82663","gasUsed":"77160","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0xb30c9ee93f6af42dd71534a134ff77777c4c41b01e40afde94d86b8bd229f1a8","blockNumber":"5061952","timeStamp":"1788359271","from":"0x71f3afd1eceffe46cb5125f0a1db599210082ea5","to":"0x90f23d8c38424ea6054d0477776e773619fe6ff1","contractAddress":"","value":"0","gas":"123995","gasUsed":"77160","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0xc8aebaf7d3817a3ddd43a6faf4c70fe3c18b619a34fb7b523169cee192d0268f","blockNumber":"5061929","timeStamp":"1788359225","from":"0xf1ca5c298ee27838f42afed023840e0f3220fb22","to":"0x90f23d8c38424ea6054d0477776e773619fe6ff1","contractAddress":"","value":"0","gas":"82663","gasUsed":"77160","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0xd3e286e081b2bea0bd099aae2452ec7ca5b15d8475db7ac9e6673d12075e8311","blockNumber":"5061845","timeStamp":"1788359057","from":"0xfe692120454feeb07a79867c54418f37245642cf","to":"0x90f23d8c38424ea6054d0477776e773619fe6ff1","contractAddress":"","value":"0","gas":"99967","gasUsed":"94260","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0xdc1bad43a4d17fb8552f817a43cd48532a772c2bbf45d931baa510ffb4f0489e","blockNumber":"5061131","timeStamp":"1788357629","from":"0x80b35d92fc198c1488f0565241150d2ba8dc53a5","to":"0x90f23d8c38424ea6054d0477776e773619fe6ff1","contractAddress":"","value":"0","gas":"82663","gasUsed":"77160","gasPrice":"4518135112529","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x44c68ee03de79dfd8df63662f5e7c2ce20429c4de7ae11acee74a37a689a20b8","blockNumber":"5061001","timeStamp":"1788357369","from":"0x4c8d76efba315b51c2c40b7e23721cedefff6637","to":"0x90f23d8c38424ea6054d0477776e773619fe6ff1","contractAddress":"","value":"0","gas":"82663","gasUsed":"77160","gasPrice":"4532818377795","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0xafc8705dac785aa92d61dd4b6700481c452279b773c4a3581a5985242dbb0fe3","blockNumber":"5059771","timeStamp":"1788354909","from":"0x679d94a4aff284eb164c998883e4aad731643126","to":"0x90f23d8c38424ea6054d0477776e773619fe6ff1","contractAddress":"","value":"0","gas":"82663","gasUsed":"77160","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0xf545f0e1a4a11a382a37861d8eb1d86006a6296ae762fafa544a5f65813dec51","blockNumber":"5059511","timeStamp":"1788354389","from":"0xa338ca2825239886cd415ca7f9395ccb87e0c3ee","to":"0x90f23d8c38424ea6054d0477776e773619fe6ff1","contractAddress":"","value":"0","gas":"82663","gasUsed":"77160","gasPrice":"4887448646950","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x6dd7bdb5d3100161ca3f7c4e2d64e6ebb280e0dd13631c64352cfc31327d9fe7","blockNumber":"5059241","timeStamp":"1788353849","from":"0x2f4849514d6c28d9b0fa7b8d6ef33ba013515ab5","to":"0x90f23d8c38424ea6054d0477776e773619fe6ff1","contractAddress":"","value":"0","gas":"82663","gasUsed":"77160","gasPrice":"4814534659565","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x7d123f3779c69ab0635811ef1aac2454f16aec4f29165508914c5736f05626bf","blockNumber":"5059222","timeStamp":"1788353811","from":"0xdb809917a3e076d92b47f21a7e16e040eb827295","to":"0x90f23d8c38424ea6054d0477776e773619fe6ff1","contractAddress":"","value":"0","gas":"82663","gasUsed":"77160","gasPrice":"4774284392691","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x7a62a92ecb977e9ecb2dece8ae303e2a77d8cdb4dd511a2109b8264d03d53ae2","blockNumber":"5056401","timeStamp":"1788348168","from":"0xb4b310a4bb372474706260a1cd86ec0c6522c5d9","to":"0x90f23d8c38424ea6054d0477776e773619fe6ff1","contractAddress":"","value":"0","gas":"82663","gasUsed":"77160","gasPrice":"4663818710037","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x0e544aad570a135297cf34e4546b5b82891d8e66a85d90c2a5ee6a8f6a5bcbcc","blockNumber":"5055975","timeStamp":"1788347316","from":"0x75703b19383c5887dcce2cffae0ad84d597b3339","to":"0x90f23d8c38424ea6054d0477776e773619fe6ff1","contractAddress":"","value":"0","gas":"123995","gasUsed":"77160","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0xffb0ef354b86de51d8f5d2355ffd7f606f47d2e183a1214020493124d9fdc1af","blockNumber":"5054800","timeStamp":"1788344966","from":"0x5755efd47346ee8e0e54ab092e058c1f7142292a","to":"0x90f23d8c38424ea6054d0477776e773619fe6ff1","contractAddress":"","value":"0","gas":"123995","gasUsed":"77160","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0xbf2b5505a258903efbd2c9f361a41ba206cf8da1f155c219c6a80e4eb5305f85","blockNumber":"5054122","timeStamp":"1788343610","from":"0x86ff254c931453174a2d2528d7875fa78cd0832f","to":"0x90f23d8c38424ea6054d0477776e773619fe6ff1","contractAddress":"","value":"0","gas":"123995","gasUsed":"77160","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x28c68aa1006a91129e8f55ddfd60862bdffa6ccd1645a2315ce8848bc9fdf6dc","blockNumber":"5050544","timeStamp":"1788336449","from":"0x7fc03298ab9ded3b1866f12a7759d2bcbf235d54","to":"0x90f23d8c38424ea6054d0477776e773619fe6ff1","contractAddress":"","value":"0","gas":"204437","gasUsed":"126460","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0xf939076c596a92aa071b4ac614dc465407c909d8c726a96fdf37d36db9e6bed2","blockNumber":"5049702","timeStamp":"1788334765","from":"0xcd7dd533cc3917f1a85b1efbcd31f893040431da","to":"0x90f23d8c38424ea6054d0477776e773619fe6ff1","contractAddress":"","value":"0","gas":"99967","gasUsed":"94260","gasPrice":"4623680821525","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x81ee2f88229dba8f1170616db6f4e092d3a4f8ccfb7dfdf0305d0bbf59ae44b4","blockNumber":"5047112","timeStamp":"1788329585","from":"0x979f1030d3a9f7a0aa14356264c839cec047955f","to":"0x90f23d8c38424ea6054d0477776e773619fe6ff1","contractAddress":"","value":"0","gas":"99967","gasUsed":"94260","gasPrice":"5206928153453","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x76c5d0d63e5a2fa10194933f20cabfbcc7c2e7ec959e6525fcc6df0364b82a6d","blockNumber":"5047070","timeStamp":"1788329501","from":"0x4ed85326fdc5e2a3a8e0997a02cf83862c15de32","to":"0x90f23d8c38424ea6054d0477776e773619fe6ff1","contractAddress":"","value":"0","gas":"99967","gasUsed":"94260","gasPrice":"5152051811777","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0xf0a338043588bb1937aab711af3dee1a48fcba8c5bfc86bb511d89a5833e5bf6","blockNumber":"5046847","timeStamp":"1788329055","from":"0xfdca8d536c5bce71e04457200b6038df9a1801c2","to":"0x90f23d8c38424ea6054d0477776e773619fe6ff1","contractAddress":"","value":"0","gas":"82663","gasUsed":"77160","gasPrice":"4943627082365","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0xeb84d4d9a45f510fdd3b38c5570471a923d299498cdd0acd86b84882b93368b6","blockNumber":"5046771","timeStamp":"1788328903","from":"0x3f6d982430297691d8417e6991dc8ddc68af0c26","to":"0x90f23d8c38424ea6054d0477776e773619fe6ff1","contractAddress":"","value":"0","gas":"149951","gasUsed":"94260","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x111720479efb1d2e85b7ab15af797bf837fb0023007dde55d695eb29211bd52a","blockNumber":"5046618","timeStamp":"1788328597","from":"0xf22939bf7ccc8331bc16219622536012ca1d6218","to":"0x90f23d8c38424ea6054d0477776e773619fe6ff1","contractAddress":"","value":"0","gas":"82663","gasUsed":"77160","gasPrice":"4791265791818","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x65614fe9d1acce338fb6d1e3f659664ae8f683bd224b0e82b624aa648311dacf","blockNumber":"5046528","timeStamp":"1788328417","from":"0xe7cd40b6f84dba6a18ad761ccc142aea3db957d0","to":"0x90f23d8c38424ea6054d0477776e773619fe6ff1","contractAddress":"","value":"0","gas":"123995","gasUsed":"77160","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x625f1ce52b373b3e93a7678414b5578ffb371d386267696e9381f117490693c9","blockNumber":"5043883","timeStamp":"1788323127","from":"0x1fc4771816c438586a4c7946654c45a20f2616a8","to":"0x90f23d8c38424ea6054d0477776e773619fe6ff1","contractAddress":"","value":"0","gas":"99967","gasUsed":"94260","gasPrice":"4770832691788","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x9dc1d98bb22c5981a2975bfac2400a96417f6434954f8c5eb008e64afa9b87c1","blockNumber":"5043869","timeStamp":"1788323099","from":"0xbbd1d6c1c38838a4722b309921dd6a500b304791","to":"0x90f23d8c38424ea6054d0477776e773619fe6ff1","contractAddress":"","value":"0","gas":"82663","gasUsed":"77160","gasPrice":"5179588229572","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x95042d1b5fd1b0ebbec19eecbef7bc86f65bbec28d79e2cbff7e5855f44ec730","blockNumber":"5043865","timeStamp":"1788323091","from":"0xada7bd97d6aff2f6e23012f1ced594ad54b5bc33","to":"0x90f23d8c38424ea6054d0477776e773619fe6ff1","contractAddress":"","value":"0","gas":"99967","gasUsed":"94260","gasPrice":"4520129843922","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x8fd9b34ff046a1bcc09987ba0941ef5f8b6e9d1c9928bb88567098d5861ff626","blockNumber":"5043837","timeStamp":"1788323035","from":"0x527b12a114d62c69bbc907366430d5a137bb26a1","to":"0x90f23d8c38424ea6054d0477776e773619fe6ff1","contractAddress":"","value":"0","gas":"82663","gasUsed":"77160","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0xc0062e0155f6d0dc2a517ed3313af302a7ebd4f8eaff4a34356d821e898c731b","blockNumber":"5043652","timeStamp":"1788322665","from":"0x08703798bc4f878bf640df90a9cc46d4a19ca572","to":"0x90f23d8c38424ea6054d0477776e773619fe6ff1","contractAddress":"","value":"0","gas":"149951","gasUsed":"94260","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0xc4701af69e26c13e90e49eff8130b915d51610bbe62b1928e34cd00a2ec71056","blockNumber":"5043558","timeStamp":"1788322477","from":"0xd2c98f0c44e826756e05302ea6f1840226637b43","to":"0x90f23d8c38424ea6054d0477776e773619fe6ff1","contractAddress":"","value":"0","gas":"123995","gasUsed":"77160","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0xb248b743d060f8590038d80de6078b8b9efb71d1c3a9b19393f37f2c79e0e273","blockNumber":"5040887","timeStamp":"1788317135","from":"0xd7448ef07951e8969457979d98297a4d531173f5","to":"0x90f23d8c38424ea6054d0477776e773619fe6ff1","contractAddress":"","value":"0","gas":"82663","gasUsed":"77160","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x18812233626e40cea0addc3ed652248bbb24e371fc79d2c1beed0b9d1cb36070","blockNumber":"5040569","timeStamp":"1788316499","from":"0xa56d15893a5260b734c91978a8598a47b3e121be","to":"0x90f23d8c38424ea6054d0477776e773619fe6ff1","contractAddress":"","value":"0","gas":"149951","gasUsed":"94260","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x3d5dda0f09aab92ea4c02508b31a47dd1b8e9a30b3191aab0a776e281467a455","blockNumber":"5040455","timeStamp":"1788316271","from":"0xa5c250e4fa16134f77b46f1bcae856cc06b57a74","to":"0x90f23d8c38424ea6054d0477776e773619fe6ff1","contractAddress":"","value":"0","gas":"123995","gasUsed":"77160","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x1b58b44cd281029e27d096dd1200e710e76bcdac40e3b00c53d806705572cee2","blockNumber":"5039752","timeStamp":"1788314865","from":"0x16216ac7bed96ac6985d75fbfcbcf817cbbe1614","to":"0x90f23d8c38424ea6054d0477776e773619fe6ff1","contractAddress":"","value":"0","gas":"123995","gasUsed":"77160","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x0edbe7bce23712de65c4a2806d9764a09e58be285e30ea14bbd91e8b523d65de","blockNumber":"5039571","timeStamp":"1788314503","from":"0x9c84cf40dafe1dcec8e021520e3f93dedb57e889","to":"0x90f23d8c38424ea6054d0477776e773619fe6ff1","contractAddress":"","value":"0","gas":"82663","gasUsed":"77160","gasPrice":"4916687278120","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x03399c6ff958d10040e656516fc67e1adf6fe5083d197a168923e2934bbf61ce","blockNumber":"5039386","timeStamp":"1788314133","from":"0xf6e2ec02baa357279b737f2be75a3a9bd87294f7","to":"0x90f23d8c38424ea6054d0477776e773619fe6ff1","contractAddress":"","value":"0","gas":"82663","gasUsed":"77160","gasPrice":"4569251534139","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x1342c5b4706071e58301854b7fe46345bf6629dda04b64afb5222e9009904dab","blockNumber":"5038779","timeStamp":"1788312919","from":"0x0702f03cbec6ec295b1059221c822238ae3763e5","to":"0x90f23d8c38424ea6054d0477776e773619fe6ff1","contractAddress":"","value":"0","gas":"82663","gasUsed":"77160","gasPrice":"4982555939738","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x8e0756bd99e3eee0802cdafce0521956a7463996673b3b4177990ef009f3ef41","blockNumber":"5038014","timeStamp":"1788311389","from":"0x1d8ee826dc6f79e931ed303871a39cc14bc63bb8","to":"0x90f23d8c38424ea6054d0477776e773619fe6ff1","contractAddress":"","value":"0","gas":"82663","gasUsed":"77160","gasPrice":"5179949377179","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x70d02f5599d36400277a44a4af2f8db551bf617ba5db51ebaab351c636038fa8","blockNumber":"5037672","timeStamp":"1788310705","from":"0x0636bc9a3f6018280a0895c5246514448d11a034","to":"0x90f23d8c38424ea6054d0477776e773619fe6ff1","contractAddress":"","value":"0","gas":"82663","gasUsed":"77160","gasPrice":"5257086235767","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"}],"nextCursor":{"block_number":5037672,"fee":"405636773951781720","hash":"0x70d02f5599d36400277a44a4af2f8db551bf617ba5db51ebaab351c636038fa8","index":0,"inserted_at":"2026-09-02T00:58:23.583687Z","items_count":50,"value":"0"}}