Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 955 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Transfer | 4427723 | 2687 days ago | IN | 1 ETH | 0.00021978 | ||||
Transfer | 4427723 | 2687 days ago | IN | 1 ETH | 0.00008791 | ||||
Transfer | 4427723 | 2687 days ago | IN | 1 ETH | 0.00008791 | ||||
Transfer | 4427723 | 2687 days ago | IN | 1 ETH | 0.00008791 | ||||
Transfer | 4412835 | 2690 days ago | IN | 0.235 ETH | 0.00046153 | ||||
Finalize | 4402807 | 2691 days ago | IN | 0 ETH | 0.00000022 | ||||
Finalize | 4402807 | 2691 days ago | IN | 0 ETH | 0.00000079 | ||||
Pregen Tokens | 4402776 | 2691 days ago | IN | 0 ETH | 0.0006475 | ||||
Pregen Tokens | 4402605 | 2691 days ago | IN | 0 ETH | 0.00064558 | ||||
Pregen Tokens | 4402605 | 2691 days ago | IN | 0 ETH | 0.00064494 | ||||
Pregen Tokens | 4402605 | 2691 days ago | IN | 0 ETH | 0.00064622 | ||||
Pregen Tokens | 4402605 | 2691 days ago | IN | 0 ETH | 0.0006475 | ||||
Pregen Tokens | 4402605 | 2691 days ago | IN | 0 ETH | 0.00049814 | ||||
Transfer | 4402598 | 2691 days ago | IN | 0.235 ETH | 0.00046153 | ||||
Transfer | 4402566 | 2691 days ago | IN | 28.71 ETH | 0.00046153 | ||||
Pregen Tokens | 4402536 | 2691 days ago | IN | 0 ETH | 0.00049814 | ||||
Pregen Tokens | 4402536 | 2691 days ago | IN | 0 ETH | 0.00064814 | ||||
Pregen Tokens | 4402536 | 2691 days ago | IN | 0 ETH | 0.0004975 | ||||
Transfer | 4402533 | 2691 days ago | IN | 28.72 ETH | 0.00046153 | ||||
Transfer | 4402519 | 2691 days ago | IN | 6.90232157 ETH | 0.00046153 | ||||
Transfer | 4402496 | 2691 days ago | IN | 3.8 ETH | 0.00117243 | ||||
Transfer | 4402496 | 2691 days ago | IN | 39 ETH | 0.00117243 | ||||
Transfer | 4402496 | 2691 days ago | IN | 1.01278605 ETH | 0.00117243 | ||||
Transfer | 4402469 | 2692 days ago | IN | 30 ETH | 0.00117243 | ||||
Pregen Tokens | 4402465 | 2692 days ago | IN | 0 ETH | 0.00049814 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|
4402496 | 2691 days ago | 3.8 ETH | ||||
4402496 | 2691 days ago | 39 ETH | ||||
4402496 | 2691 days ago | 1.01278605 ETH | ||||
4402469 | 2692 days ago | 30 ETH | ||||
4402462 | 2692 days ago | 1 ETH | ||||
4402456 | 2692 days ago | 7.09 ETH | ||||
4402451 | 2692 days ago | 0.7 ETH | ||||
4402342 | 2692 days ago | 2.3 ETH | ||||
4402329 | 2692 days ago | 8.5 ETH | ||||
4402329 | 2692 days ago | 12.52 ETH | ||||
4402322 | 2692 days ago | 0.0228 ETH | ||||
4402313 | 2692 days ago | 2 ETH | ||||
4402276 | 2692 days ago | 0.33 ETH | ||||
4402238 | 2692 days ago | 5 ETH | ||||
4402210 | 2692 days ago | 5 ETH | ||||
4402183 | 2692 days ago | 0.07998354 ETH | ||||
4402100 | 2692 days ago | 0.2942862 ETH | ||||
4402092 | 2692 days ago | 21 ETH | ||||
4402069 | 2692 days ago | 1.5 ETH | ||||
4402037 | 2692 days ago | 0.99 ETH | ||||
4401955 | 2692 days ago | 0.5 ETH | ||||
4401928 | 2692 days ago | 5 ETH | ||||
4401853 | 2692 days ago | 2.07981481 ETH | ||||
4401823 | 2692 days ago | 0.47 ETH | ||||
4401777 | 2692 days ago | 1 ETH |
Loading...
Loading
Contract Name:
FlypCrowdsale
Compiler Version
v0.4.15+commit.bbb8e64f
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2017-09-28 */ pragma solidity ^0.4.15; /** * @title ERC20Basic * @dev Simpler version of ERC20 interface * @dev see https://github.com/ethereum/EIPs/issues/179 */ contract ERC20Basic { uint256 public totalSupply; function balanceOf(address who) public constant returns (uint256); function transfer(address to, uint256 value) public returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); } /** * @title SafeMath * @dev Math operations with safety checks that throw on error */ library SafeMath { function mul(uint256 a, uint256 b) internal constant returns (uint256) { uint256 c = a * b; assert(a == 0 || c / a == b); return c; } function div(uint256 a, uint256 b) internal constant returns (uint256) { // assert(b > 0); // Solidity automatically throws when dividing by 0 uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } function sub(uint256 a, uint256 b) internal constant returns (uint256) { assert(b <= a); return a - b; } function add(uint256 a, uint256 b) internal constant returns (uint256) { uint256 c = a + b; assert(c >= a); return c; } } /** * @title Basic token * @dev Basic version of StandardToken, with no allowances. */ contract BasicToken is ERC20Basic { using SafeMath for uint256; mapping(address => uint256) balances; /** * @dev transfer token for a specified address * @param _to The address to transfer to. * @param _value The amount to be transferred. */ function transfer(address _to, uint256 _value) public returns (bool) { require(_to != address(0)); // SafeMath.sub will throw if there is not enough balance. balances[msg.sender] = balances[msg.sender].sub(_value); balances[_to] = balances[_to].add(_value); Transfer(msg.sender, _to, _value); return true; } /** * @dev Gets the balance of the specified address. * @param _owner The address to query the the balance of. * @return An uint256 representing the amount owned by the passed address. */ function balanceOf(address _owner) public constant returns (uint256 balance) { return balances[_owner]; } } /** * @title ERC20 interface * @dev see https://github.com/ethereum/EIPs/issues/20 */ contract ERC20 is ERC20Basic { function allowance(address owner, address spender) public constant 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); } /** * @title Standard ERC20 token * * @dev Implementation of the basic standard token. * @dev https://github.com/ethereum/EIPs/issues/20 * @dev Based on code by FirstBlood: https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol */ contract StandardToken is ERC20, BasicToken { mapping (address => mapping (address => uint256)) allowed; /** * @dev Transfer tokens from one address to another * @param _from address The address which you want to send tokens from * @param _to address The address which you want to transfer to * @param _value uint256 the amount of tokens to be transferred */ function transferFrom(address _from, address _to, uint256 _value) public returns (bool) { require(_to != address(0)); uint256 _allowance = allowed[_from][msg.sender]; // Check is not needed because sub(_allowance, _value) will already throw if this condition is not met // require (_value <= _allowance); balances[_from] = balances[_from].sub(_value); balances[_to] = balances[_to].add(_value); allowed[_from][msg.sender] = _allowance.sub(_value); Transfer(_from, _to, _value); return true; } /** * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender. * * Beware that changing an allowance with this method brings the risk that someone may use both the old * and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this * race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * @param _spender The address which will spend the funds. * @param _value The amount of tokens to be spent. */ function approve(address _spender, uint256 _value) public returns (bool) { allowed[msg.sender][_spender] = _value; Approval(msg.sender, _spender, _value); return true; } /** * @dev Function to check the amount of tokens that an owner allowed to a spender. * @param _owner address The address which owns the funds. * @param _spender address The address which will spend the funds. * @return A uint256 specifying the amount of tokens still available for the spender. */ function allowance(address _owner, address _spender) public constant returns (uint256 remaining) { return allowed[_owner][_spender]; } /** * approve should be called when allowed[_spender] == 0. To increment * allowed value is better to use this function to avoid 2 calls (and wait until * the first transaction is mined) * From MonolithDAO Token.sol */ function increaseApproval (address _spender, uint _addedValue) returns (bool success) { allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add(_addedValue); Approval(msg.sender, _spender, allowed[msg.sender][_spender]); return true; } function decreaseApproval (address _spender, uint _subtractedValue) returns (bool success) { uint oldValue = allowed[msg.sender][_spender]; if (_subtractedValue > oldValue) { allowed[msg.sender][_spender] = 0; } else { allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue); } Approval(msg.sender, _spender, allowed[msg.sender][_spender]); return true; } } /** * @title Ownable * @dev The Ownable contract has an owner address, and provides basic authorization control * functions, this simplifies the implementation of "user permissions". */ contract Ownable { address public owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev The Ownable constructor sets the original `owner` of the contract to the sender * account. */ function Ownable() { owner = msg.sender; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(msg.sender == owner); _; } /** * @dev Allows the current owner to transfer control of the contract to a newOwner. * @param newOwner The address to transfer ownership to. */ function transferOwnership(address newOwner) onlyOwner public { require(newOwner != address(0)); OwnershipTransferred(owner, newOwner); owner = newOwner; } } /** * @title Mintable token * @dev Simple ERC20 Token example, with mintable token creation * @dev Issue: * https://github.com/OpenZeppelin/zeppelin-solidity/issues/120 * Based on code by TokenMarketNet: https://github.com/TokenMarketNet/ico/blob/master/contracts/MintableToken.sol */ contract MintableToken is StandardToken, Ownable { event Mint(address indexed to, uint256 amount); event MintFinished(); bool public mintingFinished = false; modifier canMint() { require(!mintingFinished); _; } /** * @dev Function to mint tokens * @param _to The address that will receive the minted tokens. * @param _amount The amount of tokens to mint. * @return A boolean that indicates if the operation was successful. */ function mint(address _to, uint256 _amount) onlyOwner canMint public returns (bool) { totalSupply = totalSupply.add(_amount); balances[_to] = balances[_to].add(_amount); Mint(_to, _amount); Transfer(0x0, _to, _amount); return true; } /** * @dev Function to stop minting new tokens. * @return True if the operation was successful. */ function finishMinting() onlyOwner public returns (bool) { mintingFinished = true; MintFinished(); return true; } } /** * @title Crowdsale * @dev Crowdsale is a base contract for managing a token crowdsale. * Crowdsales have a start and end timestamps, where investors can make * token purchases and the crowdsale will assign them tokens based * on a token per ETH rate. Funds collected are forwarded to a wallet * as they arrive. */ contract Crowdsale { using SafeMath for uint256; // The token being sold MintableToken public token; // start and end timestamps where investments are allowed (both inclusive) uint256 public startTime; uint256 public endTime; // address where funds are collected address public wallet; // how many token units a buyer gets per wei uint256 public rate; // amount of raised money in wei uint256 public weiRaised; /** * event for token purchase logging * @param purchaser who paid for the tokens * @param beneficiary who got the tokens * @param value weis paid for purchase * @param amount amount of tokens purchased */ event TokenPurchase(address indexed purchaser, address indexed beneficiary, uint256 value, uint256 amount); function Crowdsale(uint256 _startTime, uint256 _endTime, uint256 _rate, address _wallet) { require(_startTime >= now); require(_endTime >= _startTime); require(_rate > 0); require(_wallet != 0x0); token = createTokenContract(); startTime = _startTime; endTime = _endTime; rate = _rate; wallet = _wallet; } // creates the token to be sold. // override this method to have crowdsale of a specific mintable token. function createTokenContract() internal returns (MintableToken) { return new MintableToken(); } // fallback function can be used to buy tokens function () payable { buyTokens(msg.sender); } // low level token purchase function function buyTokens(address beneficiary) public payable { require(beneficiary != 0x0); require(validPurchase()); uint256 weiAmount = msg.value; // calculate token amount to be created uint256 tokens = weiAmount.mul(rate); // update state weiRaised = weiRaised.add(weiAmount); token.mint(beneficiary, tokens); TokenPurchase(msg.sender, beneficiary, weiAmount, tokens); forwardFunds(); } // send ether to the fund collection wallet // override to create custom fund forwarding mechanisms function forwardFunds() internal { wallet.transfer(msg.value); } // @return true if the transaction can buy tokens function validPurchase() internal constant returns (bool) { bool withinPeriod = now >= startTime && now <= endTime; bool nonZeroPurchase = msg.value != 0; return withinPeriod && nonZeroPurchase; } // @return true if crowdsale event has ended function hasEnded() public constant returns (bool) { return now > endTime; } } /** * @title FinalizableCrowdsale * @dev Extension of Crowdsale where an owner can do extra work * after finishing. */ contract FinalizableCrowdsale is Crowdsale, Ownable { using SafeMath for uint256; bool public isFinalized = false; event Finalized(); /** * @dev Must be called after crowdsale ends, to do some extra finalization * work. Calls the contract's finalization function. */ function finalize() onlyOwner public { require(!isFinalized); require(hasEnded()); finalization(); Finalized(); isFinalized = true; } /** * @dev Can be overridden to add finalization logic. The overriding function * should call super.finalization() to ensure the chain of finalization is * executed entirely. */ function finalization() internal { } } /** * @title FinalizableCrowdsale * @dev Extension of Crowsdale where an owner can do extra work * after finishing. By default, it will end token minting. */ contract MyFinalizableCrowdsale is FinalizableCrowdsale { using SafeMath for uint256; // address where funds are collected address public tokenWallet; event FinalTokens(uint256 _generated); function MyFinalizableCrowdsale(address _tokenWallet) { tokenWallet = _tokenWallet; } function generateFinalTokens(uint256 ratio) internal { uint256 finalValue = token.totalSupply(); finalValue = finalValue.mul(ratio).div(1000); token.mint(tokenWallet, finalValue); FinalTokens(finalValue); } } /** * @title MultiCappedCrowdsale * @dev Extension of Crowsdale with a soft cap and a hard cap. * after finishing. By default, it will end token minting. */ contract MultiCappedCrowdsale is Crowdsale, Ownable { using SafeMath for uint256; uint256 public softCap; uint256 public hardCap = 0; bytes32 public hardCapHash; uint256 public hardCapTime = 0; uint256 public endBuffer; event NotFinalized(bytes32 _a, bytes32 _b); function MultiCappedCrowdsale(uint256 _softCap, bytes32 _hardCapHash, uint256 _endBuffer) { require(_softCap > 0); softCap = _softCap; hardCapHash = _hardCapHash; endBuffer = _endBuffer; } // // Soft cap logic // // overriding Crowdsale#validPurchase to add extra cap logic // @return true if investors can buy at the moment function validPurchase() internal constant returns (bool) { if (hardCap > 0) { checkHardCap(weiRaised.add(msg.value)); } return super.validPurchase(); } // // Hard cap logic // function hashHardCap(uint256 _hardCap, uint256 _key) internal constant returns (bytes32) { return keccak256(_hardCap, _key); } function setHardCap(uint256 _hardCap, uint256 _key) external onlyOwner { require(hardCap==0); if (hardCapHash != hashHardCap(_hardCap, _key)) { NotFinalized(hashHardCap(_hardCap, _key), hardCapHash); return; } hardCap = _hardCap; checkHardCap(weiRaised); } function checkHardCap(uint256 totalRaised) internal { if (hardCapTime == 0 && totalRaised > hardCap) { hardCapTime = block.timestamp; endTime = block.timestamp+endBuffer; } } } /** * @title LimitedTransferToken * @dev LimitedTransferToken defines the generic interface and the implementation to limit token * transferability for different events. It is intended to be used as a base class for other token * contracts. * LimitedTransferToken has been designed to allow for different limiting factors, * this can be achieved by recursively calling super.transferableTokens() until the base class is * hit. For example: * function transferableTokens(address holder, uint64 time) constant public returns (uint256) { * return min256(unlockedTokens, super.transferableTokens(holder, time)); * } * A working example is VestedToken.sol: * https://github.com/OpenZeppelin/zeppelin-solidity/blob/master/contracts/token/VestedToken.sol */ contract LimitedTransferToken is ERC20 { /** * @dev Checks whether it can transfer or otherwise throws. */ modifier canTransfer(address _sender, uint256 _value) { require(_value <= transferableTokens(_sender, uint64(now))); _; } /** * @dev Checks modifier and allows transfer if tokens are not locked. * @param _to The address that will receive the tokens. * @param _value The amount of tokens to be transferred. */ function transfer(address _to, uint256 _value) canTransfer(msg.sender, _value) public returns (bool) { return super.transfer(_to, _value); } /** * @dev Checks modifier and allows transfer if tokens are not locked. * @param _from The address that will send the tokens. * @param _to The address that will receive the tokens. * @param _value The amount of tokens to be transferred. */ function transferFrom(address _from, address _to, uint256 _value) canTransfer(_from, _value) public returns (bool) { return super.transferFrom(_from, _to, _value); } /** * @dev Default transferable tokens function returns all tokens for a holder (no limit). * @dev Overwriting transferableTokens(address holder, uint64 time) is the way to provide the * specific logic for limiting token transferability for a holder over time. */ function transferableTokens(address holder, uint64 time) public constant returns (uint256) { return balanceOf(holder); } } /** * @title FypToken */ contract FypToken is MintableToken, LimitedTransferToken { string public constant name = "Flyp.me Token"; string public constant symbol = "FYP"; uint8 public constant decimals = 18; bool public isTransferable = false; function enableTransfers() onlyOwner { isTransferable = true; } function transferableTokens(address holder, uint64 time) public constant returns (uint256) { if (!isTransferable) { return 0; } return super.transferableTokens(holder, time); } function finishMinting() onlyOwner public returns (bool) { enableTransfers(); return super.finishMinting(); } } /** * @title FlypCrowdsale * @dev This is a sale with the following features: * - erc20 based * - Soft cap and hidden hard cap * - When finished distributes percent to specific address based on whether the * cap was reached. * - Start and end times for the ico * - Sends incoming eth to a specific address */ contract FlypCrowdsale is MyFinalizableCrowdsale, MultiCappedCrowdsale { // how many token units a buyer gets per wei uint256 public presaleRate; uint256 public postSoftRate; uint256 public postHardRate; uint256 public presaleEndTime; function FlypCrowdsale(uint256 _startTime, uint256 _endTime, uint256 _presaleEndTime, uint256 _rate, uint256 _rateDiff, uint256 _softCap, address _wallet, bytes32 _hardCapHash, address _tokenWallet, uint256 _endBuffer) MultiCappedCrowdsale(_softCap, _hardCapHash, _endBuffer) MyFinalizableCrowdsale(_tokenWallet) Crowdsale(_startTime, _endTime, _rate, _wallet) { presaleRate = _rate+_rateDiff; postSoftRate = _rate-_rateDiff; postHardRate = _rate-(2*_rateDiff); presaleEndTime = _presaleEndTime; } // Allows generating tokens for externally funded participants (other blockchains) function pregenTokens(address beneficiary, uint256 weiAmount, uint256 tokenAmount) external onlyOwner { require(beneficiary != 0x0); // update state weiRaised = weiRaised.add(weiAmount); token.mint(beneficiary, tokenAmount); TokenPurchase(msg.sender, beneficiary, weiAmount, tokenAmount); } // Overrides Crowdsale function function buyTokens(address beneficiary) public payable { require(beneficiary != 0x0); require(validPurchase()); uint256 weiAmount = msg.value; uint256 currentRate = rate; if (block.timestamp < presaleEndTime) { currentRate = presaleRate; } else if (hardCap > 0 && weiRaised > hardCap) { currentRate = postHardRate; } else if (weiRaised > softCap) { currentRate = postSoftRate; } // calculate token amount to be created uint256 tokens = weiAmount.mul(currentRate); // update state weiRaised = weiRaised.add(weiAmount); token.mint(beneficiary, tokens); TokenPurchase(msg.sender, beneficiary, weiAmount, tokens); forwardFunds(); } // Overrides Crowdsale function function createTokenContract() internal returns (MintableToken) { return new FypToken(); } // Overrides FinalizableCrowdsale function function finalization() internal { if (weiRaised < softCap) { generateFinalTokens(1000); } else if (weiRaised < hardCap) { generateFinalTokens(666); } else { generateFinalTokens(428); } token.finishMinting(); super.finalization(); } // Make sure no eth funds become stuck on contract function withdraw(uint256 weiValue) onlyOwner { wallet.transfer(weiValue); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"constant":true,"inputs":[],"name":"presaleEndTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"rate","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"weiValue","type":"uint256"}],"name":"withdraw","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"endTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"hardCapTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"endBuffer","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"weiRaised","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"presaleRate","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"finalize","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"wallet","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_hardCap","type":"uint256"},{"name":"_key","type":"uint256"}],"name":"setHardCap","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"startTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"isFinalized","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"softCap","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"beneficiary","type":"address"},{"name":"weiAmount","type":"uint256"},{"name":"tokenAmount","type":"uint256"}],"name":"pregenTokens","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"tokenWallet","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"hardCapHash","outputs":[{"name":"","type":"bytes32"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"postSoftRate","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"beneficiary","type":"address"}],"name":"buyTokens","outputs":[],"payable":true,"type":"function"},{"constant":true,"inputs":[],"name":"hasEnded","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"postHardRate","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"hardCap","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"token","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"inputs":[{"name":"_startTime","type":"uint256"},{"name":"_endTime","type":"uint256"},{"name":"_presaleEndTime","type":"uint256"},{"name":"_rate","type":"uint256"},{"name":"_rateDiff","type":"uint256"},{"name":"_softCap","type":"uint256"},{"name":"_wallet","type":"address"},{"name":"_hardCapHash","type":"bytes32"},{"name":"_tokenWallet","type":"address"},{"name":"_endBuffer","type":"uint256"}],"payable":false,"type":"constructor"},{"payable":true,"type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_a","type":"bytes32"},{"indexed":false,"name":"_b","type":"bytes32"}],"name":"NotFinalized","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_generated","type":"uint256"}],"name":"FinalTokens","type":"event"},{"anonymous":false,"inputs":[],"name":"Finalized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"purchaser","type":"address"},{"indexed":true,"name":"beneficiary","type":"address"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"TokenPurchase","type":"event"}]
Contract Creation Code
60606040526006805460a060020a60ff021916905560006009819055600b55341561002957600080fd5b60405161014080612d04833981016040528080519190602001805191906020018051919060200180519190602001805191906020018051919060200180519190602001805191906020018051919060200180519150505b8483825b845b5b8d8d8c8a5b4284101561009957600080fd5b838310156100a657600080fd5b600082116100b357600080fd5b600160a060020a03811615156100c857600080fd5b6100dd640100000000610db46101a382021704565b60008054600160a060020a0319908116600160a060020a0393841617909155600186905560028590556004849055600380549091169183169190911790555b505060068054600160a060020a03191633600160a060020a031617905550505b60078054600160a060020a031916600160a060020a0383161790555b506000831161016657600080fd5b6008839055600a829055600c8190555b505050868601600d55858703600e55600286028703600f5560108890555b505050505050505050506101d9565b60006101ad6101c9565b604051809103906000f08015156101c357600080fd5b90505b90565b604051610e8380611e8183390190565b611c99806101e86000396000f3006060604052361561012d5763ffffffff60e060020a600035041663249b7c19811461013a5780632c4e722e1461015f5780632e1a7d4d146101845780633197cbb61461019c5780633bd87ebd146101c15780633e07905e146101e65780634042b66f1461020b57806342f39381146102305780634bb278f314610255578063521eb2731461026a57806365ad9f341461029957806378e97925146102b45780638d4e4083146102d95780638da5cb5b14610300578063906a26e01461032f578063a74e493f14610354578063bff99c6c1461037b578063c2dc9af4146103aa578063df571e33146103cf578063ec8ac4d8146103f4578063ecb70fb71461040a578063f2fde38b14610431578063f4835aea14610452578063fb86a40414610477578063fc0c546a1461049c575b5b610137336104cb565b5b005b341561014557600080fd5b61014d61064f565b60405190815260200160405180910390f35b341561016a57600080fd5b61014d610655565b60405190815260200160405180910390f35b341561018f57600080fd5b61013760043561065b565b005b34156101a757600080fd5b61014d6106ae565b60405190815260200160405180910390f35b34156101cc57600080fd5b61014d6106b4565b60405190815260200160405180910390f35b34156101f157600080fd5b61014d6106ba565b60405190815260200160405180910390f35b341561021657600080fd5b61014d6106c0565b60405190815260200160405180910390f35b341561023b57600080fd5b61014d6106c6565b60405190815260200160405180910390f35b341561026057600080fd5b6101376106cc565b005b341561027557600080fd5b61027d61078f565b604051600160a060020a03909116815260200160405180910390f35b34156102a457600080fd5b61013760043560243561079e565b005b34156102bf57600080fd5b61014d610839565b60405190815260200160405180910390f35b34156102e457600080fd5b6102ec61083f565b604051901515815260200160405180910390f35b341561030b57600080fd5b61027d610860565b604051600160a060020a03909116815260200160405180910390f35b341561033a57600080fd5b61014d61086f565b60405190815260200160405180910390f35b341561035f57600080fd5b610137600160a060020a0360043516602435604435610875565b005b341561038657600080fd5b61027d61098e565b604051600160a060020a03909116815260200160405180910390f35b34156103b557600080fd5b61014d61099d565b60405190815260200160405180910390f35b34156103da57600080fd5b61014d6109a3565b60405190815260200160405180910390f35b610137600160a060020a03600435166104cb565b005b341561041557600080fd5b6102ec6109a9565b604051901515815260200160405180910390f35b341561043c57600080fd5b610137600160a060020a03600435166109b2565b005b341561045d57600080fd5b61014d610a4b565b60405190815260200160405180910390f35b341561048257600080fd5b61014d610a51565b60405190815260200160405180910390f35b34156104a757600080fd5b61027d610a57565b604051600160a060020a03909116815260200160405180910390f35b60008080600160a060020a03841615156104e457600080fd5b6104ec610a66565b15156104f757600080fd5b349250600454915060105442101561051357600d549150610549565b60006009541180156105285750600954600554115b1561053757600f549150610549565b600854600554111561054957600e5491505b5b5b61055b838363ffffffff610a9d16565b600554909150610571908463ffffffff610acc16565b60055560008054600160a060020a0316906340c10f1990869084906040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156105d657600080fd5b6102c65a03f115156105e757600080fd5b505050604051805190505083600160a060020a031633600160a060020a03167f623b3804fa71d67900d064613da8f94b9617215ee90799290593e1745087ad18858460405191825260208201526040908101905180910390a3610648610ae6565b5b50505050565b60105481565b60045481565b60065433600160a060020a0390811691161461067657600080fd5b600354600160a060020a031681156108fc0282604051600060405180830381858888f1935050505015156106a957600080fd5b5b5b50565b60025481565b600b5481565b600c5481565b60055481565b600d5481565b60065433600160a060020a039081169116146106e757600080fd5b60065474010000000000000000000000000000000000000000900460ff161561070f57600080fd5b6107176109a9565b151561072257600080fd5b61072a610b1d565b7f6823b073d48d6e3a7d385eeb601452d680e74bb46afe3255a7d778f3a9b1768160405160405180910390a16006805474ff00000000000000000000000000000000000000001916740100000000000000000000000000000000000000001790555b5b565b600354600160a060020a031681565b60065433600160a060020a039081169116146107b957600080fd5b600954156107c657600080fd5b6107d08282610bd2565b600a5414610822577f62c63e313cb0df61acad466dd69f55d428057e43d2bc2b115635897b75bbcad76108038383610bd2565b600a5460405191825260208201526040908101905180910390a1610833565b600982905560055461083390610bf6565b5b5b5050565b60015481565b60065474010000000000000000000000000000000000000000900460ff1681565b600654600160a060020a031681565b60085481565b60065433600160a060020a0390811691161461089057600080fd5b600160a060020a03831615156108a557600080fd5b6005546108b8908363ffffffff610acc16565b60055560008054600160a060020a0316906340c10f1990859084906040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561091d57600080fd5b6102c65a03f1151561092e57600080fd5b505050604051805190505082600160a060020a031633600160a060020a03167f623b3804fa71d67900d064613da8f94b9617215ee90799290593e1745087ad18848460405191825260208201526040908101905180910390a35b5b505050565b600754600160a060020a031681565b600a5481565b600e5481565b60025442115b90565b60065433600160a060020a039081169116146109cd57600080fd5b600160a060020a03811615156109e257600080fd5b600654600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36006805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b50565b600f5481565b60095481565b600054600160a060020a031681565b6000806009541115610a8e57600554610a8e90610a89903463ffffffff610acc16565b610bf6565b5b610a97610c1e565b90505b90565b6000828202831580610ab95750828482811515610ab657fe5b04145b1515610ac157fe5b8091505b5092915050565b600082820183811015610ac157fe5b8091505b5092915050565b600354600160a060020a03163480156108fc0290604051600060405180830381858888f19350505050151561078c57600080fd5b5b565b6008546005541015610b3957610b346103e8610c4f565b610b60565b6009546005541015610b5557610b3461029a610c4f565b610b60565b610b606101ac610c4f565b5b5b60008054600160a060020a031690637d64bcb490604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610bab57600080fd5b6102c65a03f11515610bbc57600080fd5b505050604051805190505061078c61078c565b5b565b60008282604051918252602082015260409081019051809103902090505b92915050565b600b54158015610c07575060095481115b156106a95742600b819055600c54016002555b5b50565b60008060006001544210158015610c3757506002544211155b915050341515818015610c475750805b92505b505090565b60008054600160a060020a03166318160ddd82604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610c9757600080fd5b6102c65a03f11515610ca857600080fd5b50505060405180519150610cd690506103e8610cca838563ffffffff610a9d16565b9063ffffffff610d9816565b60008054600754929350600160a060020a03908116926340c10f199291169084906040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610d4157600080fd5b6102c65a03f11515610d5257600080fd5b50505060405180519050507f18d5312de723843f24877b7489d85b95ba8eb03cab753c32a8d6888ee89528a78160405190815260200160405180910390a15b5050565b5b565b6000808284811515610da657fe5b0490508091505b5092915050565b6000610dbe610dda565b604051809103906000f0801515610a9757600080fd5b90505b90565b604051610e8380610deb83390190560060606040526003805460a060020a61ffff02191690555b60038054600160a060020a03191633600160a060020a03161790555b5b610e41806100426000396000f300606060405236156101045763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166305d2035b811461010957806306fdde0314610130578063095ea7b3146101bb57806318160ddd146101f15780632121dc751461021657806323b872dd1461023d578063313ce5671461027957806340c10f19146102a257806366188463146102d857806370a082311461030e5780637d64bcb41461033f5780638da5cb5b1461036657806395d89b4114610395578063a9059cbb14610420578063af35c6c714610456578063d347c2051461046b578063d73dd623146104a9578063dd62ed3e146104df578063f2fde38b14610516575b600080fd5b341561011457600080fd5b61011c610537565b604051901515815260200160405180910390f35b341561013b57600080fd5b610143610558565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101805780820151818401525b602001610167565b50505050905090810190601f1680156101ad5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101c657600080fd5b61011c600160a060020a036004351660243561058f565b604051901515815260200160405180910390f35b34156101fc57600080fd5b6102046105fc565b60405190815260200160405180910390f35b341561022157600080fd5b61011c610602565b604051901515815260200160405180910390f35b341561024857600080fd5b61011c600160a060020a0360043581169060243516604435610624565b604051901515815260200160405180910390f35b341561028457600080fd5b61028c610656565b60405160ff909116815260200160405180910390f35b34156102ad57600080fd5b61011c600160a060020a036004351660243561065b565b604051901515815260200160405180910390f35b34156102e357600080fd5b61011c600160a060020a036004351660243561077c565b604051901515815260200160405180910390f35b341561031957600080fd5b610204600160a060020a0360043516610878565b60405190815260200160405180910390f35b341561034a57600080fd5b61011c610897565b604051901515815260200160405180910390f35b341561037157600080fd5b6103796108cc565b604051600160a060020a03909116815260200160405180910390f35b34156103a057600080fd5b6101436108db565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101805780820151818401525b602001610167565b50505050905090810190601f1680156101ad5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561042b57600080fd5b61011c600160a060020a0360043516602435610912565b604051901515815260200160405180910390f35b341561046157600080fd5b610469610942565b005b341561047657600080fd5b610204600160a060020a036004351667ffffffffffffffff60243516610998565b60405190815260200160405180910390f35b34156104b457600080fd5b61011c600160a060020a03600435166024356109db565b604051901515815260200160405180910390f35b34156104ea57600080fd5b610204600160a060020a0360043581169060243516610a80565b60405190815260200160405180910390f35b341561052157600080fd5b610469600160a060020a0360043516610aad565b005b60035474010000000000000000000000000000000000000000900460ff1681565b60408051908101604052600d81527f466c79702e6d6520546f6b656e00000000000000000000000000000000000000602082015281565b600160a060020a03338116600081815260026020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a35060015b92915050565b60005481565b6003547501000000000000000000000000000000000000000000900460ff1681565b600083826106328242610998565b81111561063e57600080fd5b610649868686610b46565b92505b5b50509392505050565b601281565b60035460009033600160a060020a0390811691161461067957600080fd5b60035474010000000000000000000000000000000000000000900460ff16156106a157600080fd5b6000546106b4908363ffffffff610c7216565b6000908155600160a060020a0384168152600160205260409020546106df908363ffffffff610c7216565b600160a060020a0384166000818152600160205260409081902092909255907f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968859084905190815260200160405180910390a282600160a060020a031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405190815260200160405180910390a35060015b5b5b92915050565b600160a060020a033381166000908152600260209081526040808320938616835292905290812054808311156107d957600160a060020a033381166000908152600260209081526040808320938816835292905290812055610810565b6107e9818463ffffffff610c8c16565b600160a060020a033381166000908152600260209081526040808320938916835292905220555b600160a060020a0333811660008181526002602090815260408083209489168084529490915290819020547f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925915190815260200160405180910390a3600191505b5092915050565b600160a060020a0381166000908152600160205260409020545b919050565b60035460009033600160a060020a039081169116146108b557600080fd5b6108bd610942565b6108c5610ca3565b90505b5b90565b600354600160a060020a031681565b60408051908101604052600381527f4659500000000000000000000000000000000000000000000000000000000000602082015281565b600033826109208242610998565b81111561092c57600080fd5b6109368585610d2a565b92505b5b505092915050565b60035433600160a060020a0390811691161461095d57600080fd5b6003805475ff000000000000000000000000000000000000000000191675010000000000000000000000000000000000000000001790555b5b565b6003546000907501000000000000000000000000000000000000000000900460ff1615156109c8575060006105f6565b6109d28383610e01565b90505b92915050565b600160a060020a033381166000908152600260209081526040808320938616835292905290812054610a13908363ffffffff610c7216565b600160a060020a0333811660008181526002602090815260408083209489168084529490915290819020849055919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591905190815260200160405180910390a35060015b92915050565b600160a060020a038083166000908152600260209081526040808320938516835292905220545b92915050565b60035433600160a060020a03908116911614610ac857600080fd5b600160a060020a0381161515610add57600080fd5b600354600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b50565b600080600160a060020a0384161515610b5e57600080fd5b50600160a060020a03808516600081815260026020908152604080832033909516835293815283822054928252600190529190912054610ba4908463ffffffff610c8c16565b600160a060020a038087166000908152600160205260408082209390935590861681522054610bd9908463ffffffff610c7216565b600160a060020a038516600090815260016020526040902055610c02818463ffffffff610c8c16565b600160a060020a03808716600081815260026020908152604080832033861684529091529081902093909355908616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9086905190815260200160405180910390a3600191505b509392505050565b600082820183811015610c8157fe5b8091505b5092915050565b600082821115610c9857fe5b508082035b92915050565b60035460009033600160a060020a03908116911614610cc157600080fd5b6003805474ff00000000000000000000000000000000000000001916740100000000000000000000000000000000000000001790557fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0860405160405180910390a15060015b5b90565b6000600160a060020a0383161515610d4157600080fd5b600160a060020a033316600090815260016020526040902054610d6a908363ffffffff610c8c16565b600160a060020a033381166000908152600160205260408082209390935590851681522054610d9f908363ffffffff610c7216565b600160a060020a0380851660008181526001602052604090819020939093559133909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a35060015b92915050565b60006109d283610878565b90505b929150505600a165627a7a723058201e0498f6060abd64d9397dfdc0fef13634289eb00e5f49be6f7a9ad0ec9c0ce30029a165627a7a7230582027ee0734fc416726365ae1b423b9b88e085ea6c362d9e57b3592db96c67172c6002960606040526003805460a060020a61ffff02191690555b60038054600160a060020a03191633600160a060020a03161790555b5b610e41806100426000396000f300606060405236156101045763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166305d2035b811461010957806306fdde0314610130578063095ea7b3146101bb57806318160ddd146101f15780632121dc751461021657806323b872dd1461023d578063313ce5671461027957806340c10f19146102a257806366188463146102d857806370a082311461030e5780637d64bcb41461033f5780638da5cb5b1461036657806395d89b4114610395578063a9059cbb14610420578063af35c6c714610456578063d347c2051461046b578063d73dd623146104a9578063dd62ed3e146104df578063f2fde38b14610516575b600080fd5b341561011457600080fd5b61011c610537565b604051901515815260200160405180910390f35b341561013b57600080fd5b610143610558565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101805780820151818401525b602001610167565b50505050905090810190601f1680156101ad5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101c657600080fd5b61011c600160a060020a036004351660243561058f565b604051901515815260200160405180910390f35b34156101fc57600080fd5b6102046105fc565b60405190815260200160405180910390f35b341561022157600080fd5b61011c610602565b604051901515815260200160405180910390f35b341561024857600080fd5b61011c600160a060020a0360043581169060243516604435610624565b604051901515815260200160405180910390f35b341561028457600080fd5b61028c610656565b60405160ff909116815260200160405180910390f35b34156102ad57600080fd5b61011c600160a060020a036004351660243561065b565b604051901515815260200160405180910390f35b34156102e357600080fd5b61011c600160a060020a036004351660243561077c565b604051901515815260200160405180910390f35b341561031957600080fd5b610204600160a060020a0360043516610878565b60405190815260200160405180910390f35b341561034a57600080fd5b61011c610897565b604051901515815260200160405180910390f35b341561037157600080fd5b6103796108cc565b604051600160a060020a03909116815260200160405180910390f35b34156103a057600080fd5b6101436108db565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101805780820151818401525b602001610167565b50505050905090810190601f1680156101ad5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561042b57600080fd5b61011c600160a060020a0360043516602435610912565b604051901515815260200160405180910390f35b341561046157600080fd5b610469610942565b005b341561047657600080fd5b610204600160a060020a036004351667ffffffffffffffff60243516610998565b60405190815260200160405180910390f35b34156104b457600080fd5b61011c600160a060020a03600435166024356109db565b604051901515815260200160405180910390f35b34156104ea57600080fd5b610204600160a060020a0360043581169060243516610a80565b60405190815260200160405180910390f35b341561052157600080fd5b610469600160a060020a0360043516610aad565b005b60035474010000000000000000000000000000000000000000900460ff1681565b60408051908101604052600d81527f466c79702e6d6520546f6b656e00000000000000000000000000000000000000602082015281565b600160a060020a03338116600081815260026020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a35060015b92915050565b60005481565b6003547501000000000000000000000000000000000000000000900460ff1681565b600083826106328242610998565b81111561063e57600080fd5b610649868686610b46565b92505b5b50509392505050565b601281565b60035460009033600160a060020a0390811691161461067957600080fd5b60035474010000000000000000000000000000000000000000900460ff16156106a157600080fd5b6000546106b4908363ffffffff610c7216565b6000908155600160a060020a0384168152600160205260409020546106df908363ffffffff610c7216565b600160a060020a0384166000818152600160205260409081902092909255907f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968859084905190815260200160405180910390a282600160a060020a031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405190815260200160405180910390a35060015b5b5b92915050565b600160a060020a033381166000908152600260209081526040808320938616835292905290812054808311156107d957600160a060020a033381166000908152600260209081526040808320938816835292905290812055610810565b6107e9818463ffffffff610c8c16565b600160a060020a033381166000908152600260209081526040808320938916835292905220555b600160a060020a0333811660008181526002602090815260408083209489168084529490915290819020547f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925915190815260200160405180910390a3600191505b5092915050565b600160a060020a0381166000908152600160205260409020545b919050565b60035460009033600160a060020a039081169116146108b557600080fd5b6108bd610942565b6108c5610ca3565b90505b5b90565b600354600160a060020a031681565b60408051908101604052600381527f4659500000000000000000000000000000000000000000000000000000000000602082015281565b600033826109208242610998565b81111561092c57600080fd5b6109368585610d2a565b92505b5b505092915050565b60035433600160a060020a0390811691161461095d57600080fd5b6003805475ff000000000000000000000000000000000000000000191675010000000000000000000000000000000000000000001790555b5b565b6003546000907501000000000000000000000000000000000000000000900460ff1615156109c8575060006105f6565b6109d28383610e01565b90505b92915050565b600160a060020a033381166000908152600260209081526040808320938616835292905290812054610a13908363ffffffff610c7216565b600160a060020a0333811660008181526002602090815260408083209489168084529490915290819020849055919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591905190815260200160405180910390a35060015b92915050565b600160a060020a038083166000908152600260209081526040808320938516835292905220545b92915050565b60035433600160a060020a03908116911614610ac857600080fd5b600160a060020a0381161515610add57600080fd5b600354600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b50565b600080600160a060020a0384161515610b5e57600080fd5b50600160a060020a03808516600081815260026020908152604080832033909516835293815283822054928252600190529190912054610ba4908463ffffffff610c8c16565b600160a060020a038087166000908152600160205260408082209390935590861681522054610bd9908463ffffffff610c7216565b600160a060020a038516600090815260016020526040902055610c02818463ffffffff610c8c16565b600160a060020a03808716600081815260026020908152604080832033861684529091529081902093909355908616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9086905190815260200160405180910390a3600191505b509392505050565b600082820183811015610c8157fe5b8091505b5092915050565b600082821115610c9857fe5b508082035b92915050565b60035460009033600160a060020a03908116911614610cc157600080fd5b6003805474ff00000000000000000000000000000000000000001916740100000000000000000000000000000000000000001790557fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0860405160405180910390a15060015b5b90565b6000600160a060020a0383161515610d4157600080fd5b600160a060020a033316600090815260016020526040902054610d6a908363ffffffff610c8c16565b600160a060020a033381166000908152600160205260408082209390935590851681522054610d9f908363ffffffff610c7216565b600160a060020a0380851660008181526001602052604090819020939093559133909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a35060015b92915050565b60006109d283610878565b90505b929150505600a165627a7a723058201e0498f6060abd64d9397dfdc0fef13634289eb00e5f49be6f7a9ad0ec9c0ce300290000000000000000000000000000000000000000000000000000000059cd13720000000000000000000000000000000000000000000000000000000059eb60f00000000000000000000000000000000000000000000000000000000059cd0e70000000000000000000000000000000000000000000000000000000000000113000000000000000000000000000000000000000000000000000000000000000c800000000000000000000000000000000000000000000032d26d12e980b6000000000000000000000000000000da05f94fc49f82e0d89cfca6b33ce2441ad0c0a3c11d870f0fc097ed9a45ae2a08b6557f80822501686b7376fef5590f15275990000000000000000000000006c1175d3ace18431c3274a710e6662713340414a0000000000000000000000000000000000000000000000000000000000005208
Deployed Bytecode
0x6060604052361561012d5763ffffffff60e060020a600035041663249b7c19811461013a5780632c4e722e1461015f5780632e1a7d4d146101845780633197cbb61461019c5780633bd87ebd146101c15780633e07905e146101e65780634042b66f1461020b57806342f39381146102305780634bb278f314610255578063521eb2731461026a57806365ad9f341461029957806378e97925146102b45780638d4e4083146102d95780638da5cb5b14610300578063906a26e01461032f578063a74e493f14610354578063bff99c6c1461037b578063c2dc9af4146103aa578063df571e33146103cf578063ec8ac4d8146103f4578063ecb70fb71461040a578063f2fde38b14610431578063f4835aea14610452578063fb86a40414610477578063fc0c546a1461049c575b5b610137336104cb565b5b005b341561014557600080fd5b61014d61064f565b60405190815260200160405180910390f35b341561016a57600080fd5b61014d610655565b60405190815260200160405180910390f35b341561018f57600080fd5b61013760043561065b565b005b34156101a757600080fd5b61014d6106ae565b60405190815260200160405180910390f35b34156101cc57600080fd5b61014d6106b4565b60405190815260200160405180910390f35b34156101f157600080fd5b61014d6106ba565b60405190815260200160405180910390f35b341561021657600080fd5b61014d6106c0565b60405190815260200160405180910390f35b341561023b57600080fd5b61014d6106c6565b60405190815260200160405180910390f35b341561026057600080fd5b6101376106cc565b005b341561027557600080fd5b61027d61078f565b604051600160a060020a03909116815260200160405180910390f35b34156102a457600080fd5b61013760043560243561079e565b005b34156102bf57600080fd5b61014d610839565b60405190815260200160405180910390f35b34156102e457600080fd5b6102ec61083f565b604051901515815260200160405180910390f35b341561030b57600080fd5b61027d610860565b604051600160a060020a03909116815260200160405180910390f35b341561033a57600080fd5b61014d61086f565b60405190815260200160405180910390f35b341561035f57600080fd5b610137600160a060020a0360043516602435604435610875565b005b341561038657600080fd5b61027d61098e565b604051600160a060020a03909116815260200160405180910390f35b34156103b557600080fd5b61014d61099d565b60405190815260200160405180910390f35b34156103da57600080fd5b61014d6109a3565b60405190815260200160405180910390f35b610137600160a060020a03600435166104cb565b005b341561041557600080fd5b6102ec6109a9565b604051901515815260200160405180910390f35b341561043c57600080fd5b610137600160a060020a03600435166109b2565b005b341561045d57600080fd5b61014d610a4b565b60405190815260200160405180910390f35b341561048257600080fd5b61014d610a51565b60405190815260200160405180910390f35b34156104a757600080fd5b61027d610a57565b604051600160a060020a03909116815260200160405180910390f35b60008080600160a060020a03841615156104e457600080fd5b6104ec610a66565b15156104f757600080fd5b349250600454915060105442101561051357600d549150610549565b60006009541180156105285750600954600554115b1561053757600f549150610549565b600854600554111561054957600e5491505b5b5b61055b838363ffffffff610a9d16565b600554909150610571908463ffffffff610acc16565b60055560008054600160a060020a0316906340c10f1990869084906040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156105d657600080fd5b6102c65a03f115156105e757600080fd5b505050604051805190505083600160a060020a031633600160a060020a03167f623b3804fa71d67900d064613da8f94b9617215ee90799290593e1745087ad18858460405191825260208201526040908101905180910390a3610648610ae6565b5b50505050565b60105481565b60045481565b60065433600160a060020a0390811691161461067657600080fd5b600354600160a060020a031681156108fc0282604051600060405180830381858888f1935050505015156106a957600080fd5b5b5b50565b60025481565b600b5481565b600c5481565b60055481565b600d5481565b60065433600160a060020a039081169116146106e757600080fd5b60065474010000000000000000000000000000000000000000900460ff161561070f57600080fd5b6107176109a9565b151561072257600080fd5b61072a610b1d565b7f6823b073d48d6e3a7d385eeb601452d680e74bb46afe3255a7d778f3a9b1768160405160405180910390a16006805474ff00000000000000000000000000000000000000001916740100000000000000000000000000000000000000001790555b5b565b600354600160a060020a031681565b60065433600160a060020a039081169116146107b957600080fd5b600954156107c657600080fd5b6107d08282610bd2565b600a5414610822577f62c63e313cb0df61acad466dd69f55d428057e43d2bc2b115635897b75bbcad76108038383610bd2565b600a5460405191825260208201526040908101905180910390a1610833565b600982905560055461083390610bf6565b5b5b5050565b60015481565b60065474010000000000000000000000000000000000000000900460ff1681565b600654600160a060020a031681565b60085481565b60065433600160a060020a0390811691161461089057600080fd5b600160a060020a03831615156108a557600080fd5b6005546108b8908363ffffffff610acc16565b60055560008054600160a060020a0316906340c10f1990859084906040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561091d57600080fd5b6102c65a03f1151561092e57600080fd5b505050604051805190505082600160a060020a031633600160a060020a03167f623b3804fa71d67900d064613da8f94b9617215ee90799290593e1745087ad18848460405191825260208201526040908101905180910390a35b5b505050565b600754600160a060020a031681565b600a5481565b600e5481565b60025442115b90565b60065433600160a060020a039081169116146109cd57600080fd5b600160a060020a03811615156109e257600080fd5b600654600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36006805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b50565b600f5481565b60095481565b600054600160a060020a031681565b6000806009541115610a8e57600554610a8e90610a89903463ffffffff610acc16565b610bf6565b5b610a97610c1e565b90505b90565b6000828202831580610ab95750828482811515610ab657fe5b04145b1515610ac157fe5b8091505b5092915050565b600082820183811015610ac157fe5b8091505b5092915050565b600354600160a060020a03163480156108fc0290604051600060405180830381858888f19350505050151561078c57600080fd5b5b565b6008546005541015610b3957610b346103e8610c4f565b610b60565b6009546005541015610b5557610b3461029a610c4f565b610b60565b610b606101ac610c4f565b5b5b60008054600160a060020a031690637d64bcb490604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610bab57600080fd5b6102c65a03f11515610bbc57600080fd5b505050604051805190505061078c61078c565b5b565b60008282604051918252602082015260409081019051809103902090505b92915050565b600b54158015610c07575060095481115b156106a95742600b819055600c54016002555b5b50565b60008060006001544210158015610c3757506002544211155b915050341515818015610c475750805b92505b505090565b60008054600160a060020a03166318160ddd82604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610c9757600080fd5b6102c65a03f11515610ca857600080fd5b50505060405180519150610cd690506103e8610cca838563ffffffff610a9d16565b9063ffffffff610d9816565b60008054600754929350600160a060020a03908116926340c10f199291169084906040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610d4157600080fd5b6102c65a03f11515610d5257600080fd5b50505060405180519050507f18d5312de723843f24877b7489d85b95ba8eb03cab753c32a8d6888ee89528a78160405190815260200160405180910390a15b5050565b5b565b6000808284811515610da657fe5b0490508091505b5092915050565b6000610dbe610dda565b604051809103906000f0801515610a9757600080fd5b90505b90565b604051610e8380610deb83390190560060606040526003805460a060020a61ffff02191690555b60038054600160a060020a03191633600160a060020a03161790555b5b610e41806100426000396000f300606060405236156101045763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166305d2035b811461010957806306fdde0314610130578063095ea7b3146101bb57806318160ddd146101f15780632121dc751461021657806323b872dd1461023d578063313ce5671461027957806340c10f19146102a257806366188463146102d857806370a082311461030e5780637d64bcb41461033f5780638da5cb5b1461036657806395d89b4114610395578063a9059cbb14610420578063af35c6c714610456578063d347c2051461046b578063d73dd623146104a9578063dd62ed3e146104df578063f2fde38b14610516575b600080fd5b341561011457600080fd5b61011c610537565b604051901515815260200160405180910390f35b341561013b57600080fd5b610143610558565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101805780820151818401525b602001610167565b50505050905090810190601f1680156101ad5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101c657600080fd5b61011c600160a060020a036004351660243561058f565b604051901515815260200160405180910390f35b34156101fc57600080fd5b6102046105fc565b60405190815260200160405180910390f35b341561022157600080fd5b61011c610602565b604051901515815260200160405180910390f35b341561024857600080fd5b61011c600160a060020a0360043581169060243516604435610624565b604051901515815260200160405180910390f35b341561028457600080fd5b61028c610656565b60405160ff909116815260200160405180910390f35b34156102ad57600080fd5b61011c600160a060020a036004351660243561065b565b604051901515815260200160405180910390f35b34156102e357600080fd5b61011c600160a060020a036004351660243561077c565b604051901515815260200160405180910390f35b341561031957600080fd5b610204600160a060020a0360043516610878565b60405190815260200160405180910390f35b341561034a57600080fd5b61011c610897565b604051901515815260200160405180910390f35b341561037157600080fd5b6103796108cc565b604051600160a060020a03909116815260200160405180910390f35b34156103a057600080fd5b6101436108db565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101805780820151818401525b602001610167565b50505050905090810190601f1680156101ad5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561042b57600080fd5b61011c600160a060020a0360043516602435610912565b604051901515815260200160405180910390f35b341561046157600080fd5b610469610942565b005b341561047657600080fd5b610204600160a060020a036004351667ffffffffffffffff60243516610998565b60405190815260200160405180910390f35b34156104b457600080fd5b61011c600160a060020a03600435166024356109db565b604051901515815260200160405180910390f35b34156104ea57600080fd5b610204600160a060020a0360043581169060243516610a80565b60405190815260200160405180910390f35b341561052157600080fd5b610469600160a060020a0360043516610aad565b005b60035474010000000000000000000000000000000000000000900460ff1681565b60408051908101604052600d81527f466c79702e6d6520546f6b656e00000000000000000000000000000000000000602082015281565b600160a060020a03338116600081815260026020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a35060015b92915050565b60005481565b6003547501000000000000000000000000000000000000000000900460ff1681565b600083826106328242610998565b81111561063e57600080fd5b610649868686610b46565b92505b5b50509392505050565b601281565b60035460009033600160a060020a0390811691161461067957600080fd5b60035474010000000000000000000000000000000000000000900460ff16156106a157600080fd5b6000546106b4908363ffffffff610c7216565b6000908155600160a060020a0384168152600160205260409020546106df908363ffffffff610c7216565b600160a060020a0384166000818152600160205260409081902092909255907f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968859084905190815260200160405180910390a282600160a060020a031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405190815260200160405180910390a35060015b5b5b92915050565b600160a060020a033381166000908152600260209081526040808320938616835292905290812054808311156107d957600160a060020a033381166000908152600260209081526040808320938816835292905290812055610810565b6107e9818463ffffffff610c8c16565b600160a060020a033381166000908152600260209081526040808320938916835292905220555b600160a060020a0333811660008181526002602090815260408083209489168084529490915290819020547f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925915190815260200160405180910390a3600191505b5092915050565b600160a060020a0381166000908152600160205260409020545b919050565b60035460009033600160a060020a039081169116146108b557600080fd5b6108bd610942565b6108c5610ca3565b90505b5b90565b600354600160a060020a031681565b60408051908101604052600381527f4659500000000000000000000000000000000000000000000000000000000000602082015281565b600033826109208242610998565b81111561092c57600080fd5b6109368585610d2a565b92505b5b505092915050565b60035433600160a060020a0390811691161461095d57600080fd5b6003805475ff000000000000000000000000000000000000000000191675010000000000000000000000000000000000000000001790555b5b565b6003546000907501000000000000000000000000000000000000000000900460ff1615156109c8575060006105f6565b6109d28383610e01565b90505b92915050565b600160a060020a033381166000908152600260209081526040808320938616835292905290812054610a13908363ffffffff610c7216565b600160a060020a0333811660008181526002602090815260408083209489168084529490915290819020849055919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591905190815260200160405180910390a35060015b92915050565b600160a060020a038083166000908152600260209081526040808320938516835292905220545b92915050565b60035433600160a060020a03908116911614610ac857600080fd5b600160a060020a0381161515610add57600080fd5b600354600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b50565b600080600160a060020a0384161515610b5e57600080fd5b50600160a060020a03808516600081815260026020908152604080832033909516835293815283822054928252600190529190912054610ba4908463ffffffff610c8c16565b600160a060020a038087166000908152600160205260408082209390935590861681522054610bd9908463ffffffff610c7216565b600160a060020a038516600090815260016020526040902055610c02818463ffffffff610c8c16565b600160a060020a03808716600081815260026020908152604080832033861684529091529081902093909355908616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9086905190815260200160405180910390a3600191505b509392505050565b600082820183811015610c8157fe5b8091505b5092915050565b600082821115610c9857fe5b508082035b92915050565b60035460009033600160a060020a03908116911614610cc157600080fd5b6003805474ff00000000000000000000000000000000000000001916740100000000000000000000000000000000000000001790557fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0860405160405180910390a15060015b5b90565b6000600160a060020a0383161515610d4157600080fd5b600160a060020a033316600090815260016020526040902054610d6a908363ffffffff610c8c16565b600160a060020a033381166000908152600160205260408082209390935590851681522054610d9f908363ffffffff610c7216565b600160a060020a0380851660008181526001602052604090819020939093559133909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a35060015b92915050565b60006109d283610878565b90505b929150505600a165627a7a723058201e0498f6060abd64d9397dfdc0fef13634289eb00e5f49be6f7a9ad0ec9c0ce30029a165627a7a7230582027ee0734fc416726365ae1b423b9b88e085ea6c362d9e57b3592db96c67172c60029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000000000000000000000000000000000000059cd13720000000000000000000000000000000000000000000000000000000059eb60f00000000000000000000000000000000000000000000000000000000059cd0e70000000000000000000000000000000000000000000000000000000000000113000000000000000000000000000000000000000000000000000000000000000c800000000000000000000000000000000000000000000032d26d12e980b6000000000000000000000000000000da05f94fc49f82e0d89cfca6b33ce2441ad0c0a3c11d870f0fc097ed9a45ae2a08b6557f80822501686b7376fef5590f15275990000000000000000000000006c1175d3ace18431c3274a710e6662713340414a0000000000000000000000000000000000000000000000000000000000005208
-----Decoded View---------------
Arg [0] : _startTime (uint256): 1506612082
Arg [1] : _endTime (uint256): 1508598000
Arg [2] : _presaleEndTime (uint256): 1506610800
Arg [3] : _rate (uint256): 4400
Arg [4] : _rateDiff (uint256): 200
Arg [5] : _softCap (uint256): 15000000000000000000000
Arg [6] : _wallet (address): 0x0DA05f94Fc49F82e0D89CFCA6B33CE2441aD0c0a
Arg [7] : _hardCapHash (bytes32): 0x3c11d870f0fc097ed9a45ae2a08b6557f80822501686b7376fef5590f1527599
Arg [8] : _tokenWallet (address): 0x6c1175d3ACe18431C3274a710E6662713340414a
Arg [9] : _endBuffer (uint256): 21000
-----Encoded View---------------
10 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000059cd1372
Arg [1] : 0000000000000000000000000000000000000000000000000000000059eb60f0
Arg [2] : 0000000000000000000000000000000000000000000000000000000059cd0e70
Arg [3] : 0000000000000000000000000000000000000000000000000000000000001130
Arg [4] : 00000000000000000000000000000000000000000000000000000000000000c8
Arg [5] : 00000000000000000000000000000000000000000000032d26d12e980b600000
Arg [6] : 0000000000000000000000000da05f94fc49f82e0d89cfca6b33ce2441ad0c0a
Arg [7] : 3c11d870f0fc097ed9a45ae2a08b6557f80822501686b7376fef5590f1527599
Arg [8] : 0000000000000000000000006c1175d3ace18431c3274a710e6662713340414a
Arg [9] : 0000000000000000000000000000000000000000000000000000000000005208
Swarm Source
bzzr://1e0498f6060abd64d9397dfdc0fef13634289eb00e5f49be6f7a9ad0ec9c0ce3
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 31 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
[ 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.