Add complex crowdsale example #331
parent
de0e6ba222
commit
2403508e1b
@ -0,0 +1,27 @@ |
||||
pragma solidity ^0.4.11; |
||||
|
||||
import "../../crowdsale/CappedCrowdsale.sol"; |
||||
import "../../crowdsale/RefundableCrowdsale.sol"; |
||||
import "./SampleCrowdsaleToken.sol"; |
||||
|
||||
/** |
||||
* @title SampleCrowdsale |
||||
* @dev This is an example of a fully fledged crowdsale that incorporates |
||||
* ability to finalize sale and checks for both cap and goal. |
||||
*/ |
||||
contract SampleCrowdsale is CappedCrowdsale, RefundableCrowdsale { |
||||
|
||||
function SampleCrowdsale(uint256 _startBlock, uint256 _endBlock, uint256 _rate, uint256 _goal, uint256 _cap, address _wallet) |
||||
CappedCrowdsale(_cap) |
||||
FinalizableCrowdsale() |
||||
RefundableCrowdsale(_goal) |
||||
Crowdsale(_startBlock, _endBlock, _rate, _wallet) |
||||
{ |
||||
require(_goal <= _cap); |
||||
} |
||||
|
||||
function createTokenContract() internal returns (MintableToken) { |
||||
return new SampleCrowdsaleToken(); |
||||
} |
||||
|
||||
} |
@ -0,0 +1,18 @@ |
||||
pragma solidity ^0.4.11; |
||||
|
||||
|
||||
import "../../token/MintableToken.sol"; |
||||
|
||||
|
||||
/** |
||||
* @title SampleCrowdsaleToken |
||||
* @dev Very simple ERC20 Token that can be minted. |
||||
* It is meant to be used in a crowdsale contract. |
||||
*/ |
||||
contract SampleCrowdsaleToken is MintableToken { |
||||
|
||||
string public constant name = "Sample Crowdsale Token"; |
||||
string public constant symbol = "SCT"; |
||||
uint256 public constant decimals = 18; |
||||
|
||||
} |
Loading…
Reference in new issue