Sponsored Link:   Buy your 1st Ethereum in 5 minutes. Trusted by more than 100k buyers.
Contract Overview
ETH Balance: 0 Ether
ETH USD Value: $0
No Of Transactions: 4735 txns
  Latest 25 txns from a total Of 4735 transactions View All

TxHash Age From To Value [TxFee]
0x4af8505a4958e8a78b862574378de2d6a082e5978ce3cd27e0b5a398d8ed05601 day 15 hrs ago0x5ef33f97a8b716a11c40c74b5dab56d74d5e3c58  IN   0xe6766297571f8693adec94e5f8ef363d323e211d0 Ether0.00140575116
0xc9064d00d5cfa5a7a511218c224730a0433e3b82a11f4691fed1a82d8caa11894 days 9 hrs ago0x5ef33f97a8b716a11c40c74b5dab56d74d5e3c58  IN   0xe6766297571f8693adec94e5f8ef363d323e211d0 Ether0.00153706
0xfc9ec68ef43b12ce399b3494becdea2e14a65c4a2d822c250d6286decda7a8574 days 15 hrs ago0x75e7f640bf6968b6f32c47a3cd82c3c2c9dcae68  IN   0xe6766297571f8693adec94e5f8ef363d323e211d0.49 Ether0.0006488745
0xf028306c643575075b4b95c85929a7b023ff93950fd9d3a1f199ba794c8321a35 days 8 hrs ago0x5ef33f97a8b716a11c40c74b5dab56d74d5e3c58  IN   0xe6766297571f8693adec94e5f8ef363d323e211d0 Ether0.001936696917
0x049863231b60373a508fc7720cecd42c9aa5f99bc2c64ade3ac68110d0493b766 days 21 hrs ago0x5ef33f97a8b716a11c40c74b5dab56d74d5e3c58  IN   0xe6766297571f8693adec94e5f8ef363d323e211d0 Ether0.002503212
0xbc6d034b616f6b92b6583f1034646ab0610319ce2c60fe618eda3fe39cbe8cf67 days 20 hrs ago0x5ef33f97a8b716a11c40c74b5dab56d74d5e3c58  IN   0xe6766297571f8693adec94e5f8ef363d323e211d0 Ether0.00159038
0xa7f4b445df4137f363c480dcd9462c607d7d23cedbc284bb8c29663fbe480f797 days 21 hrs ago0x5ef33f97a8b716a11c40c74b5dab56d74d5e3c58  IN   0xe6766297571f8693adec94e5f8ef363d323e211d0 Ether0.001474716
0x929518e21a6de527ada01a242ec370a90927a49558fbe333c45a88154dfd5a9a9 days 3 hrs ago0x5ef33f97a8b716a11c40c74b5dab56d74d5e3c58  IN   0xe6766297571f8693adec94e5f8ef363d323e211d0 Ether0.001844472
0x47813ee58ae6a585fcff74fb07d2807eee2357498862ca0fe27a7558925c0cc89 days 4 hrs ago0x5ef33f97a8b716a11c40c74b5dab56d74d5e3c58  IN   0xe6766297571f8693adec94e5f8ef363d323e211d0 Ether0.001214472
0xc851f620f6230f9078685d86b52b56f3c486a0f936dd563efe4206e75040c71713 days 8 hrs ago0x5ef33f97a8b716a11c40c74b5dab56d74d5e3c58  IN   0xe6766297571f8693adec94e5f8ef363d323e211d0 Ether0.00043916
0x2a7e46f800b25a8a23f5f4ac5a463cc20f9a3b1efd3574094a2e44ef8a99a9be13 days 11 hrs ago0x5ef33f97a8b716a11c40c74b5dab56d74d5e3c58  IN   0xe6766297571f8693adec94e5f8ef363d323e211d0 Ether0.00021958
0x2f2f1fea1f39dee8eac241bb67c9e2bb3de306ce7380bd6a7ae94c6e21722aa015 days 10 hrs ago0x8287ae7b97de14609db95ceb655de3cee54792d5  IN   0xe6766297571f8693adec94e5f8ef363d323e211d0.4 Ether0.00101824
0xfa01988b856e65a5e2d6f1cce83a57d13f1ae247ff034eb7462c00eb356395be15 days 13 hrs ago0x5ef33f97a8b716a11c40c74b5dab56d74d5e3c58  IN   0xe6766297571f8693adec94e5f8ef363d323e211d0 Ether0.0006955
0xba89f402e5d464efefce7e82f404dcd1ae5615f29362394498ba1696e94c412c15 days 15 hrs ago0x5ef33f97a8b716a11c40c74b5dab56d74d5e3c58  IN   0xe6766297571f8693adec94e5f8ef363d323e211d0 Ether0.00087832
0x0a83f6f6b3bae44f691b9cb7b12468722c32e83a3d357fdf5308c4da7f176acf15 days 23 hrs ago0x5ef33f97a8b716a11c40c74b5dab56d74d5e3c58  IN   0xe6766297571f8693adec94e5f8ef363d323e211d0 Ether0.000351328
0x2e40a3c55ee5ba2e79b92293c8fc3ffd890185a921c8c01a4583e8e7e8588e6916 days 7 hrs ago0x5ef33f97a8b716a11c40c74b5dab56d74d5e3c58  IN   0xe6766297571f8693adec94e5f8ef363d323e211d0 Ether0.000263496
0x50d5e3e7df7195e0e6c7210c32b960e6b3174bc8e235a29187dac5186e5dd05a16 days 8 hrs ago0x5ef33f97a8b716a11c40c74b5dab56d74d5e3c58  IN   0xe6766297571f8693adec94e5f8ef363d323e211d0 Ether0.000175664
0xcbb52c9356cd3302bef4435302d92dfd0bc01d97f9cd1bd09d807243240c77e116 days 9 hrs ago0x8f4ab1708d591fe91daf8b0b2ac4c8a7404da70c  IN   0xe6766297571f8693adec94e5f8ef363d323e211d0.925 Ether0.0012728
0x889fb7a960a6997f709fc864190bea9847facb5bd5cbd20fe7b51ca5a970cbda16 days 10 hrs ago0x8f4ab1708d591fe91daf8b0b2ac4c8a7404da70c  IN   0xe6766297571f8693adec94e5f8ef363d323e211d0.924 Ether0.0012728
0xeeca7a2565f4a0c0e02efd63858d58ed615df7860ae38231588f43b204c0512116 days 10 hrs ago0x8f4ab1708d591fe91daf8b0b2ac4c8a7404da70c  IN   0xe6766297571f8693adec94e5f8ef363d323e211d0.924 Ether0.0012728
0x1fc82ec3efe1a0f1dfb5d2b92091d8e18dbf2cd1c75bfb772a6cec896905baed16 days 10 hrs ago0x8f4ab1708d591fe91daf8b0b2ac4c8a7404da70c  IN   0xe6766297571f8693adec94e5f8ef363d323e211d0.944324 Ether0.00025456
0x017a23b690d172d27a14ebd249ddd597bb24a6b9888082e289a48fb6285686ce16 days 11 hrs ago0x5ef33f97a8b716a11c40c74b5dab56d74d5e3c58  IN   0xe6766297571f8693adec94e5f8ef363d323e211d0 Ether0.00087704
0xb8c3a04f31a2afce00e9c4d4087cc78f7789076f3e730c2640db34e2d4e1e7c816 days 11 hrs ago0x5ef33f97a8b716a11c40c74b5dab56d74d5e3c58  IN   0xe6766297571f8693adec94e5f8ef363d323e211d0 Ether0.00087832
0xbf3df1908f855401070c0645fe5f2684d79cd0e35fe669174f9cadb106a5b3ab16 days 11 hrs ago0x68a5475e3a322f82aaa6a28611caf68b8f4c15dd  IN   0xe6766297571f8693adec94e5f8ef363d323e211d1 Ether0.0012728
0x43bfb9291332d385c30a13a64f1afeef4abc074ce3fdbc8dbbc45f489f2a2d9716 days 12 hrs ago0x5ef33f97a8b716a11c40c74b5dab56d74d5e3c58  IN   0xe6766297571f8693adec94e5f8ef363d323e211d0 Ether0.00043916
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
  Latest 25 Internal Txns, Click here to View More View All
