use pending redemptions

Query hook for fetching pending async redemptions for a user.

const { pendingRedemptions, isLoading } = usePendingRedemptions({
  vault: 'yoETH',
  user: accountAddress,
})

Usage

import { usePendingRedemptions } from '@yo-protocol/react'
import { useAccount } from 'wagmi'

function PendingRedeems() {
  const { address } = useAccount()

  const { pendingRedemptions, isLoading, refetch } = usePendingRedemptions({
    vault: 'yoETH',
    user: address,
  })

  if (isLoading) return <p>Loading...</p>

  if (!pendingRedemptions?.assets && !pendingRedemptions?.shares) {
    return <p>No pending redemptions</p>
  }

  return (
    <div>
      {pendingRedemptions.assets && (
        <p>Pending assets: {pendingRedemptions.assets.formatted}</p>
      )}
      {pendingRedemptions.shares && (
        <p>Pending shares: {pendingRedemptions.shares.formatted}</p>
      )}
      <button onClick={() => refetch()}>Refresh</button>
    </div>
  )
}

Options

Option
Type
Default
Description

vault

Address | VaultId

Required. Target vault

user

Address

User address to query pending redemptions for

Return Value

Field
Type
Description

pendingRedemptions

PendingRedeem | undefined

Pending redemption data with assets and shares as FormattedValue

isLoading

boolean

true while the query is loading

isError

boolean

true if the query failed

error

Error | null

Error object

refetch

() => void

Manually refetch pending redemptions

Behavior

Behavior
Detail

Stale time

30 seconds — pending redeems are polled relatively frequently

Enabled

Only runs when both the client and a user address are available

Query key

['yo-pending-redemptions', vaultAddress, user, chainId]