diff --git a/src/components/pool/Pools.svelte b/src/components/pool/Pools.svelte index 2ad0552..711053d 100644 --- a/src/components/pool/Pools.svelte +++ b/src/components/pool/Pools.svelte @@ -31,8 +31,17 @@ 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 + // Guard against division by zero or undefined values + if (_balances['ETH'] && _balances['ETH'] > 0) { + feeAPY['ETH'] = 100 * 95 * 12 / _balances['ETH']; // Approx 95 ETH per month in fees + } else { + feeAPY['ETH'] = 0; + } + if (_balances['USDC'] && _balances['USDC'] > 0) { + feeAPY['USDC'] = 100 * 100000 * 12 / _balances['USDC']; // Approx 100,000 USDC per month in fees + } else { + feeAPY['USDC'] = 0; + } } $: setFeeAPYs($poolBalances); @@ -164,13 +173,13 @@ {#each assets as asset}
{asset}
-
{numberWithCommas($poolBalances[asset]) || 0}
${formatForDisplay(getAmountInUsd(asset, $poolBalances[asset], $prices))}
-
{formatForDisplay(feeAPY[asset])}%
+
{numberWithCommas($poolBalances[asset] || 0)}
${formatForDisplay(getAmountInUsd(asset, $poolBalances[asset] || 0, $prices))}
+
{formatForDisplay(feeAPY[asset] || 0)}%
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 )+ '%'}
+
{numberWithCommas($globalUPLs[asset] || 0)}
+
{numberWithCommas($bufferBalances[asset] || 0)}
+
{numberWithCommas($poolStakes[asset] || 0)}
${getAmountInUsd(asset, $poolStakes[asset] || 0, $prices)}
+
{!$poolBalances[asset] || $poolBalances[asset] == 0 ? 'N/A' : formatForDisplay(($poolStakes[asset] || 0)/$poolBalances[asset] * 100) + '%'}
{/each}
diff --git a/src/lib/formatters.js b/src/lib/formatters.js index 34ce7eb..973142d 100644 --- a/src/lib/formatters.js +++ b/src/lib/formatters.js @@ -94,7 +94,7 @@ export function formatForDisplay(amount, fix) { amount = amount * 1; - if (!amount || isNaN(amount)) return 0; + if (!amount || isNaN(amount) || !isFinite(amount)) return 0; if (!fix && (amount * 1).toFixed(6)*1 == Math.round(amount * 1)) return Math.round(amount); @@ -130,7 +130,7 @@ export function formatPriceForDisplay(price) { } export function numberWithCommas(amount) { - if (!amount) return 0; + if (!amount || isNaN(amount) || !isFinite(amount)) return 0; let formattedAmount = formatForDisplay(amount) * 1; return formattedAmount.toLocaleString(get(locale)); }