mirror of
				https://github.com/Instadapp/dsa-polygon-migration.git
				synced 2024-07-29 22:27:58 +00:00 
			
		
		
		
	Minor changes
This commit is contained in:
		
							parent
							
								
									4fd8768f84
								
							
						
					
					
						commit
						d82b74dd77
					
				|  | @ -18,9 +18,11 @@ import { | |||
| } from "./interfaces.sol"; | ||||
| 
 | ||||
| abstract contract Helpers is DSMath, Stores, Variables { | ||||
|     using SafeERC20 for IERC20; | ||||
| 
 | ||||
|     function _paybackBehalfOne(AaveInterface aave, address token, uint amt, uint rateMode, address user) private { | ||||
|         aave.repay(token, amt, rateMode, user); | ||||
|         address _token = token == ethAddr ? wethAddr : token; | ||||
|         aave.repay(_token, amt, rateMode, user); | ||||
|     } | ||||
| 
 | ||||
|     function _PaybackStable( | ||||
|  | @ -69,16 +71,17 @@ abstract contract Helpers is DSMath, Stores, Variables { | |||
| 
 | ||||
|             totalBorrow[i] = add(stableBorrow[i], variableBorrow[i]); | ||||
|             if (totalBorrow[i] > 0) { | ||||
|                 IERC20(_token).approve(address(aave), totalBorrow[i]); // TODO: Approval is to Aave address of atokens address? | ||||
|                 IERC20(_token).safeApprove(address(aave), totalBorrow[i]); | ||||
|             } | ||||
|             aave.borrow(_token, totalBorrow[i], 2, 3088, address(this)); // TODO: Borrowing debt to payback | ||||
|             aave.borrow(_token, totalBorrow[i], 2, 3288, address(this)); | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     function _getAtokens(address dsa, AaveInterface aave, address[] memory supplyTokens, uint[] memory supplyAmts) internal returns (uint[] memory finalAmts) { | ||||
|         for (uint i = 0; i < supplyTokens.length; i++) { | ||||
|             require(isSupportedToken[supplyTokens[i]], "token-not-enabled"); | ||||
|             (address _aToken, ,) = aaveData.getReserveTokensAddresses(supplyTokens[i]); | ||||
|             address _token = supplyTokens[i] == ethAddr ? wethAddr : supplyTokens[i]; | ||||
|             (address _aToken, ,) = aaveData.getReserveTokensAddresses(_token); | ||||
|             ATokenInterface aTokenContract = ATokenInterface(_aToken); | ||||
|             uint _finalAmt; | ||||
|             if (supplyAmts[i] == uint(-1)) { | ||||
|  |  | |||
|  | @ -70,7 +70,7 @@ contract LiquidityResolver is Helpers, Events { | |||
|                 tokenContract.safeTransferFrom(msg.sender, address(this), _amt); | ||||
|             } | ||||
| 
 | ||||
|             tokenContract.approve(address(aave),_amt); | ||||
|             tokenContract.safeApprove(address(aave),_amt); | ||||
|             aave.deposit(_token, _amt, address(this), 3288); | ||||
| 
 | ||||
|             _amts[i] = _amt; | ||||
|  | @ -92,7 +92,8 @@ contract LiquidityResolver is Helpers, Events { | |||
|         for (uint256 i = 0; i < _length; i++) { | ||||
|             require(isSupportedToken[tokens[i]], "token-not-enabled"); | ||||
|             uint _amt = amts[i]; | ||||
|             address _token = tokens[i]; | ||||
|             bool isEth = tokens[i] == ethAddr; | ||||
|             address _token = isEth ? wethAddr : tokens[i]; | ||||
|             uint maxAmt = deposits[msg.sender][_token]; | ||||
| 
 | ||||
|             if (_amt > maxAmt) { | ||||
|  | @ -101,10 +102,16 @@ contract LiquidityResolver is Helpers, Events { | |||
| 
 | ||||
|             deposits[msg.sender][_token] = sub(maxAmt, _amt); | ||||
| 
 | ||||
|             if (_token == ethAddr) { | ||||
|             if (isEth) { | ||||
|                 TokenInterface _tokenContract = TokenInterface(wethAddr); | ||||
|                 uint _ethBal = address(this).balance; | ||||
|                 uint _tknBal = _tokenContract.balanceOf(address(this)); | ||||
|                 if (_ethBal > _amt) { | ||||
|                     msg.sender.call{value: _amt}(""); | ||||
|                     _amts[i] = _amt; | ||||
|                     continue; | ||||
|                 } | ||||
| 
 | ||||
|                 if ((_ethBal + _tknBal) < _amt) { | ||||
|                     aave.withdraw(wethAddr, sub(_amt, (_tknBal + _ethBal)), address(this)); | ||||
|                 } | ||||
|  | @ -144,7 +151,7 @@ contract LiquidityResolver is Helpers, Events { | |||
|             IERC20 _tokenContract = IERC20(_token); | ||||
|             uint _tokenBal = _tokenContract.balanceOf(address(this)); | ||||
|             if (_tokenBal > 0) { | ||||
|                 _tokenContract.approve(address(this), _tokenBal); | ||||
|                 _tokenContract.safeApprove(address(this), _tokenBal); | ||||
|                 aave.deposit(_token, _tokenBal, address(this), 3288); | ||||
|             } | ||||
|             ( | ||||
|  | @ -155,17 +162,17 @@ contract LiquidityResolver is Helpers, Events { | |||
|             if (supplyBal != 0 && borrowBal != 0) { | ||||
|                 if (supplyBal > borrowBal) { | ||||
|                     aave.withdraw(_token, borrowBal, address(this)); // TODO: fail because of not enough withdrawing capacity? | ||||
|                     IERC20(_token).approve(address(aave), borrowBal); | ||||
|                     IERC20(_token).safeApprove(address(aave), borrowBal); | ||||
|                     aave.repay(_token, borrowBal, 2, address(this)); | ||||
|                 } else { | ||||
|                     aave.withdraw(_token, supplyBal, address(this)); // TODO: fail because of not enough withdrawing capacity? | ||||
|                     IERC20(_token).approve(address(aave), supplyBal); | ||||
|                     IERC20(_token).safeApprove(address(aave), supplyBal); | ||||
|                     aave.repay(_token, supplyBal, 2, address(this)); | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|         for (uint i = 0; i < _tokens.length; i++) { | ||||
|             aave.withdraw(_tokens[i], _amts[i], address(this)); | ||||
|             aave.withdraw(_token, _amts[i], address(this)); | ||||
|             // TODO: transfer to polygon's receiver address "polygonReceiver" | ||||
|             isPositionSafe(); | ||||
|         } | ||||
|  | @ -206,7 +213,6 @@ contract MigrateResolver is LiquidityResolver { | |||
|         AaveData memory data; | ||||
| 
 | ||||
|         data.borrowTokens = _data.borrowTokens; | ||||
|         data.borrowAmts = _data.stableBorrowAmts; | ||||
|         data.supplyAmts = totalSupplies; | ||||
|         data.supplyTokens = _data.supplyTokens; | ||||
|         data.targetDsa = _data.targetDsa; | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Mubaris NK
						Mubaris NK