{"address":"0xe5a8825d1809f495f7495ab42cb11531f4743cd0","latest":5097402,"price":{"usd":0.6184313759057825,"btc":0,"change24h":0,"marketCap":183495636.8752055,"volume24h":0,"source":"onchain","venue":"On-chain pool WDAN/USDT on dannyswap"},"balance":"0","nonce":1,"codeSize":10083,"isContract":true,"contract":{"verified":true,"name":"USDTStaking","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\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\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\ninterface IERC20 {\n    /**\n     * @dev Emitted when `value` tokens are moved from one account (`from`) to\n     * another (`to`).\n     *\n     * Note that `value` may be zero.\n     */\n    event Transfer(address indexed from, address indexed to, uint256 value);\n\n    /**\n     * @dev Emitted when the allowance of a `spender` for an `owner` is set by\n     * a call to {approve}. `value` is the new allowance.\n     */\n    event Approval(address indexed owner, address indexed spender, uint256 value);\n\n    /**\n     * @dev Returns the value of tokens in existence.\n     */\n    function totalSupply() external view returns (uint256);\n\n    /**\n     * @dev Returns the value of tokens owned by `account`.\n     */\n    function balanceOf(address account) external view returns (uint256);\n\n    /**\n     * @dev Moves a `value` amount of tokens from the caller's account to `to`.\n     *\n     * Returns a boolean value indicating whether the operation succeeded.\n     *\n     * Emits a {Transfer} event.\n     */\n    function transfer(address to, uint256 value) external returns (bool);\n\n    /**\n     * @dev Returns the remaining number of tokens that `spender` will be\n     * allowed to spend on behalf of `owner` through {transferFrom}. This is\n     * zero by default.\n     *\n     * This value changes when {approve} or {transferFrom} are called.\n     */\n    function allowance(address owner, address spender) external view returns (uint256);\n\n    /**\n     * @dev Sets a `value` amount of tokens as the allowance of `spender` over the\n     * caller's tokens.\n     *\n     * Returns a boolean value indicating whether the operation succeeded.\n     *\n     * IMPORTANT: Beware that changing an allowance with this method brings the risk\n     * that someone may use both the old and the new allowance by unfortunate\n     * transaction ordering. One possible solution to mitigate this race\n     * condition is to first reduce the spender's allowance to 0 and set the\n     * desired value afterwards:\n     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n     *\n     * Emits an {Approval} event.\n     */\n    function approve(address spender, uint256 value) external returns (bool);\n\n    /**\n     * @dev Moves a `value` amount of tokens from `from` to `to` using the\n     * allowance mechanism. `value` is then deducted from the caller's\n     * allowance.\n     *\n     * Returns a boolean value indicating whether the operation succeeded.\n     *\n     * Emits a {Transfer} event.\n     */\n    function transferFrom(address from, address to, uint256 value) external returns (bool);\n}\n\nlibrary StorageSlot {\n    struct AddressSlot {\n        address value;\n    }\n\n    struct BooleanSlot {\n        bool value;\n    }\n\n    struct Bytes32Slot {\n        bytes32 value;\n    }\n\n    struct Uint256Slot {\n        uint256 value;\n    }\n\n    struct Int256Slot {\n        int256 value;\n    }\n\n    struct StringSlot {\n        string value;\n    }\n\n    struct BytesSlot {\n        bytes value;\n    }\n\n    /**\n     * @dev Returns an `AddressSlot` with member `value` located at `slot`.\n     */\n    function getAddressSlot(\n        bytes32 slot\n    ) internal pure returns (AddressSlot storage r) {\n        assembly (\"memory-safe\") {\n            r.slot := slot\n        }\n    }\n\n    /**\n     * @dev Returns a `BooleanSlot` with member `value` located at `slot`.\n     */\n    function getBooleanSlot(\n        bytes32 slot\n    ) internal pure returns (BooleanSlot storage r) {\n        assembly (\"memory-safe\") {\n            r.slot := slot\n        }\n    }\n\n    /**\n     * @dev Returns a `Bytes32Slot` with member `value` located at `slot`.\n     */\n    function getBytes32Slot(\n        bytes32 slot\n    ) internal pure returns (Bytes32Slot storage r) {\n        assembly (\"memory-safe\") {\n            r.slot := slot\n        }\n    }\n\n    /**\n     * @dev Returns a `Uint256Slot` with member `value` located at `slot`.\n     */\n    function getUint256Slot(\n        bytes32 slot\n    ) internal pure returns (Uint256Slot storage r) {\n        assembly (\"memory-safe\") {\n            r.slot := slot\n        }\n    }\n\n    /**\n     * @dev Returns a `Int256Slot` with member `value` located at `slot`.\n     */\n    function getInt256Slot(\n        bytes32 slot\n    ) internal pure returns (Int256Slot storage r) {\n        assembly (\"memory-safe\") {\n            r.slot := slot\n        }\n    }\n\n    /**\n     * @dev Returns a `StringSlot` with member `value` located at `slot`.\n     */\n    function getStringSlot(\n        bytes32 slot\n    ) internal pure returns (StringSlot storage r) {\n        assembly (\"memory-safe\") {\n            r.slot := slot\n        }\n    }\n\n    /**\n     * @dev Returns an `StringSlot` representation of the string storage pointer `store`.\n     */\n    function getStringSlot(\n        string storage store\n    ) internal pure returns (StringSlot storage r) {\n        assembly (\"memory-safe\") {\n            r.slot := store.slot\n        }\n    }\n\n    /**\n     * @dev Returns a `BytesSlot` with member `value` located at `slot`.\n     */\n    function getBytesSlot(\n        bytes32 slot\n    ) internal pure returns (BytesSlot storage r) {\n        assembly (\"memory-safe\") {\n            r.slot := slot\n        }\n    }\n\n    /**\n     * @dev Returns an `BytesSlot` representation of the bytes storage pointer `store`.\n     */\n    function getBytesSlot(\n        bytes storage store\n    ) internal pure returns (BytesSlot storage r) {\n        assembly (\"memory-safe\") {\n            r.slot := store.slot\n        }\n    }\n}\n\nabstract contract ReentrancyGuard {\n    using StorageSlot for bytes32;\n\n    // keccak256(abi.encode(uint256(keccak256(\"openzeppelin.storage.ReentrancyGuard\")) - 1)) & ~bytes32(uint256(0xff))\n    bytes32 private constant REENTRANCY_GUARD_STORAGE =\n        0x9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00;\n\n    // Booleans are more expensive than uint256 or any type that takes up a full\n    // word because each write operation emits an extra SLOAD to first read the\n    // slot's contents, replace the bits taken up by the boolean, and then write\n    // back. This is the compiler's defense against contract upgrades and\n    // pointer aliasing, and it cannot be disabled.\n\n    // The values being non-zero value makes deployment a bit more expensive,\n    // but in exchange the refund on every call to nonReentrant will be lower in\n    // amount. Since refunds are capped to a percentage of the total\n    // transaction's gas, it is best to keep them low in cases like this one, to\n    // increase the likelihood of the full refund coming into effect.\n    uint256 private constant NOT_ENTERED = 1;\n    uint256 private constant ENTERED = 2;\n\n    /**\n     * @dev Unauthorized reentrant call.\n     */\n    error ReentrancyGuardReentrantCall();\n\n    constructor() {\n        _reentrancyGuardStorageSlot().getUint256Slot().value = NOT_ENTERED;\n    }\n\n    /**\n     * @dev Prevents a contract from calling itself, directly or indirectly.\n     * Calling a `nonReentrant` function from another `nonReentrant`\n     * function is not supported. It is possible to prevent this from happening\n     * by making the `nonReentrant` function external, and making it call a\n     * `private` function that does the actual work.\n     */\n    modifier nonReentrant() {\n        _nonReentrantBefore();\n        _;\n        _nonReentrantAfter();\n    }\n\n    /**\n     * @dev A `view` only version of {nonReentrant}. Use to block view functions\n     * from being called, preventing reading from inconsistent contract state.\n     *\n     * CAUTION: This is a \"view\" modifier and does not change the reentrancy\n     * status. Use it only on view functions. For payable or non-payable functions,\n     * use the standard {nonReentrant} modifier instead.\n     */\n    modifier nonReentrantView() {\n        _nonReentrantBeforeView();\n        _;\n    }\n\n    function _nonReentrantBeforeView() private view {\n        if (_reentrancyGuardEntered()) {\n            revert ReentrancyGuardReentrantCall();\n        }\n    }\n\n    function _nonReentrantBefore() private {\n        // On the first call to nonReentrant, _status will be NOT_ENTERED\n        _nonReentrantBeforeView();\n\n        // Any calls to nonReentrant after this point will fail\n        _reentrancyGuardStorageSlot().getUint256Slot().value = 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        _reentrancyGuardStorageSlot().getUint256Slot().value = NOT_ENTERED;\n    }\n\n    /**\n     * @dev Returns true if the reentrancy guard is currently set to \"entered\", which indicates there is a\n     * `nonReentrant` function in the call stack.\n     */\n    function _reentrancyGuardEntered() internal view returns (bool) {\n        return _reentrancyGuardStorageSlot().getUint256Slot().value == ENTERED;\n    }\n\n    function _reentrancyGuardStorageSlot()\n        internal\n        pure\n        virtual\n        returns (bytes32)\n    {\n        return REENTRANCY_GUARD_STORAGE;\n    }\n}\n\ncontract USDTStaking is Ownable, ReentrancyGuard {\n    IERC20 public token;\n    uint256 private totalusers;\n    uint256 private totalstaked;\n    uint256 private totalwithdraw;\n    uint256 private totaldistributed;\n    uint256 private MIN_AMOUNT;\n    uint256 private apy; // in seconds\n    uint256 private lockPeriod; // in seconds\n    uint256 private referralPercent; // basis points (500 = 5%)\n    uint256 private claimInterval;\n    address public defaultreferral;\n\n    uint256 private _nextStakeId;\n    uint256 private _nextReferralId;\n\n    struct Stake {\n        uint256 stakeId; // global unique ID\n        uint256 packageAmount; // USDT staked in wei\n        uint256 planDurationDays; // snapshot at stake time (days)\n        uint256 planReturnBPS; // snapshot at stake time (basis points)\n        uint256 startTime;\n        uint256 endTime;\n        uint256 totalReward; // pre-calculated total USDT reward (wei)\n        uint256 lastClaimTime; // timestamp of last claim for THIS stake\n        uint256 claimedReward; // cumulative USDT already claimed (wei)\n        bool active; // false after withdrawPrincipal\n    }\n\n    struct ReferralRecord {\n        uint256 recordId;\n        address user;\n        address referrer;\n        uint256 packageAmount;\n        uint256 planReturnBPS;\n        uint256 referralAmount;\n        uint256 timestamp;\n    }\n\n    mapping(address => Stake[]) private _userStakes;\n    mapping(address => address) public referrer; // user → their referrer (set once)\n    mapping(address => uint256) public totalReferralEarned; // referrer → lifetime USDT earned\n\n    ReferralRecord[] private _allReferrals;\n    mapping(address => uint256[]) private _referrerIndices; // referrer → indices in _allReferrals\n\n    event Staked(address indexed user,uint256 stakeId,uint256 packageAmount,uint256 endTime);\n    event RewardClaimed(address indexed user,uint256 stakeId,uint256 stakeIndex,uint256 amount);\n    event PrincipalWithdrawn(address indexed user,uint256 stakeId,uint256 stakeIndex,uint256 principal,uint256 unclaimedReward);\n    event ReferralPaid(uint256 recordId,address indexed user,address indexed ref,uint256 amount);\n    event ReferralPercentUpdated(uint256 bps);\n    event ClaimIntervalUpdated(uint256 seconds_);\n    event DANWithdrawn(address indexed to, uint256 amount);\n    event ERC20Withdrawn(address indexed token,address indexed to,uint256 amount);\n\n    constructor() Ownable(0x3435d20738487C21F24063A4851ff2c6Ba20218b) {\n        token = IERC20(0xb9BFa68B6774612e66eB693C7a0D00B2Eb6BCdee);\n        MIN_AMOUNT = 10e8;\n        apy = 600; //6%\n        referralPercent = 500; // 5%\n        claimInterval = 7 days;\n        defaultreferral = 0x3435d20738487C21F24063A4851ff2c6Ba20218b;\n        lockPeriod = 365 days;\n    }\n\n    receive() external payable {}\n\n    \n\n    function _hasEverStaked(address account) internal view returns (bool) {\n        return _userStakes[account].length > 0;\n    }\n\n    function _calcClaimable(Stake storage s) internal view returns (uint256) {\n        uint256 elapsed = block.timestamp - s.startTime;\n        uint256 duration = s.endTime - s.startTime;\n        if (elapsed > duration) elapsed = duration;\n\n        uint256 accrued = (s.totalReward * elapsed) / duration;\n        if (accrued <= s.claimedReward) return 0;\n        return accrued - s.claimedReward;\n    }\n\n    function stake(uint256 _amount, address _referrer) external {\n        require(_amount > 0 && _amount >= MIN_AMOUNT,\"Please enter valid stake amount!\");\n        require(_referrer != msg.sender, \"USDTStaking: self-referral\");\n\n        token.transferFrom(msg.sender, address(this), _amount);\n\n        // Register referrer once per user\n        if (_referrer != address(0) && referrer[msg.sender] == address(0)) {\n            referrer[msg.sender] = _referrer;\n        }\n\n        if(referrer[msg.sender] == address(0)){\n            referrer[msg.sender] = defaultreferral;\n        }\n\n        if(_userStakes[msg.sender].length == 0) totalusers++;\n\n        // Store stake record\n        uint256 sid = _nextStakeId++;\n        uint256 endtime = block.timestamp + lockPeriod;\n        _userStakes[msg.sender].push(\n            Stake({\n                stakeId: sid,\n                packageAmount: _amount,\n                planDurationDays: lockPeriod,\n                planReturnBPS: apy,\n                startTime: block.timestamp,\n                endTime: endtime,\n                totalReward: (_amount * apy) / 10000,\n                lastClaimTime: block.timestamp,\n                claimedReward: 0,\n                active: true\n            })\n        );\n        totalstaked += _amount;\n      \n\n        emit Staked( msg.sender, sid, _amount, endtime );\n\n        // Condition: referrer exists AND has ever staked (any amount, any time)\n        address ref = referrer[msg.sender];\n        if (ref != address(0) && (_hasEverStaked(ref) || ref == defaultreferral )) {\n            uint256 refAmount = (_amount * referralPercent) / 10000;\n            if (refAmount > 0 && token.balanceOf(address(this)) >= refAmount) {\n                totalReferralEarned[ref] += refAmount;\n\n                uint256 rid = _nextReferralId++;\n                _allReferrals.push(\n                    ReferralRecord({\n                        recordId: rid,\n                        user: msg.sender,\n                        referrer: ref,\n                        packageAmount: _amount,\n                        planReturnBPS: apy,\n                        referralAmount: refAmount,\n                        timestamp: block.timestamp\n                    })\n                );\n                _referrerIndices[ref].push(_allReferrals.length - 1);\n\n                token.transfer(ref, refAmount);\n                emit ReferralPaid(rid, msg.sender, ref, refAmount);\n            }\n        }\n    }\n\n    function claimReward(uint256 stakeIndex) external nonReentrant {\n        require(\n            stakeIndex < _userStakes[msg.sender].length,\n            \"USDTStaking: invalid index\"\n        );\n        Stake storage s = _userStakes[msg.sender][stakeIndex];\n        require(s.active, \"USDTStaking: stake inactive\");\n\n        uint256 nextAt = s.lastClaimTime + claimInterval;\n        require(block.timestamp >= nextAt, \"USDTStaking: too soon to claim\");\n\n        uint256 claimable = _calcClaimable(s);\n        require(claimable > 0, \"USDTStaking: nothing to claim\");\n\n        s.lastClaimTime = block.timestamp;\n        s.claimedReward += claimable;\n        totaldistributed += claimable;\n\n        token.transfer(msg.sender, claimable);\n        emit RewardClaimed(msg.sender, s.stakeId, stakeIndex, claimable);\n    }\n\n    function withdrawPrincipal(uint256 stakeIndex) external nonReentrant {\n        require(\n            stakeIndex < _userStakes[msg.sender].length,\n            \"USDTStaking: invalid index\"\n        );\n        Stake storage s = _userStakes[msg.sender][stakeIndex];\n        require(s.active, \"USDTStaking: already withdrawn\");\n        require(block.timestamp >= s.endTime, \"USDTStaking: not yet matured\");\n\n        s.active = false;\n\n        uint256 unclaimed = s.totalReward - s.claimedReward;\n        uint256 payout = s.packageAmount + unclaimed;\n\n        totaldistributed += unclaimed;\n        totalwithdraw += s.packageAmount;\n\n        token.transfer(msg.sender, payout);\n        \n        emit PrincipalWithdrawn(\n            msg.sender,\n            s.stakeId,\n            stakeIndex,\n            s.packageAmount,\n            unclaimed\n        );\n    }\n\n    function getStakingHistory(\n        address user,\n        uint256 offset,\n        uint256 limit\n    )\n        external\n        view\n        returns (\n            Stake[] memory stakes,\n            uint256[] memory pendingRewards,\n            uint256[] memory nextClaimTimes,\n            bool[] memory canClaims,\n            uint256 total\n        )\n    {\n        Stake[] storage all = _userStakes[user];\n        total = all.length;\n\n        if (offset >= total || limit == 0) {\n            return (\n                new Stake[](0),\n                new uint256[](0),\n                new uint256[](0),\n                new bool[](0),\n                total\n            );\n        }\n\n        uint256 end = offset + limit;\n        if (end > total) end = total;\n        uint256 size = end - offset;\n\n        stakes = new Stake[](size);\n        pendingRewards = new uint256[](size);\n        nextClaimTimes = new uint256[](size);\n        canClaims = new bool[](size);\n\n        for (uint256 i = 0; i < size; i++) {\n            Stake storage s = all[offset + i];\n            uint256 pending = s.active ? _calcClaimable(s) : 0;\n            uint256 nextAt = s.lastClaimTime + claimInterval;\n\n            stakes[i] = s;\n            pendingRewards[i] = pending;\n            nextClaimTimes[i] = nextAt;\n            canClaims[i] = s.active && block.timestamp >= nextAt && pending > 0;\n        }\n    }\n\n    function getStakeDetail(address user,uint256 stakeIndex) external view returns ( Stake memory stakeData, uint256 pendingReward, uint256 nextClaimTime, bool canClaim)\n    {\n        require(stakeIndex < _userStakes[user].length, \"USDTStaking: invalid index\");\n        Stake storage s = _userStakes[user][stakeIndex];\n        uint256 nextAt = s.lastClaimTime + claimInterval;\n        uint256 pending = s.active ? _calcClaimable(s) : 0;\n\n        stakeData = s;\n        pendingReward = pending;\n        nextClaimTime = nextAt;\n        canClaim = s.active && block.timestamp >= nextAt && pending > 0;\n    }\n\n    function getReferralHistory(\n        address _referrer,\n        uint256 offset,\n        uint256 limit\n    ) external view returns (ReferralRecord[] memory records, uint256 total) {\n        uint256[] storage indices = _referrerIndices[_referrer];\n        total = indices.length;\n\n        if (offset >= total || limit == 0)\n            return (new ReferralRecord[](0), total);\n\n        uint256 end = offset + limit;\n        if (end > total) end = total;\n        uint256 size = end - offset;\n\n        records = new ReferralRecord[](size);\n        for (uint256 i = 0; i < size; i++) {\n            records[i] = _allReferrals[indices[offset + i]];\n        }\n    }\n\n    function getAllReferralHistory(\n        uint256 offset,\n        uint256 limit\n    )\n        external\n        view\n        onlyOwner\n        returns (ReferralRecord[] memory records, uint256 total)\n    {\n        total = _allReferrals.length;\n\n        if (offset >= total || limit == 0)\n            return (new ReferralRecord[](0), total);\n\n        uint256 end = offset + limit;\n        if (end > total) end = total;\n        uint256 size = end - offset;\n\n        records = new ReferralRecord[](size);\n        for (uint256 i = 0; i < size; i++) {\n            records[i] = _allReferrals[offset + i];\n        }\n    }\n\n    function getStakeCount(address user) external view returns (uint256) {\n        return _userStakes[user].length;\n    }\n    function hasEverStaked(address user) external view returns (bool) {\n        return _hasEverStaked(user);\n    }\n\n    function getReferralCount(address ref) external view returns (uint256) {\n        return _referrerIndices[ref].length;\n    }\n    function getContractBalance() external view returns (uint256) {\n        return address(this).balance;\n    }\n\n    function updateMinAmount(uint256 _amount) external onlyOwner {\n        MIN_AMOUNT = _amount;\n    }\n\n    function updateLockPeriod(uint256 _newPeriod) external onlyOwner {\n        lockPeriod = _newPeriod;\n    }\n\n    function setReferralPercent(uint256 newBPS) external onlyOwner {\n        referralPercent = newBPS;\n        emit ReferralPercentUpdated(newBPS);\n    }\n\n    function setDefaultreferral(address _defaultaddress) external onlyOwner {\n        defaultreferral  = _defaultaddress;\n    }\n\n    function setClaimInterval(uint256 newSeconds) external onlyOwner {\n        claimInterval = newSeconds;\n        emit ClaimIntervalUpdated(newSeconds);\n    }\n\n    function setApy(uint256 _apy) external onlyOwner{\n        apy = _apy;\n    }\n\n    function setTokenAddress(address _token) external onlyOwner{\n        token = IERC20(_token);\n    }\n\n    function withdrawDAN(address to, uint256 amount) external onlyOwner {\n        require(to != address(0), \"USDTStaking: zero address\");\n        require(amount > 0, \"USDTStaking: zero amount\");\n        require(\n            address(this).balance >= amount,\n            \"USDTStaking: insufficient balance\"\n        );\n        \n        (bool ok, ) = payable(to).call{value: amount}(\"\");\n        require(ok, \"USDTStaking: USDT transfer failed\");\n        emit DANWithdrawn(to, amount);\n    }\n\n    function withdrawERC20(address tokenAddress,address to,uint256 amount) external onlyOwner {\n        require(tokenAddress != address(0), \"USDTStaking: zero token\");\n        require(to != address(0), \"USDTStaking: zero recipient\");\n        require(amount > 0, \"USDTStaking: zero amount\");\n        require(\n            IERC20(tokenAddress).transfer(to, amount),\n            \"USDTStaking: ERC20 transfer failed\"\n        );\n        emit ERC20Withdrawn(tokenAddress, to, amount);\n    }\n\n    function contractStats() public view returns(\n        uint256,\n        uint256,\n        uint256,\n        uint256\n    ){\n        return (\n        totalusers,\n        totalstaked,\n        totalwithdraw,\n        totaldistributed\n        );\n    }\n\n    function contractInfo() public view returns(\n        uint256,\n        uint256,\n        uint256,\n        uint256,\n        uint256,\n        uint256,\n        uint256\n\n    ){\n        return (\n            MIN_AMOUNT,\n            lockPeriod,\n            apy,\n            referralPercent,\n            claimInterval,\n            _nextStakeId,\n            _nextReferralId\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\"},{\"inputs\":[],\"name\":\"ReentrancyGuardReentrantCall\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"seconds_\",\"type\":\"uint256\"}],\"name\":\"ClaimIntervalUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"DANWithdrawn\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"ERC20Withdrawn\",\"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\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"stakeId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"stakeIndex\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"principal\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"unclaimedReward\",\"type\":\"uint256\"}],\"name\":\"PrincipalWithdrawn\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"recordId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"ref\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"ReferralPaid\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"bps\",\"type\":\"uint256\"}],\"name\":\"ReferralPercentUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"stakeId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"stakeIndex\",\"type\":\"uint256\"},{\"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\":\"stakeId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"packageAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"endTime\",\"type\":\"uint256\"}],\"name\":\"Staked\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"stakeIndex\",\"type\":\"uint256\"}],\"name\":\"claimReward\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"contractInfo\",\"outputs\":[{\"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\":\"contractStats\",\"outputs\":[{\"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\":\"defaultreferral\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"offset\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"limit\",\"type\":\"uint256\"}],\"name\":\"getAllReferralHistory\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"recordId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"referrer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"packageAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"planReturnBPS\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"referralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"internalType\":\"struct USDTStaking.ReferralRecord[]\",\"name\":\"records\",\"type\":\"tuple[]\"},{\"internalType\":\"uint256\",\"name\":\"total\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getContractBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"ref\",\"type\":\"address\"}],\"name\":\"getReferralCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_referrer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"offset\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"limit\",\"type\":\"uint256\"}],\"name\":\"getReferralHistory\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"recordId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"referrer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"packageAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"planReturnBPS\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"referralAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"internalType\":\"struct USDTStaking.ReferralRecord[]\",\"name\":\"records\",\"type\":\"tuple[]\"},{\"internalType\":\"uint256\",\"name\":\"total\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"getStakeCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"stakeIndex\",\"type\":\"uint256\"}],\"name\":\"getStakeDetail\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"stakeId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"packageAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"planDurationDays\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"planReturnBPS\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"startTime\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"endTime\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalReward\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"lastClaimTime\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"claimedReward\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"active\",\"type\":\"bool\"}],\"internalType\":\"struct USDTStaking.Stake\",\"name\":\"stakeData\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"pendingReward\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"nextClaimTime\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"canClaim\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"offset\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"limit\",\"type\":\"uint256\"}],\"name\":\"getStakingHistory\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"stakeId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"packageAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"planDurationDays\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"planReturnBPS\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"startTime\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"endTime\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalReward\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"lastClaimTime\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"claimedReward\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"active\",\"type\":\"bool\"}],\"internalType\":\"struct USDTStaking.Stake[]\",\"name\":\"stakes\",\"type\":\"tuple[]\"},{\"internalType\":\"uint256[]\",\"name\":\"pendingRewards\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"nextClaimTimes\",\"type\":\"uint256[]\"},{\"internalType\":\"bool[]\",\"name\":\"canClaims\",\"type\":\"bool[]\"},{\"internalType\":\"uint256\",\"name\":\"total\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"hasEverStaked\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"referrer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_apy\",\"type\":\"uint256\"}],\"name\":\"setApy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newSeconds\",\"type\":\"uint256\"}],\"name\":\"setClaimInterval\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_defaultaddress\",\"type\":\"address\"}],\"name\":\"setDefaultreferral\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newBPS\",\"type\":\"uint256\"}],\"name\":\"setReferralPercent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"}],\"name\":\"setTokenAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_referrer\",\"type\":\"address\"}],\"name\":\"stake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"internalType\":\"contract IERC20\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"totalReferralEarned\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_newPeriod\",\"type\":\"uint256\"}],\"name\":\"updateLockPeriod\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"updateMinAmount\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"withdrawDAN\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"tokenAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"withdrawERC20\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"stakeIndex\",\"type\":\"uint256\"}],\"name\":\"withdrawPrincipal\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}]"},"tokens":[{"address":"0xb9bfa68b6774612e66eb693c7a0d00b2eb6bcdee","name":"Bridge USDT","symbol":"USDT","decimals":8,"type":"ERC-20","value":"5958846652399","tokenId":null,"price":null,"logo":"/uploads/token-b9bfa68b6774612e66eb693c7a0d00b2eb6bcdee-462b4308692af358.png"}],"summary":{"isContract":true,"isVerified":true,"name":null,"ensName":null,"creator":"0xbb576f8a4283c9cba153f9c79f2ac4fe50fde526","creationTx":null,"publicTags":[],"hasTokens":true,"hasLogs":true,"validatedBlocks":false},"firstLast":{"last":{"hash":"0x42bb5556d2bbbe230cda3461d3afb52df8a915ec36ed42bdad931e8f5f963187","timestamp":1788311645,"blockNumber":5038142},"first":{"hash":"0x533b742af9bcf6ec83ced510b4e74c7db08027f02f87a47f5dff86642f369473","timestamp":1779516220,"blockNumber":642735},"fundedBy":{"address":"0xbb576f8a4283c9cba153f9c79f2ac4fe50fde526","hash":"0xda6fcb6706038b7966fdc567120c8d8833f352ac49a39a708e24930199f4ca9e"},"complete":true},"tab":"txs","page":1,"offset":25,"scan":{"available":true,"source":"blockscout","ok":true,"message":"OK"},"rows":[{"hash":"0x42bb5556d2bbbe230cda3461d3afb52df8a915ec36ed42bdad931e8f5f963187","blockNumber":"5038142","timeStamp":"1788311645","from":"0xa423a1ee8c5500bd5d725948777f87cdd287bfd1","to":"0xe5a8825d1809f495f7495ab42cb11531f4743cd0","contractAddress":"","value":"0","gas":"85178","gasUsed":"79645","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0xae169a500000000000000000000000000000000000000000000000000000000000000001","methodId":"0xae169a50","functionName":"claimReward"},{"hash":"0x882f32395ac7bdef955c38bebfbf5b07a78360d3dc2acaf8d3b5af4d67d1ffeb","blockNumber":"5038131","timeStamp":"1788311623","from":"0xa423a1ee8c5500bd5d725948777f87cdd287bfd1","to":"0xe5a8825d1809f495f7495ab42cb11531f4743cd0","contractAddress":"","value":"0","gas":"102469","gasUsed":"96733","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0xae169a500000000000000000000000000000000000000000000000000000000000000000","methodId":"0xae169a50","functionName":"claimReward"},{"hash":"0x304caf0719b9163e4f664e6d9b335efdde788401ad428741063a4f9e8b254d0c","blockNumber":"4927934","timeStamp":"1788091224","from":"0x0df7c325eae727149c7c96e7ddb97a55892517ef","to":"0xe5a8825d1809f495f7495ab42cb11531f4743cd0","contractAddress":"","value":"0","gas":"85165","gasUsed":"79633","gasPrice":"5245911936423","isError":"0","txreceipt_status":"1","input":"0xae169a500000000000000000000000000000000000000000000000000000000000000000","methodId":"0xae169a50","functionName":"claimReward"},{"hash":"0xef4ddefd5765f26f70de5c784271af35283822cdcfa30df00511f4dce7141ba5","blockNumber":"4927781","timeStamp":"1788090918","from":"0x0df7c325eae727149c7c96e7ddb97a55892517ef","to":"0xe5a8825d1809f495f7495ab42cb11531f4743cd0","contractAddress":"","value":"0","gas":"102481","gasUsed":"96745","gasPrice":"5131862515884","isError":"0","txreceipt_status":"1","input":"0xae169a500000000000000000000000000000000000000000000000000000000000000001","methodId":"0xae169a50","functionName":"claimReward"},{"hash":"0xda102b93ef57f17c71559c98a0e13d9cf1a8ae8597618223f001657debd4aba5","blockNumber":"4802489","timeStamp":"1787840332","from":"0x0306cf3ccbeb82c78cb2a2475518206b01f08080","to":"0xe5a8825d1809f495f7495ab42cb11531f4743cd0","contractAddress":"","value":"0","gas":"102469","gasUsed":"35564","gasPrice":"4500000000000","isError":"1","txreceipt_status":"0","input":"0xae169a500000000000000000000000000000000000000000000000000000000000000000","methodId":"0xae169a50","functionName":"claimReward"},{"hash":"0x2e72882b9a73dc21736ff675b28812ed0ebcf61ea1b526c3e1688ea134a8aebc","blockNumber":"4802485","timeStamp":"1787840324","from":"0x0306cf3ccbeb82c78cb2a2475518206b01f08080","to":"0xe5a8825d1809f495f7495ab42cb11531f4743cd0","contractAddress":"","value":"0","gas":"102469","gasUsed":"96733","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0xae169a500000000000000000000000000000000000000000000000000000000000000000","methodId":"0xae169a50","functionName":"claimReward"},{"hash":"0x38cab44338560dbc87b2c8d7eb2d706af77a1fdc8713b212e111c30c20895814","blockNumber":"4794421","timeStamp":"1787824196","from":"0x96cc7f35661b6e573c91e38d4dd576ec71e2e838","to":"0xe5a8825d1809f495f7495ab42cb11531f4743cd0","contractAddress":"","value":"0","gas":"85165","gasUsed":"79633","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0xae169a500000000000000000000000000000000000000000000000000000000000000000","methodId":"0xae169a50","functionName":"claimReward"},{"hash":"0x3e80f1e307952d5b6120e22f442d1f15832584e110653cd574c3b09735b589fa","blockNumber":"4794415","timeStamp":"1787824184","from":"0x96cc7f35661b6e573c91e38d4dd576ec71e2e838","to":"0xe5a8825d1809f495f7495ab42cb11531f4743cd0","contractAddress":"","value":"0","gas":"102481","gasUsed":"35576","gasPrice":"4500000000000","isError":"1","txreceipt_status":"0","input":"0xae169a500000000000000000000000000000000000000000000000000000000000000001","methodId":"0xae169a50","functionName":"claimReward"},{"hash":"0x30edf7c664806cf98902604237b7eab928ad1faf02729a11ad9857a60519400e","blockNumber":"4794410","timeStamp":"1787824174","from":"0x96cc7f35661b6e573c91e38d4dd576ec71e2e838","to":"0xe5a8825d1809f495f7495ab42cb11531f4743cd0","contractAddress":"","value":"0","gas":"102481","gasUsed":"96745","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0xae169a500000000000000000000000000000000000000000000000000000000000000001","methodId":"0xae169a50","functionName":"claimReward"},{"hash":"0xbef8c25e214dfc50d72edbae65c1d4ed67485f5fe8649fab215260e984934eaa","blockNumber":"4683193","timeStamp":"1787601739","from":"0xa423a1ee8c5500bd5d725948777f87cdd287bfd1","to":"0xe5a8825d1809f495f7495ab42cb11531f4743cd0","contractAddress":"","value":"0","gas":"85178","gasUsed":"79645","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0xae169a500000000000000000000000000000000000000000000000000000000000000001","methodId":"0xae169a50","functionName":"claimReward"},{"hash":"0x79bed5f6077dfb0a35a1abb7c7142732ed9352bd7c97a848015a5b48c59fb0a8","blockNumber":"4683185","timeStamp":"1787601723","from":"0xa423a1ee8c5500bd5d725948777f87cdd287bfd1","to":"0xe5a8825d1809f495f7495ab42cb11531f4743cd0","contractAddress":"","value":"0","gas":"102469","gasUsed":"96733","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0xae169a500000000000000000000000000000000000000000000000000000000000000000","methodId":"0xae169a50","functionName":"claimReward"},{"hash":"0xb9a498f726e1e3db2b1b305964736ad6d9b13a2a18277e4ca98f00bab1483818","blockNumber":"4479161","timeStamp":"1787193441","from":"0x08db3d098af89bc75250cd80a94e95a03752e61d","to":"0xe5a8825d1809f495f7495ab42cb11531f4743cd0","contractAddress":"","value":"0","gas":"85165","gasUsed":"79633","gasPrice":"4864365927078","isError":"0","txreceipt_status":"1","input":"0xae169a500000000000000000000000000000000000000000000000000000000000000000","methodId":"0xae169a50","functionName":"claimReward"},{"hash":"0x45bce3b07a59b5b7552705880961443c91a0347279a442e8a952cc2d20fd7f0d","blockNumber":"4471840","timeStamp":"1787178799","from":"0x0df7c325eae727149c7c96e7ddb97a55892517ef","to":"0xe5a8825d1809f495f7495ab42cb11531f4743cd0","contractAddress":"","value":"0","gas":"85165","gasUsed":"79633","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0xae169a500000000000000000000000000000000000000000000000000000000000000000","methodId":"0xae169a50","functionName":"claimReward"},{"hash":"0xa11bd559b4a3a98b12d96be4de9a7cca66c9689510c84a43451f5f5c24b4cf2f","blockNumber":"4471835","timeStamp":"1787178789","from":"0x0df7c325eae727149c7c96e7ddb97a55892517ef","to":"0xe5a8825d1809f495f7495ab42cb11531f4743cd0","contractAddress":"","value":"0","gas":"85178","gasUsed":"35576","gasPrice":"4500000000000","isError":"1","txreceipt_status":"0","input":"0xae169a500000000000000000000000000000000000000000000000000000000000000001","methodId":"0xae169a50","functionName":"claimReward"},{"hash":"0xddb641ae7c1e90242cd7650bcf9a3f5f514082e61245a6199f57502d8d96f1cf","blockNumber":"4471814","timeStamp":"1787178747","from":"0x0df7c325eae727149c7c96e7ddb97a55892517ef","to":"0xe5a8825d1809f495f7495ab42cb11531f4743cd0","contractAddress":"","value":"0","gas":"85178","gasUsed":"79645","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0xae169a500000000000000000000000000000000000000000000000000000000000000001","methodId":"0xae169a50","functionName":"claimReward"},{"hash":"0x40e4672c038710bc9ae32b016da5dd3eba370aee1cd58306bfb34fd58061c2b9","blockNumber":"4366762","timeStamp":"1786968623","from":"0xa423a1ee8c5500bd5d725948777f87cdd287bfd1","to":"0xe5a8825d1809f495f7495ab42cb11531f4743cd0","contractAddress":"","value":"0","gas":"85178","gasUsed":"79645","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0xae169a500000000000000000000000000000000000000000000000000000000000000001","methodId":"0xae169a50","functionName":"claimReward"},{"hash":"0x3cf232fdb06491f659919d342d14277ab814fad15816afc9f7214c52d9d54f7b","blockNumber":"4366754","timeStamp":"1786968607","from":"0xa423a1ee8c5500bd5d725948777f87cdd287bfd1","to":"0xe5a8825d1809f495f7495ab42cb11531f4743cd0","contractAddress":"","value":"0","gas":"102469","gasUsed":"96733","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0xae169a500000000000000000000000000000000000000000000000000000000000000000","methodId":"0xae169a50","functionName":"claimReward"},{"hash":"0x7e128d8eec905647234de2f2c570c9ee99da3c7fb27c4f1980398466032222ff","blockNumber":"4113074","timeStamp":"1786461242","from":"0x0df7c325eae727149c7c96e7ddb97a55892517ef","to":"0xe5a8825d1809f495f7495ab42cb11531f4743cd0","contractAddress":"","value":"0","gas":"85165","gasUsed":"79633","gasPrice":"5400000000000","isError":"0","txreceipt_status":"1","input":"0xae169a500000000000000000000000000000000000000000000000000000000000000000","methodId":"0xae169a50","functionName":"claimReward"},{"hash":"0x5cf9aed4b0da5703163c6ff69c017b162d3d8d6a0dfff28a513b75a910d0616c","blockNumber":"4113066","timeStamp":"1786461226","from":"0x0df7c325eae727149c7c96e7ddb97a55892517ef","to":"0xe5a8825d1809f495f7495ab42cb11531f4743cd0","contractAddress":"","value":"0","gas":"102481","gasUsed":"96745","gasPrice":"5400000000000","isError":"0","txreceipt_status":"1","input":"0xae169a500000000000000000000000000000000000000000000000000000000000000001","methodId":"0xae169a50","functionName":"claimReward"},{"hash":"0x3a006e3e4875352d3eb78b9232d91a4565bffd94b70f95b06b6a08db9ee25ec9","blockNumber":"4004684","timeStamp":"1786244457","from":"0x96cc7f35661b6e573c91e38d4dd576ec71e2e838","to":"0xe5a8825d1809f495f7495ab42cb11531f4743cd0","contractAddress":"","value":"0","gas":"85165","gasUsed":"79633","gasPrice":"5400000000000","isError":"0","txreceipt_status":"1","input":"0xae169a500000000000000000000000000000000000000000000000000000000000000000","methodId":"0xae169a50","functionName":"claimReward"},{"hash":"0x064c6c46adc4eedbf8627b2b5e65390f2050896d8f40edf793d8987f7cab1002","blockNumber":"4004679","timeStamp":"1786244447","from":"0x96cc7f35661b6e573c91e38d4dd576ec71e2e838","to":"0xe5a8825d1809f495f7495ab42cb11531f4743cd0","contractAddress":"","value":"0","gas":"102481","gasUsed":"35576","gasPrice":"5400000000000","isError":"1","txreceipt_status":"0","input":"0xae169a500000000000000000000000000000000000000000000000000000000000000001","methodId":"0xae169a50","functionName":"claimReward"},{"hash":"0xe3463aaa5571fab25410aa73211bf9dc88dbf1fc1ed475804bdf9fd9ef547f09","blockNumber":"4004673","timeStamp":"1786244435","from":"0x96cc7f35661b6e573c91e38d4dd576ec71e2e838","to":"0xe5a8825d1809f495f7495ab42cb11531f4743cd0","contractAddress":"","value":"0","gas":"102481","gasUsed":"96745","gasPrice":"5400000000000","isError":"0","txreceipt_status":"1","input":"0xae169a500000000000000000000000000000000000000000000000000000000000000001","methodId":"0xae169a50","functionName":"claimReward"},{"hash":"0xfd28a7485ad844ff005a138233abdb268c267cf634bf45356208fc1e9ac8725e","blockNumber":"4004657","timeStamp":"1786244403","from":"0x0306cf3ccbeb82c78cb2a2475518206b01f08080","to":"0xe5a8825d1809f495f7495ab42cb11531f4743cd0","contractAddress":"","value":"0","gas":"85165","gasUsed":"79633","gasPrice":"5400000000000","isError":"0","txreceipt_status":"1","input":"0xae169a500000000000000000000000000000000000000000000000000000000000000000","methodId":"0xae169a50","functionName":"claimReward"},{"hash":"0x827208501266ffa3a9a7b83cc82239fb44c28e826a846442ef50cec25b8e51c3","blockNumber":"3841036","timeStamp":"1785917140","from":"0xa423a1ee8c5500bd5d725948777f87cdd287bfd1","to":"0xe5a8825d1809f495f7495ab42cb11531f4743cd0","contractAddress":"","value":"0","gas":"85178","gasUsed":"79645","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0xae169a500000000000000000000000000000000000000000000000000000000000000001","methodId":"0xae169a50","functionName":"claimReward"},{"hash":"0xac0c21f58efee83435a0c70f5dcc884830029da9cf4b0e4ef6c71b478bceb8b2","blockNumber":"3841028","timeStamp":"1785917124","from":"0xa423a1ee8c5500bd5d725948777f87cdd287bfd1","to":"0xe5a8825d1809f495f7495ab42cb11531f4743cd0","contractAddress":"","value":"0","gas":"102469","gasUsed":"96733","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0xae169a500000000000000000000000000000000000000000000000000000000000000000","methodId":"0xae169a50","functionName":"claimReward"},{"hash":"0xbefd4d44a2e515495089f7a0f1fe028ef7149cd180a98f4d0ecca59b874dfe04","blockNumber":"3656929","timeStamp":"1785548911","from":"0x0df7c325eae727149c7c96e7ddb97a55892517ef","to":"0xe5a8825d1809f495f7495ab42cb11531f4743cd0","contractAddress":"","value":"0","gas":"85165","gasUsed":"79633","gasPrice":"5277816281603","isError":"0","txreceipt_status":"1","input":"0xae169a500000000000000000000000000000000000000000000000000000000000000000","methodId":"0xae169a50","functionName":"claimReward"},{"hash":"0x9514b48f1b8168031644db22d8073b0e4799b33cd888e29a064d3f8a38f2dcdf","blockNumber":"3656921","timeStamp":"1785548895","from":"0x0df7c325eae727149c7c96e7ddb97a55892517ef","to":"0xe5a8825d1809f495f7495ab42cb11531f4743cd0","contractAddress":"","value":"0","gas":"85178","gasUsed":"79645","gasPrice":"5400000000000","isError":"0","txreceipt_status":"1","input":"0xae169a500000000000000000000000000000000000000000000000000000000000000001","methodId":"0xae169a50","functionName":"claimReward"},{"hash":"0x7ec3dce02e2870e757e9f4616d43bbeb4f0dd95c521537c7b7c458a13303806f","blockNumber":"3579630","timeStamp":"1785394312","from":"0x96cc7f35661b6e573c91e38d4dd576ec71e2e838","to":"0xe5a8825d1809f495f7495ab42cb11531f4743cd0","contractAddress":"","value":"0","gas":"85178","gasUsed":"79645","gasPrice":"5400000000000","isError":"0","txreceipt_status":"1","input":"0xae169a500000000000000000000000000000000000000000000000000000000000000001","methodId":"0xae169a50","functionName":"claimReward"},{"hash":"0xfdd26488a0478809113a49a70117156aa77aa149c52cae6aa31242fe822896c9","blockNumber":"3579623","timeStamp":"1785394298","from":"0x96cc7f35661b6e573c91e38d4dd576ec71e2e838","to":"0xe5a8825d1809f495f7495ab42cb11531f4743cd0","contractAddress":"","value":"0","gas":"102469","gasUsed":"35564","gasPrice":"5400000000000","isError":"1","txreceipt_status":"0","input":"0xae169a500000000000000000000000000000000000000000000000000000000000000000","methodId":"0xae169a50","functionName":"claimReward"},{"hash":"0xd4a8ca92408de47633ef0eb7bd2b2195a2147ea9e0262e8624802fbd600c9a28","blockNumber":"3579620","timeStamp":"1785394292","from":"0x96cc7f35661b6e573c91e38d4dd576ec71e2e838","to":"0xe5a8825d1809f495f7495ab42cb11531f4743cd0","contractAddress":"","value":"0","gas":"102469","gasUsed":"96733","gasPrice":"5400000000000","isError":"0","txreceipt_status":"1","input":"0xae169a500000000000000000000000000000000000000000000000000000000000000000","methodId":"0xae169a50","functionName":"claimReward"},{"hash":"0x6a1d97d3969aa9f19de66ae2549708348bf56347925b895264de00445f8354d0","blockNumber":"3579599","timeStamp":"1785394250","from":"0x0306cf3ccbeb82c78cb2a2475518206b01f08080","to":"0xe5a8825d1809f495f7495ab42cb11531f4743cd0","contractAddress":"","value":"0","gas":"102469","gasUsed":"96733","gasPrice":"5400000000000","isError":"0","txreceipt_status":"1","input":"0xae169a500000000000000000000000000000000000000000000000000000000000000000","methodId":"0xae169a50","functionName":"claimReward"},{"hash":"0x5b2135309c16d39a0e879fd6808da7d2e2c3988d95c8bf4965fd0e9d3bf6413e","blockNumber":"3542459","timeStamp":"1785319968","from":"0xc1aaeca632b430cfe0945ed748d55684b9581805","to":"0xe5a8825d1809f495f7495ab42cb11531f4743cd0","contractAddress":"","value":"0","gas":"500409","gasUsed":"495311","gasPrice":"4528725148266","isError":"0","txreceipt_status":"1","input":"0x7acb775700000000000000000000000000000000000000000000000000000002540be4000000000000000000000000000000000000000000000000000000000000000000","methodId":"0x7acb7757","functionName":"stake"},{"hash":"0xa083715785ce6a7ac90855fa15ea5a004f45aab1ca698fb320ed86da1e4f7e99","blockNumber":"3346097","timeStamp":"1784927241","from":"0xa423a1ee8c5500bd5d725948777f87cdd287bfd1","to":"0xe5a8825d1809f495f7495ab42cb11531f4743cd0","contractAddress":"","value":"0","gas":"102481","gasUsed":"96745","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0xae169a500000000000000000000000000000000000000000000000000000000000000001","methodId":"0xae169a50","functionName":"claimReward"},{"hash":"0x868c4ed12fab8b60773a1440f7206ac46ee7af069ad4bae06f4e1afedb44811b","blockNumber":"3346086","timeStamp":"1784927219","from":"0xa423a1ee8c5500bd5d725948777f87cdd287bfd1","to":"0xe5a8825d1809f495f7495ab42cb11531f4743cd0","contractAddress":"","value":"0","gas":"119773","gasUsed":"113833","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0xae169a500000000000000000000000000000000000000000000000000000000000000000","methodId":"0xae169a50","functionName":"claimReward"},{"hash":"0xa490b30abae9d1cf6b28b6da84ce0a74d680e34c48b36890cc693b57c82760ab","blockNumber":"3336125","timeStamp":"1784907297","from":"0x0df7c325eae727149c7c96e7ddb97a55892517ef","to":"0xe5a8825d1809f495f7495ab42cb11531f4743cd0","contractAddress":"","value":"0","gas":"85165","gasUsed":"79633","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0xae169a500000000000000000000000000000000000000000000000000000000000000000","methodId":"0xae169a50","functionName":"claimReward"},{"hash":"0xd02132bbc9f99a676a90e5f1f3b15d78b734763eb669525f4857b97787e317be","blockNumber":"3336116","timeStamp":"1784907279","from":"0x0df7c325eae727149c7c96e7ddb97a55892517ef","to":"0xe5a8825d1809f495f7495ab42cb11531f4743cd0","contractAddress":"","value":"0","gas":"102481","gasUsed":"96745","gasPrice":"4572597022924","isError":"0","txreceipt_status":"1","input":"0xae169a500000000000000000000000000000000000000000000000000000000000000001","methodId":"0xae169a50","functionName":"claimReward"},{"hash":"0x3d403a8ffe51f616c60384fe44256e7bbbbf9a40ea54e70c802028e5334f0c02","blockNumber":"3334507","timeStamp":"1784904061","from":"0x679d94a4aff284eb164c998883e4aad731643126","to":"0xe5a8825d1809f495f7495ab42cb11531f4743cd0","contractAddress":"","value":"0","gas":"102469","gasUsed":"96733","gasPrice":"4814063335326","isError":"0","txreceipt_status":"1","input":"0xae169a500000000000000000000000000000000000000000000000000000000000000000","methodId":"0xae169a50","functionName":"claimReward"},{"hash":"0xe567e838d587e11b82f2a2d2d1f9840f1de5cc511d1615fe9db23269f7fa77a8","blockNumber":"3324817","timeStamp":"1784884681","from":"0x83839fd5f4e8c8756414b23a50b9bfe8b6bf3e8c","to":"0xe5a8825d1809f495f7495ab42cb11531f4743cd0","contractAddress":"","value":"0","gas":"578063","gasUsed":"572353","gasPrice":"4696046623615","isError":"0","txreceipt_status":"1","input":"0x7acb7757000000000000000000000000000000000000000000000000000000174876e800000000000000000000000000061c609b0ae8b6da0fec9c57da5f0323a895134d","methodId":"0x7acb7757","functionName":"stake"},{"hash":"0x31b3cf4271f2c274f2528bd60101d8deeae81f22fba659dcf13bc1e6cb6b3e13","blockNumber":"3312358","timeStamp":"1784859763","from":"0x061c609b0ae8b6da0fec9c57da5f0323a895134d","to":"0xe5a8825d1809f495f7495ab42cb11531f4743cd0","contractAddress":"","value":"0","gas":"102469","gasUsed":"96733","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0xae169a500000000000000000000000000000000000000000000000000000000000000000","methodId":"0xae169a50","functionName":"claimReward"},{"hash":"0x6b991bc960135514ee5b286c50e86a915db822176c82163231f877560b2bf4db","blockNumber":"3312343","timeStamp":"1784859733","from":"0x061c609b0ae8b6da0fec9c57da5f0323a895134d","to":"0xe5a8825d1809f495f7495ab42cb11531f4743cd0","contractAddress":"","value":"0","gas":"500847","gasUsed":"495745","gasPrice":"4500087921194","isError":"0","txreceipt_status":"1","input":"0x7acb775700000000000000000000000000000000000000000000000000000002540be400000000000000000000000000e9f621d1a787d555dfcf42e714426e10583a3632","methodId":"0x7acb7757","functionName":"stake"},{"hash":"0xb155b9779a4cc3fbd6948f5cd693a1a65f1462e5a7a7c9e35fc0ec36880c0c5b","blockNumber":"3264087","timeStamp":"1784763221","from":"0x08db3d098af89bc75250cd80a94e95a03752e61d","to":"0xe5a8825d1809f495f7495ab42cb11531f4743cd0","contractAddress":"","value":"0","gas":"85165","gasUsed":"79633","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0xae169a500000000000000000000000000000000000000000000000000000000000000000","methodId":"0xae169a50","functionName":"claimReward"},{"hash":"0x15d771db3b4cac132743a77ee6d21f954b810d77f2f46cc0029d23eb5d7a1d83","blockNumber":"3235480","timeStamp":"1784706007","from":"0x96cc7f35661b6e573c91e38d4dd576ec71e2e838","to":"0xe5a8825d1809f495f7495ab42cb11531f4743cd0","contractAddress":"","value":"0","gas":"85165","gasUsed":"79633","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0xae169a500000000000000000000000000000000000000000000000000000000000000000","methodId":"0xae169a50","functionName":"claimReward"},{"hash":"0xf65d04f8f03b6100bee84f6e263ce33ff438081d762822a9f564106ae427abc4","blockNumber":"3235472","timeStamp":"1784705991","from":"0x96cc7f35661b6e573c91e38d4dd576ec71e2e838","to":"0xe5a8825d1809f495f7495ab42cb11531f4743cd0","contractAddress":"","value":"0","gas":"85178","gasUsed":"79645","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0xae169a500000000000000000000000000000000000000000000000000000000000000001","methodId":"0xae169a50","functionName":"claimReward"},{"hash":"0x719f5ebe525e24f8e66a87da4d2a923e01b19c468a17c34dc653c4d7bd1393fc","blockNumber":"2979629","timeStamp":"1784193870","from":"0x0df7c325eae727149c7c96e7ddb97a55892517ef","to":"0xe5a8825d1809f495f7495ab42cb11531f4743cd0","contractAddress":"","value":"0","gas":"85178","gasUsed":"79645","gasPrice":"4500000000007","isError":"0","txreceipt_status":"1","input":"0xae169a500000000000000000000000000000000000000000000000000000000000000001","methodId":"0xae169a50","functionName":"claimReward"},{"hash":"0xe6e802a59e5992a5147db9252e96aecbf11a474a2c0918315300979273ad50b5","blockNumber":"2979622","timeStamp":"1784193856","from":"0x0df7c325eae727149c7c96e7ddb97a55892517ef","to":"0xe5a8825d1809f495f7495ab42cb11531f4743cd0","contractAddress":"","value":"0","gas":"85165","gasUsed":"79633","gasPrice":"4500000000007","isError":"0","txreceipt_status":"1","input":"0xae169a500000000000000000000000000000000000000000000000000000000000000000","methodId":"0xae169a50","functionName":"claimReward"},{"hash":"0x2dd67154eb0b953d4bb14c684eeb0de8df2e3911401fb3cc67301285c83319fa","blockNumber":"2831035","timeStamp":"1783896682","from":"0x08db3d098af89bc75250cd80a94e95a03752e61d","to":"0xe5a8825d1809f495f7495ab42cb11531f4743cd0","contractAddress":"","value":"0","gas":"102469","gasUsed":"96733","gasPrice":"4797399963904","isError":"0","txreceipt_status":"1","input":"0xae169a500000000000000000000000000000000000000000000000000000000000000000","methodId":"0xae169a50","functionName":"claimReward"},{"hash":"0x2f90a264950d0d8b776d942e05820c22559068d78795dfa1ac91ef1854686900","blockNumber":"2796205","timeStamp":"1783827022","from":"0xc1aaeca632b430cfe0945ed748d55684b9581805","to":"0xe5a8825d1809f495f7495ab42cb11531f4743cd0","contractAddress":"","value":"0","gas":"102481","gasUsed":"96745","gasPrice":"5400000000000","isError":"0","txreceipt_status":"1","input":"0xae169a500000000000000000000000000000000000000000000000000000000000000002","methodId":"0xae169a50","functionName":"claimReward"},{"hash":"0xd9dc5ebceebe6bc12f8ab4494948c52fccf7b2399260e8b9416b27fc8d068bf7","blockNumber":"2796194","timeStamp":"1783827000","from":"0xc1aaeca632b430cfe0945ed748d55684b9581805","to":"0xe5a8825d1809f495f7495ab42cb11531f4743cd0","contractAddress":"","value":"0","gas":"102469","gasUsed":"96733","gasPrice":"5767045202035","isError":"0","txreceipt_status":"1","input":"0xae169a500000000000000000000000000000000000000000000000000000000000000000","methodId":"0xae169a50","functionName":"claimReward"},{"hash":"0x3c66fdda7dcaa5f47ab9381e1a2ce788097577a67fe0f1e91ca6d094bd959214","blockNumber":"2760696","timeStamp":"1783756004","from":"0x9c84cf40dafe1dcec8e021520e3f93dedb57e889","to":"0xe5a8825d1809f495f7495ab42cb11531f4743cd0","contractAddress":"","value":"0","gas":"102469","gasUsed":"96733","gasPrice":"4504424893265","isError":"0","txreceipt_status":"1","input":"0xae169a500000000000000000000000000000000000000000000000000000000000000000","methodId":"0xae169a50","functionName":"claimReward"},{"hash":"0x3d79c5dd814f05db3fe90d0e3810764b01e4651067445b8e31c6edc700415ad5","blockNumber":"2728728","timeStamp":"1783692068","from":"0x48f133362418cd14463d7f0006ae0ffd994f897a","to":"0xe5a8825d1809f495f7495ab42cb11531f4743cd0","contractAddress":"","value":"0","gas":"102469","gasUsed":"96733","gasPrice":"4500000000000","isError":"0","txreceipt_status":"1","input":"0xae169a500000000000000000000000000000000000000000000000000000000000000000","methodId":"0xae169a50","functionName":"claimReward"}],"nextCursor":{"block_number":2728728,"fee":"435298500000000000","hash":"0x3d79c5dd814f05db3fe90d0e3810764b01e4651067445b8e31c6edc700415ad5","index":0,"inserted_at":"2026-08-31T23:42:29.211510Z","items_count":50,"value":"0"}}