import { useMemo } from "react"; import { sum } from "ramda"; import { useUserPositions } from "../useUserPositions/useUserPositions"; import { usePools } from "../../pools"; export const useAggregateUserData = () => { const { pools } = usePools(); const { userPositionsArray } = useUserPositions(); const userTvlByPool = useMemo( () => userPositionsArray.reduce( (acc, position) => ({ ...acc, [position.poolId]: (acc[position.poolId] || 0) + position.amount * pools[position.poolId]?.lpPriceUsd || 0, }), {} as Record ), [pools, userPositionsArray] ); const userTvl = useMemo( () => sum(Object.values(userTvlByPool)), [userTvlByPool] ); return { userTvlByPool, userTvl, }; };