ParentTxHash Block Age From To Value
0x68c014d08b959d4366cf8b3ae8bc1fc4140fb7a7a0aeb97f3029fcd02f77180e464401616 days 14 hrs ago0xe6766297571f8693adec94e5f8ef363d323e211d0xa899df9e9cf14a7c5b87744b1edc6890a712cb970.35 Ether
0xc9c747bb96b90aea61df07ee3073ceccaed9520ea43acf2f925477d6303d38cc464399116 days 14 hrs ago0xe6766297571f8693adec94e5f8ef363d323e211d0xa899df9e9cf14a7c5b87744b1edc6890a712cb975 Ether
0xab0893a4952bc09c7931ecd57db290e77831e8f376f505837c36c04904af5935464398516 days 14 hrs ago0xe6766297571f8693adec94e5f8ef363d323e211d0xa899df9e9cf14a7c5b87744b1edc6890a712cb970.3 Ether
0x5d768ea55c47d8db8abcd0b89b23e1256911861991f061d926345de6d0587572464397016 days 14 hrs ago0xe6766297571f8693adec94e5f8ef363d323e211d0xa899df9e9cf14a7c5b87744b1edc6890a712cb970.6 Ether
0x5186e133c594eba016a61385800bb8a535a13754df58219731052d224a34c2d2464396816 days 14 hrs ago0xe6766297571f8693adec94e5f8ef363d323e211d0xa899df9e9cf14a7c5b87744b1edc6890a712cb971.25 Ether
0x5ee02dd6e43c0b0ae4de30968fce4c46e5166d79a0d7a6413e97d84cd8dd1f46464396316 days 14 hrs ago0xe6766297571f8693adec94e5f8ef363d323e211d0xa899df9e9cf14a7c5b87744b1edc6890a712cb973 Ether
0x09ceaec6a6adb9a2b7c60f71559db2ae5777bf54023220f7d6be2e85e31099ef464394516 days 14 hrs ago0xe6766297571f8693adec94e5f8ef363d323e211d0xa899df9e9cf14a7c5b87744b1edc6890a712cb972 Ether
0x137d4384a1c3167cef52c1232d3953e2e70b537fdfc78741fc89ccee5622c6d2464392916 days 14 hrs ago0xe6766297571f8693adec94e5f8ef363d323e211d0xa899df9e9cf14a7c5b87744b1edc6890a712cb970.3 Ether
0x94caac38bce51e71b6f9331f7d727e9d1f04560aabcf64485a413aff242d4afa464392816 days 14 hrs ago0xe6766297571f8693adec94e5f8ef363d323e211d0xa899df9e9cf14a7c5b87744b1edc6890a712cb970.4 Ether
0xd57bfc6cf9a6af66772fc3f6598fba079b65325a8a23f2c5394400236dd176a0464392216 days 14 hrs ago0xe6766297571f8693adec94e5f8ef363d323e211d0xa899df9e9cf14a7c5b87744b1edc6890a712cb975 Ether
0x174cca51ee701cfb0558b279fae7c6b305106588cb2d6485b3b3ded020ba5440464386916 days 14 hrs ago0xe6766297571f8693adec94e5f8ef363d323e211d0xa899df9e9cf14a7c5b87744b1edc6890a712cb970.3 Ether
0x68ea0c9a97b23fb408aadbf8ebe3cddb3fc28bdb7e55ca073648154bb025c20e464384816 days 14 hrs ago0xe6766297571f8693adec94e5f8ef363d323e211d0xa899df9e9cf14a7c5b87744b1edc6890a712cb970.42 Ether
0xfeec52a2516cc6293adfe985f0df0c8dbeb91e449fefb419eaf6f1dc80f05dc0464383516 days 14 hrs ago0xe6766297571f8693adec94e5f8ef363d323e211d0xa899df9e9cf14a7c5b87744b1edc6890a712cb972.28173043 Ether
0x98ea4bf71bab1094a075dc4bc0deb3bd85dafab2953ebd07824d93c1a9850286464382116 days 15 hrs ago0xe6766297571f8693adec94e5f8ef363d323e211d0xa899df9e9cf14a7c5b87744b1edc6890a712cb9712 Ether
0x2fb0a79ccd99c7ba191fab38d8ab05d43208b9b3fcf43adf93136ecf80754c6f464381616 days 15 hrs ago0xe6766297571f8693adec94e5f8ef363d323e211d0xa899df9e9cf14a7c5b87744b1edc6890a712cb971.353823989 Ether
0xb7a6e4694b1d52a470564975b4428c3c8c50907da3b51710daf659294f4e3b23464379416 days 15 hrs ago0xe6766297571f8693adec94e5f8ef363d323e211d0xa899df9e9cf14a7c5b87744b1edc6890a712cb974.99958 Ether
0x2ad7a737ee54a4c60f1d2f3f6b0edcda89f8bde165d55966fc25c4a9024639b2464377616 days 15 hrs ago0xe6766297571f8693adec94e5f8ef363d323e211d0xa899df9e9cf14a7c5b87744b1edc6890a712cb970.325 Ether
0xaf6418d4f8adb956c9b22a6bac65638a6bc17a408dfad94ec082d28dbd0e85c9464376916 days 15 hrs ago0xe6766297571f8693adec94e5f8ef363d323e211d0xa899df9e9cf14a7c5b87744b1edc6890a712cb971.03497768 Ether
0x592786ca1aeaf19b675de49e9e7d005634012a14886b58f4d45eb60a805f309f464375316 days 15 hrs ago0xe6766297571f8693adec94e5f8ef363d323e211d0xa899df9e9cf14a7c5b87744b1edc6890a712cb971 Ether
0x332c03816b5f7fe8dbdef478bd78ce7ace878607b5c9a47eb47c496c21d0e418464375116 days 15 hrs ago0xe6766297571f8693adec94e5f8ef363d323e211d0xa899df9e9cf14a7c5b87744b1edc6890a712cb974.2 Ether
0x09748f23eeaea2913bcf7dd67b504dbf16983eddaaf1202e5f6e03a088d1a25c464370716 days 15 hrs ago0xe6766297571f8693adec94e5f8ef363d323e211d0xa899df9e9cf14a7c5b87744b1edc6890a712cb971 Ether
0x636ede477008f3982718e47d618ba5f66c176dabcd1f8dbb35e5401cd29ccadc464368316 days 15 hrs ago0xe6766297571f8693adec94e5f8ef363d323e211d0xa899df9e9cf14a7c5b87744b1edc6890a712cb970.3 Ether
0x6c7d9cdf03177993829626a60f55fb9984c6cab2f764f965f6207a8a5e351e4e464367516 days 15 hrs ago0xe6766297571f8693adec94e5f8ef363d323e211d0xa899df9e9cf14a7c5b87744b1edc6890a712cb971.5 Ether
0x4dff94e8d74c34659507b3b71bd3af18580f51ea37fc978f416ab61c0b3b082e464365816 days 15 hrs ago0xe6766297571f8693adec94e5f8ef363d323e211d0xa899df9e9cf14a7c5b87744b1edc6890a712cb970.498496778 Ether
0xc4e40e26ea53de9080beae81e993def0c8574626d4d90248510d09b443cc4735464364116 days 15 hrs ago0xe6766297571f8693adec94e5f8ef363d323e211d0xa899df9e9cf14a7c5b87744b1edc6890a712cb970.36814827 Ether
[ Download CSV Export  ] 
Warning: The compiled contract might be susceptible to ZeroFunctionSelector (very low-severity) Solidity compiler bugs.

