From 51f4b1b9f4f14e057ec77f6410f14a2d7040e61f Mon Sep 17 00:00:00 2001 From: pradyuman-verma <pradyumnverma27@gmail.com> Date: Sat, 18 Jun 2022 19:12:19 +0530 Subject: [PATCH] aave v3: fixed swapBorrowRate bug --- contracts/arbitrum/connectors/aave/v3/main.sol | 6 ++---- contracts/avalanche/connectors/aave/v3/main.sol | 6 ++---- contracts/fantom/connectors/aave/v3/main.sol | 5 ++--- contracts/optimism/connectors/aave/v3/main.sol | 6 ++---- contracts/polygon/connectors/aave/v3/main.sol | 6 ++---- 5 files changed, 10 insertions(+), 19 deletions(-) diff --git a/contracts/arbitrum/connectors/aave/v3/main.sol b/contracts/arbitrum/connectors/aave/v3/main.sol index d5ed5c1c..8cf3db0b 100644 --- a/contracts/arbitrum/connectors/aave/v3/main.sol +++ b/contracts/arbitrum/connectors/aave/v3/main.sol @@ -433,7 +433,7 @@ abstract contract AaveResolver is Events, Helpers { * @dev Swap borrow rate mode * @notice Swaps user borrow rate mode between variable and stable * @param token The address of the token to swap borrow rate.(For ETH: 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE) - * @param rateMode Desired borrow rate mode. (Stable = 1, Variable = 2) + * @param rateMode current rate mode. (Stable = 1, Variable = 2) */ function swapBorrowRateMode(address token, uint256 rateMode) external @@ -442,12 +442,10 @@ abstract contract AaveResolver is Events, Helpers { { AaveInterface aave = AaveInterface(aaveProvider.getPool()); - uint256 currentRateMode = rateMode == 1 ? 2 : 1; - bool isEth = token == ethAddr; address _token = isEth ? wethAddr : token; - if (getPaybackBalance(_token, currentRateMode) > 0) { + if (getPaybackBalance(_token, rateMode) > 0) { aave.swapBorrowRateMode(_token, rateMode); } diff --git a/contracts/avalanche/connectors/aave/v3/main.sol b/contracts/avalanche/connectors/aave/v3/main.sol index f92cb0b6..c84887b7 100644 --- a/contracts/avalanche/connectors/aave/v3/main.sol +++ b/contracts/avalanche/connectors/aave/v3/main.sol @@ -434,7 +434,7 @@ abstract contract AaveResolver is Events, Helpers { * @dev Swap borrow rate mode * @notice Swaps user borrow rate mode between variable and stable * @param token The address of the token to swap borrow rate.(For avax: 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE) - * @param rateMode Desired borrow rate mode. (Stable = 1, Variable = 2) + * @param rateMode Current rate mode (Stable = 1, Variable = 2) */ function swapBorrowRateMode(address token, uint256 rateMode) external @@ -443,12 +443,10 @@ abstract contract AaveResolver is Events, Helpers { { AaveInterface aave = AaveInterface(aaveProvider.getPool()); - uint256 currentRateMode = rateMode == 1 ? 2 : 1; - bool isAVAX = token == avaxAddr; address _token = isAVAX ? wavaxAddr : token; - if (getPaybackBalance(_token, currentRateMode) > 0) { + if (getPaybackBalance(_token, rateMode) > 0) { aave.swapBorrowRateMode(_token, rateMode); } diff --git a/contracts/fantom/connectors/aave/v3/main.sol b/contracts/fantom/connectors/aave/v3/main.sol index bc4038bd..cb999a53 100644 --- a/contracts/fantom/connectors/aave/v3/main.sol +++ b/contracts/fantom/connectors/aave/v3/main.sol @@ -432,7 +432,7 @@ abstract contract AaveResolver is Events, Helpers { * @dev Swap borrow rate mode * @notice Swaps user borrow rate mode between variable and stable * @param token The address of the token to swap borrow rate.(For ftm: 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE) - * @param rateMode Desired borrow rate mode. (Stable = 1, Variable = 2) + * @param rateMode Current rate mode. (Stable = 1, Variable = 2) */ function swapBorrowRateMode(address token, uint256 rateMode) external @@ -441,11 +441,10 @@ abstract contract AaveResolver is Events, Helpers { { AaveInterface aave = AaveInterface(aaveProvider.getPool()); - uint256 currentRateMode = rateMode == 1 ? 2 : 1; bool isFTM = token == ftmAddr; address _token = isFTM ? wftmAddr : token; - if (getPaybackBalance(_token, currentRateMode) > 0) { + if (getPaybackBalance(_token, rateMode) > 0) { aave.swapBorrowRateMode(_token, rateMode); } diff --git a/contracts/optimism/connectors/aave/v3/main.sol b/contracts/optimism/connectors/aave/v3/main.sol index 639f9deb..59a26ef8 100644 --- a/contracts/optimism/connectors/aave/v3/main.sol +++ b/contracts/optimism/connectors/aave/v3/main.sol @@ -434,7 +434,7 @@ abstract contract AaveResolver is Events, Helpers { * @dev Swap borrow rate mode * @notice Swaps user borrow rate mode between variable and stable * @param token The address of the token to swap borrow rate.(For ETH: 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE) - * @param rateMode Desired borrow rate mode. (Stable = 1, Variable = 2) + * @param rateMode Current borrow rate (Stable = 1, Variable = 2) */ function swapBorrowRateMode(address token, uint256 rateMode) external @@ -443,12 +443,10 @@ abstract contract AaveResolver is Events, Helpers { { AaveInterface aave = AaveInterface(aaveProvider.getPool()); - uint256 currentRateMode = rateMode == 1 ? 2 : 1; - bool isEth = token == ethAddr; address _token = isEth ? wethAddr : token; - if (getPaybackBalance(_token, currentRateMode) > 0) { + if (getPaybackBalance(_token, rateMode) > 0) { aave.swapBorrowRateMode(_token, rateMode); } diff --git a/contracts/polygon/connectors/aave/v3/main.sol b/contracts/polygon/connectors/aave/v3/main.sol index 535269a0..84092977 100644 --- a/contracts/polygon/connectors/aave/v3/main.sol +++ b/contracts/polygon/connectors/aave/v3/main.sol @@ -434,7 +434,7 @@ abstract contract AaveResolver is Events, Helpers { * @dev Swap borrow rate mode * @notice Swaps user borrow rate mode between variable and stable * @param token The address of the token to swap borrow rate.(For matic: 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE) - * @param rateMode Desired borrow rate mode. (Stable = 1, Variable = 2) + * @param rateMode Current borrow rate s(Stable = 1, Variable = 2) */ function swapBorrowRateMode(address token, uint256 rateMode) external @@ -443,12 +443,10 @@ abstract contract AaveResolver is Events, Helpers { { AaveInterface aave = AaveInterface(aaveProvider.getPool()); - uint256 currentRateMode = rateMode == 1 ? 2 : 1; - bool isMatic = token == maticAddr; address _token = isMatic ? wmaticAddr : token; - if (getPaybackBalance(_token, currentRateMode) > 0) { + if (getPaybackBalance(_token, rateMode) > 0) { aave.swapBorrowRateMode(_token, rateMode); }