import {useCallback, useState, useEffect} from 'react'; import useUnicornFinance from './useUnicornFinance'; import {Bank} from '../unicorn-finance'; import {PoolStats} from '../unicorn-finance/types'; import config from '../config'; const useStatsForPartner = (bank: Bank) => { const unicornFinance = useUnicornFinance(); const [poolAPRs, setPoolAPRs] = useState(); const fetchAPRsForPool = useCallback(async () => { setPoolAPRs(await unicornFinance.getPartnerAPRs(bank)); }, [unicornFinance, bank]); useEffect(() => { fetchAPRsForPool().catch((err) => console.error(`Failed to fetch APR info: ${err.stack}`)); const refreshInterval = setInterval(fetchAPRsForPool, config.refreshInterval); return () => clearInterval(refreshInterval); }, [setPoolAPRs, unicornFinance, fetchAPRsForPool]); return poolAPRs; }; export default useStatsForPartner;