2020-02-21 19:00:48 +00:00
|
|
|
pragma solidity ^0.6.1;
|
|
|
|
|
|
|
|
import "./GiftBucket.sol";
|
|
|
|
import "./Proxy.sol";
|
|
|
|
|
|
|
|
contract GiftBucketFactory {
|
|
|
|
GiftBucket public GiftBucketImplementation;
|
|
|
|
|
2020-04-03 12:19:40 +00:00
|
|
|
event BucketCreated(address indexed gifter, address indexed bucket);
|
2020-02-21 19:00:48 +00:00
|
|
|
|
|
|
|
constructor() public {
|
|
|
|
GiftBucketImplementation = new GiftBucket(address(0), block.timestamp + 1);
|
|
|
|
}
|
|
|
|
|
|
|
|
function create(address _tokenAddress, uint256 _expirationTime) public returns (address) {
|
2020-02-24 01:46:50 +00:00
|
|
|
address p = address(new Proxy(abi.encodeWithSelector(0xc350a1b5, _tokenAddress, _expirationTime, msg.sender), address(GiftBucketImplementation)));
|
2020-04-03 12:19:40 +00:00
|
|
|
emit BucketCreated(msg.sender, p);
|
2020-02-24 01:46:50 +00:00
|
|
|
return p;
|
2020-02-21 19:00:48 +00:00
|
|
|
}
|
|
|
|
}
|