This hook creates a cashout order and monitors its status
ℹ️
You can find more information Here.
Usage
import { useCashout } from '@azuro-org/sdk'
const bet = {...}
const { submit, calculationQuery } = useCashout({
bet,
EIP712Attention: '...',
})
submit() // run cashout
const { data, error, isFetching: isCalculationFetching, refetch } = calculationQuery
const { cashoutAmount, approveExpiredAt } = data || {}
ℹ️
You can find a usage example in our demo (opens in a new tab).
Props
{
bet: Pick<Bet, 'tokenId' | 'outcomes'>
chainId?: ChainId
EIP712Attention?: string
onSuccess?(receipt?: TransactionReceipt): void
onError?(err?: Error): void
}
type Selection = {
conditionId: string
outcomeId: string
coreAddress: string
}
Return Value
{
submit: () => Promise<void> // function used to trigger the cashout action or token spending approval
calculationQuery: UseQueryResult<GetCalculatedCashout>
approveTx: {
isPending: approveTx.isPending
isProcessing: approveReceipt.isLoading
}
cashoutTx: {
data: cashoutTx.data
receipt: cashoutReceipt.data
isPending: cashoutTx.isPending
isProcessing: cashoutReceipt.isLoading
}
isAllowanceFetching: allowanceTx.isLoading
isCashoutAvailable
isApproveRequired
}
import { type UseQueryResult } from '@tanstack/react-query'
type GetCalculatedCashout = {
calculationId: string // calculation id, needed for createCashout
account: string
environment: Environment
tokenId: string // bet token id from graph
cashoutAmount: string
multiplier: string
expiredAt: number // cashout expired at
approveExpiredAt: number // sigh cashout type data expired at
isLive: boolean
} | null