From a908a078cc185d32b937fef82142a22b14fcb565 Mon Sep 17 00:00:00 2001 From: mingda Date: Sat, 25 Jul 2020 17:58:06 +0800 Subject: [PATCH] set dodo owner in init function --- contracts/DODOZoo.sol | 5 ++--- contracts/dodo.sol | 3 ++- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/contracts/DODOZoo.sol b/contracts/DODOZoo.sol index 75124ad..722eeb3 100644 --- a/contracts/DODOZoo.sol +++ b/contracts/DODOZoo.sol @@ -13,6 +13,7 @@ import {ICloneFactory} from "./helper/CloneFactory.sol"; interface IDODO { function init( + address owner, address supervisor, address maintainer, address baseToken, @@ -88,10 +89,9 @@ contract DODOZoo is Ownable { uint256 gasPriceLimit ) external onlyOwner returns (address newBornDODO) { 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_); IDODO(newBornDODO).init( + _OWNER_, _DEFAULT_SUPERVISOR_, maintainer, baseToken, @@ -102,7 +102,6 @@ contract DODOZoo is Ownable { k, gasPriceLimit ); - IDODO(newBornDODO).transferOwnership(_OWNER_); _DODO_REGISTER_[baseToken][quoteToken] = newBornDODO; emit DODOBirth(newBornDODO, baseToken, quoteToken); return newBornDODO; diff --git a/contracts/dodo.sol b/contracts/dodo.sol index 5313063..81be5dd 100644 --- a/contracts/dodo.sol +++ b/contracts/dodo.sol @@ -24,6 +24,7 @@ import {DODOLpToken} from "./impl/DODOLpToken.sol"; */ contract DODO is Admin, Trader, LiquidityProvider { function init( + address owner, address supervisor, address maintainer, address baseToken, @@ -38,7 +39,7 @@ contract DODO is Admin, Trader, LiquidityProvider { _INITIALIZED_ = true; // constructor - _OWNER_ = msg.sender; + _OWNER_ = owner; emit OwnershipTransferred(address(0), _OWNER_); _SUPERVISOR_ = supervisor;