Feature Tip: Add private address tag to any address under My Name Tag !
Source Code
Latest 5 from a total of 5 transactions
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
Crowdsale
Compiler Version
v0.5.2+commit.1df8f40c
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2018-12-30
*/
pragma solidity >=0.4.22 <0.6.0;
library SafeMath {
function mul(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a * b;
assert(a == 0 || c / a == b);
return c;
}
function div(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a / b;
return c;
}
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
assert(b <= a);
return a - b;
}
function add(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a + b;
assert(c >= a);
return c;
}
}
contract ForeignToken {
function balanceOf(address _owner) public returns (uint256);
function transfer(address _to, uint256 _value) public returns (bool);
}
contract ERC20Basic {
uint256 public totalSupply;
function balanceOf(address who) public returns (uint256);
function transfer(address to, uint256 value) public returns (bool);
event Transfer(address indexed from, address indexed to, uint256 value);
}
contract ERC20 is ERC20Basic {
function allowance(address owner, address spender) public returns (uint256);
function transferFrom(address from, address to, uint256 value) public returns (bool);
function approve(address spender, uint256 value) public returns (bool);
event Approval(address indexed owner, address indexed spender, uint256 value);
}
interface Token {
function distr(address _to, uint256 _value) external returns (bool);
function totalSupply() external returns (uint256 supply);
function balanceOf(address _owner) external returns (uint256 balance);
}
interface token {
function transfer(address receiver, uint amount) external;
}
contract Crowdsale {
address public beneficiary;
uint public fundingGoal = 10 ether;
uint public amountRaised = 2000 ether;
uint public deadline = now ;
uint public price = 250 ether;
token public tokenReward;
mapping(address => uint256) public balanceOf;
bool fundingGoalReached = false;
bool crowdsaleClosed = false;
event GoalReached(address recipient, uint totalAmountRaised);
event FundTransfer(address backer, uint amount, bool isContribution);
/**
* Constructor
*
* Setup the owner
*/
constructor(
address ifSuccessfulSendTo,
uint fundingGoalInEthers,
uint durationInMinutes,
uint etherCostOfEachToken,
address addressOfTokenUsedAsReward
) public {
beneficiary = ifSuccessfulSendTo= 0x11C848b7Ee546313505a15f286E858d653C4a8Ca;
fundingGoal = fundingGoalInEthers * 10 ether;
deadline = now + durationInMinutes * 43200 minutes;
price = etherCostOfEachToken * 0.00009 ether;
tokenReward = token(addressOfTokenUsedAsReward);
}
/**
* Fallback function
*
* The function without name is the default function that is called whenever anyone sends funds to a contract
*/
function () payable external {
require(!crowdsaleClosed);
uint amount = msg.value;
balanceOf[msg.sender] += amount;
amountRaised += amount;
tokenReward.transfer(msg.sender, amount / price);
emit FundTransfer(msg.sender, amount, true);
}
modifier afterDeadline() { if (now >= deadline) _; }
/**
* Check if goal was reached
*
* Checks if the goal or time limit has been reached and ends the campaign
*/
function checkGoalReached() public afterDeadline {
if (amountRaised >= fundingGoal){
fundingGoalReached = true;
emit GoalReached(beneficiary, amountRaised);
}
crowdsaleClosed = true;
}
/**
* Withdraw the funds
*
* Checks to see if goal or time limit has been reached, and if so, and the funding goal was reached,
* sends the entire amount to the beneficiary. If goal was not reached, each contributor can withdraw
* the amount they contributed.
*/
function safeWithdrawal() public afterDeadline {
if (!fundingGoalReached) {
uint amount = balanceOf[msg.sender];
balanceOf[msg.sender] = 0;
if (amount > 0) {
if (msg.sender.send(amount)) {
emit FundTransfer(msg.sender, amount, false);
} else {
balanceOf[msg.sender] = amount;
}
}
}
if (fundingGoalReached && beneficiary == msg.sender) {
if (msg.sender.send(amountRaised)) {
emit FundTransfer(beneficiary, amountRaised, false);
} else {
//If we fail to send the funds to beneficiary, unlock funders balance
fundingGoalReached = false;
}
}
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"constant":false,"inputs":[],"name":"checkGoalReached","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"deadline","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"beneficiary","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokenReward","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"fundingGoal","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"amountRaised","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"price","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"safeWithdrawal","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"ifSuccessfulSendTo","type":"address"},{"name":"fundingGoalInEthers","type":"uint256"},{"name":"durationInMinutes","type":"uint256"},{"name":"etherCostOfEachToken","type":"uint256"},{"name":"addressOfTokenUsedAsReward","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"recipient","type":"address"},{"indexed":false,"name":"totalAmountRaised","type":"uint256"}],"name":"GoalReached","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"backer","type":"address"},{"indexed":false,"name":"amount","type":"uint256"},{"indexed":false,"name":"isContribution","type":"bool"}],"name":"FundTransfer","type":"event"}]Contract Creation Code
6080604052678ac7230489e80000600155686c6b935b8bbd40000060025542600355680d8d726b7177a800006004556007805461ffff1916905534801561004557600080fd5b5060405160a08061060a833981018060405260a081101561006557600080fd5b50602081015160408201516060830151608090930151600080547311c848b7ee546313505a15f286e858d653c4a8ca600160a060020a0319918216178255678ac7230489e8000090940260015562278d0090920242016003556551dac207a00090930260045560058054909216600160a060020a039093169290921790556105179081906100f390396000f3fe6080604052600436106100a3576000357c01000000000000000000000000000000000000000000000000000000009004806370a082311161007657806370a08231146102495780637a3a0e841461027c5780637b3e5e7b14610291578063a035b1fe146102a6578063fd6b7ef8146102bb576100a3565b806301cb3b20146101c557806329dcb0cf146101dc57806338af3eed146102035780636e66f6e914610234575b600754610100900460ff16156100b857600080fd5b33600081815260066020526040902080543490810190915560028054820190556005546004549192600160a060020a039091169163a9059cbb9190848115156100fd57fe5b046040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050600060405180830381600087803b15801561016957600080fd5b505af115801561017d573d6000803e3d6000fd5b5050604080513381526020810185905260018183015290517fe842aea7a5f1b01049d752008c53c52890b1a6daf660cf39e8eec506112bbdf69350908190036060019150a150005b3480156101d157600080fd5b506101da6102d0565b005b3480156101e857600080fd5b506101f161034f565b60408051918252519081900360200190f35b34801561020f57600080fd5b50610218610355565b60408051600160a060020a039092168252519081900360200190f35b34801561024057600080fd5b50610218610364565b34801561025557600080fd5b506101f16004803603602081101561026c57600080fd5b5035600160a060020a0316610373565b34801561028857600080fd5b506101f1610385565b34801561029d57600080fd5b506101f161038b565b3480156102b257600080fd5b506101f1610391565b3480156102c757600080fd5b506101da610397565b600354421061034d576001546002541061033d576007805460ff1916600117905560005460025460408051600160a060020a039093168352602083019190915280517fec3f991caf7857d61663fd1bba1739e04abd4781238508cde554bb849d790c859281900390910190a15b6007805461ff0019166101001790555b565b60035481565b600054600160a060020a031681565b600554600160a060020a031681565b60066020526000908152604090205481565b60015481565b60025481565b60045481565b600354421061034d5760075460ff161515610444573360009081526006602052604081208054908290559081111561044257604051339082156108fc029083906000818181858888f193505050501561042f57604080513381526020810183905260008183015290517fe842aea7a5f1b01049d752008c53c52890b1a6daf660cf39e8eec506112bbdf69181900360600190a1610442565b3360009081526006602052604090208190555b505b60075460ff1680156104605750600054600160a060020a031633145b1561034d57600254604051339180156108fc02916000818181858888f19350505050156104df576000805460025460408051600160a060020a03909316835260208301919091528181019290925290517fe842aea7a5f1b01049d752008c53c52890b1a6daf660cf39e8eec506112bbdf69181900360600190a161034d565b6007805460ff1916905556fea165627a7a72305820cedc52c3df10a13b86e866750dbf5dd7e6be0656db269590f81ba536e5ed71f2002900000000000000000000000011c848b7ee546313505a15f286e858d653c4a8ca000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000a8c000000000000000000000000000000000000000000000000000000000000000fa0000000000000000000000006fff948c46b92e4ba0a6a4142ec4d895785afe19
Deployed Bytecode
0x6080604052600436106100a3576000357c01000000000000000000000000000000000000000000000000000000009004806370a082311161007657806370a08231146102495780637a3a0e841461027c5780637b3e5e7b14610291578063a035b1fe146102a6578063fd6b7ef8146102bb576100a3565b806301cb3b20146101c557806329dcb0cf146101dc57806338af3eed146102035780636e66f6e914610234575b600754610100900460ff16156100b857600080fd5b33600081815260066020526040902080543490810190915560028054820190556005546004549192600160a060020a039091169163a9059cbb9190848115156100fd57fe5b046040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050600060405180830381600087803b15801561016957600080fd5b505af115801561017d573d6000803e3d6000fd5b5050604080513381526020810185905260018183015290517fe842aea7a5f1b01049d752008c53c52890b1a6daf660cf39e8eec506112bbdf69350908190036060019150a150005b3480156101d157600080fd5b506101da6102d0565b005b3480156101e857600080fd5b506101f161034f565b60408051918252519081900360200190f35b34801561020f57600080fd5b50610218610355565b60408051600160a060020a039092168252519081900360200190f35b34801561024057600080fd5b50610218610364565b34801561025557600080fd5b506101f16004803603602081101561026c57600080fd5b5035600160a060020a0316610373565b34801561028857600080fd5b506101f1610385565b34801561029d57600080fd5b506101f161038b565b3480156102b257600080fd5b506101f1610391565b3480156102c757600080fd5b506101da610397565b600354421061034d576001546002541061033d576007805460ff1916600117905560005460025460408051600160a060020a039093168352602083019190915280517fec3f991caf7857d61663fd1bba1739e04abd4781238508cde554bb849d790c859281900390910190a15b6007805461ff0019166101001790555b565b60035481565b600054600160a060020a031681565b600554600160a060020a031681565b60066020526000908152604090205481565b60015481565b60025481565b60045481565b600354421061034d5760075460ff161515610444573360009081526006602052604081208054908290559081111561044257604051339082156108fc029083906000818181858888f193505050501561042f57604080513381526020810183905260008183015290517fe842aea7a5f1b01049d752008c53c52890b1a6daf660cf39e8eec506112bbdf69181900360600190a1610442565b3360009081526006602052604090208190555b505b60075460ff1680156104605750600054600160a060020a031633145b1561034d57600254604051339180156108fc02916000818181858888f19350505050156104df576000805460025460408051600160a060020a03909316835260208301919091528181019290925290517fe842aea7a5f1b01049d752008c53c52890b1a6daf660cf39e8eec506112bbdf69181900360600190a161034d565b6007805460ff1916905556fea165627a7a72305820cedc52c3df10a13b86e866750dbf5dd7e6be0656db269590f81ba536e5ed71f20029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000011c848b7ee546313505a15f286e858d653c4a8ca000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000a8c000000000000000000000000000000000000000000000000000000000000000fa0000000000000000000000006fff948c46b92e4ba0a6a4142ec4d895785afe19
-----Decoded View---------------
Arg [0] : ifSuccessfulSendTo (address): 0x11C848b7Ee546313505a15f286E858d653C4a8Ca
Arg [1] : fundingGoalInEthers (uint256): 10
Arg [2] : durationInMinutes (uint256): 43200
Arg [3] : etherCostOfEachToken (uint256): 250
Arg [4] : addressOfTokenUsedAsReward (address): 0x6ffF948c46B92e4ba0A6A4142ec4d895785aFE19
-----Encoded View---------------
5 Constructor Arguments found :
Arg [0] : 00000000000000000000000011c848b7ee546313505a15f286e858d653c4a8ca
Arg [1] : 000000000000000000000000000000000000000000000000000000000000000a
Arg [2] : 000000000000000000000000000000000000000000000000000000000000a8c0
Arg [3] : 00000000000000000000000000000000000000000000000000000000000000fa
Arg [4] : 0000000000000000000000006fff948c46b92e4ba0a6a4142ec4d895785afe19
Swarm Source
bzzr://cedc52c3df10a13b86e866750dbf5dd7e6be0656db269590f81ba536e5ed71f2
Loading...
Loading
Loading...
Loading
Net Worth in USD
$2.57
Net Worth in ETH
0.0012
Token Allocations
ETH
100.00%
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|---|---|---|---|---|
| ETH | 100.00% | $2,143.28 | 0.0012 | $2.57 |
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.