import {useCallback, useEffect, useState} from 'react'; import useUnicornFinance from './useUnicornFinance'; import config from '../config'; import {BigNumber} from 'ethers'; const useCashPriceInLastTWAP = () => { const [price, setPrice] = useState(BigNumber.from(0)); const unicornFinance = useUnicornFinance(); const fetchCashPrice = useCallback(async () => { setPrice(await unicornFinance.getUnicornPriceInLastTWAP()); }, [unicornFinance]); useEffect(() => { fetchCashPrice().catch((err) => console.error(`Failed to fetch UNICORN price: ${err.stack}`)); const refreshInterval = setInterval(fetchCashPrice, config.refreshInterval); return () => clearInterval(refreshInterval); }, [setPrice, unicornFinance, fetchCashPrice]); return price; }; export default useCashPriceInLastTWAP;