29 lines
818 B
Solidity
Raw Normal View History

2019-02-14 02:06:35 -02:00
pragma solidity >=0.5.0 <0.6.0;
2019-02-21 01:43:41 -03:00
import "../../deploy/InstanceFactory.sol";
import "../../deploy/Instance.sol";
2019-02-20 22:09:59 -03:00
import "./DelegationAbstract.sol";
/**
* @title DelegationFactory
* @author Ricardo Guilherme Schmidt (Status Research & Development GmbH)
* @dev Upgradable delegation proxy factory
*/
contract DelegationFactory is InstanceFactory {
constructor(DelegationAbstract _base, DelegationAbstract _init, DelegationAbstract _emergency)
InstanceFactory(_base, _init, _emergency)
public
{ }
function createDelegation(
2019-02-20 22:09:59 -03:00
Delegation _parent
)
external
2019-02-20 22:09:59 -03:00
returns (DelegationAbstract instance)
{
instance = DelegationAbstract(address(new Instance(base, prototypes[address(base)].init, msg.data)));
emit InstanceCreated(instance);
}
}