set dodo owner in init function
This commit is contained in:
@@ -13,6 +13,7 @@ import {ICloneFactory} from "./helper/CloneFactory.sol";
|
|||||||
|
|
||||||
interface IDODO {
|
interface IDODO {
|
||||||
function init(
|
function init(
|
||||||
|
address owner,
|
||||||
address supervisor,
|
address supervisor,
|
||||||
address maintainer,
|
address maintainer,
|
||||||
address baseToken,
|
address baseToken,
|
||||||
@@ -88,10 +89,9 @@ contract DODOZoo is Ownable {
|
|||||||
uint256 gasPriceLimit
|
uint256 gasPriceLimit
|
||||||
) external onlyOwner returns (address newBornDODO) {
|
) external onlyOwner returns (address newBornDODO) {
|
||||||
require(!isDODORegistered(baseToken, quoteToken), "DODO_REGISTERED");
|
require(!isDODORegistered(baseToken, quoteToken), "DODO_REGISTERED");
|
||||||
// Adapted from https://github.com/optionality/clone-factory/blob/32782f82dfc5a00d103a7e61a17a5dedbd1e8e9d/contracts/CloneFactory.sol
|
|
||||||
// create proxy
|
|
||||||
newBornDODO = ICloneFactory(_CLONE_FACTORY_).clone(_DODO_LOGIC_);
|
newBornDODO = ICloneFactory(_CLONE_FACTORY_).clone(_DODO_LOGIC_);
|
||||||
IDODO(newBornDODO).init(
|
IDODO(newBornDODO).init(
|
||||||
|
_OWNER_,
|
||||||
_DEFAULT_SUPERVISOR_,
|
_DEFAULT_SUPERVISOR_,
|
||||||
maintainer,
|
maintainer,
|
||||||
baseToken,
|
baseToken,
|
||||||
@@ -102,7 +102,6 @@ contract DODOZoo is Ownable {
|
|||||||
k,
|
k,
|
||||||
gasPriceLimit
|
gasPriceLimit
|
||||||
);
|
);
|
||||||
IDODO(newBornDODO).transferOwnership(_OWNER_);
|
|
||||||
_DODO_REGISTER_[baseToken][quoteToken] = newBornDODO;
|
_DODO_REGISTER_[baseToken][quoteToken] = newBornDODO;
|
||||||
emit DODOBirth(newBornDODO, baseToken, quoteToken);
|
emit DODOBirth(newBornDODO, baseToken, quoteToken);
|
||||||
return newBornDODO;
|
return newBornDODO;
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ import {DODOLpToken} from "./impl/DODOLpToken.sol";
|
|||||||
*/
|
*/
|
||||||
contract DODO is Admin, Trader, LiquidityProvider {
|
contract DODO is Admin, Trader, LiquidityProvider {
|
||||||
function init(
|
function init(
|
||||||
|
address owner,
|
||||||
address supervisor,
|
address supervisor,
|
||||||
address maintainer,
|
address maintainer,
|
||||||
address baseToken,
|
address baseToken,
|
||||||
@@ -38,7 +39,7 @@ contract DODO is Admin, Trader, LiquidityProvider {
|
|||||||
_INITIALIZED_ = true;
|
_INITIALIZED_ = true;
|
||||||
|
|
||||||
// constructor
|
// constructor
|
||||||
_OWNER_ = msg.sender;
|
_OWNER_ = owner;
|
||||||
emit OwnershipTransferred(address(0), _OWNER_);
|
emit OwnershipTransferred(address(0), _OWNER_);
|
||||||
|
|
||||||
_SUPERVISOR_ = supervisor;
|
_SUPERVISOR_ = supervisor;
|
||||||
|
|||||||
Reference in New Issue
Block a user