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;
|
|
|
|
|
|
|
|
|
|
interface IDODOV2 {
|
|
|
|
|
|
2020-11-24 16:12:38 +08:00
|
|
|
//========== Common ==================
|
2020-11-23 22:33:23 +08:00
|
|
|
|
|
|
|
|
function sellBase(address to) external returns (uint256 receiveQuoteAmount);
|
|
|
|
|
|
|
|
|
|
function sellQuote(address to) external returns (uint256 receiveBaseAmount);
|
|
|
|
|
|
|
|
|
|
function getVaultReserve() external view returns (uint256 baseReserve, uint256 quoteReserve);
|
|
|
|
|
|
2020-12-24 11:51:55 +08:00
|
|
|
function _BASE_TOKEN_() external view returns (address);
|
2020-11-23 22:33:23 +08:00
|
|
|
|
2020-12-24 11:51:55 +08:00
|
|
|
function _QUOTE_TOKEN_() external view returns (address);
|
|
|
|
|
|
2020-12-22 13:18:23 +08:00
|
|
|
function getPMMStateForCall() external view returns (
|
|
|
|
|
uint256 i,
|
|
|
|
|
uint256 K,
|
|
|
|
|
uint256 B,
|
|
|
|
|
uint256 Q,
|
|
|
|
|
uint256 B0,
|
|
|
|
|
uint256 Q0,
|
2020-12-30 18:41:13 +08:00
|
|
|
uint256 R
|
2020-12-22 13:18:23 +08:00
|
|
|
);
|
|
|
|
|
|
|
|
|
|
function getUserFeeRate(address user) external view returns (uint256 lpFeeRate, uint256 mtFeeRate);
|
|
|
|
|
|
2021-01-19 18:08:27 +08:00
|
|
|
|
|
|
|
|
function getDODOPoolBidirection(address token0, address token1) external view returns (address[] memory, address[] memory);
|
|
|
|
|
|
2020-11-24 16:12:38 +08:00
|
|
|
//========== DODOVendingMachine ========
|
|
|
|
|
|
|
|
|
|
function createDODOVendingMachine(
|
|
|
|
|
address baseToken,
|
|
|
|
|
address quoteToken,
|
|
|
|
|
uint256 lpFeeRate,
|
|
|
|
|
uint256 i,
|
2021-01-19 17:10:46 +08:00
|
|
|
uint256 k,
|
|
|
|
|
bool isOpenTWAP
|
2020-11-24 16:12:38 +08:00
|
|
|
) external returns (address newVendingMachine);
|
2020-11-30 12:36:59 +08:00
|
|
|
|
|
|
|
|
function buyShares(address to) external returns (uint256,uint256,uint256);
|
2020-11-24 16:12:38 +08:00
|
|
|
|
2020-11-24 17:25:10 +08:00
|
|
|
|
2020-11-23 22:33:23 +08:00
|
|
|
//========== DODOPrivatePool ===========
|
2020-11-24 16:12:38 +08:00
|
|
|
|
2020-11-25 17:08:28 +08:00
|
|
|
function createDODOPrivatePool() external returns (address newPrivatePool);
|
2020-11-23 22:33:23 +08:00
|
|
|
|
2020-11-25 17:08:28 +08:00
|
|
|
function initDODOPrivatePool(
|
|
|
|
|
address dppAddress,
|
2020-11-28 21:57:09 +08:00
|
|
|
address creator,
|
2020-11-24 16:12:38 +08:00
|
|
|
address baseToken,
|
|
|
|
|
address quoteToken,
|
2020-11-24 17:25:10 +08:00
|
|
|
uint256 lpFeeRate,
|
2020-11-25 17:08:28 +08:00
|
|
|
uint256 k,
|
2021-01-19 17:10:46 +08:00
|
|
|
uint256 i,
|
|
|
|
|
bool isOpenTwap
|
2020-11-25 17:08:28 +08:00
|
|
|
) external;
|
2020-11-24 16:12:38 +08:00
|
|
|
|
2020-11-23 22:33:23 +08:00
|
|
|
function reset(
|
2020-11-28 21:57:09 +08:00
|
|
|
address operator,
|
2020-11-26 13:35:22 +08:00
|
|
|
uint256 newLpFeeRate,
|
|
|
|
|
uint256 newI,
|
|
|
|
|
uint256 newK,
|
|
|
|
|
uint256 baseOutAmount,
|
2020-12-18 11:27:45 +08:00
|
|
|
uint256 quoteOutAmount,
|
|
|
|
|
uint256 minBaseReserve,
|
|
|
|
|
uint256 minQuoteReserve
|
|
|
|
|
) external returns (bool);
|
2020-12-14 01:22:30 +08:00
|
|
|
|
2020-12-30 18:41:13 +08:00
|
|
|
|
|
|
|
|
function _OWNER_() external returns (address);
|
2020-12-22 13:18:23 +08:00
|
|
|
|
2020-12-14 01:22:30 +08:00
|
|
|
//========== CrowdPooling ===========
|
|
|
|
|
|
2020-12-30 17:05:31 +08:00
|
|
|
function createCrowdPooling() external returns (address payable newCrowdPooling);
|
2020-12-14 01:22:30 +08:00
|
|
|
|
|
|
|
|
function initCrowdPooling(
|
|
|
|
|
address cpAddress,
|
|
|
|
|
address creator,
|
|
|
|
|
address baseToken,
|
|
|
|
|
address quoteToken,
|
|
|
|
|
uint256[] memory timeLine,
|
2021-01-19 17:10:46 +08:00
|
|
|
uint256[] memory valueList,
|
|
|
|
|
bool isOpenTWAP
|
2020-12-14 01:22:30 +08:00
|
|
|
) external;
|
|
|
|
|
|
|
|
|
|
function bid(address to) external;
|
2020-11-23 22:33:23 +08:00
|
|
|
}
|