deposit ERC20 done

This commit is contained in:
x 2021-12-23 18:16:11 -06:00
parent e9490654ac
commit 3e9fb33bf8
2 changed files with 66 additions and 87 deletions

View File

@ -7,38 +7,56 @@ import {Basic} from "../../common/basic.sol";
import "./interface.sol";
abstract contract Helpers is DSMath, Basic {
ILixirFactory constant factory =
ILixirFactory(0xFbC744df515F8962C18e79795F469d57EC460691);
ILixirFactory constant factory =
ILixirFactory(0xFbC744df515F8962C18e79795F469d57EC460691);
function _deposit(
address vault,
uint256 amount0Desired,
uint256 amount1Desired,
uint256 amount0Min,
uint256 amount1Min,
address recipient,
uint256 deadline
) internal returns (
uint256 shares,
uint256 amount0In,
uint256 amount1In
) {
return (0, 0, 0);
}
function _deposit(
address payable vaultAddress,
uint256 amount0Desired,
uint256 amount1Desired,
uint256 amount0Min,
uint256 amount1Min,
address recipient,
uint256 deadline
) internal returns (
uint256 shares,
uint256 amount0In,
uint256 amount1In
) {
uint256 shares;
uint256 amount0In;
uint256 amount1In;
function _depositETH(
address vault,
uint256 amountDesired,
uint256 amountEthMin,
uint256 amountMin,
address recipient,
uint256 deadline
) internal returns (
uint256 shares,
uint256 amountEthIn,
uint256 amountIn
) {
return (0, 0, 0);
if (msg.value > 0) {
ILixirVaultETH vault = ILixirVaultETH(vaultAddress);
(
shares,
amount0In,
amount1In
) = (0, 0, 0);
// ) = vault.depositETH(
// amountDesired,
// amountEthMin,
// amountMin,
// recipient,
// deadline
// );
} else {
ILixirVault vault = ILixirVault(vaultAddress);
(
shares,
amount0In,
amount1In
) = vault.deposit(
amount0Desired,
amount1Desired,
amount0Min,
amount1Min,
recipient,
deadline
);
}
}
function _withdraw(

View File

@ -25,7 +25,7 @@ abstract contract LixirResolver is Helpers, Events {
* @param setId ID stores the amount of LP token
*/
function deposit(
address vault,
address payable vault,
uint256 amount0Desired,
uint256 amount1Desired,
uint256 amount0Min,
@ -38,62 +38,23 @@ abstract contract LixirResolver is Helpers, Events {
external
payable
returns (string memory _eventName, bytes memory _eventParam)
{
uint256 shares;
uint256 amount0In;
uint256 amount1In;
{
amount0Desired = getUint(getIds[0], amount0Desired);
amount1Desired = getUint(getIds[1], amount1Desired);
if (msg.value > 0) {
(
shares,
amount0In,
amount1In
) = (0, 0, 0);
// _depositETH(
// vaultAddress,
// amountDesired,
// amountEthMin,
// amountMin,
// recipient,
// deadline
// );
} else {
(
shares,
amount0In,
amount1In
) = _deposit(
vault,
amount0Desired,
amount1Desired,
amount0Min,
amount1Min,
recipient,
deadline
);
}
// MintParams memory params;
// {
// params = MintParams(
// tokenA,
// tokenB,
// fee,
// tickLower,
// tickUpper,
// amtA,
// amtB,
// slippage
// );
// }
// params.amtA = getUint(getIds[0], params.amtA);
// params.amtB = getUint(getIds[1], params.amtB);
// (
// uint256 _tokenId,
// uint256 liquidity,
// uint256 amountA,
// uint256 amountB
// ) = _mint(params);
(
uint256 shares,
uint256 amount0In,
uint256 amount1In
) = _deposit(
vault,
amount0Desired,
amount1Desired,
amount0Min,
amount1Min,
recipient,
deadline
);
setUint(setId, shares);
@ -119,7 +80,7 @@ abstract contract LixirResolver is Helpers, Events {
* @param setIds stores the amount of output tokens
*/
function withdraw(
address vault,
address payable vault,
address withdrawer,
uint256 shares,
uint256 amount0Min,