@@ -72,10 +72,8 @@ contract ParaSwapRepayAdapter is BaseParaSwapBuyAdapter, ReentrancyGuard {
7272 uint256 premium = premiums[0 ];
7373 address initiatorLocal = initiator;
7474
75-
7675 IERC20Detailed collateralAsset = IERC20Detailed (assets[0 ]);
7776
78-
7977 _swapAndRepay (
8078 params,
8179 premium,
@@ -112,21 +110,14 @@ contract ParaSwapRepayAdapter is BaseParaSwapBuyAdapter, ReentrancyGuard {
112110 bytes calldata paraswapData ,
113111 PermitSignature calldata permitSignature
114112 ) external nonReentrant {
115- DataTypes.ReserveData memory debtReserveData = _getReserveData (address (debtAsset));
116-
117- address debtToken =
118- DataTypes.InterestRateMode (debtRateMode) == DataTypes.InterestRateMode.STABLE
119- ? debtReserveData.stableDebtTokenAddress
120- : debtReserveData.variableDebtTokenAddress;
121-
122- uint256 currentDebt = IERC20 (debtToken).balanceOf (msg .sender );
123113
124- if (buyAllBalanceOffset != 0 ) {
125- require (currentDebt <= debtRepayAmount, 'INSUFFICIENT_AMOUNT_TO_REPAY ' );
126- debtRepayAmount = currentDebt;
127- } else {
128- require (debtRepayAmount <= currentDebt, 'INVALID_DEBT_REPAY_AMOUNT ' );
129- }
114+ debtRepayAmount = getDebtRepayAmount (
115+ debtAsset,
116+ debtRateMode,
117+ buyAllBalanceOffset,
118+ debtRepayAmount,
119+ msg .sender
120+ );
130121
131122 // Pull aTokens from user
132123 _pullATokenAndWithdraw (address (collateralAsset), msg .sender , collateralAmount, permitSignature);
@@ -223,7 +214,7 @@ contract ParaSwapRepayAdapter is BaseParaSwapBuyAdapter, ReentrancyGuard {
223214 uint256 buyAllBalanceOffset ,
224215 uint256 debtRepayAmount ,
225216 address initiator
226- ) private returns (uint256 ) {
217+ ) private view returns (uint256 ) {
227218 DataTypes.ReserveData memory debtReserveData = _getReserveData (address (debtAsset));
228219
229220 address debtToken =
0 commit comments