{"address":"0xda6d15d292bb3fe7667e93a7ac9ee250df12d75f","latest":5070244,"price":{"usd":0.609665656554181,"btc":0,"change24h":0,"marketCap":180908842.9097615,"volume24h":0,"source":"onchain","venue":"On-chain pool WDAN/USDT on dannyswap"},"balance":"0","nonce":1,"codeSize":14941,"isContract":true,"contract":{"verified":true,"name":"BasCoinMining","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 BasCoinMining 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(msg.sender) {\n        token = IERC20(0x01C2596A7bf1d647123bd707C0b294188739CB8D);\n        lpaddress = IUniswapV2Pair(0x050176FDE0f6bbDeF7d9965737Cc98c2F29D4A40);\n        // Initialize default booster plans\n        _addBoosterPlan(\"Starter\", 100 * 10 ** 18, 180 days, 15000);\n        _addBoosterPlan(\"Advanced\", 500 * 10 ** 18, 180 days, 18000);\n        _addBoosterPlan(\"Elite\", 1000 * 10 ** 18, 180 days, 20000);\n\n\n        SIGN_UP_BONUS = 20e18;\n        BONUS_DURATION = 30 days;\n        REFERRAL_DURATION = 30 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\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 sign up first\");\n        require(_planId < boosterPlanCount, \"Invalid plan\");\n        require(boosterPlans[_planId].active, \"Plan not active\");\n        BoosterPlan memory plan = boosterPlans[_planId];\n        uint256 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 BasCoinMining.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 BasCoinMining.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 BasCoinMining.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 BasCoinMining.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 BasCoinMining.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 BasCoinMining.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":"0x01c2596a7bf1d647123bd707c0b294188739cb8d","name":"BASCOIN","symbol":"BAS","decimals":18,"type":"ERC-20","value":"520951539165684827372449","tokenId":null,"price":1.4915768236475124},{"address":"0x1c2cd5d8f44c2aa37c87676ac4200c2329ab019d","name":"HMOOB COIN","symbol":"HMOOB","decimals":18,"type":"ERC-20","value":"300000000000000000000","tokenId":null,"price":0.0370735299561345}],"summary":{"isContract":true,"isVerified":true,"name":null,"ensName":null,"creator":"0xbb576f8a4283c9cba153f9c79f2ac4fe50fde526","creationTx":null,"publicTags":[],"hasTokens":true,"hasLogs":true,"validatedBlocks":false},"firstLast":{"last":{"hash":"0x8cbecf0b15454a5de48dddc9a4b9a6775e9b2eb8ae48dc89e3d65ac767a1ea85","timestamp":1788374079,"blockNumber":5069356},"first":null,"fundedBy":null,"complete":false},"tab":"txs","page":1,"offset":25,"scan":{"available":true,"source":"blockscout","ok":true,"message":"OK"},"rows":[{"hash":"0x8cbecf0b15454a5de48dddc9a4b9a6775e9b2eb8ae48dc89e3d65ac767a1ea85","blockNumber":"5069356","timeStamp":"1788374079","from":"0xd35bc3ec2ba61c702d0e487330326a68ed6fa3d3","to":"0xda6d15d292bb3fe7667e93a7ac9ee250df12d75f","contractAddress":"","value":"0","gas":"509100","gasUsed":"503933","gasPrice":"5215162218000","isError":"0","txreceipt_status":"1","input":"0xcb9429b500000000000000000000000041fbd5185124def52483741d380f1d8a3f8014e4","methodId":"0xcb9429b5","functionName":"signUp"},{"hash":"0x1413546df731ea7b5d0bd1fe9ec200551c3f5623441cfd605c3f68ce50b58a2f","blockNumber":"5067373","timeStamp":"1788370113","from":"0xb64a6cc5ee74d2821cfa6bb07337a28b4b4a17eb","to":"0xda6d15d292bb3fe7667e93a7ac9ee250df12d75f","contractAddress":"","value":"0","gas":"99967","gasUsed":"94260","gasPrice":"5130937866516","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x1590a679f7253da3c0426107471f09636ab715244d3d687309e05c45451a84cd","blockNumber":"5067281","timeStamp":"1788369929","from":"0x24e3a5a7e31ffc81721381ad37e7ffb860ffbfbe","to":"0xda6d15d292bb3fe7667e93a7ac9ee250df12d75f","contractAddress":"","value":"0","gas":"99967","gasUsed":"94260","gasPrice":"5054772912562","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x4703300f8025ea24e67579ed947b9bbebd958584ca4070316d95009e4a796f92","blockNumber":"5067238","timeStamp":"1788369843","from":"0xf35a96e1b50183e6e5bcd727ce0f7849073c5690","to":"0xda6d15d292bb3fe7667e93a7ac9ee250df12d75f","contractAddress":"","value":"0","gas":"99967","gasUsed":"94260","gasPrice":"5130937866516","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0xbdce95839cefe9dd939c1a8bfb4d86c94082054360fbfba63544bdea51aab916","blockNumber":"5067223","timeStamp":"1788369813","from":"0x8ef913d8b6e0bbc67cc33078276cd153008945bd","to":"0xda6d15d292bb3fe7667e93a7ac9ee250df12d75f","contractAddress":"","value":"0","gas":"99967","gasUsed":"94260","gasPrice":"5131260439979","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x8f4cf0716887f0fc72c33d1399ec9c33eebd1075007e49d763c129a078348524","blockNumber":"5067189","timeStamp":"1788369745","from":"0x1cd1ccd3c8c265f8f6ab9d7802a35a7fe0abfe5f","to":"0xda6d15d292bb3fe7667e93a7ac9ee250df12d75f","contractAddress":"","value":"0","gas":"99967","gasUsed":"94260","gasPrice":"5331780636618","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x5a87b1541cf5ece111884986628d2454a387fba2afc3a33b29f9f4412a8b3367","blockNumber":"5067172","timeStamp":"1788369711","from":"0x15affd963d7c766146542d7eb9f28a7a4b4707d5","to":"0xda6d15d292bb3fe7667e93a7ac9ee250df12d75f","contractAddress":"","value":"0","gas":"99967","gasUsed":"94260","gasPrice":"5077355301060","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0xa902af8dc874191805dafbedaf6ef93ede81a96050932eb6fe7c46d779e594fa","blockNumber":"5067115","timeStamp":"1788369597","from":"0x03669cc539778c90bb714fd10da32f907b52673c","to":"0xda6d15d292bb3fe7667e93a7ac9ee250df12d75f","contractAddress":"","value":"0","gas":"99967","gasUsed":"94260","gasPrice":"4693446582204","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x9d0435902b6e3df7ed70ca0b26962325adff27402061cb8a72740301d60ae407","blockNumber":"5065502","timeStamp":"1788366371","from":"0x303061c96b7dd210e7745fca9770b02c6f287444","to":"0xda6d15d292bb3fe7667e93a7ac9ee250df12d75f","contractAddress":"","value":"0","gas":"102800","gasUsed":"92260","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x22be4e0da044893016dbed90c7c101152582ea9d9fe3cc7bebe9416118f3531c","blockNumber":"5064611","timeStamp":"1788364589","from":"0xfb84b43d3855c61917529f38cbebbd79eccf33c8","to":"0xda6d15d292bb3fe7667e93a7ac9ee250df12d75f","contractAddress":"","value":"0","gas":"814548","gasUsed":"806976","gasPrice":"5100555947670","isError":"0","txreceipt_status":"1","input":"0x6f4a3ad70000000000000000000000000000000000000000000000000000000000000000","methodId":"0x6f4a3ad7","functionName":"purchaseBooster"},{"hash":"0x8a7d441826486827fdb6fe3b413ac97ab6b7c389ba11df476fea3fec62a59407","blockNumber":"5064589","timeStamp":"1788364545","from":"0xfb84b43d3855c61917529f38cbebbd79eccf33c8","to":"0xda6d15d292bb3fe7667e93a7ac9ee250df12d75f","contractAddress":"","value":"0","gas":"82663","gasUsed":"77160","gasPrice":"4656627786673","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x43058bd14fd9d29ebed94600887638cd37de705a41a1b0e59782f54e14821315","blockNumber":"5064276","timeStamp":"1788363919","from":"0xdc576a0ca464312084a18cdcd4179fd95dabbe59","to":"0xda6d15d292bb3fe7667e93a7ac9ee250df12d75f","contractAddress":"","value":"0","gas":"99967","gasUsed":"94260","gasPrice":"4510000000007","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x157b7f6a977d2554d74262bf83ac0caae0440104369b74873fa35e21cdcddc95","blockNumber":"5064109","timeStamp":"1788363585","from":"0xc86738884dae70235a69472381dcf84b0bd871fc","to":"0xda6d15d292bb3fe7667e93a7ac9ee250df12d75f","contractAddress":"","value":"0","gas":"99967","gasUsed":"94260","gasPrice":"4585286550985","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x8e0752174a96389e2f096af86fac6aa0c14eff7460361633a58cb6ff78490a2c","blockNumber":"5064089","timeStamp":"1788363545","from":"0x517fd48613830d961a724f37f483130c20c1cb54","to":"0xda6d15d292bb3fe7667e93a7ac9ee250df12d75f","contractAddress":"","value":"0","gas":"99967","gasUsed":"94260","gasPrice":"4612662372471","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x048a12c6d8b4c3889b342b178fe9ebfa56d1733afd21cb5cf0550ca30551a70b","blockNumber":"5063877","timeStamp":"1788363121","from":"0xf0e7e1e0aeac096f46978c7b7f7189eb6bf9d2fb","to":"0xda6d15d292bb3fe7667e93a7ac9ee250df12d75f","contractAddress":"","value":"0","gas":"1221845","gasUsed":"806991","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x6f4a3ad70000000000000000000000000000000000000000000000000000000000000001","methodId":"0x6f4a3ad7","functionName":"purchaseBooster"},{"hash":"0x4615077c5cbb68591efbd7d5d0d6ea207c6f729948b53c113bb377d418339783","blockNumber":"5063593","timeStamp":"1788362553","from":"0xf0e7e1e0aeac096f46978c7b7f7189eb6bf9d2fb","to":"0xda6d15d292bb3fe7667e93a7ac9ee250df12d75f","contractAddress":"","value":"0","gas":"128246","gasUsed":"75160","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0xc7874bd6e1f75d548fd537d2f6090c34de0bf9484fcaff29fbd31db982fde909","blockNumber":"5063196","timeStamp":"1788361759","from":"0x1a60ba20d03ddd15033aad38797c426118aed7fd","to":"0xda6d15d292bb3fe7667e93a7ac9ee250df12d75f","contractAddress":"","value":"0","gas":"99967","gasUsed":"94260","gasPrice":"4535765958979","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x9620547b9f27d088712d304cad48dbaa5358dea6da6d8975e138da7aff555c1f","blockNumber":"5062891","timeStamp":"1788361149","from":"0x517bcbceb5e660ad075f533f41be7e32f0dd5993","to":"0xda6d15d292bb3fe7667e93a7ac9ee250df12d75f","contractAddress":"","value":"0","gas":"82663","gasUsed":"77160","gasPrice":"5341866032224","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x38d73e6071122adaa78d1f132bba7330e896e2f67b86989709e93d17c92b2d36","blockNumber":"5062858","timeStamp":"1788361083","from":"0x96110dfc7af693d7569fe079e03410045512b398","to":"0xda6d15d292bb3fe7667e93a7ac9ee250df12d75f","contractAddress":"","value":"0","gas":"102800","gasUsed":"92260","gasPrice":"5127436076735","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x657a287233a3a5a59713798f977a909348dd5cf7619ce233627377a29f7785ca","blockNumber":"5062805","timeStamp":"1788360977","from":"0x43b7e49584ffb3b95309389566acece4ab70f295","to":"0xda6d15d292bb3fe7667e93a7ac9ee250df12d75f","contractAddress":"","value":"0","gas":"82663","gasUsed":"77160","gasPrice":"4869120691959","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x22bd9f504b98cadae74e19c9f4ef5547cc10985e0531992ebfc9442cb7fdd4ae","blockNumber":"5062560","timeStamp":"1788360487","from":"0xa5c250e4fa16134f77b46f1bcae856cc06b57a74","to":"0xda6d15d292bb3fe7667e93a7ac9ee250df12d75f","contractAddress":"","value":"0","gas":"123995","gasUsed":"77160","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x65bd70c2a3dcaa614eb006e35e710175a862ccdd76021332ba5670df1a6cdcb3","blockNumber":"5062369","timeStamp":"1788360105","from":"0xc7c7a724160004b645c82d6f915b84b55c234f53","to":"0xda6d15d292bb3fe7667e93a7ac9ee250df12d75f","contractAddress":"","value":"0","gas":"99967","gasUsed":"94260","gasPrice":"5400000000000","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0xc80d78d70fa88c8928f20ac67228bf8c2afacc298a22275ff0b000f394e8de7e","blockNumber":"5062191","timeStamp":"1788359749","from":"0xf125b5c146960574b5a73d6c2564d05d5c529b71","to":"0xda6d15d292bb3fe7667e93a7ac9ee250df12d75f","contractAddress":"","value":"0","gas":"99967","gasUsed":"94260","gasPrice":"4513235758824","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x8e058e1108aed9ff80bab2f61d4c1dd8f2a2028ace73ebe4bcc370f5bed73b85","blockNumber":"5061806","timeStamp":"1788358979","from":"0xfe692120454feeb07a79867c54418f37245642cf","to":"0xda6d15d292bb3fe7667e93a7ac9ee250df12d75f","contractAddress":"","value":"0","gas":"99967","gasUsed":"94260","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x3921158d5464089a97c4d38c5d4985c0baa2b93bb84e877a78a22dabaaeb4f77","blockNumber":"5061782","timeStamp":"1788358931","from":"0x71f3afd1eceffe46cb5125f0a1db599210082ea5","to":"0xda6d15d292bb3fe7667e93a7ac9ee250df12d75f","contractAddress":"","value":"0","gas":"128246","gasUsed":"75160","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0xea8a85b020a113dd6a6f165f28e50aefcd0a0b09b6d6ebcda1eb58da91f90d5e","blockNumber":"5060552","timeStamp":"1788356471","from":"0xbecb467db25f79f9b04e0b20fdec3ef38b4544a9","to":"0xda6d15d292bb3fe7667e93a7ac9ee250df12d75f","contractAddress":"","value":"0","gas":"82663","gasUsed":"33000","gasPrice":"4781973309200","isError":"1","txreceipt_status":"0","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x7f9703ff75728d0a1f52f84960ee5e371faf8eec3c768563ba45df0caf784e10","blockNumber":"5060547","timeStamp":"1788356461","from":"0xbecb467db25f79f9b04e0b20fdec3ef38b4544a9","to":"0xda6d15d292bb3fe7667e93a7ac9ee250df12d75f","contractAddress":"","value":"0","gas":"82663","gasUsed":"77160","gasPrice":"4781973309200","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x667647ac14ca90095ee196b098d9fa1403669062063bc9cbc9a41e4a681f36f3","blockNumber":"5060498","timeStamp":"1788356363","from":"0x7f78b559d0d85b9e4aaaa0663ce1685560847607","to":"0xda6d15d292bb3fe7667e93a7ac9ee250df12d75f","contractAddress":"","value":"0","gas":"82663","gasUsed":"77160","gasPrice":"4625600354867","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x623b1c3fce1502a813b7f26c589847a1e1c0c557e9c02ac6c9efac740e1ba3b2","blockNumber":"5060326","timeStamp":"1788356019","from":"0x74575175be2d3f885ce922bb9e9815a2f8cc5446","to":"0xda6d15d292bb3fe7667e93a7ac9ee250df12d75f","contractAddress":"","value":"0","gas":"99967","gasUsed":"94260","gasPrice":"4500246322959","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x0ddca0f08dd8d2e1f0d1df4a6efd2d2811731c1d65fb657d4620f63882eb6987","blockNumber":"5060024","timeStamp":"1788355415","from":"0x2f9c73b2d011df093b0bc75fd28dc35ee01ccbe5","to":"0xda6d15d292bb3fe7667e93a7ac9ee250df12d75f","contractAddress":"","value":"0","gas":"123995","gasUsed":"77160","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0xa275e94cb10250f6f4e6af6f66b5ea52e435705092109a3625b219a66bdab839","blockNumber":"5059997","timeStamp":"1788355361","from":"0x8049348fe2643ebbe3a7fa7c3f8b35c84e714878","to":"0xda6d15d292bb3fe7667e93a7ac9ee250df12d75f","contractAddress":"","value":"0","gas":"82663","gasUsed":"77160","gasPrice":"4913327637441","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x1da00c664783555987217c6a8de7b92cbb283e2cce365b9eca0499d98c18983b","blockNumber":"5059975","timeStamp":"1788355317","from":"0xf118676bf97270e1b8019a6e1c3b85c562e02a0a","to":"0xda6d15d292bb3fe7667e93a7ac9ee250df12d75f","contractAddress":"","value":"0","gas":"99967","gasUsed":"94260","gasPrice":"4621443878749","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0xfd8a06a6f66cefeee94de8e53272d12ceff190c41ff0e0c399f711a68bc52ab3","blockNumber":"5059953","timeStamp":"1788355273","from":"0xb53fbc64afa453cdb9562e7da6366f810b8f5588","to":"0xda6d15d292bb3fe7667e93a7ac9ee250df12d75f","contractAddress":"","value":"0","gas":"123995","gasUsed":"77160","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x7e2edd62d5be0b52e7c4a3bc40f949a45efc4bd6d119ca64d9db38b6c902f4e3","blockNumber":"5059930","timeStamp":"1788355227","from":"0x88fd04b5f60e2984d65c8abd3299aba585d3fcb7","to":"0xda6d15d292bb3fe7667e93a7ac9ee250df12d75f","contractAddress":"","value":"0","gas":"82663","gasUsed":"77160","gasPrice":"4504362271603","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x3c6156a95c2deb9e7c3c84b57381c50d1f0b845372a534fa54068459f6a11937","blockNumber":"5059912","timeStamp":"1788355191","from":"0xf9cff0632267c9358e52e1b1c790541d0a9bc121","to":"0xda6d15d292bb3fe7667e93a7ac9ee250df12d75f","contractAddress":"","value":"0","gas":"85497","gasUsed":"75160","gasPrice":"4503008198814","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x03552ee903651a5aaa793bcf1985536c2ec4695c932236e64e6f6150012a0408","blockNumber":"5059898","timeStamp":"1788355163","from":"0x56649a7a6ddf07f386c3393868d37f03b92da689","to":"0xda6d15d292bb3fe7667e93a7ac9ee250df12d75f","contractAddress":"","value":"0","gas":"123995","gasUsed":"77160","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0xc39cd0e043f8dee73becedd63207670c2b197218c592f36577fac867f4646e04","blockNumber":"5059878","timeStamp":"1788355123","from":"0xb31cdea2ad57ca666df11b0ba62cf7afe10f979d","to":"0xda6d15d292bb3fe7667e93a7ac9ee250df12d75f","contractAddress":"","value":"0","gas":"102800","gasUsed":"92260","gasPrice":"4510282232488","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x6958dd0224729690b3c65cc1792e8bde39254851825955b7def763ce62d287da","blockNumber":"5059853","timeStamp":"1788355073","from":"0xd2c98f0c44e826756e05302ea6f1840226637b43","to":"0xda6d15d292bb3fe7667e93a7ac9ee250df12d75f","contractAddress":"","value":"0","gas":"123995","gasUsed":"77160","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x8efe5c1b84aeb39c82f1a74e4e2d37c3964e34ae36036a53705c529e08753cf5","blockNumber":"5059797","timeStamp":"1788354961","from":"0x64d40c77a08f63dd32fee1b908155ccd156c53e6","to":"0xda6d15d292bb3fe7667e93a7ac9ee250df12d75f","contractAddress":"","value":"0","gas":"487556","gasUsed":"482559","gasPrice":"4579436759494","isError":"0","txreceipt_status":"1","input":"0x6f4a3ad70000000000000000000000000000000000000000000000000000000000000000","methodId":"0x6f4a3ad7","functionName":"purchaseBooster"},{"hash":"0xea4925b0b5b78555f016ace77b1c01a931a00c3f024bc4418ad51437b0b2028c","blockNumber":"5059778","timeStamp":"1788354923","from":"0x08703798bc4f878bf640df90a9cc46d4a19ca572","to":"0xda6d15d292bb3fe7667e93a7ac9ee250df12d75f","contractAddress":"","value":"0","gas":"149951","gasUsed":"94260","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x65d97edc61edb4cffab21213f14173d3cf4a5fa4d819820372db7b0075caf1ed","blockNumber":"5059724","timeStamp":"1788354815","from":"0x64d40c77a08f63dd32fee1b908155ccd156c53e6","to":"0xda6d15d292bb3fe7667e93a7ac9ee250df12d75f","contractAddress":"","value":"0","gas":"509100","gasUsed":"503933","gasPrice":"5205468101591","isError":"0","txreceipt_status":"1","input":"0xcb9429b500000000000000000000000063c5a00992b16a694decf34ccdc8c5a359b59a5a","methodId":"0xcb9429b5","functionName":"signUp"},{"hash":"0xbe8fecb0cc4b9437b0cac979372ac80532bd6b5d1dce71edfbf35f59eac2150d","blockNumber":"5059151","timeStamp":"1788353669","from":"0x421bf63fdb9c34d8ea747d66c2b273ce7fdfb1c4","to":"0xda6d15d292bb3fe7667e93a7ac9ee250df12d75f","contractAddress":"","value":"0","gas":"82663","gasUsed":"77160","gasPrice":"4500283924163","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0xd611e526b216c7c05222a44ba45eb93f917943b50617f4036c374d537fc8d6c5","blockNumber":"5058880","timeStamp":"1788353127","from":"0xed642dd80703d80dc5388db7a44a588f75d37308","to":"0xda6d15d292bb3fe7667e93a7ac9ee250df12d75f","contractAddress":"","value":"0","gas":"85497","gasUsed":"75160","gasPrice":"4502227460594","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x92d92dbbc69e28595d8bb6b2c7de7962974b00bdafbdce0c2d0be97d8581debd","blockNumber":"5057782","timeStamp":"1788350931","from":"0xad11f86a4f201f14f5943885897aadb847706ba8","to":"0xda6d15d292bb3fe7667e93a7ac9ee250df12d75f","contractAddress":"","value":"0","gas":"82663","gasUsed":"77160","gasPrice":"4870148015283","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x741f73e17b15ab453bedc73557acf32c2cbb71b0d98b25bfa6f1f893c3efae18","blockNumber":"5057204","timeStamp":"1788349775","from":"0x9ecf35af878ef7ac489ab377fa2389c5292a7c08","to":"0xda6d15d292bb3fe7667e93a7ac9ee250df12d75f","contractAddress":"","value":"0","gas":"99967","gasUsed":"94260","gasPrice":"4638030465349","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x0d3b1fa38fb02b7a0487511a7425ed95a9cf8ae9f30c9940617d545383fcd84e","blockNumber":"5057085","timeStamp":"1788349537","from":"0x52ce4e3198aabfd157ca05cfab831b5eff31ec0b","to":"0xda6d15d292bb3fe7667e93a7ac9ee250df12d75f","contractAddress":"","value":"0","gas":"99967","gasUsed":"94260","gasPrice":"5410844779112","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x5158ab6f533f769c31d640e2b4ad5348ebeedb24fcc7b536a1527facc6e5b0c5","blockNumber":"5056259","timeStamp":"1788347884","from":"0xb4b310a4bb372474706260a1cd86ec0c6522c5d9","to":"0xda6d15d292bb3fe7667e93a7ac9ee250df12d75f","contractAddress":"","value":"0","gas":"814563","gasUsed":"806991","gasPrice":"4663818710037","isError":"0","txreceipt_status":"1","input":"0x6f4a3ad70000000000000000000000000000000000000000000000000000000000000001","methodId":"0x6f4a3ad7","functionName":"purchaseBooster"},{"hash":"0x0cf7ec34a7e0cea586fb7465207f2166ba0f1afb278538656efc840ae2090a59","blockNumber":"5056217","timeStamp":"1788347800","from":"0xb4b310a4bb372474706260a1cd86ec0c6522c5d9","to":"0xda6d15d292bb3fe7667e93a7ac9ee250df12d75f","contractAddress":"","value":"0","gas":"85497","gasUsed":"75160","gasPrice":"5114545455406","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x89064a2d4b0e0ca9cae61e8d21bcd86ae627a799e70125c8b724918f96f357d6","blockNumber":"5056051","timeStamp":"1788347468","from":"0x75703b19383c5887dcce2cffae0ad84d597b3339","to":"0xda6d15d292bb3fe7667e93a7ac9ee250df12d75f","contractAddress":"","value":"0","gas":"149951","gasUsed":"94260","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"},{"hash":"0x735e80592c9f1dfd69335e537c8e2834ffd3b35e96b98ae71b96eda5092dc3c9","blockNumber":"5054495","timeStamp":"1788344356","from":"0x679d94a4aff284eb164c998883e4aad731643126","to":"0xda6d15d292bb3fe7667e93a7ac9ee250df12d75f","contractAddress":"","value":"0","gas":"85497","gasUsed":"75160","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0x372500ab","methodId":"0x372500ab","functionName":"claimRewards"}],"nextCursor":{"block_number":5054495,"fee":"338220000000000000","hash":"0x735e80592c9f1dfd69335e537c8e2834ffd3b35e96b98ae71b96eda5092dc3c9","index":0,"inserted_at":"2026-09-02T10:19:16.018782Z","items_count":50,"value":"0"}}