整理DVM & DPP admin/factory
This commit is contained in:
@@ -17,6 +17,8 @@ import {IDPPAdmin} from "../DODOPrivatePool/intf/IDPPAdmin.sol";
|
||||
import {IPermissionManager} from "../lib/PermissionManager.sol";
|
||||
|
||||
contract DPPFactory is Ownable {
|
||||
// ============ Templates ============
|
||||
|
||||
address public _CLONE_FACTORY_;
|
||||
address public _DPP_TEMPLATE_;
|
||||
address public _DPP_ADMIN_TEMPLATE_;
|
||||
@@ -26,11 +28,24 @@ contract DPPFactory is Ownable {
|
||||
address public _VALUE_SOURCE_;
|
||||
address public _DODO_SMART_APPROVE_;
|
||||
|
||||
// ============ Registry ============
|
||||
|
||||
// base -> quote -> DPP address list
|
||||
mapping(address => mapping(address => address[])) public _REGISTRY_;
|
||||
// creator -> DPP address list
|
||||
mapping(address => address[]) public _USER_REGISTRY_;
|
||||
|
||||
// ============ Events ============
|
||||
|
||||
event NewDPP(
|
||||
address indexed baseToken,
|
||||
address indexed quoteToken,
|
||||
address indexed creator,
|
||||
address dpp
|
||||
);
|
||||
|
||||
// ============ Functions ============
|
||||
|
||||
constructor(
|
||||
address cloneFactory,
|
||||
address dppTemplate,
|
||||
@@ -89,6 +104,7 @@ contract DPPFactory is Ownable {
|
||||
|
||||
_REGISTRY_[baseToken][quoteToken].push(dppAddress);
|
||||
_USER_REGISTRY_[creator].push(dppAddress);
|
||||
emit NewDPP(baseToken, quoteToken, creator, dppAddress);
|
||||
}
|
||||
|
||||
function _createFeeRateModel(address owner, uint256 feeRate)
|
||||
@@ -126,6 +142,8 @@ contract DPPFactory is Ownable {
|
||||
_DPP_ADMIN_TEMPLATE_ = _newDPPAdminTemplate;
|
||||
}
|
||||
|
||||
// ============ View Functions ============
|
||||
|
||||
function getPrivatePool(address baseToken, address quoteToken)
|
||||
external
|
||||
view
|
||||
|
||||
@@ -16,6 +16,8 @@ import {IDVMAdmin} from "../DODOVendingMachine/intf/IDVMAdmin.sol";
|
||||
import {IPermissionManager} from "../lib/PermissionManager.sol";
|
||||
|
||||
contract DVMFactory is Ownable {
|
||||
// ============ Templates ============
|
||||
|
||||
address public _CLONE_FACTORY_;
|
||||
address public _DVM_TEMPLATE_;
|
||||
address public _DVM_ADMIN_TEMPLATE_;
|
||||
@@ -23,11 +25,24 @@ contract DVMFactory is Ownable {
|
||||
address public _PERMISSION_MANAGER_TEMPLATE_;
|
||||
address public _DEFAULT_GAS_PRICE_SOURCE_;
|
||||
|
||||
// ============ Registry ============
|
||||
|
||||
// base -> quote -> DVM address list
|
||||
mapping(address => mapping(address => address[])) public _REGISTRY_;
|
||||
// creator -> DVM address list
|
||||
mapping(address => address[]) public _USER_REGISTRY_;
|
||||
|
||||
// ============ Events ============
|
||||
|
||||
event NewDVM(
|
||||
address indexed baseToken,
|
||||
address indexed quoteToken,
|
||||
address indexed creator,
|
||||
address dvm
|
||||
);
|
||||
|
||||
// ============ Functions ============
|
||||
|
||||
constructor(
|
||||
address cloneFactory,
|
||||
address dvmTemplate,
|
||||
@@ -71,6 +86,7 @@ contract DVMFactory is Ownable {
|
||||
}
|
||||
_REGISTRY_[baseToken][quoteToken].push(newVendingMachine);
|
||||
_USER_REGISTRY_[creator].push(newVendingMachine);
|
||||
emit NewDVM(baseToken, quoteToken, creator, newVendingMachine);
|
||||
}
|
||||
|
||||
function _createFeeRateModel(address owner, uint256 feeRate)
|
||||
@@ -98,6 +114,8 @@ contract DVMFactory is Ownable {
|
||||
_DVM_ADMIN_TEMPLATE_ = _newDVMAdminTemplate;
|
||||
}
|
||||
|
||||
// ============ View Functions ============
|
||||
|
||||
function getVendingMachine(address baseToken, address quoteToken)
|
||||
external
|
||||
view
|
||||
|
||||
Reference in New Issue
Block a user