diff --git a/apis/mngo/index.ts b/apis/mngo/index.ts index 9d34125ec..4cbfc06f7 100644 --- a/apis/mngo/index.ts +++ b/apis/mngo/index.ts @@ -1,11 +1,14 @@ -import { Group, I64_MAX_BN } from '@blockworks-foundation/mango-v4' +import { Group } from '@blockworks-foundation/mango-v4' +import { PublicKey } from '@solana/web3.js' import { MangoTokenStatsItem, TokenStatsItem } from 'types' import { MANGO_DATA_API_URL } from 'utils/constants' -export const fetchTokenStatsData = async (group: Group) => { - const response = await fetch( - `${MANGO_DATA_API_URL}/token-historical-stats?mango-group=${group?.publicKey.toString()}`, - ) +export const fetchTokenStatsData = async (group: Group, mint?: PublicKey) => { + let url = `${MANGO_DATA_API_URL}/token-historical-stats?mango-group=${group?.publicKey.toString()}` + if (mint) { + url = `${url}&mint=${mint.toBase58()}` + } + const response = await fetch(url) if (!response.ok) { throw new Error('Network response was not ok') } @@ -52,7 +55,7 @@ export const processTokenStatsData = ( const previous = filtered.reduce((max, cur) => max.date_hour > cur.date_hour ? max : cur, ) - let tokenStatsItem: TokenStatsItem = { + const tokenStatsItem: TokenStatsItem = { borrow_apr: previous.borrow_apr, borrow_rate: bank.getBorrowRateUi() / 100, collected_fees: previous.collected_fees, diff --git a/components/governance/ListToken/ListToken.tsx b/components/governance/ListToken/ListToken.tsx index 6f74abe60..3fa95ce2e 100644 --- a/components/governance/ListToken/ListToken.tsx +++ b/components/governance/ListToken/ListToken.tsx @@ -573,7 +573,7 @@ const ListToken = ({ goBack }: { goBack: () => void }) => { new BN(proposedPreset.depositLimit.toString()), Number(proposedPreset.zeroUtilRate), Number(proposedPreset.platformLiquidationFee), - false, + proposedPreset.disableAssetLiquidation, Number(proposedPreset.collateralFeePerDay), ) .accounts({ diff --git a/components/modals/DashboardSuggestedValuesModal.tsx b/components/modals/DashboardSuggestedValuesModal.tsx index 3ea8ad551..c99fbef0c 100644 --- a/components/modals/DashboardSuggestedValuesModal.tsx +++ b/components/modals/DashboardSuggestedValuesModal.tsx @@ -208,7 +208,9 @@ const DashboardSuggestedValues = ({ : null, getNullOrVal(fieldsToChange.zeroUtilRate), getNullOrVal(fieldsToChange.platformLiquidationFee), - null, + fieldsToChange.disableAssetLiquidation === undefined + ? null + : fieldsToChange.disableAssetLiquidation, getNullOrVal(fieldsToChange.collateralFeePerDay), null, ) diff --git a/components/stats/mango/DepositsAndBorrows.tsx b/components/stats/mango/DepositsAndBorrows.tsx index a7bbc09d9..f7e773e10 100644 --- a/components/stats/mango/DepositsAndBorrows.tsx +++ b/components/stats/mango/DepositsAndBorrows.tsx @@ -1,34 +1,26 @@ -import mangoStore from '@store/mangoStore' import { useTranslation } from 'next-i18next' -import { useEffect, useState } from 'react' +import { useState } from 'react' import { formatYAxis } from 'utils/formatting' import DetailedAreaOrBarChart from '@components/shared/DetailedAreaOrBarChart' import NetDepositsChart from './NetDepositsChart' +import { useTokenStats } from 'hooks/useTokenStats' const DepositsAndBorrows = () => { const { t } = useTranslation(['common', 'token', 'trade']) - const mangoStats = mangoStore((s) => s.tokenStats.mangoStats) - const loadingStats = mangoStore((s) => s.tokenStats.loading) + + const { data: tokenStats, isLoading } = useTokenStats() const [borrowDaysToShow, setBorrowDaysToShow] = useState('30') const [depositDaysToShow, setDepositDaysToShow] = useState('30') - const tokenStatsInitialLoad = mangoStore((s) => s.tokenStats.initialLoad) - - useEffect(() => { - if (!tokenStatsInitialLoad) { - const actions = mangoStore.getState().actions - actions.fetchTokenStats() - } - }, [tokenStatsInitialLoad]) return ( <>