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));
}