mirror of
				https://github.com/Instadapp/aave-protocol-v2.git
				synced 2024-07-29 21:47:30 +00:00 
			
		
		
		
	Merge branch '97-create-a-utility-contract-to-deposit-withdraw-repay-with-eth' of gitlab.com:aave-tech/protocol-v2 into 97-create-a-utility-contract-to-deposit-withdraw-repay-with-eth
This commit is contained in:
		
						commit
						6ab6b835a2
					
				|  | @ -17,6 +17,7 @@ contract WETHGateway is IWETHGateway { | |||
| 
 | ||||
|   IWETH public immutable WETH; | ||||
|   ILendingPool public immutable POOL; | ||||
|   IAToken public immutable aWETH; | ||||
| 
 | ||||
|   /** | ||||
|    * @dev Sets the WETH address and the LendingPoolAddressesProvider address. Infinite approves lending pool. | ||||
|  | @ -24,8 +25,10 @@ contract WETHGateway is IWETHGateway { | |||
|    * @param pool Address of the LendingPool contract | ||||
|    **/ | ||||
|   constructor(address weth, address pool) public { | ||||
|     ILendingPool poolInstance = ILendingPool(pool); | ||||
|     WETH = IWETH(weth); | ||||
|     POOL = ILendingPool(pool); | ||||
|     POOL = poolInstance; | ||||
|     aWETH = IAToken(poolInstance.getReserveData(weth).aTokenAddress); | ||||
|     IWETH(weth).approve(pool, uint256(-1)); | ||||
|   } | ||||
| 
 | ||||
|  | @ -46,20 +49,14 @@ contract WETHGateway is IWETHGateway { | |||
|    * @param to address of the user who will receive native ETH | ||||
|    */ | ||||
|   function withdrawETH(uint256 amount, address to) external override { | ||||
|     uint256 userBalance = IAToken(POOL.getReserveData(address(WETH)).aTokenAddress).balanceOf( | ||||
|       msg.sender | ||||
|     ); | ||||
|     uint256 userBalance = aWETH.balanceOf(msg.sender); | ||||
|     uint256 amountToWithdraw = amount; | ||||
| 
 | ||||
|     // if amount is equal to uint(-1), the user wants to redeem everything | ||||
|     if (amount == type(uint256).max) { | ||||
|       amountToWithdraw = userBalance; | ||||
|     } | ||||
|     IAToken(POOL.getReserveData(address(WETH)).aTokenAddress).transferFrom( | ||||
|       msg.sender, | ||||
|       address(this), | ||||
|       amountToWithdraw | ||||
|     ); | ||||
|     aWETH.transferFrom(msg.sender, address(this), amountToWithdraw); | ||||
|     POOL.withdraw(address(WETH), amountToWithdraw, address(this)); | ||||
|     WETH.withdraw(amountToWithdraw); | ||||
|     safeTransferETH(to, amountToWithdraw); | ||||
|  |  | |||
|  | @ -171,7 +171,7 @@ | |||
|   }, | ||||
|   "ReserveLogic": { | ||||
|     "buidlerevm": { | ||||
|       "address": "0xFAe0fd738dAbc8a0426F47437322b6d026A9FD95", | ||||
|       "address": "0x920d847fE49E54C19047ba8bc236C45A8068Bca7", | ||||
|       "deployer": "0xc783df8a850f42e7F7e57013759C285caa701eB6" | ||||
|     }, | ||||
|     "kovan": { | ||||
|  | @ -181,19 +181,20 @@ | |||
|   }, | ||||
|   "GenericLogic": { | ||||
|     "buidlerevm": { | ||||
|       "address": "0x6082731fdAba4761277Fb31299ebC782AD3bCf24", | ||||
|       "address": "0xA4765Ff72A9F3CfE73089bb2c3a41B838DF71574", | ||||
|       "deployer": "0xc783df8a850f42e7F7e57013759C285caa701eB6" | ||||
|     } | ||||
|   }, | ||||
|   "ValidationLogic": { | ||||
|     "buidlerevm": { | ||||
|       "address": "0x8456161947DFc1fC159A0B26c025cD2b4bba0c3e", | ||||
|       "address": "0x35c1419Da7cf0Ff885B8Ef8EA9242FEF6800c99b", | ||||
|       "deployer": "0xc783df8a850f42e7F7e57013759C285caa701eB6" | ||||
|     } | ||||
|   }, | ||||
|   "LendingPool": { | ||||
|     "buidlerevm": { | ||||
|       "address": "0xD9273d497eDBC967F39d419461CfcF382a0A822e" | ||||
|       "address": "0xe2607EabC87fd0A4856840bF23da8458cDF0434F", | ||||
|       "deployer": "0xc783df8a850f42e7F7e57013759C285caa701eB6" | ||||
|     } | ||||
|   }, | ||||
|   "LendingPoolConfigurator": { | ||||
|  | @ -209,7 +210,7 @@ | |||
|   }, | ||||
|   "ATokensAndRatesHelper": { | ||||
|     "buidlerevm": { | ||||
|       "address": "0x06bA8d8af0dF898D0712DffFb0f862cC51AF45c2", | ||||
|       "address": "0xA4765Ff72A9F3CfE73089bb2c3a41B838DF71574", | ||||
|       "deployer": "0xc783df8a850f42e7F7e57013759C285caa701eB6" | ||||
|     } | ||||
|   }, | ||||
|  | @ -301,4 +302,4 @@ | |||
|       "deployer": "0xc783df8a850f42e7F7e57013759C285caa701eB6" | ||||
|     } | ||||
|   } | ||||
| } | ||||
| } | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 David Racero
						David Racero