Contract Source Code Verified
Contract Name: DatumTokenSale
Compiler Version: v0.4.15+commit.bbb8e64f
Optimization Enabled: Yes
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts
pragma solidity ^0.4.15;

/**
 * Math operations with safety checks
 */
library SafeMath {
  function mul(uint a, uint b) internal returns (uint) {
    uint c = a * b;
    assert(a == 0 || c / a == b);
    return c;
  }

  function div(uint a, uint b) internal returns (uint) {
    // assert(b > 0); // Solidity automatically throws when dividing by 0
    uint c = a / b;
    // assert(a == b * c + a % b); // There is no case in which this doesn't hold
    return c;
  }

  function sub(uint a, uint b) internal returns (uint) {
    assert(b <= a);
    return a - b;
  }

  function add(uint a, uint b) internal returns (uint) {
    uint c = a + b;
    assert(c >= a);
    return c;
  }

  function max64(uint64 a, uint64 b) internal constant returns (uint64) {
    return a >= b ? a : b;
  }

  function min64(uint64 a, uint64 b) internal constant returns (uint64) {
    return a < b ? a : b;
  }

  function max256(uint256 a, uint256 b) internal constant returns (uint256) {
    return a >= b ? a : b;
  }

  function min256(uint256 a, uint256 b) internal constant returns (uint256) {
    return a < b ? a : b;
  }
}


