mirror of
https://github.com/Instadapp/aave-protocol-v2.git
synced 2024-07-29 21:47:30 +00:00
Merge branch 'feat/101-first-borrowing-on-debt-tokens' into 'master'
Added return of is first borrowing on debt tokens mint() Closes #101 See merge request aave-tech/protocol-v2!110
This commit is contained in:
commit
386138cc9c
|
@ -888,34 +888,34 @@ contract LendingPool is VersionedInitializable, ILendingPool, LendingPoolStorage
|
||||||
oracle
|
oracle
|
||||||
);
|
);
|
||||||
|
|
||||||
uint256 reserveId = reserve.id;
|
|
||||||
if (!userConfig.isBorrowing(reserveId)) {
|
|
||||||
userConfig.setBorrowing(reserveId, true);
|
|
||||||
}
|
|
||||||
|
|
||||||
reserve.updateState();
|
reserve.updateState();
|
||||||
|
|
||||||
//caching the current stable borrow rate
|
//caching the current stable borrow rate
|
||||||
uint256 currentStableRate = 0;
|
uint256 currentStableRate = 0;
|
||||||
|
|
||||||
|
bool isFirstBorrowing = false;
|
||||||
if (
|
if (
|
||||||
ReserveLogic.InterestRateMode(vars.interestRateMode) == ReserveLogic.InterestRateMode.STABLE
|
ReserveLogic.InterestRateMode(vars.interestRateMode) == ReserveLogic.InterestRateMode.STABLE
|
||||||
) {
|
) {
|
||||||
currentStableRate = reserve.currentStableBorrowRate;
|
currentStableRate = reserve.currentStableBorrowRate;
|
||||||
|
|
||||||
IStableDebtToken(reserve.stableDebtTokenAddress).mint(
|
isFirstBorrowing = IStableDebtToken(reserve.stableDebtTokenAddress).mint(
|
||||||
vars.onBehalfOf,
|
vars.onBehalfOf,
|
||||||
vars.amount,
|
vars.amount,
|
||||||
currentStableRate
|
currentStableRate
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
IVariableDebtToken(reserve.variableDebtTokenAddress).mint(
|
isFirstBorrowing = IVariableDebtToken(reserve.variableDebtTokenAddress).mint(
|
||||||
vars.onBehalfOf,
|
vars.onBehalfOf,
|
||||||
vars.amount,
|
vars.amount,
|
||||||
reserve.variableBorrowIndex
|
reserve.variableBorrowIndex
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (isFirstBorrowing) {
|
||||||
|
userConfig.setBorrowing(reserve.id, true);
|
||||||
|
}
|
||||||
|
|
||||||
reserve.updateInterestRates(
|
reserve.updateInterestRates(
|
||||||
vars.asset,
|
vars.asset,
|
||||||
vars.aTokenAddress,
|
vars.aTokenAddress,
|
||||||
|
|
|
@ -97,7 +97,7 @@ contract StableDebtToken is IStableDebtToken, DebtTokenBase {
|
||||||
address user,
|
address user,
|
||||||
uint256 amount,
|
uint256 amount,
|
||||||
uint256 rate
|
uint256 rate
|
||||||
) external override onlyLendingPool {
|
) external override onlyLendingPool returns(bool) {
|
||||||
MintLocalVars memory vars;
|
MintLocalVars memory vars;
|
||||||
|
|
||||||
//cumulates the user debt
|
//cumulates the user debt
|
||||||
|
@ -148,6 +148,8 @@ contract StableDebtToken is IStableDebtToken, DebtTokenBase {
|
||||||
vars.newStableRate,
|
vars.newStableRate,
|
||||||
vars.currentAvgStableRate
|
vars.currentAvgStableRate
|
||||||
);
|
);
|
||||||
|
|
||||||
|
return currentBalance == 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -62,7 +62,7 @@ interface IStableDebtToken {
|
||||||
address user,
|
address user,
|
||||||
uint256 amount,
|
uint256 amount,
|
||||||
uint256 rate
|
uint256 rate
|
||||||
) external;
|
) external returns(bool);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @dev burns debt of the target user.
|
* @dev burns debt of the target user.
|
||||||
|
|
Loading…
Reference in New Issue
Block a user