When we attempt to fix a user, the contract updates the borrowIndex
by calling the accrueInterest()
and checks if it returns 0. If it does, then it allows us to fix the user. However, it does not address an edge case where accrueInterest()
always returns a non-zero value
The fixUser()
fixes the user after the borrowIndex
is updated with the latest value. However, there will be cases where the accrueInterest()
will not return a zero value. In such cases, the user will not be fixed, and they will create an unremovable bad debt in the system. There must be a way for a protocol to remove the user without updating the borrowIndex, because the bad debt must be removed in any case.
Note
: The user will be liquidated on Pervious BorrowIndex.
The User will not be Liquidated and DabDebt can not be removed.
Manual Review
Add a Flag which will help to handle this edge case. following change will handle this case:
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.