mirror of
https://github.com/Instadapp/aave-protocol-v2.git
synced 2024-07-29 21:47:30 +00:00
Updated comments, renamed variales
This commit is contained in:
parent
ba516a10d0
commit
ee11faa573
|
@ -42,8 +42,8 @@ contract LendingPoolCollateralManager is
|
||||||
uint256 userCollateralBalance;
|
uint256 userCollateralBalance;
|
||||||
uint256 userStableDebt;
|
uint256 userStableDebt;
|
||||||
uint256 userVariableDebt;
|
uint256 userVariableDebt;
|
||||||
uint256 maxDebtToLiquidate;
|
uint256 maxLiquidatableDebt;
|
||||||
uint256 actualAmountToLiquidate;
|
uint256 actualDebtToLiquidate;
|
||||||
uint256 liquidationRatio;
|
uint256 liquidationRatio;
|
||||||
uint256 maxAmountCollateralToLiquidate;
|
uint256 maxAmountCollateralToLiquidate;
|
||||||
uint256 userStableRate;
|
uint256 userStableRate;
|
||||||
|
@ -67,7 +67,7 @@ contract LendingPoolCollateralManager is
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @dev Function to liquidate a non-healthy position collateral-wise, with Health Factor below 1
|
* @dev Function to liquidate a position if its Health Factor drops below 1
|
||||||
* - The caller (liquidator) covers `debtToCover` amount of debt of the user getting liquidated, and receives
|
* - The caller (liquidator) covers `debtToCover` amount of debt of the user getting liquidated, and receives
|
||||||
* a proportionally amount of the `collateralAsset` plus a bonus to cover market risk
|
* a proportionally amount of the `collateralAsset` plus a bonus to cover market risk
|
||||||
* @param collateralAsset The address of the underlying asset used as collateral, to receive as result of the liquidation
|
* @param collateralAsset The address of the underlying asset used as collateral, to receive as result of the liquidation
|
||||||
|
@ -118,12 +118,12 @@ contract LendingPoolCollateralManager is
|
||||||
|
|
||||||
vars.userCollateralBalance = vars.collateralAtoken.balanceOf(user);
|
vars.userCollateralBalance = vars.collateralAtoken.balanceOf(user);
|
||||||
|
|
||||||
vars.maxDebtToLiquidate = vars.userStableDebt.add(vars.userVariableDebt).percentMul(
|
vars.maxLiquidatableDebt = vars.userStableDebt.add(vars.userVariableDebt).percentMul(
|
||||||
LIQUIDATION_CLOSE_FACTOR_PERCENT
|
LIQUIDATION_CLOSE_FACTOR_PERCENT
|
||||||
);
|
);
|
||||||
|
|
||||||
vars.actualAmountToLiquidate = debtToCover > vars.maxDebtToLiquidate
|
vars.actualDebtToLiquidate = debtToCover > vars.maxLiquidatableDebt
|
||||||
? vars.maxDebtToLiquidate
|
? vars.maxLiquidatableDebt
|
||||||
: debtToCover;
|
: debtToCover;
|
||||||
|
|
||||||
(
|
(
|
||||||
|
@ -134,16 +134,16 @@ contract LendingPoolCollateralManager is
|
||||||
debtReserve,
|
debtReserve,
|
||||||
collateralAsset,
|
collateralAsset,
|
||||||
debtAsset,
|
debtAsset,
|
||||||
vars.actualAmountToLiquidate,
|
vars.actualDebtToLiquidate,
|
||||||
vars.userCollateralBalance
|
vars.userCollateralBalance
|
||||||
);
|
);
|
||||||
|
|
||||||
// If debtAmountNeeded < vars.actualAmountToLiquidate, there isn't enough
|
// If debtAmountNeeded < actualDebtToLiquidate, there isn't enough
|
||||||
// collateral to cover the actual amount that is being liquidated, hence we liquidate
|
// collateral to cover the actual amount that is being liquidated, hence we liquidate
|
||||||
// a smaller amount
|
// a smaller amount
|
||||||
|
|
||||||
if (vars.debtAmountNeeded < vars.actualAmountToLiquidate) {
|
if (vars.debtAmountNeeded < vars.actualDebtToLiquidate) {
|
||||||
vars.actualAmountToLiquidate = vars.debtAmountNeeded;
|
vars.actualDebtToLiquidate = vars.debtAmountNeeded;
|
||||||
}
|
}
|
||||||
|
|
||||||
// If the liquidator reclaims the underlying asset, we make sure there is enough available liquidity in the
|
// If the liquidator reclaims the underlying asset, we make sure there is enough available liquidity in the
|
||||||
|
@ -161,10 +161,10 @@ contract LendingPoolCollateralManager is
|
||||||
|
|
||||||
debtReserve.updateState();
|
debtReserve.updateState();
|
||||||
|
|
||||||
if (vars.userVariableDebt >= vars.actualAmountToLiquidate) {
|
if (vars.userVariableDebt >= vars.actualDebtToLiquidate) {
|
||||||
IVariableDebtToken(debtReserve.variableDebtTokenAddress).burn(
|
IVariableDebtToken(debtReserve.variableDebtTokenAddress).burn(
|
||||||
user,
|
user,
|
||||||
vars.actualAmountToLiquidate,
|
vars.actualDebtToLiquidate,
|
||||||
debtReserve.variableBorrowIndex
|
debtReserve.variableBorrowIndex
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
|
@ -178,14 +178,14 @@ contract LendingPoolCollateralManager is
|
||||||
}
|
}
|
||||||
IStableDebtToken(debtReserve.stableDebtTokenAddress).burn(
|
IStableDebtToken(debtReserve.stableDebtTokenAddress).burn(
|
||||||
user,
|
user,
|
||||||
vars.actualAmountToLiquidate.sub(vars.userVariableDebt)
|
vars.actualDebtToLiquidate.sub(vars.userVariableDebt)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
debtReserve.updateInterestRates(
|
debtReserve.updateInterestRates(
|
||||||
debtAsset,
|
debtAsset,
|
||||||
debtReserve.aTokenAddress,
|
debtReserve.aTokenAddress,
|
||||||
vars.actualAmountToLiquidate,
|
vars.actualDebtToLiquidate,
|
||||||
0
|
0
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -220,14 +220,14 @@ contract LendingPoolCollateralManager is
|
||||||
IERC20(debtAsset).safeTransferFrom(
|
IERC20(debtAsset).safeTransferFrom(
|
||||||
msg.sender,
|
msg.sender,
|
||||||
debtReserve.aTokenAddress,
|
debtReserve.aTokenAddress,
|
||||||
vars.actualAmountToLiquidate
|
vars.actualDebtToLiquidate
|
||||||
);
|
);
|
||||||
|
|
||||||
emit LiquidationCall(
|
emit LiquidationCall(
|
||||||
collateralAsset,
|
collateralAsset,
|
||||||
debtAsset,
|
debtAsset,
|
||||||
user,
|
user,
|
||||||
vars.actualAmountToLiquidate,
|
vars.actualDebtToLiquidate,
|
||||||
vars.maxCollateralToLiquidate,
|
vars.maxCollateralToLiquidate,
|
||||||
msg.sender,
|
msg.sender,
|
||||||
receiveAToken
|
receiveAToken
|
||||||
|
@ -284,7 +284,7 @@ contract LendingPoolCollateralManager is
|
||||||
vars.debtAssetDecimals = debtReserve.configuration.getDecimals();
|
vars.debtAssetDecimals = debtReserve.configuration.getDecimals();
|
||||||
|
|
||||||
// This is the maximum possible amount of the selected collateral that can be liquidated, given the
|
// This is the maximum possible amount of the selected collateral that can be liquidated, given the
|
||||||
// max amount of debt that is available for liquidation
|
// max amount of liquidatable debt
|
||||||
vars.maxAmountCollateralToLiquidate = vars
|
vars.maxAmountCollateralToLiquidate = vars
|
||||||
.debtAssetPrice
|
.debtAssetPrice
|
||||||
.mul(debtToCover)
|
.mul(debtToCover)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user