In the `checkBadDebtLiquidation` function, the calculation for the difference between `totalBorrow` and `bareCollateral` is performed incorrectly. 
Audit: 2024-02-wise-lending-findings
Severity: HIGH

# Lines of code

https://github.com/code-423n4/2024-02-wise-lending/blob/79186b243d8553e66358c05497e5ccfd9488b5e2/contracts/WiseSecurity/WiseSecurity.sol#L405-L436


# Vulnerability details

## Impact
The major impact of this issue is:
1. Incorrect Bad Debt Calculation: The protocol will overestimate the bad debt for the given position, leading to an inflated value for the total bad debt and the bad debt associated with the specific user's position.
2. Potential Protocol Insolvency: If the bad debt is consistently overestimated, it could result in the protocol becoming insolvent over time, as the bad debt values are used to account for potential losses and compensate liquidators.
3. Unfair Compensation for Liquidators: Since the bad debt values are used to calculate the compensation for liquidators, an overestimation of bad debt could lead to excessive rewards for liquidators, which would be detrimental to the protocol's economics and fairness.
The severity of this issue can be considered high or critical, as it directly impacts the protocol's solvency and economic sustainability. Incorrect bad debt calculations could lead to significant financial losses for the protocol and its users, as well as incentive misalignments for liquidators


## Proof of Concept
The code is calculating the difference between `totalBorrow` and `bareCollateral` correctly, but it is adding the difference to the `FEE_MANAGER.increaseTotalBadDebtLiquidation` and `FEE_MANAGER.setBadDebtUserLiquidation` instead of subtracting it.
Here's the relevant code section:

       function checkBadDebtLiquidation(
           uint256 _nftId
       )
           external
           onlyWiseLending
       {
           uint256 bareCollateral = overallETHCollateralsBare(
               _nftId
           );

          uint256 totalBorrow = overallETHBorrowBare(
               _nftId
           );

            if (totalBorrow < bareCollateral) {
                return;
            }

            unchecked {
                uint256 diff = totalBorrow
                    - bareCollateral;

                FEE_MANAGER.increaseTotalBadDebtLiquidation(
                    diff
                );

                FEE_MANAGER.setBadDebtUserLiquidation(
                    _nftId,
                    diff
                );
            }
        }

• The function calculates the bare collateral (bareCollateral) and bare total borrow (totalBorrow) for a given _nftId.
• If `totalBorrow` is less than `bareCollateral`, the function returns early, as there is no bad debt.
• However, if `totalBorrow` is greater than `bareCollateral`, the difference between them (diff = totalBorrow - bareCollateral) is calculated.
• The issue is that instead of subtracting diff from `bareCollateral` to get the actual bad debt amount, diff is added to the total bad debt liquidation (FEE_MANAGER.increaseTotalBadDebtLiquidation(diff)) and set as the bad debt for the user's position (FEE_MANAGER.setBadDebtUserLiquidation(_nftId,