mirror of
https://github.com/Instadapp/dsa-connectors-old.git
synced 2024-07-29 22:47:46 +00:00
Add swap borrow rate method
This commit is contained in:
parent
352f1c8812
commit
39cf67a830
|
@ -18,6 +18,7 @@ interface AaveInterface {
|
|||
) external;
|
||||
function repay(address _asset, uint256 _amount, uint256 _rateMode, address _onBehalfOf) external;
|
||||
function setUserUseReserveAsCollateral(address _asset, bool _useAsCollateral) external;
|
||||
function swapBorrowRateMode(address asset, uint256 rateMode) external;
|
||||
}
|
||||
|
||||
interface AaveLendingPoolProviderInterface {
|
||||
|
@ -115,6 +116,7 @@ contract BasicResolver is AaveHelpers {
|
|||
event LogBorrow(address indexed token, uint256 tokenAmt, uint256 indexed rateMode, uint256 getId, uint256 setId);
|
||||
event LogPayback(address indexed token, uint256 tokenAmt, uint256 indexed rateMode, uint256 getId, uint256 setId);
|
||||
event LogEnableCollateral(address[] tokens);
|
||||
event LogSwapRateMode(address indexed token, uint256 rateMode);
|
||||
|
||||
/**
|
||||
* @dev Deposit ETH/ERC20_Token.
|
||||
|
@ -259,8 +261,26 @@ contract BasicResolver is AaveHelpers {
|
|||
|
||||
emit LogEnableCollateral(tokens);
|
||||
}
|
||||
|
||||
/**
|
||||
* @dev Swap borrow rate mode between stable and variable
|
||||
* @param token The address of the token to swap borrow rate.(For ETH: 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE)
|
||||
* @param rateMode Desired borrow rate mode. (Stable = 1, Variable = 2)
|
||||
*/
|
||||
function swapBorrowRateMode(address token, uint rateMode) external payable {
|
||||
AaveInterface aave = AaveInterface(getAaveProvider().getLendingPool());
|
||||
AaveDataProviderInterface aaveData = getAaveDataProvider();
|
||||
|
||||
uint currentRateMode = rateMode == 1 ? 2 : 1;
|
||||
|
||||
if (getPaybackBalance(aaveData, token, currentRateMode) > 0) {
|
||||
aave.swapBorrowRateMode(token, rateMode);
|
||||
}
|
||||
|
||||
emit LogSwapRateMode(token, rateMode);
|
||||
}
|
||||
}
|
||||
|
||||
contract ConnectAaveV2 is BasicResolver {
|
||||
string public name = "AaveV2-v1.1";
|
||||
string public name = "AaveV2-v1.2";
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user