remove some todo
This commit is contained in:
@@ -26,8 +26,13 @@ contract DPP is DPPTrader {
|
||||
address maintainer,
|
||||
address baseTokenAddress,
|
||||
address quoteTokenAddress,
|
||||
address iSmartApprove,
|
||||
address[] memory configAddresses
|
||||
address lpFeeRateModel,
|
||||
address mtFeeRateModel,
|
||||
address kSource,
|
||||
address iSource,
|
||||
address gasPriceSource,
|
||||
address tradePermissionManager,
|
||||
address iSmartApprove
|
||||
) external {
|
||||
require(msg.sender == _FACTORY_, 'INIT FORBIDDEN');
|
||||
initOwner(owner);
|
||||
@@ -35,12 +40,12 @@ contract DPP is DPPTrader {
|
||||
_BASE_TOKEN_ = IERC20(baseTokenAddress);
|
||||
_QUOTE_TOKEN_ = IERC20(quoteTokenAddress);
|
||||
_DODO_SMART_APPROVE_ = ISmartApprove(iSmartApprove);
|
||||
_LP_FEE_RATE_MODEL_ = IFeeRateModel(configAddresses[0]);
|
||||
_MT_FEE_RATE_MODEL_ = IFeeRateModel(configAddresses[1]);
|
||||
_GAS_PRICE_LIMIT_ = IExternalValue(configAddresses[2]);
|
||||
_I_ = IExternalValue(configAddresses[3]);
|
||||
_K_ = IExternalValue(configAddresses[4]);
|
||||
_TRADE_PERMISSION_ = IPermissionManager(configAddresses[5]);
|
||||
_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);
|
||||
_resetTargetAndReserve();
|
||||
}
|
||||
|
||||
|
||||
@@ -47,8 +47,7 @@ contract DPPTrader is DPPVault {
|
||||
uint256 mtFee;
|
||||
uint256 newBaseTarget;
|
||||
PMMPricing.RState newRState;
|
||||
//TODO: confirm
|
||||
(receiveQuoteAmount, mtFee, newRState, newBaseTarget) = querySellBase(to, baseInput);
|
||||
(receiveQuoteAmount, mtFee, newRState, newBaseTarget) = querySellBase(tx.origin, baseInput);
|
||||
|
||||
_transferQuoteOut(to, receiveQuoteAmount);
|
||||
_transferQuoteOut(_MAINTAINER_, mtFee);
|
||||
@@ -76,7 +75,7 @@ contract DPPTrader is DPPVault {
|
||||
uint256 newQuoteTarget;
|
||||
|
||||
PMMPricing.RState newRState;
|
||||
(receiveBaseAmount, mtFee, newRState, newQuoteTarget) = querySellQuote(to,quoteInput);
|
||||
(receiveBaseAmount, mtFee, newRState, newQuoteTarget) = querySellQuote(tx.origin,quoteInput);
|
||||
|
||||
_transferBaseOut(to, receiveBaseAmount);
|
||||
_transferBaseOut(_MAINTAINER_, mtFee);
|
||||
|
||||
@@ -39,7 +39,6 @@ contract DPPVault is DPPStorage {
|
||||
|
||||
// ============ Set Status ============
|
||||
|
||||
//TODO:对应前端哪个操作?
|
||||
function setTarget(uint256 baseTarget, uint256 quoteTarget) public onlyOwner {
|
||||
_BASE_TARGET_ = baseTarget;
|
||||
_QUOTE_TARGET_ = quoteTarget;
|
||||
@@ -62,11 +61,16 @@ contract DPPVault is DPPStorage {
|
||||
uint256 newLpFeeRate,
|
||||
uint256 newMtFeeRate,
|
||||
uint256 newI,
|
||||
uint256 newK
|
||||
uint256 newK,
|
||||
uint256 baseOutAmount,
|
||||
uint256 quoteOutAmount,
|
||||
address to
|
||||
) public {
|
||||
//TODO: 讨论
|
||||
//TODO: owner 权限可以是operator
|
||||
require(msg.sender == _DODO_SMART_APPROVE_.getSmartSwap() || msg.sender == _OWNER_, "RESET FORBIDDEN!");
|
||||
require(newK > 0 && newK <= 10**18, "K OUT OF RANGE!");
|
||||
if(baseOutAmount > 0) _transferBaseOut(to, baseOutAmount);
|
||||
if(quoteOutAmount > 0) _transferQuoteOut(to, quoteOutAmount);
|
||||
_resetTargetAndReserve();
|
||||
_LP_FEE_RATE_MODEL_.setFeeRate(newLpFeeRate);
|
||||
_MT_FEE_RATE_MODEL_.setFeeRate(newMtFeeRate);
|
||||
@@ -83,22 +87,6 @@ contract DPPVault is DPPStorage {
|
||||
|
||||
// ============ Assets Transfer ============
|
||||
|
||||
// function withdraw(
|
||||
// address to,
|
||||
// uint256 baseAmount,
|
||||
// uint256 quoteAmount,
|
||||
// bytes calldata data
|
||||
// ) public onlyOwner {
|
||||
// _transferBaseOut(to, baseAmount);
|
||||
// _transferQuoteOut(to, quoteAmount);
|
||||
// _BASE_TARGET_ = _BASE_TARGET_.sub(baseAmount);
|
||||
// _QUOTE_TARGET_ = _QUOTE_TARGET_.sub(quoteAmount);
|
||||
// _syncReserve();
|
||||
// if (data.length > 0) {
|
||||
// IDODOCallee(to).DPPWithdrawCall(msg.sender, baseAmount, quoteAmount, data);
|
||||
// }
|
||||
// }
|
||||
|
||||
function _transferBaseOut(address to, uint256 amount) internal {
|
||||
if (amount > 0) {
|
||||
_BASE_TOKEN_.safeTransfer(to, amount);
|
||||
|
||||
Reference in New Issue
Block a user