From 7797caa4de98889b6e7f02b9c86433c86453517d Mon Sep 17 00:00:00 2001 From: Carlos Date: Thu, 23 Jan 2025 12:56:04 +0100 Subject: [PATCH] handle undefined case for instant power boosting services --- src/services/instantBoostingServices.ts | 31 +++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/src/services/instantBoostingServices.ts b/src/services/instantBoostingServices.ts index 87463d001..617a68552 100644 --- a/src/services/instantBoostingServices.ts +++ b/src/services/instantBoostingServices.ts @@ -78,7 +78,21 @@ const fetchUpdatedInstantPowerBalances = async ( const boosterUsers = await getBoosterUsersByWalletAddresses( balances.map(b => b.address.toLowerCase()), ); - const instances = boosterUsers.map(user => { + + const filteredboosterUsers = boosterUsers.filter(item => { + if (!item?.walletAddress) return false; + + const balanceData = addressBalanceMap[item.walletAddress]; + if (!balanceData) { + logger.warn( + `No balance data found for walletAddress: ${item.walletAddress}. Skipping update for user.`, + ); + return false; + } + return true; + }); + + const instances = filteredboosterUsers.map(user => { const walletAddress = user.walletAddress!.toLowerCase(); const { balance, updatedAt } = addressBalanceMap[walletAddress]; logger.debug( @@ -160,7 +174,20 @@ const fillMissingInstantPowerBalances = async ( addressBalanceMap[b.address.toLowerCase()] = b; }); - const instances: Partial[] = chunk.map< + const filteredChunk = chunk.filter(item => { + if (!item?.walletAddress) return false; + + const balanceData = addressBalanceMap[item.walletAddress]; + if (!balanceData) { + logger.warn( + `No balance data found for walletAddress: ${item.walletAddress}. Skipping update for user.`, + ); + return false; + } + return true; + }); + + const instances: Partial[] = filteredChunk.map< Partial >((item): Partial => { const { balance, updatedAt } = addressBalanceMap[item.walletAddress];