Files
dodo-contractV2/contracts/SmartRoute/intf/IDODOV2.sol

98 lines
2.5 KiB
Solidity
Raw Normal View History

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
function createDODOPrivatePool() external returns (address newPrivatePool);
2020-11-23 22:33:23 +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,
uint256 k,
2021-01-19 17:10:46 +08:00
uint256 i,
bool isOpenTwap
) 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
}