@lifi/widget
Version:
LI.FI Widget for cross-chain bridging and swapping. It will drive your multi-chain strategy and attract new users from everywhere.
36 lines (30 loc) • 1.06 kB
text/typescript
import { useMemo } from 'react'
import { useWidgetConfig } from '../providers/WidgetProvider/WidgetProvider'
import { FormKeyHelper } from '../stores/form/types'
import { useFieldValues } from '../stores/form/useFieldValues'
import { formatTokenPrice } from '../utils/format'
import { useToken } from './useToken'
export const useFromAmountThreshold = () => {
const { minFromAmountUSD } = useWidgetConfig()
const [chainId, tokenAddress, fromAmount] = useFieldValues(
FormKeyHelper.getChainKey('from'),
FormKeyHelper.getTokenKey('from'),
FormKeyHelper.getAmountKey('from')
)
const { token } = useToken(chainId, tokenAddress)
const belowMinFromAmountUSD = useMemo(() => {
const fromAmountUSD = formatTokenPrice(
fromAmount,
token?.priceUSD,
token?.decimals
)
if (!minFromAmountUSD || !fromAmountUSD) {
return false
}
return fromAmountUSD < minFromAmountUSD
}, [minFromAmountUSD, fromAmount, token?.priceUSD, token?.decimals])
return {
belowMinFromAmountUSD,
minFromAmountUSD,
}
}