GNSHedgingManagerFactory.sol
1 pragma solidity >=0.6.0; 2 pragma experimental ABIEncoderV2; 3 4 import "../../deployment/Deployer.sol"; 5 import "../../deployment/ManagedContract.sol"; 6 import "./GNSHedgingManager.sol"; 7 8 contract GNSHedgingManagerFactory is ManagedContract { 9 address public _daiAddr; 10 address public _referrer; 11 address public _gnsTradingAddr; 12 address public _gnsPairInfoAddr; 13 address public _gnsFarmTradingStorageAddr; 14 15 address private deployerAddress; 16 17 constructor(address daiAddr, address referrer, address gnsTradingAddr, address gnsPairInfoAddr, address gnsFarmTradingStorageAddr) public { 18 _daiAddr = daiAddr; 19 _referrer = referrer; //TODO NOT SURE WHAT TO SET HERE 20 _gnsTradingAddr = gnsTradingAddr; 21 _gnsPairInfoAddr = gnsPairInfoAddr; 22 _gnsFarmTradingStorageAddr = gnsFarmTradingStorageAddr; 23 } 24 25 function initialize(Deployer deployer) override internal { 26 deployerAddress = address(deployer); 27 } 28 29 function create(address _poolAddr) external returns (address) { 30 address hdgMngr = address( 31 new GNSHedgingManager( 32 deployerAddress, 33 _poolAddr 34 ) 35 ); 36 return hdgMngr; 37 } 38 }