aave / aave-utilities

MIT License
127 stars 85 forks source link

Received -1 Health factor for several user accounts in aave v3 protocol #562

Open Samboy76 opened 1 year ago

Samboy76 commented 1 year ago

Question

As per the docs https://github.com/aave/aave-utilities for computing below userReserves for a particular user account (currentAccount) through the below code snippet:

const userReserves = await poolDataProviderContract.getUserReservesHumanized({ lendingPoolAddressProvider: markets.AaveV3Arbitrum.POOL_ADDRESSES_PROVIDER, user: currentAccount, });

const userReservesArray = userReserves.userReserves;

const userSummary = formatUserSummary({ currentTimestamp, marketReferencePriceInUsd: baseCurrencyData.marketReferenceCurrencyPriceInUsd, marketReferenceCurrencyDecimals: baseCurrencyData.marketReferenceCurrencyDecimals, userReserves: userReservesArray, formattedReserves: formattedPoolReserves, userEmodeCategoryId: userReserves.userEmodeCategoryId, });

// Access the healthFactor value directly const healthFactor = userSummary.healthFactor;

The question is what does HF of -1 actually means in this context and whether it fulfils legimate condition of HF < 1 to trigger off liquidation process. It seems it is not a valid value and suggests it´s something wrong with the state of user account holdings or collateralised posititions held in the aave v3 protocol itself as despite receiving several user accounts of -1 HF values there are a handful which actually returned valid HF > 1 which suggests to be in healthy state therefore not requiring their user account holdings to be liquidated.

Would greatly appreciate your help and guidance and whether I should be selecting only those user accounts that returns -1 < HF < 1 to trigger off liquidateCall functions to initiate the liquidation process.

Thank you