diff --git a/src/components/pool/Pools.svelte b/src/components/pool/Pools.svelte index 2ad0552..adee035 100644 --- a/src/components/pool/Pools.svelte +++ b/src/components/pool/Pools.svelte @@ -31,8 +31,14 @@ function setFeeAPYs(_balances) { if (!_balances) return; - if (_balances['ETH']) feeAPY['ETH'] = 100 * 95 * 12 / _balances['ETH']; // Approx 95 ETH per month in fees - if (_balances['USDC']) feeAPY['USDC'] = 100 * 100000 * 12 / _balances['USDC']; // Approx 100,000 USDC per month in fees + if (_balances['ETH'] && _balances['ETH'] > 0) feeAPY['ETH'] = 100 * 95 * 12 / _balances['ETH']; // Approx 95 ETH per month in fees + if (_balances['USDC'] && _balances['USDC'] > 0) feeAPY['USDC'] = 100 * 100000 * 12 / _balances['USDC']; // Approx 100,000 USDC per month in fees + } + + // Guard against NaN/Infinity/undefined in metric display + function safeMetric(val) { + if (val === undefined || val === null || val === '' || isNaN(val) || !isFinite(val)) return '-'; + return val; } $: setFeeAPYs($poolBalances); @@ -161,18 +167,18 @@
% of Pool
- {#each assets as asset} + {#each assets as asset}
{asset}
-
{numberWithCommas($poolBalances[asset]) || 0}
${formatForDisplay(getAmountInUsd(asset, $poolBalances[asset], $prices))}
-
{formatForDisplay(feeAPY[asset])}%
+
{safeMetric(numberWithCommas($poolBalances[asset])) || 0}
${formatForDisplay(getAmountInUsd(asset, $poolBalances[asset], $prices))}
+
{feeAPY[asset] ? formatForDisplay(feeAPY[asset]) + '%' : '-'}
30%+
-
{numberWithCommas($globalUPLs[asset])}
-
{numberWithCommas($bufferBalances[asset])}
-
{numberWithCommas($poolStakes[asset]) || 0}
${getAmountInUsd(asset, $poolStakes[asset], $prices)}
-
{$poolBalances[asset] == 0 ? 'N/A' : formatForDisplay(($poolStakes[asset])/$poolBalances[asset] *100 )+ '%'}
+
{safeMetric($globalUPLs[asset])}
+
{safeMetric($bufferBalances[asset])}
+
{safeMetric(numberWithCommas($poolStakes[asset])) || 0}
${getAmountInUsd(asset, $poolStakes[asset], $prices)}
+
{$poolBalances[asset] > 0 ? formatForDisplay(($poolStakes[asset])/$poolBalances[asset] * 100) + '%' : 'N/A'}
- {/each} + {/each}
Total
${numberWithCommas(getTotalAmountInUsd($poolBalances, $prices))}