keycard-redeem/contracts/NFTBucketFactory.sol

21 lines
686 B
Solidity
Raw Normal View History

2020-04-09 09:59:43 +00:00
pragma solidity ^0.6.1;
import "./NFTBucket.sol";
import "./Proxy.sol";
2020-04-09 10:05:00 +00:00
contract NFTBucketFactory {
2020-04-09 09:59:43 +00:00
NFTBucket public NFTBucketImplementation;
2020-04-28 09:36:34 +00:00
event BucketCreated(address indexed provider, address indexed bucket);
2020-04-09 09:59:43 +00:00
constructor() public {
2020-04-23 12:51:05 +00:00
NFTBucketImplementation = new NFTBucket(address(0), 0, block.timestamp + 1);
2020-04-09 09:59:43 +00:00
}
2020-04-23 12:51:05 +00:00
function create(address _tokenAddress, uint256 _startTime, uint256 _expirationTime) public returns (address) {
2020-04-28 09:36:34 +00:00
address p = address(new Proxy(abi.encodeWithSelector(0x4e9464ed, "KeycardNFTBucket", _tokenAddress, _startTime, _expirationTime, msg.sender), address(NFTBucketImplementation)));
2020-04-09 09:59:43 +00:00
emit BucketCreated(msg.sender, p);
return p;
}
}