pragma solidity ^0.4.18;
contract ZperPreSale {
uint256 public totalContributed;
uint256 public startTime;
uint256 public endTime;
uint256 public hardCap;
address public owner;
event Transfer(address indexed _from, address indexed _to, uint256 _value);
function ZperPreSale (address _owner, uint256 _start, uint256 _end, uint256 _cap) public {
owner = _owner;
startTime = _start;
endTime = _end;
hardCap = _cap * (10 ** 18);
}
function () external payable {
require(now >= startTime && now <= endTime);
require(hardCap >= msg.value + totalContributed);
totalContributed += msg.value;
}
modifier onlyOwner() {
assert(msg.sender == owner);
_;
}
function showContributed() public constant returns (uint256 total) {
return totalContributed;
}
function forwardFunds(address _to, uint256 _value) onlyOwner public returns (bool success) {
require(_to != address(0));
_to.transfer(_value);
Transfer(address(0), _to, _value);
return true;
}
}
{
"compilationTarget": {
"ZperPreSale.sol": "ZperPreSale"
},
"libraries": {},
"optimizer": {
"enabled": true,
"runs": 200
},
"remappings": []
}
[{"constant":true,"inputs":[],"name":"totalContributed","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"endTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"showContributed","outputs":[{"name":"total","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"startTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"forwardFunds","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"hardCap","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_owner","type":"address"},{"name":"_start","type":"uint256"},{"name":"_end","type":"uint256"},{"name":"_cap","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Transfer","type":"event"}]