/**
 * @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;


  /**
   * @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) public onlyOwner {
    if (newOwner != address(0)) {
      owner = newOwner;
    }
  }

}




/**
 * @title  
 * @dev DatTokenSale is a contract for managing a token crowdsale.
 * DatTokenSale have a start and end date, 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 refundable valut 
 * as they arrive.
 */
contract DatumTokenSale is  Ownable {

  using SafeMath for uint256;

  address public whiteListControllerAddress;

  //lookup addresses for whitelist
  mapping (address => bool) public whiteListAddresses;

  //lookup addresses for special bonuses
  mapping (address => uint) public bonusAddresses;

  //loopup for max token amount per user allowed
  mapping(address => uint256) public maxAmountAddresses;

  //loopup for balances
  mapping(address => uint256) public balances;

  // start and end date where investments are allowed (both inclusive)
  uint256 public startDate = 1509282000;//29 Oct 2017 13:00:00 +00:00 UTC
  //uint256 public startDate = 1509210891;//29 Oct 2017 13:00:00 +00:00 UTC
  
  uint256 public endDate = 1511960400; //29 Nov 2017 13:00:00 +00:00 UTC

  // Minimum amount to participate (wei for internal usage)
  uint256 public minimumParticipationAmount = 300000000000000000 wei; //0.1 ether

  // Maximum amount to participate
  uint256 public maximalParticipationAmount = 1000 ether; //1000 ether

  // address where funds are collected
  address wallet;

  // how many token units a buyer gets per ether
  uint256 rate = 25000;

  // amount of raised money in wei
  uint256 private weiRaised;

  //flag for final of crowdsale
  bool public isFinalized = false;

  //cap for the sale in ether
  uint256 public cap = 61200 ether; //61200 ether

  //total tokenSupply
  uint256 public totalTokenSupply = 1530000000 ether;

  // amount of tokens sold
  uint256 public tokensInWeiSold;

  uint private bonus1Rate = 28750;
  uint private bonus2Rate = 28375;
  uint private bonus3Rate = 28000;
  uint private bonus4Rate = 27625;
  uint private bonus5Rate = 27250;
  uint private bonus6Rate = 26875;
  uint private bonus7Rate = 26500;
  uint private bonus8Rate = 26125;
  uint private bonus9Rate = 25750;
  uint private bonus10Rate = 25375;
   
  event Finalized();
  /**
  * @notice Log an event for each funding contributed during the public phase
  * @notice Events are not logged when the constructor is being executed during
  *         deployment, so the preallocations will not be logged
  */
  event LogParticipation(address indexed sender, uint256 value);
  

  /**
  * @notice Log an event for each funding contributed converted to earned tokens
  * @notice Events are not logged when the constructor is being executed during
  *         deployment, so the preallocations will not be logged
  */
  event LogTokenReceiver(address indexed sender, uint256 value);


  /**
  * @notice Log an event for each funding contributed converted to earned tokens
  * @notice Events are not logged when the constructor is being executed during
  *         deployment, so the preallocations will not be logged
  */
  event LogTokenRemover(address indexed sender, uint256 value);
  
  function DatumTokenSale(address _wallet) payable {
    wallet = _wallet;
  }

  function () payable {
    require(whiteListAddresses[msg.sender]);
    require(validPurchase());

    buyTokens(msg.value);
  }

  // low level token purchase function
  function buyTokens(uint256 amount) internal {
    //get ammount in wei
    uint256 weiAmount = amount;

    // update state
    weiRaised = weiRaised.add(weiAmount);

    // get token amount
    uint256 tokens = getTokenAmount(weiAmount);
    tokensInWeiSold = tokensInWeiSold.add(tokens);

    //fire token receive event
    LogTokenReceiver(msg.sender, tokens);

    //update balances for user
    balances[msg.sender] = balances[msg.sender].add(tokens);

    //fire eth purchase event
    LogParticipation(msg.sender,msg.value);

    //forward funds to wallet
    forwardFunds(amount);
  }


  // manually update the tokens sold count to reserve tokens or update stats if other way bought
  function reserveTokens(address _address, uint256 amount)
  {
    require(msg.sender == whiteListControllerAddress);

    //update balances for user
    balances[_address] = balances[_address].add(amount);

    //fire event
    LogTokenReceiver(_address, amount);

    tokensInWeiSold = tokensInWeiSold.add(amount);
  }

  //release tokens from sold statistist, used if the account was not verified with KYC
  function releaseTokens(address _address, uint256 amount)
  {
    require(msg.sender == whiteListControllerAddress);

    balances[_address] = balances[_address].sub(amount);

    //fire event
    LogTokenRemover(_address, amount);

    tokensInWeiSold = tokensInWeiSold.sub(amount);
  }

  // send ether to the fund collection wallet
  // override to create custom fund forwarding mechanisms
  function forwardFunds(uint256 amount) internal {
    wallet.transfer(amount);
  }

  // should be called after crowdsale ends or to emergency stop the sale
  function finalize() onlyOwner {
    require(!isFinalized);
    Finalized();
    isFinalized = true;
  }

  function setWhitelistControllerAddress(address _controller) onlyOwner
  {
     whiteListControllerAddress = _controller;
  }

  function addWhitelistAddress(address _addressToAdd)
  {
      require(msg.sender == whiteListControllerAddress);
      whiteListAddresses[_addressToAdd] = true;
  }

  function addSpecialBonusConditions(address _address, uint _bonusPercent, uint256 _maxAmount) 
  {
      require(msg.sender == whiteListControllerAddress);

      bonusAddresses[_address] = _bonusPercent;
      maxAmountAddresses[_address] = _maxAmount;
  }

  function removeSpecialBonusConditions(address _address) 
  {
      require(msg.sender == whiteListControllerAddress);

      delete bonusAddresses[_address];
      delete maxAmountAddresses[_address];
  }

  function addWhitelistAddresArray(address[] _addressesToAdd)
  {
      require(msg.sender == whiteListControllerAddress);

      for (uint256 i = 0; i < _addressesToAdd.length;i++) 
      {
        whiteListAddresses[_addressesToAdd[i]] = true;
      }
      
  }

  function removeWhitelistAddress(address _addressToAdd)
  {
      require(msg.sender == whiteListControllerAddress);

      delete whiteListAddresses[_addressToAdd];
  }


    function getTokenAmount(uint256 weiAmount) internal returns (uint256 tokens){
        //add bonus
        uint256 bonusRate = getBonus();

        //check for special bonus and override rate if exists
        if(bonusAddresses[msg.sender] != 0)
        {
            uint bonus = bonusAddresses[msg.sender];
            //TODO: CALUC SHCHECK
            bonusRate = rate.add((rate.mul(bonus)).div(100));
        } 

        // calculate token amount to be created
        uint256 weiTokenAmount = weiAmount.mul(bonusRate);
        return weiTokenAmount;
    }


    //When a user buys our token they will recieve a bonus depedning on time:,
    function getBonus() internal constant returns (uint256 amount){
        uint diffInSeconds = now - startDate;
        uint diffInHours = (diffInSeconds/60)/60;
        
        // 10/29/2017 - 11/1/2017
        if(diffInHours < 72){
            return bonus1Rate;
        }

        // 11/1/2017 - 11/4/2017
        if(diffInHours >= 72 && diffInHours < 144){
            return bonus2Rate;
        }

        // 11/4/2017 - 11/7/2017
        if(diffInHours >= 144 && diffInHours < 216){
            return bonus3Rate;
        }

        // 11/7/2017 - 11/10/2017
        if(diffInHours >= 216 && diffInHours < 288){
            return bonus4Rate;
        }

         // 11/10/2017 - 11/13/2017
        if(diffInHours >= 288 && diffInHours < 360){
            return bonus5Rate;
        }

         // 11/13/2017 - 11/16/2017
        if(diffInHours >= 360 && diffInHours < 432){
            return bonus6Rate;
        }

         // 11/16/2017 - 11/19/2017
        if(diffInHours >= 432 && diffInHours < 504){
            return bonus7Rate;
        }

         // 11/19/2017 - 11/22/2017
        if(diffInHours >= 504 && diffInHours < 576){
            return bonus8Rate;
        }

          // 11/22/2017 - 11/25/2017
        if(diffInHours >= 576 && diffInHours < 648){
            return bonus9Rate;
        }

          // 11/25/2017 - 11/28/2017
        if(diffInHours >= 648 && diffInHours < 720){
            return bonus10Rate;
        }

        return rate; 
    }

  // @return true if the transaction can buy tokens
  // check for valid time period, min amount and within cap
  function validPurchase() internal constant returns (bool) {
    uint256 tokenAmount = getTokenAmount(msg.value);
    bool withinPeriod = startDate <= now && endDate >= now;
    bool nonZeroPurchase = msg.value != 0;
    bool minAmount = msg.value >= minimumParticipationAmount;
    bool maxAmount = msg.value <= maximalParticipationAmount;
    bool withTokensSupply = tokensInWeiSold.add(tokenAmount) <= totalTokenSupply;
    //bool withinCap = weiRaised.add(msg.value) <= cap;
    bool withMaxAmountForAddress = maxAmountAddresses[msg.sender] == 0 || balances[msg.sender].add(tokenAmount) <= maxAmountAddresses[msg.sender];

    if(maxAmountAddresses[msg.sender] != 0)
    {
      maxAmount = balances[msg.sender].add(tokenAmount) <= maxAmountAddresses[msg.sender];
    }

    return withinPeriod && nonZeroPurchase && minAmount && !isFinalized && withTokensSupply && withMaxAmountForAddress && maxAmount;
  }

    // @return true if the goal is reached
  function capReached() public constant returns (bool) {
    return tokensInWeiSold >= totalTokenSupply;
  }

  // @return true if crowdsale event has ended
  function hasEnded() public constant returns (bool) {
    return isFinalized;
  }

}

    Contract ABI  
