From bfd6e387d5e5b427c04989b28584a7bb86a5ec1c Mon Sep 17 00:00:00 2001 From: Jaco Greeff Date: Mon, 22 Mar 2021 10:26:07 +0100 Subject: [PATCH] Avoind NaN for returns (#4899) --- packages/react-hooks/src/useInflation.ts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/packages/react-hooks/src/useInflation.ts b/packages/react-hooks/src/useInflation.ts index adeeb90220..a200bcc1ad 100644 --- a/packages/react-hooks/src/useInflation.ts +++ b/packages/react-hooks/src/useInflation.ts @@ -13,6 +13,8 @@ import { BN_MILLION } from '@polkadot/util'; import { useApi } from './useApi'; import { useCall } from './useCall'; +const EMPTY: Inflation = { inflation: 0, stakedReturn: 0 }; + export function calcInflation (api: ApiPromise, totalStaked: BN, totalIssuance: BN): Inflation { const { falloff, idealStake, maxInflation, minInflation } = getInflationParams(api); const stakedFraction = totalStaked.mul(BN_MILLION).div(totalIssuance).toNumber() / BN_MILLION.toNumber(); @@ -25,14 +27,16 @@ export function calcInflation (api: ApiPromise, totalStaked: BN, totalIssuance: return { inflation, - stakedReturn: inflation / stakedFraction + stakedReturn: stakedFraction + ? (inflation / stakedFraction) + : 0 }; } export function useInflation (totalStaked?: BN): Inflation { const { api } = useApi(); const totalIssuance = useCall(api.query.balances.totalIssuance); - const [state, setState] = useState({ inflation: 0, stakedReturn: 0 }); + const [state, setState] = useState(EMPTY); useEffect((): void => { totalIssuance && totalStaked && setState(