整理DVM & DPP admin/factory
This commit is contained in:
@@ -104,7 +104,8 @@ contract DPPAdmin is InitializableOwnable {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// ============ Admin Version Control ============
|
// ============ Admin Version Control ============
|
||||||
function version() external pure returns (uint256) {
|
|
||||||
return 100; // 1.0.0
|
function version() external pure returns (string memory) {
|
||||||
|
return "DPPAdmin 1.0.0"; // 1.0.0
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -57,7 +57,8 @@ contract DVMAdmin is InitializableOwnable {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// ============ Admin Version Control ============
|
// ============ Admin Version Control ============
|
||||||
function version() external pure returns (uint256) {
|
|
||||||
return 100; // 1.0.0
|
function version() external pure returns (string memory) {
|
||||||
|
return "DVMAdmin 1.0.0"; // 1.0.0
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -49,13 +49,13 @@ contract DVMStorage is InitializableOwnable, ReentrancyGuard {
|
|||||||
mapping(address => uint256) internal _SHARES_;
|
mapping(address => uint256) internal _SHARES_;
|
||||||
mapping(address => mapping(address => uint256)) internal _ALLOWED_;
|
mapping(address => mapping(address => uint256)) internal _ALLOWED_;
|
||||||
|
|
||||||
|
|
||||||
// ================= Permit ======================
|
// ================= Permit ======================
|
||||||
|
|
||||||
bytes32 public DOMAIN_SEPARATOR;
|
bytes32 public DOMAIN_SEPARATOR;
|
||||||
// keccak256("Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)");
|
// keccak256("Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)");
|
||||||
bytes32 public constant PERMIT_TYPEHASH = 0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9;
|
bytes32
|
||||||
|
public constant PERMIT_TYPEHASH = 0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9;
|
||||||
mapping(address => uint256) public nonces;
|
mapping(address => uint256) public nonces;
|
||||||
// ===============================================
|
|
||||||
|
|
||||||
// ============ Variables for Pricing ============
|
// ============ Variables for Pricing ============
|
||||||
|
|
||||||
|
|||||||
@@ -189,6 +189,4 @@ contract DVMVault is DVMStorage {
|
|||||||
_approve(owner, spender, value);
|
_approve(owner, spender, value);
|
||||||
}
|
}
|
||||||
// ===========================================================================
|
// ===========================================================================
|
||||||
|
|
||||||
// function approveAndCall()
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,6 +17,8 @@ import {IDPPAdmin} from "../DODOPrivatePool/intf/IDPPAdmin.sol";
|
|||||||
import {IPermissionManager} from "../lib/PermissionManager.sol";
|
import {IPermissionManager} from "../lib/PermissionManager.sol";
|
||||||
|
|
||||||
contract DPPFactory is Ownable {
|
contract DPPFactory is Ownable {
|
||||||
|
// ============ Templates ============
|
||||||
|
|
||||||
address public _CLONE_FACTORY_;
|
address public _CLONE_FACTORY_;
|
||||||
address public _DPP_TEMPLATE_;
|
address public _DPP_TEMPLATE_;
|
||||||
address public _DPP_ADMIN_TEMPLATE_;
|
address public _DPP_ADMIN_TEMPLATE_;
|
||||||
@@ -26,11 +28,24 @@ contract DPPFactory is Ownable {
|
|||||||
address public _VALUE_SOURCE_;
|
address public _VALUE_SOURCE_;
|
||||||
address public _DODO_SMART_APPROVE_;
|
address public _DODO_SMART_APPROVE_;
|
||||||
|
|
||||||
|
// ============ Registry ============
|
||||||
|
|
||||||
// base -> quote -> DPP address list
|
// base -> quote -> DPP address list
|
||||||
mapping(address => mapping(address => address[])) public _REGISTRY_;
|
mapping(address => mapping(address => address[])) public _REGISTRY_;
|
||||||
// creator -> DPP address list
|
// creator -> DPP address list
|
||||||
mapping(address => address[]) public _USER_REGISTRY_;
|
mapping(address => address[]) public _USER_REGISTRY_;
|
||||||
|
|
||||||
|
// ============ Events ============
|
||||||
|
|
||||||
|
event NewDPP(
|
||||||
|
address indexed baseToken,
|
||||||
|
address indexed quoteToken,
|
||||||
|
address indexed creator,
|
||||||
|
address dpp
|
||||||
|
);
|
||||||
|
|
||||||
|
// ============ Functions ============
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
address cloneFactory,
|
address cloneFactory,
|
||||||
address dppTemplate,
|
address dppTemplate,
|
||||||
@@ -89,6 +104,7 @@ contract DPPFactory is Ownable {
|
|||||||
|
|
||||||
_REGISTRY_[baseToken][quoteToken].push(dppAddress);
|
_REGISTRY_[baseToken][quoteToken].push(dppAddress);
|
||||||
_USER_REGISTRY_[creator].push(dppAddress);
|
_USER_REGISTRY_[creator].push(dppAddress);
|
||||||
|
emit NewDPP(baseToken, quoteToken, creator, dppAddress);
|
||||||
}
|
}
|
||||||
|
|
||||||
function _createFeeRateModel(address owner, uint256 feeRate)
|
function _createFeeRateModel(address owner, uint256 feeRate)
|
||||||
@@ -126,6 +142,8 @@ contract DPPFactory is Ownable {
|
|||||||
_DPP_ADMIN_TEMPLATE_ = _newDPPAdminTemplate;
|
_DPP_ADMIN_TEMPLATE_ = _newDPPAdminTemplate;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ============ View Functions ============
|
||||||
|
|
||||||
function getPrivatePool(address baseToken, address quoteToken)
|
function getPrivatePool(address baseToken, address quoteToken)
|
||||||
external
|
external
|
||||||
view
|
view
|
||||||
|
|||||||
@@ -16,6 +16,8 @@ import {IDVMAdmin} from "../DODOVendingMachine/intf/IDVMAdmin.sol";
|
|||||||
import {IPermissionManager} from "../lib/PermissionManager.sol";
|
import {IPermissionManager} from "../lib/PermissionManager.sol";
|
||||||
|
|
||||||
contract DVMFactory is Ownable {
|
contract DVMFactory is Ownable {
|
||||||
|
// ============ Templates ============
|
||||||
|
|
||||||
address public _CLONE_FACTORY_;
|
address public _CLONE_FACTORY_;
|
||||||
address public _DVM_TEMPLATE_;
|
address public _DVM_TEMPLATE_;
|
||||||
address public _DVM_ADMIN_TEMPLATE_;
|
address public _DVM_ADMIN_TEMPLATE_;
|
||||||
@@ -23,11 +25,24 @@ contract DVMFactory is Ownable {
|
|||||||
address public _PERMISSION_MANAGER_TEMPLATE_;
|
address public _PERMISSION_MANAGER_TEMPLATE_;
|
||||||
address public _DEFAULT_GAS_PRICE_SOURCE_;
|
address public _DEFAULT_GAS_PRICE_SOURCE_;
|
||||||
|
|
||||||
|
// ============ Registry ============
|
||||||
|
|
||||||
// base -> quote -> DVM address list
|
// base -> quote -> DVM address list
|
||||||
mapping(address => mapping(address => address[])) public _REGISTRY_;
|
mapping(address => mapping(address => address[])) public _REGISTRY_;
|
||||||
// creator -> DVM address list
|
// creator -> DVM address list
|
||||||
mapping(address => address[]) public _USER_REGISTRY_;
|
mapping(address => address[]) public _USER_REGISTRY_;
|
||||||
|
|
||||||
|
// ============ Events ============
|
||||||
|
|
||||||
|
event NewDVM(
|
||||||
|
address indexed baseToken,
|
||||||
|
address indexed quoteToken,
|
||||||
|
address indexed creator,
|
||||||
|
address dvm
|
||||||
|
);
|
||||||
|
|
||||||
|
// ============ Functions ============
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
address cloneFactory,
|
address cloneFactory,
|
||||||
address dvmTemplate,
|
address dvmTemplate,
|
||||||
@@ -71,6 +86,7 @@ contract DVMFactory is Ownable {
|
|||||||
}
|
}
|
||||||
_REGISTRY_[baseToken][quoteToken].push(newVendingMachine);
|
_REGISTRY_[baseToken][quoteToken].push(newVendingMachine);
|
||||||
_USER_REGISTRY_[creator].push(newVendingMachine);
|
_USER_REGISTRY_[creator].push(newVendingMachine);
|
||||||
|
emit NewDVM(baseToken, quoteToken, creator, newVendingMachine);
|
||||||
}
|
}
|
||||||
|
|
||||||
function _createFeeRateModel(address owner, uint256 feeRate)
|
function _createFeeRateModel(address owner, uint256 feeRate)
|
||||||
@@ -98,6 +114,8 @@ contract DVMFactory is Ownable {
|
|||||||
_DVM_ADMIN_TEMPLATE_ = _newDVMAdminTemplate;
|
_DVM_ADMIN_TEMPLATE_ = _newDVMAdminTemplate;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ============ View Functions ============
|
||||||
|
|
||||||
function getVendingMachine(address baseToken, address quoteToken)
|
function getVendingMachine(address baseToken, address quoteToken)
|
||||||
external
|
external
|
||||||
view
|
view
|
||||||
|
|||||||
Reference in New Issue
Block a user