Files
dodo-contractV2/contracts/DODOPrivatePool/impl/DPP.sol

54 lines
1.5 KiB
Solidity
Raw Normal View History

2020-11-22 18:20:09 +08:00
/*
Copyright 2020 DODO ZOO.
SPDX-License-Identifier: Apache-2.0
*/
pragma solidity 0.6.9;
pragma experimental ABIEncoderV2;
import {IFeeRateModel} from "../../lib/FeeRateModel.sol";
import {IPermissionManager} from "../../lib/PermissionManager.sol";
import {IExternalValue} from "../../lib/ExternalValue.sol";
import {IERC20} from "../../intf/IERC20.sol";
import {DPPTrader} from "./DPPTrader.sol";
contract DPP is DPPTrader {
function init(
address owner,
address maintainer,
address baseTokenAddress,
address quoteTokenAddress,
2020-11-23 10:43:12 +08:00
address lpFeeRateModel,
address mtFeeRateModel,
address kSource,
address iSource,
address gasPriceSource,
2020-11-23 22:33:23 +08:00
address tradePermissionManager
2020-11-22 18:20:09 +08:00
) external {
initOwner(owner);
2020-11-29 23:51:58 +08:00
require(baseTokenAddress != quoteTokenAddress, "BASE_QUOTE_CAN_NOT_BE_SAME");
2020-11-22 18:20:09 +08:00
_BASE_TOKEN_ = IERC20(baseTokenAddress);
_QUOTE_TOKEN_ = IERC20(quoteTokenAddress);
2020-11-29 23:51:58 +08:00
2020-11-23 10:43:12 +08:00
_LP_FEE_RATE_MODEL_ = IFeeRateModel(lpFeeRateModel);
_MT_FEE_RATE_MODEL_ = IFeeRateModel(mtFeeRateModel);
_I_ = IExternalValue(iSource);
_K_ = IExternalValue(kSource);
_GAS_PRICE_LIMIT_ = IExternalValue(gasPriceSource);
_TRADE_PERMISSION_ = IPermissionManager(tradePermissionManager);
2020-11-29 23:51:58 +08:00
_MAINTAINER_ = maintainer;
_resetTargetAndReserve();
2020-11-28 17:44:39 +08:00
_checkIK();
2020-11-22 18:20:09 +08:00
}
// ============ Version Control ============
2020-11-29 23:51:58 +08:00
function version() external pure returns (string memory) {
return "DPP 1.0.0";
2020-11-22 18:20:09 +08:00
}
}