refactor DPP & DVM

This commit is contained in:
mingda
2020-11-18 17:51:50 +08:00
parent 6a7b648753
commit d78de94b44
17 changed files with 627 additions and 339 deletions

View File

@@ -12,12 +12,10 @@ import {Ownable} from "../lib/Ownable.sol";
import {ICloneFactory} from "../lib/CloneFactory.sol";
import {IConstFeeRateModel} from "../lib/ConstFeeRateModel.sol";
import {IDVM} from "../DODOVendorMachine/intf/IDVM.sol";
import {IDVMVault} from "../DODOVendorMachine/intf/IDVMVault.sol";
import {IPermissionManager} from "../lib/PermissionManager.sol";
contract DVMFactory is Ownable {
address public _CLONE_FACTORY_;
address public _VAULT_TEMPLATE_;
address public _DVM_TEMPLATE_;
address public _FEE_RATE_MODEL_TEMPLATE_;
address public _PERMISSION_MANAGER_TEMPLATE_;
@@ -29,14 +27,12 @@ contract DVMFactory is Ownable {
constructor(
address cloneFactory,
address vaultTemplate,
address dvmTemplate,
address feeRateModelTemplate,
address permissionManagerTemplate,
address defaultGasPriceSource
) public {
_CLONE_FACTORY_ = cloneFactory;
_VAULT_TEMPLATE_ = vaultTemplate;
_DVM_TEMPLATE_ = dvmTemplate;
_FEE_RATE_MODEL_TEMPLATE_ = feeRateModelTemplate;
_PERMISSION_MANAGER_TEMPLATE_ = permissionManagerTemplate;
@@ -53,13 +49,11 @@ contract DVMFactory is Ownable {
) external returns (address newVendorMachine) {
newVendorMachine = ICloneFactory(_CLONE_FACTORY_).clone(_DVM_TEMPLATE_);
address vault = ICloneFactory(_CLONE_FACTORY_).clone(_VAULT_TEMPLATE_);
IDVMVault(vault).init(newVendorMachine, baseToken, quoteToken); // vault owner is controller
IDVM(newVendorMachine).init(
msg.sender,
msg.sender,
vault,
baseToken,
quoteToken,
createConstFeeRateModel(msg.sender, lpFeeRate),
createConstFeeRateModel(msg.sender, mtFeeRate),
createPermissionManager(msg.sender),