[{"constant":true,"inputs":[],"name":"maximalParticipationAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_controller","type":"address"}],"name":"setWhitelistControllerAddress","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"minimumParticipationAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"startDate","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalTokenSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"balances","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"cap","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"finalize","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"capReached","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"}],"name":"removeSpecialBonusConditions","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"whiteListControllerAddress","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_addressesToAdd","type":"address[]"}],"name":"addWhitelistAddresArray","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"},{"name":"amount","type":"uint256"}],"name":"reserveTokens","outputs":[],"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":"","type":"address"}],"name":"whiteListAddresses","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_addressToAdd","type":"address"}],"name":"addWhitelistAddress","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_addressToAdd","type":"address"}],"name":"removeWhitelistAddress","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"endDate","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"maxAmountAddresses","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"bonusAddresses","outputs":[{"name":"","type":"uint256"}],"payable":false,"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":false,"inputs":[{"name":"_address","type":"address"},{"name":"_bonusPercent","type":"uint256"},{"name":"_maxAmount","type":"uint256"}],"name":"addSpecialBonusConditions","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"},{"name":"amount","type":"uint256"}],"name":"releaseTokens","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"tokensInWeiSold","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"inputs":[{"name":"_wallet","type":"address"}],"payable":true,"type":"constructor"},{"payable":true,"type":"fallback"},{"anonymous":false,"inputs":[],"name":"Finalized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"sender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"LogParticipation","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"sender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"LogTokenReceiver","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"sender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"LogTokenRemover","type":"event"}]

  Contract Creation Code Switch To Opcodes View
