Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- pragma solidity ^0.4.19;
- import "./OldminToken.sol";
- contract Crowdsale is Ownable{
- using SafeMath for uint;
- address owner;
- address multisig;
- uint hardcap;
- OldminToken public token = new OldminToken();
- uint start = 1512907200;
- uint period = 30;
- uint rate;
- uint restrictedPercent;
- address restricted;
- function Crowdsale(){
- owner = msg.sender;
- multisig = 0xEA15Adb66DC92a4BbCcC8Bf32fd25E2e86a2A770;
- restricted = 0xb3eD172CC64839FB0C0Aa06aa129f402e994e7De;
- restrictedPercent = 40;
- rate = 100000000000000000000;
- hardcap = 10000000000000000000000;
- }
- modifier saleIsOn(){
- require(now > start && now < start + period * 1 days);
- _;
- }
- modifier isUnderHardCap(){
- require(multisig.balance <= hardcap);
- _;
- }
- function createTokens() isUnderHardCap saleIsOn payable{
- multisig.transfer(msg.value);
- uint tokens = rate.mul(msg.value).div(1 ether);
- token.mint(msg.sender, tokens);
- }
- function() external payable{
- createTokens();
- }
- function finishMinting() public onlyOwner{
- uint issuedTokenSuply = token.totalSupply();
- uint restrictedTokens = issuedTokenSuply.mul(restrictedPercent).div(100 - restrictedPercent);
- token.mint(restricted, restrictedTokens);
- token.finishMinting();
- }
- }
Add Comment
Please, Sign In to add comment