diff --git a/src/components/YieldPools/ListItem.tsx b/src/components/YieldPools/ListItem.tsx
index 6a60589dbf..1a87487393 100644
--- a/src/components/YieldPools/ListItem.tsx
+++ b/src/components/YieldPools/ListItem.tsx
@@ -46,7 +46,7 @@ import { currencyIdFromAddress } from 'utils/currencyId'
import { getTradingFeeAPR, useFarmApr, useFarmRewards, useFarmRewardsUSD } from 'utils/dmm'
import { formatTokenBalance, getFullDisplayBalance } from 'utils/formatBalance'
import { getFormattedTimeFromSecond } from 'utils/formatTime'
-import { formatDollarAmount } from 'utils/numbers'
+import { formatDisplayNumber } from 'utils/numbers'
import { unwrappedToken } from 'utils/wrappedCurrency'
import { ModalContentWrapper } from './ElasticFarmModals/styled'
@@ -368,7 +368,7 @@ const ListItem = ({ farm }: ListItemProps) => {
{/* STAKED TVL */}
- {formatDollarAmount(liquidity)}
+ {formatDisplayNumber(liquidity, { style: 'currency', significantDigits: 6 })}
{/* AVG APR */}
@@ -551,7 +551,7 @@ const ListItem = ({ farm }: ListItemProps) => {
- {formatDollarAmount(liquidity)}
+ {formatDisplayNumber(liquidity, { style: 'currency', significantDigits: 6 })}
{farm.version === FairLaunchVersion.V2 ? (
farm.startTime > currentTimestamp ? (
@@ -573,7 +573,7 @@ const ListItem = ({ farm }: ListItemProps) => {
- {!!userStakedBalanceUSD ? formatDollarAmount(userStakedBalanceUSD) : '--'}
+ {formatDisplayNumber(userStakedBalanceUSD, { style: 'currency', significantDigits: 6, allowZero: false })}
diff --git a/src/state/farms/classic/knUpdater.tsx b/src/state/farms/classic/knUpdater.tsx
index 88faf69256..2c4d912a23 100644
--- a/src/state/farms/classic/knUpdater.tsx
+++ b/src/state/farms/classic/knUpdater.tsx
@@ -52,8 +52,8 @@ const KNUpdater = ({ isInterval = true }: { isInterval?: boolean }) => {
const rewardTokens = farmPool.rewardTokens.map(
({ id, decimals, symbol, name }) => new Token(chainId, id, Number(decimals), symbol, name),
)
- const totalStake = parseNum(farmPool.stakedTvl)
- const stakeToken = id // todo namgold: check this
+ const totalStake = parseNum(farmPool.stakedAmount).divide(10 ** 18)
+ const stakeToken = id
const token0 = { id: farmPool.pool.token0.id, symbol: farmPool.pool.token0.symbol }
const token1 = { id: farmPool.pool.token1.id, symbol: farmPool.pool.token1.symbol }
const amp = Number(farmPool.pool.amp)
@@ -65,11 +65,10 @@ const KNUpdater = ({ isInterval = true }: { isInterval?: boolean }) => {
.subtract(parseNum(farmPool.pool.feesUsdOneDayAgo))
.toFixed(18)
const oneDayFeeUntracked = '0'
- const userData = {} // todo namgold: fill this.
-
const rewardPerUnits: BigNumber[] = farmPool.rewardPerUnits.map(i => parseUnits(toFixed(i), 0))
const start = Number(farmPool.start)
const end = Number(farmPool.end)
+ const userData = {} // todo namgold: fill this.
if (version === FairLaunchVersion.V1) {
return {
diff --git a/src/state/farms/classic/rpcUpdater.tsx b/src/state/farms/classic/rpcUpdater.tsx
index a1f7f8c7ff..bf2e2ed97c 100644
--- a/src/state/farms/classic/rpcUpdater.tsx
+++ b/src/state/farms/classic/rpcUpdater.tsx
@@ -140,13 +140,13 @@ export default function RPCUpdater({ isInterval = true }: { isInterval?: boolean
(farmData: Farm) => farmData && farmData.id.toLowerCase() === poolInfo.stakeToken.toLowerCase(),
),
...poolInfo,
+ version: isV2 ? FairLaunchVersion.V2 : isV3 ? FairLaunchVersion.V3 : FairLaunchVersion.V1,
rewardTokens: poolInfo.rewardTokens,
fairLaunchAddress: contract.address,
userData: {
stakedBalance: stakedBalances[index],
rewards: [FairLaunchVersion.V2, FairLaunchVersion.V3].includes(poolInfo.fairLaunchVersion)
- ? pendingRewards[index] &&
- pendingRewards[index].map((pendingReward: BigNumber, pendingRewardIndex: number) =>
+ ? pendingRewards[index]?.map((pendingReward: BigNumber, pendingRewardIndex: number) =>
pendingReward.div(
isV3 ? poolInfo.multipliers[pendingRewardIndex] : poolInfo.rewardMultipliers[pendingRewardIndex],
),
diff --git a/src/state/farms/classic/updater.tsx b/src/state/farms/classic/updater.tsx
index e6f1875467..171f71accd 100644
--- a/src/state/farms/classic/updater.tsx
+++ b/src/state/farms/classic/updater.tsx
@@ -3,7 +3,7 @@ import KNUpdater from 'state/farms/classic/knUpdater'
import RPCUpdater from 'state/farms/classic/rpcUpdater'
export default function Updater({ isInterval = true }: { isInterval?: boolean }) {
- // const { isEnableKNProtocol } = useKyberSwapConfig()
+ // const { isEnableKNProtocol } = useKyberSwapConfig() // todo namgold: revert
const isEnableKNProtocol = true
return isEnableKNProtocol ? :
}
diff --git a/src/utils/numbers.ts b/src/utils/numbers.ts
index 3ee371ed66..553e8c4099 100644
--- a/src/utils/numbers.ts
+++ b/src/utils/numbers.ts
@@ -125,6 +125,7 @@ type FormatOptions = {
significantDigits?: number // usually for decimal style
fallback?: string
allowNegative?: boolean
+ allowZero?: boolean
}
interface RequiredFraction extends FormatOptions {
fractionDigits: number // usually for percent & currency styles
@@ -156,6 +157,7 @@ export const formatDisplayNumber = (
fractionDigits,
fallback = '--',
allowNegative = false,
+ allowZero = true,
}: RequiredFraction | RequiredSignificant,
): string => {
const currency = style === 'currency' ? '$' : ''
@@ -165,6 +167,7 @@ export const formatDisplayNumber = (
if (value === undefined || value === null || Number.isNaN(value)) return fallbackResult
const parsedFraction = parseNum(value)
if (!allowNegative && parsedFraction.lessThan(BIG_INT_ZERO)) return fallbackResult
+ if (!allowZero && parsedFraction.equalTo(BIG_INT_ZERO)) return fallbackResult
const shownFraction = style === 'percent' ? parsedFraction.multiply(100) : parsedFraction
const absShownFraction = shownFraction.lessThan(0) ? shownFraction.multiply(-1) : shownFraction