606060409081526359f5d0d0600655635a1eaf50600755670429d069189e0000600855683635c9adc5dea000006009556161a8600b55600d805460ff19169055690cf5a89d2480d2400000600e556b04f1961a31f4c4343a000000600f5561704e601155616ed7601255616d60601355616be9601455616a726015556168fb60165561678460175561660d60185561649660195561631f601a555160208061109b833981016040528080519150505b5b60008054600160a060020a03191633600160a060020a03161790555b600a8054600160a060020a031916600160a060020a0383161790555b505b610fa3806100f86000396000f300606060405236156101515763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663032c05aa8114610198578063041257ef146101bd5780630683d56a146101de5780630b97bc86146102035780631ca8b6cb1461022857806327e235e31461024d578063355274ea1461027e5780634bb278f3146102a35780634f935945146102b85780635456d8d2146102df5780635cf3508a1461030057806361d3ba8a1461032f57806378cf19e9146103805780638d4e4083146103a45780638da5cb5b146103cb578063920674dc146103fa57806394a7ef151461042d578063b7ecbaae1461044e578063c24a0f8b1461046f578063c4b2eccb14610494578063dbf675c9146104c5578063ecb70fb7146104f6578063f2fde38b1461051d578063f33ffc161461053e578063f40d71f114610565578063ff4dddc414610589575b5b600160a060020a03331660009081526002602052604090205460ff16151561017957600080fd5b6101816105ae565b151561018c57600080fd5b6101953461070d565b5b005b34156101a357600080fd5b6101ab610811565b60405190815260200160405180910390f35b34156101c857600080fd5b610195600160a060020a0360043516610817565b005b34156101e957600080fd5b6101ab61085f565b60405190815260200160405180910390f35b341561020e57600080fd5b6101ab610865565b60405190815260200160405180910390f35b341561023357600080fd5b6101ab61086b565b60405190815260200160405180910390f35b341561025857600080fd5b6101ab600160a060020a0360043516610871565b60405190815260200160405180910390f35b341561028957600080fd5b6101ab610883565b60405190815260200160405180910390f35b34156102ae57600080fd5b610195610889565b005b34156102c357600080fd5b6102cb6108f1565b604051901515815260200160405180910390f35b34156102ea57600080fd5b610195600160a060020a03600435166108fd565b005b341561030b57600080fd5b610313610942565b604051600160a060020a03909116815260200160405180910390f35b341561033a57600080fd5b610195600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284375094965061095195505050505050565b005b341561038b57600080fd5b610195600160a060020a03600435166024356109ce565b005b34156103af57600080fd5b6102cb610a7f565b604051901515815260200160405180910390f35b34156103d657600080fd5b610313610a88565b604051600160a060020a03909116815260200160405180910390f35b341561040557600080fd5b6102cb600160a060020a0360043516610a97565b604051901515815260200160405180910390f35b341561043857600080fd5b610195600160a060020a0360043516610aac565b005b341561045957600080fd5b610195600160a060020a0360043516610aee565b005b341561047a57600080fd5b6101ab610b2d565b60405190815260200160405180910390f35b341561049f57600080fd5b6101ab600160a060020a0360043516610b33565b60405190815260200160405180910390f35b34156104d057600080fd5b6101ab600160a060020a0360043516610b45565b60405190815260200160405180910390f35b341561050157600080fd5b6102cb610b57565b604051901515815260200160405180910390f35b341561052857600080fd5b610195600160a060020a0360043516610b61565b005b341561054957600080fd5b610195600160a060020a0360043516602435604435610bb9565b005b341561057057600080fd5b610195600160a060020a0360043516602435610c02565b005b341561059457600080fd5b6101ab610cb3565b60405190815260200160405180910390f35b6000806000806000806000806105c334610cb9565b965042600654111580156105d957504260075410155b95503460001415945060085434101593506009543411159250600f5461060a88601054610d5e90919063ffffffff16565b600160a060020a03331660009081526004602052604090205491901115925015806106685750600160a060020a033316600090815260046020908152604080832054600590925290912054610665908963ffffffff610d5e16565b11155b600160a060020a033316600090815260046020526040902054909150156106c357600160a060020a0333166000908152600460209081526040808320546005909252909120546106be908963ffffffff610d5e16565b111592505b8580156106cd5750845b80156106d65750835b80156106e55750600d5460ff16155b80156106ee5750815b80156106f75750805b80156107005750825b97505b5050505050505090565b600c548190600090610725908363ffffffff610d5e16565b600c5561073182610cb9565b601054909150610747908263ffffffff610d5e16565b601055600160a060020a0333167fd668e654cf507e54774b25d068f320ada46152a56aebdefba13854ca58a7f9cf8260405190815260200160405180910390a2600160a060020a0333166000908152600560205260409020546107b0908263ffffffff610d5e16565b600160a060020a0333166000818152600560205260409081902092909255907f87c849333123ec338107397b71001d77ec70480108d12660d2f0700e14aef3d79034905190815260200160405180910390a261080b83610d78565b5b505050565b60095481565b60005433600160a060020a0390811691161461083257600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b50565b60085481565b60065481565b600f5481565b60056020526000908152604090205481565b600e5481565b60005433600160a060020a039081169116146108a457600080fd5b600d5460ff16156108b457600080fd5b7f6823b073d48d6e3a7d385eeb601452d680e74bb46afe3255a7d778f3a9b1768160405160405180910390a1600d805460ff191660011790555b5b565b600f5460105410155b90565b60015433600160a060020a0390811691161461091857600080fd5b600160a060020a038116600090815260036020908152604080832083905560049091528120555b50565b600154600160a060020a031681565b60015460009033600160a060020a0390811691161461096f57600080fd5b5060005b81518110156109c95760016002600084848151811061098e57fe5b90602001906020020151600160a060020a031681526020810191909152604001600020805460ff19169115159190911790555b600101610973565b5b5050565b60015433600160a060020a039081169116146109e957600080fd5b600160a060020a038216600090815260056020526040902054610a12908263ffffffff610d5e16565b600160a060020a0383166000818152600560205260409081902092909255907fd668e654cf507e54774b25d068f320ada46152a56aebdefba13854ca58a7f9cf9083905190815260200160405180910390a2601054610a77908263ffffffff610d5e16565b6010555b5050565b600d5460ff1681565b600054600160a060020a031681565b60026020526000908152604090205460ff1681565b60015433600160a060020a03908116911614610ac757600080fd5b600160a060020a0381166000908152600260205260409020805460ff191660011790555b50565b60015433600160a060020a03908116911614610b0957600080fd5b600160a060020a0381166000908152600260205260409020805460ff191690555b50565b60075481565b60046020526000908152604090205481565b60036020526000908152604090205481565b600d5460ff165b90565b60005433600160a060020a03908116911614610b7c57600080fd5b600160a060020a0381161561085b576000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b5b50565b60015433600160a060020a03908116911614610bd457600080fd5b600160a060020a0383166000908152600360209081526040808320859055600490915290208190555b505050565b60015433600160a060020a03908116911614610c1d57600080fd5b600160a060020a038216600090815260056020526040902054610c46908263ffffffff610daf16565b600160a060020a0383166000818152600560205260409081902092909255907fdff7990534ee26d271160e47a3a4976c37a1e41904bfdf62f8f114e1c31007979083905190815260200160405180910390a2601054610a77908263ffffffff610daf16565b6010555b5050565b60105481565b600080600080610cc7610dc6565b600160a060020a03331660009081526003602052604090205490935015610d4057600160a060020a033316600090815260036020526040902054600b54909250610d3d90610d2e90606490610d22908663ffffffff610f2c16565b9063ffffffff610f5b16565b600b549063ffffffff610d5e16565b92505b610d50858463ffffffff610f2c16565b90508093505b505050919050565b600082820183811015610d6d57fe5b8091505b5092915050565b600a54600160a060020a031681156108fc0282604051600060405180830381858888f19350505050151561085b57600080fd5b5b50565b600082821115610dbb57fe5b508082035b92915050565b600654600090420381603c80835b04811515610dde57fe5b0490506048811015610df4576011549250610f27565b60488110158015610e055750609081105b15610e14576012549250610f27565b60908110158015610e25575060d881105b15610e34576013549250610f27565b60d88110158015610e46575061012081105b15610e55576014549250610f27565b6101208110158015610e68575061016881105b15610e77576015549250610f27565b6101688110158015610e8a57506101b081105b15610e99576016549250610f27565b6101b08110158015610eac57506101f881105b15610ebb576017549250610f27565b6101f88110158015610ece575061024081105b15610edd576018549250610f27565b6102408110158015610ef0575061028881105b15610eff576019549250610f27565b6102888110158015610f1257506102d081105b15610f2157601a549250610f27565b600b5492505b505090565b6000828202831580610f485750828482811515610f4557fe5b04145b1515610d6d57fe5b8091505b5092915050565b6000808284811515610f6957fe5b0490508091505b50929150505600a165627a7a7230582052c79d315b54b4d9e071b82f3f6e3813431bdc645812728e974b1e2d670d74a90029000000000000000000000000a899df9e9cf14a7c5b87744b1edc6890a712cb97

    Constructor Arguments (ABI-encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000a899df9e9cf14a7c5b87744b1edc6890a712cb97

-----Decoded View---------------
Found 1 constructor arguments :
Arg [0] : 000000000000000000000000a899df9e9cf14a7c5b87744b1edc6890a712cb97


   Swarm Source:
bzzr://52c79d315b54b4d9e071b82f3f6e3813431bdc645812728e974b1e2d670d74a9

 

View All
Block Age txn Difficulty GasUsed Reward
View All
Block Age UncleNumber Difficulty GasUsed Reward
Make sure to use the "downvote" button for any spammy posts, and the "upvote" for interesting conversations.