2020-11-23 22:33:23 +08:00
|
|
|
/*
|
|
|
|
|
|
|
|
|
|
Copyright 2020 DODO ZOO.
|
|
|
|
|
SPDX-License-Identifier: Apache-2.0
|
|
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
pragma solidity 0.6.9;
|
|
|
|
|
pragma experimental ABIEncoderV2;
|
|
|
|
|
|
2020-11-30 16:08:11 +08:00
|
|
|
import {IDODOV1Proxy01} from "./IDODOV1Proxy01.sol";
|
2020-11-30 12:36:59 +08:00
|
|
|
|
|
|
|
|
interface IDODOV2Proxy01 is IDODOV1Proxy01 {
|
2020-12-01 01:47:22 +08:00
|
|
|
function dodoSwapV2ETHToToken(
|
2020-11-26 21:03:36 +08:00
|
|
|
address payable assetTo,
|
2020-11-23 22:33:23 +08:00
|
|
|
address toToken,
|
|
|
|
|
uint256 minReturnAmount,
|
|
|
|
|
address[] memory dodoPairs,
|
2020-11-28 21:57:09 +08:00
|
|
|
uint8[] memory directions,
|
2020-12-01 01:47:22 +08:00
|
|
|
uint256 deadLine
|
2020-11-23 22:33:23 +08:00
|
|
|
) external payable returns (uint256 returnAmount);
|
|
|
|
|
|
2020-12-01 01:47:22 +08:00
|
|
|
function dodoSwapV2TokenToETH(
|
2020-11-26 21:03:36 +08:00
|
|
|
address payable assetTo,
|
|
|
|
|
address fromToken,
|
|
|
|
|
uint256 fromTokenAmount,
|
|
|
|
|
uint256 minReturnAmount,
|
|
|
|
|
address[] memory dodoPairs,
|
2020-11-28 21:57:09 +08:00
|
|
|
uint8[] memory directions,
|
2020-12-01 01:47:22 +08:00
|
|
|
uint256 deadLine
|
2020-11-26 21:03:36 +08:00
|
|
|
) external returns (uint256 returnAmount);
|
|
|
|
|
|
2020-12-01 01:47:22 +08:00
|
|
|
function dodoSwapV2TokenToToken(
|
2020-11-26 21:03:36 +08:00
|
|
|
address payable assetTo,
|
|
|
|
|
address fromToken,
|
|
|
|
|
address toToken,
|
|
|
|
|
uint256 fromTokenAmount,
|
|
|
|
|
uint256 minReturnAmount,
|
|
|
|
|
address[] memory dodoPairs,
|
2020-11-28 21:57:09 +08:00
|
|
|
uint8[] memory directions,
|
2020-12-01 01:47:22 +08:00
|
|
|
uint256 deadLine
|
2020-11-26 21:03:36 +08:00
|
|
|
) external returns (uint256 returnAmount);
|
|
|
|
|
|
2020-11-23 22:33:23 +08:00
|
|
|
function createDODOVendingMachine(
|
2020-11-26 21:03:36 +08:00
|
|
|
address assetTo,
|
2020-11-23 22:33:23 +08:00
|
|
|
address baseToken,
|
|
|
|
|
address quoteToken,
|
|
|
|
|
uint256 baseInAmount,
|
|
|
|
|
uint256 quoteInAmount,
|
|
|
|
|
uint256 lpFeeRate,
|
|
|
|
|
uint256 mtFeeRate,
|
|
|
|
|
uint256 i,
|
|
|
|
|
uint256 k,
|
2020-12-01 01:47:22 +08:00
|
|
|
uint256 deadLine
|
2020-11-28 17:44:39 +08:00
|
|
|
) external payable returns (address newVendingMachine, uint256 shares);
|
2020-11-23 22:33:23 +08:00
|
|
|
|
|
|
|
|
function addDVMLiquidity(
|
2020-12-01 01:47:22 +08:00
|
|
|
address dvmAddress,
|
2020-11-26 21:03:36 +08:00
|
|
|
address to,
|
|
|
|
|
uint256 baseInAmount,
|
|
|
|
|
uint256 quoteInAmount,
|
|
|
|
|
uint256 baseMinAmount,
|
|
|
|
|
uint256 quoteMinAmount,
|
2020-11-28 17:44:39 +08:00
|
|
|
uint8 flag, // 0 - ERC20, 1 - baseInETH, 2 - quoteInETH
|
2020-12-01 01:47:22 +08:00
|
|
|
uint256 deadLine
|
2020-11-28 17:44:39 +08:00
|
|
|
)
|
|
|
|
|
external
|
|
|
|
|
payable
|
|
|
|
|
returns (
|
|
|
|
|
uint256 shares,
|
|
|
|
|
uint256 baseAdjustedInAmount,
|
|
|
|
|
uint256 quoteAdjustedInAmount
|
|
|
|
|
);
|
2020-11-23 22:33:23 +08:00
|
|
|
|
|
|
|
|
function createDODOPrivatePool(
|
|
|
|
|
address baseToken,
|
|
|
|
|
address quoteToken,
|
|
|
|
|
uint256 baseInAmount,
|
|
|
|
|
uint256 quoteInAmount,
|
2020-11-24 17:25:10 +08:00
|
|
|
uint256 lpFeeRate,
|
|
|
|
|
uint256 mtFeeRate,
|
|
|
|
|
uint256 i,
|
|
|
|
|
uint256 k,
|
2020-12-01 01:47:22 +08:00
|
|
|
uint256 deadLine
|
2020-11-23 22:33:23 +08:00
|
|
|
) external payable returns (address newPrivatePool);
|
|
|
|
|
|
|
|
|
|
function resetDODOPrivatePool(
|
2020-12-01 01:47:22 +08:00
|
|
|
address dppAddress,
|
2020-12-18 11:27:45 +08:00
|
|
|
uint256[] memory paramList, //0 - newLpFeeRate, 1 - newMtFeeRate, 2 - newI, 3 - newK
|
|
|
|
|
uint256[] memory amountList, //0 - baseInAmount, 1 - quoteInAmount, 2 - baseOutAmount, 3 - quoteOutAmount
|
2020-11-28 17:44:39 +08:00
|
|
|
uint8 flag, // 0 - ERC20, 1 - baseInETH, 2 - quoteInETH, 3 - baseOutETH, 4 - quoteOutETH
|
2020-12-18 11:27:45 +08:00
|
|
|
uint256 minBaseReserve,
|
|
|
|
|
uint256 minQuoteReserve,
|
2020-12-01 01:47:22 +08:00
|
|
|
uint256 deadLine
|
2020-11-23 22:33:23 +08:00
|
|
|
) external payable;
|
|
|
|
|
|
2020-12-14 01:22:30 +08:00
|
|
|
function createCrowdPooling(
|
|
|
|
|
address baseToken,
|
|
|
|
|
address quoteToken,
|
|
|
|
|
uint256 baseInAmount,
|
|
|
|
|
uint256[] memory timeLine,
|
|
|
|
|
uint256[] memory valueList,
|
|
|
|
|
uint256 deadLine
|
|
|
|
|
) external returns (address newCrowdPooling);
|
|
|
|
|
|
|
|
|
|
function bid(
|
|
|
|
|
address assetTo,
|
|
|
|
|
address cpAddress,
|
|
|
|
|
uint256 quoteAmount,
|
|
|
|
|
uint8 flag, // 0 - ERC20, 1 - quoteInETH
|
|
|
|
|
uint256 deadLine
|
|
|
|
|
) external payable;
|
|
|
|
|
|
2020-12-01 01:47:22 +08:00
|
|
|
function addLiquidityToV1(
|
|
|
|
|
address to,
|
|
|
|
|
address pair,
|
|
|
|
|
uint256 baseAmount,
|
|
|
|
|
uint256 quoteAmount,
|
|
|
|
|
uint256 baseMinShares,
|
|
|
|
|
uint256 quoteMinShares,
|
|
|
|
|
uint8 flag, // 0 erc20 Out 1 baseOutETH 2 quoteOut ETH
|
|
|
|
|
uint256 deadLine
|
|
|
|
|
) external payable returns(uint256, uint256);
|
2020-11-28 21:57:09 +08:00
|
|
|
|
2020-11-23 22:33:23 +08:00
|
|
|
}
|