import React, { useMemo } from "react"; import { CryptoOrTokenCurrency } from "@ledgerhq/types-cryptoassets"; import { ApyType } from "../../../dada-client/types/trend"; import { useInterestRatesByCurrencies } from "../../../dada-client/hooks/useInterestRatesByCurrencies"; import { getInterestRateForAsset } from "../../utils/getInterestRateForAsset"; import { AssetConfigurationOptions } from "../../utils/type"; const createApyItem = ({ value, type, ApyIndicator, }: { value: number; type: ApyType; ApyIndicator: React.ComponentType<{ value: number; type: ApyType }>; }) => ; export const useLeftApyModule = ( currencies: CryptoOrTokenCurrency[], { ApyIndicator }: Pick, ) => { const interestRates = useInterestRatesByCurrencies(currencies); return useMemo(() => { return currencies.map(currency => { const { interestRate, interestRatePercentageRounded } = getInterestRateForAsset( currency, interestRates, ); if (!interestRate || interestRatePercentageRounded <= 0) { return currency; } return { ...currency, leftElement: createApyItem({ value: interestRatePercentageRounded, type: interestRate.type, ApyIndicator, }), }; }); }, [currencies, interestRates, ApyIndicator]); };