mango-v4-ui/components/swap/useJupiterSwapData.ts

44 lines
1.2 KiB
TypeScript
Raw Normal View History

2022-11-18 11:11:06 -08:00
import { useMemo } from 'react'
import useJupiterMints from 'hooks/useJupiterMints'
import mangoStore from '@store/mangoStore'
const useJupiterSwapData = () => {
const inputBank = mangoStore((s) => s.swap.inputBank)
const outputBank = mangoStore((s) => s.swap.outputBank)
const { mangoTokens } = useJupiterMints()
const [inputTokenInfo, outputTokenInfo] = useMemo(() => {
if (inputBank && outputBank) {
return [
mangoTokens?.find(
2023-07-21 11:47:53 -07:00
(item) => item?.address === inputBank.mint.toString() || '',
2022-11-18 11:11:06 -08:00
),
mangoTokens?.find(
2023-07-21 11:47:53 -07:00
(item) => item?.address === outputBank.mint.toString() || '',
2022-11-18 11:11:06 -08:00
),
]
} else {
return []
}
}, [inputBank, outputBank, mangoTokens])
2023-01-05 12:10:24 -08:00
let inputCoingeckoId = inputTokenInfo?.extensions?.coingeckoId
let outputCoingeckoId = outputTokenInfo?.extensions?.coingeckoId
if (inputBank?.name.toLocaleLowerCase() === 'dai') {
inputCoingeckoId = 'dai'
}
if (outputBank?.name.toLocaleLowerCase() === 'dai') {
outputCoingeckoId = 'dai'
}
2022-11-18 11:11:06 -08:00
return {
inputTokenInfo,
2023-01-05 12:10:24 -08:00
inputCoingeckoId,
2022-11-18 11:11:06 -08:00
outputTokenInfo,
2023-01-05 12:10:24 -08:00
outputCoingeckoId,
2022-11-18 11:11:06 -08:00
}
}
export default useJupiterSwapData