81 lines
2.2 KiB
Solidity
81 lines
2.2 KiB
Solidity
/*
|
|
|
|
Copyright 2020 DODO ZOO.
|
|
SPDX-License-Identifier: Apache-2.0
|
|
|
|
*/
|
|
|
|
pragma solidity 0.6.9;
|
|
pragma experimental ABIEncoderV2;
|
|
|
|
|
|
interface IDODO {
|
|
function init(
|
|
address owner,
|
|
address supervisor,
|
|
address maintainer,
|
|
address baseToken,
|
|
address quoteToken,
|
|
address oracle,
|
|
uint256 lpFeeRate,
|
|
uint256 mtFeeRate,
|
|
uint256 k,
|
|
uint256 gasPriceLimit
|
|
) external;
|
|
|
|
function transferOwnership(address newOwner) external;
|
|
|
|
function claimOwnership() external;
|
|
|
|
function sellBaseToken(
|
|
uint256 amount,
|
|
uint256 minReceiveQuote,
|
|
bytes calldata data
|
|
) external returns (uint256);
|
|
|
|
function buyBaseToken(
|
|
uint256 amount,
|
|
uint256 maxPayQuote,
|
|
bytes calldata data
|
|
) external returns (uint256);
|
|
|
|
function querySellBaseToken(uint256 amount) external view returns (uint256 receiveQuote);
|
|
|
|
function queryBuyBaseToken(uint256 amount) external view returns (uint256 payQuote);
|
|
|
|
function depositBaseTo(address to, uint256 amount) external returns (uint256);
|
|
|
|
function withdrawBase(uint256 amount) external returns (uint256);
|
|
|
|
function withdrawAllBase() external returns (uint256);
|
|
|
|
function depositQuoteTo(address to, uint256 amount) external returns (uint256);
|
|
|
|
function withdrawQuote(uint256 amount) external returns (uint256);
|
|
|
|
function withdrawAllQuote() external returns (uint256);
|
|
|
|
function _BASE_CAPITAL_TOKEN_() external returns (address);
|
|
|
|
function _QUOTE_CAPITAL_TOKEN_() external returns (address);
|
|
|
|
function _BASE_TOKEN_() external returns (address);
|
|
|
|
function _QUOTE_TOKEN_() external returns (address);
|
|
|
|
function _R_STATUS_() external view returns (uint8);
|
|
|
|
function _QUOTE_BALANCE_() external view returns (uint256);
|
|
|
|
function _BASE_BALANCE_() external view returns (uint256);
|
|
|
|
function _K_() external view returns (uint256);
|
|
|
|
function _MT_FEE_RATE_() external view returns (uint256);
|
|
|
|
function _LP_FEE_RATE_() external view returns (uint256);
|
|
|
|
function getExpectedTarget() external view returns (uint256 baseTarget, uint256 quoteTarget);
|
|
|
|
function getOraclePrice() external view returns (uint256);
|
|
} |