dsa-connectors/contracts/mainnet/connectors/morpho-aave-v3/helpers.sol

32 lines
994 B
Solidity
Raw Normal View History

2023-02-23 16:34:03 +00:00
//SPDX-License-Identifier: MIT
pragma solidity ^0.7.0;
pragma experimental ABIEncoderV2;
import "./interface.sol";
import "../../common/stores.sol";
import "../../common/basic.sol";
import "../../common/interfaces.sol";
2023-02-28 23:50:17 +00:00
abstract contract Helpers is Stores, Basic {
2023-02-23 16:34:03 +00:00
IMorphoCore public constant MORPHO_AAVE_V3 =
IMorphoCore(0x33333aea097c193e66081E930c33020272b33333);
2023-02-24 01:21:01 +00:00
uint256 public max_iteration = 4;
2023-02-23 16:34:03 +00:00
function _performEthToWethConversion(
address _tokenAddress,
uint256 _amount,
uint256 _getId
) internal returns (TokenInterface _tokenContract, uint256 _amt) {
_amt = getUint(_getId, _amount);
if (_tokenAddress == ethAddr) {
_tokenContract = TokenInterface(wethAddr);
2023-06-22 20:21:04 +00:00
if (_amt == type(uint256).max) _amt = address(this).balance;
2023-02-23 16:34:03 +00:00
convertEthToWeth(true, _tokenContract, _amt);
} else {
_tokenContract = TokenInterface(_tokenAddress);
2023-06-22 20:21:04 +00:00
if (_amt == type(uint256).max) _amt = _tokenContract.balanceOf(address(this));
2023-02-23 16:34:03 +00:00
}
}
}