Contract 0x3d7b33448b4e3b69bb6c0c3c905bd1592f8238f4

 

TxHash Block Age From To Value [TxFee]
0x1cbef251af1656226a12cfb7a4d64b9067637f6b4ad4644dde7fe143bc932d0a72395853 days 8 hrs ago0x3b2b82b7a26384e659aee5b893135e2f6dae49ac IN  0x3d7b33448b4e3b69bb6c0c3c905bd1592f8238f40 Ether0.000219184
0xce25076c7f07d5167dcc51d9505e6b8625e63b6789e14c5b3923844b08922d0372358444 days 6 hrs ago0x3b2b82b7a26384e659aee5b893135e2f6dae49ac IN  0x3d7b33448b4e3b69bb6c0c3c905bd1592f8238f40 Ether0.000462584
0x7b243c94de0b74917d6aadf34c6ee09475c80fab9fb524afd9004615926688e672358214 days 6 hrs ago0x3b2b82b7a26384e659aee5b893135e2f6dae49ac IN  0x3d7b33448b4e3b69bb6c0c3c905bd1592f8238f40 Ether0.000629104
0xa015b52a943b2d79b9230e4a57995f0625f8c0ecd373fde51081fe07ee2dbe13721011310 days 9 hrs ago0x3b2b82b7a26384e659aee5b893135e2f6dae49ac IN  0x3d7b33448b4e3b69bb6c0c3c905bd1592f8238f40 Ether0.000629104
0xda9cb27663d18ebc2c3c3dcac2bdb0af5db78ee99dc58e89b13632975322400c721009210 days 9 hrs ago0x3b2b82b7a26384e659aee5b893135e2f6dae49ac IN  0x3d7b33448b4e3b69bb6c0c3c905bd1592f8238f40 Ether0.000210056
0x09224bd6f777da7e9d0e374400de7e2586ec59355e16a72d7d4e38dfd2abbcc8720991010 days 10 hrs ago0x3b2b82b7a26384e659aee5b893135e2f6dae49ac IN  0x3d7b33448b4e3b69bb6c0c3c905bd1592f8238f40 Ether0.000462584
0x57ad2569f4bb2901fb7ef0bf7899e2775a66552a1fe6bc8001bb0b3eb58d83fc719224414 days 8 hrs ago0x3b2b82b7a26384e659aee5b893135e2f6dae49ac IN  0x3d7b33448b4e3b69bb6c0c3c905bd1592f8238f40 Ether0.000462072
0x1189f69a3cfaebb5e14b416d7e40261882d0ef9031517f0d46a6329c68b782af719223714 days 8 hrs ago0x3b2b82b7a26384e659aee5b893135e2f6dae49ac IN  0x3d7b33448b4e3b69bb6c0c3c905bd1592f8238f40 Ether0.000372312
0x965131a9438096f543c51567b55698295657b7ec46191ef89461d9168534bc34717326418 days 5 hrs ago0x3b2b82b7a26384e659aee5b893135e2f6dae49ac IN  0x3d7b33448b4e3b69bb6c0c3c905bd1592f8238f40 Ether0.000205965
0x5a183f1646883f6cdaabb2715c5fffebcf21401c6f1263b2f5ff7696a38a6f20717324418 days 5 hrs ago0x3b2b82b7a26384e659aee5b893135e2f6dae49ac IN  0x3d7b33448b4e3b69bb6c0c3c905bd1592f8238f40 Ether0.000213795
0x7afacb24771769bf161e479056a5fa20747f7e4533e897622e14926d5262cec9717323918 days 5 hrs ago0x3b2b82b7a26384e659aee5b893135e2f6dae49ac IN  0x3d7b33448b4e3b69bb6c0c3c905bd1592f8238f40 Ether0.000213795
0xb0923e95f9217131ed66a7e578c38701519ee9fa321dba46ca767b162ed7ba2e717323118 days 5 hrs ago0x3b2b82b7a26384e659aee5b893135e2f6dae49ac IN  0x3d7b33448b4e3b69bb6c0c3c905bd1592f8238f40 Ether0.000213795
0x5f9db38768b9716699ae94a35fa35947960bb421446734a8d71e95450d4be551717322318 days 5 hrs ago0x3b2b82b7a26384e659aee5b893135e2f6dae49ac IN  0x3d7b33448b4e3b69bb6c0c3c905bd1592f8238f40 Ether0.000213795
0x5dc3019d8fb3253e55cfffd6011d9479cdc91185e7c2b6a873d2b9acc171dc64717322118 days 5 hrs ago0x3b2b82b7a26384e659aee5b893135e2f6dae49ac IN  0x3d7b33448b4e3b69bb6c0c3c905bd1592f8238f40 Ether0.000213795
0xca9797db9abb9dcb4bbb3023618749295e6b307dd6ebfd2368f2c6dc36b34c21717320818 days 5 hrs ago0x3b2b82b7a26384e659aee5b893135e2f6dae49ac IN  0x3d7b33448b4e3b69bb6c0c3c905bd1592f8238f40 Ether0.000213475
0x523e627baabbc64993583103dcf7d2b240dc9d8595541460ac9233208284c5f7717320118 days 5 hrs ago0x3b2b82b7a26384e659aee5b893135e2f6dae49ac IN  0x3d7b33448b4e3b69bb6c0c3c905bd1592f8238f40 Ether0.000213795
0xf1a405365d75f5e346f0470bdaf629d647fc7d7010f2beee0ee2877e657ccaa1717319618 days 5 hrs ago0x3b2b82b7a26384e659aee5b893135e2f6dae49ac IN  0x3d7b33448b4e3b69bb6c0c3c905bd1592f8238f40 Ether0.000213795
0xacd1c467eedf3f1a92b00f0d0fc203f396898952cd018dc1b173b626bf6d83e3717317118 days 5 hrs ago0x3b2b82b7a26384e659aee5b893135e2f6dae49ac IN  0x3d7b33448b4e3b69bb6c0c3c905bd1592f8238f40 Ether0.000213795
0x325b932265bb033125d238a88287f2ee6e112fe428e1a2d2d5150e4f09b3456d717316718 days 5 hrs ago0x3b2b82b7a26384e659aee5b893135e2f6dae49ac IN  0x3d7b33448b4e3b69bb6c0c3c905bd1592f8238f40 Ether0.000213795
0x383fac1fafe428b64acae87566e6d7e2110c3ed563e63250e05f3db5d2844eba711928529 days 2 hrs ago0xf32682d5f99ba4143532618d6f516859a055ea06 IN  0x3d7b33448b4e3b69bb6c0c3c905bd1592f8238f40.3 Ether0.0003876
0xfa0db77be63a0e4eeeb5e85b2cadba2562ca4d787e6e0c6f784dd4741516ccc7711333930 days 7 hrs ago0xae15083b0de3c73add92ba939b9be6bddf350e72 IN  0x3d7b33448b4e3b69bb6c0c3c905bd1592f8238f45 Ether0.000969
0xeb33179aa50b8a2179bce2fd0caf686f31d431772196f9e34926b21fe7709dec711093230 days 18 hrs ago0x51e029fcb7af024320bb5a9e469057fa8886818f IN  0x3d7b33448b4e3b69bb6c0c3c905bd1592f8238f45 Ether0.001152799999
0x0fd0b08c84283f320bade7cdc51ec109fc3c0883df7a358f811035cd9b2ebf2d706980738 days 7 hrs ago0x87da7fff461035847d00b3dd73604f7a64555b57 IN  0x3d7b33448b4e3b69bb6c0c3c905bd1592f8238f42.5 Ether0.00260309
0x08aaee86152f7b978e4c2eb4e11c3c76268cb3c5507d862871cc07c339401598704262643 days 3 hrs ago0x3b2b82b7a26384e659aee5b893135e2f6dae49ac IN  0x3d7b33448b4e3b69bb6c0c3c905bd1592f8238f40 Ether0.001313226
0xdd144b4fa0c4d011c898aa94b8d9f23615221e8c2d8824a5262afaca76cbeb10696766256 days 6 hrs ago0x3b2b82b7a26384e659aee5b893135e2f6dae49ac IN  0x3d7b33448b4e3b69bb6c0c3c905bd1592f8238f40 Ether0.000439392
[ Download CSV Export 

Latest 11 Internal Transactions Internal Transactions as a result of Contract Execution

Parent TxHash Block Age From To Value
0x0fd0b08c84283f320bade7cdc51ec109fc3c0883df7a358f811035cd9b2ebf2d706980738 days 7 hrs ago0x3d7b33448b4e3b69bb6c0c3c905bd1592f8238f40x595a1db327727a1d2bd8791cae2c44220255c7c52.5 Ether
0x77b589b21ae15513989682cf351b03fb1e6c78881ab09ef2bb09e09a20abf35f695879057 days 18 hrs ago0x3d7b33448b4e3b69bb6c0c3c905bd1592f8238f40x595a1db327727a1d2bd8791cae2c44220255c7c50.4 Ether
0x6ea247e89d615611133a703f82cca9d6370d776bda327a289b0961ee8c8c4afa690678166 days 13 hrs ago0x3d7b33448b4e3b69bb6c0c3c905bd1592f8238f40x595a1db327727a1d2bd8791cae2c44220255c7c50.349178195 Ether
0xa417f35945010cad6fdf6ec6d7e3cb043da93fdbfb9463dd1891c530911d1c04690227867 days 8 hrs ago0x3d7b33448b4e3b69bb6c0c3c905bd1592f8238f40x595a1db327727a1d2bd8791cae2c44220255c7c535.578413185 Ether
0x829a0ab2388cf6ce8e11a94c5f981ca076b2b44f94d25faef8d38d99b6fd44cf690222767 days 8 hrs ago0x3d7b33448b4e3b69bb6c0c3c905bd1592f8238f40x595a1db327727a1d2bd8791cae2c44220255c7c511.918351788 Ether
0x1146e53eeedbf6a4dd3dcb0e76a897f3dd7bbc2fb8b2131f5b72ed37a7e52dcb689775868 days 2 hrs ago0x3d7b33448b4e3b69bb6c0c3c905bd1592f8238f40x595a1db327727a1d2bd8791cae2c44220255c7c52.69281917 Ether
0xffb6294a020f1c337903dba5e108807cb9e2f64743ce0c542cc867d56ad9b644687423171 days 23 hrs ago0x3d7b33448b4e3b69bb6c0c3c905bd1592f8238f40x595a1db327727a1d2bd8791cae2c44220255c7c56.313836923 Ether
0x171a7e4c130774ffee65dfe07b9752535ad6b9765383376f39e95cdfff591060684073977 days 12 hrs ago0x3d7b33448b4e3b69bb6c0c3c905bd1592f8238f40x595a1db327727a1d2bd8791cae2c44220255c7c50.45 Ether
0x7af7d560763f1684f5817a75a5833be9733150319980b3ddf5f92f7035499a9f683218878 days 22 hrs ago0x3d7b33448b4e3b69bb6c0c3c905bd1592f8238f40x595a1db327727a1d2bd8791cae2c44220255c7c50.85951151 Ether
0x01dc45ef7078ee445d2d0fdc7e2453bd84c9654bec95556a95a6f8b948547237679470185 days 3 hrs ago0x3d7b33448b4e3b69bb6c0c3c905bd1592f8238f40x595a1db327727a1d2bd8791cae2c44220255c7c53.55 Ether
0xc9cafe412c10a4b1732540ffceedcbb104fddfb71918c7b877ba0706d1ac4a92678831186 days 4 hrs ago0x3d7b33448b4e3b69bb6c0c3c905bd1592f8238f40x595a1db327727a1d2bd8791cae2c44220255c7c50.6 Ether
[ Download CSV Export 
Warning: The compiled contract might be susceptible to ExpExponentCleanup (medium/high-severity), EventStructWrongData (very low-severity), NestedArrayFunctionCallDecoder (medium-severity) Solidity Compiler Bugs.

Contract Source Code Verified (Exact Match)
Contract Name: Moozicore
Compiler Version: v0.4.19+commit.c4cbbb05
Optimization Enabled: No
Runs (Optimizer):  200


Contract Source Code
pragma solidity ^0.4.19;

// File: zeppelin-solidity/contracts/math/SafeMath.sol

/**
 * @title SafeMath
 * @dev Math operations with safety checks that throw on error
 */
library SafeMath {
  function mul(uint256 a, uint256 b) internal pure returns (uint256) {
    if (a == 0) {
      return 0;
    }
    uint256 c = a * b;
    assert(c / a == b);
    return c;
  }

  function div(uint256 a, uint256 b) internal pure 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 pure returns (uint256) {
    assert(b <= a);
    return a - b;
  }

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

// File: zeppelin-solidity/contracts/ownership/Ownable.sol

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

}

// File: zeppelin-solidity/contracts/token/ERC20Basic.sol

/**
 * @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 view returns (uint256);
  function transfer(address to, uint256 value) public returns (bool);
  event Transfer(address indexed from, address indexed to, uint256 value);
}

// File: zeppelin-solidity/contracts/token/BasicToken.sol

/**
 * @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));
    require(_value <= balances[msg.sender]);

    // 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 view returns (uint256 balance) {
    return balances[_owner];
  }

}

// File: zeppelin-solidity/contracts/token/ERC20.sol

/**
 * @title ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/20
 */
contract ERC20 is ERC20Basic {
  function allowance(address owner, address spender) public view 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);
}

// File: zeppelin-solidity/contracts/token/StandardToken.sol

/**
 * @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)) internal 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));
    require(_value <= balances[_from]);
    require(_value <= allowed[_from][msg.sender]);

    balances[_from] = balances[_from].sub(_value);
    balances[_to] = balances[_to].add(_value);
    allowed[_from][msg.sender] = allowed[_from][msg.sender].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 view returns (uint256) {
    return allowed[_owner][_spender];
  }

  /**
   * @dev Increase the amount of tokens that an owner allowed to a 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
   * @param _spender The address which will spend the funds.
   * @param _addedValue The amount of tokens to increase the allowance by.
   */
  function increaseApproval(address _spender, uint _addedValue) public returns (bool) {
    allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add(_addedValue);
    Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
    return true;
  }

  /**
   * @dev Decrease the amount of tokens that an owner allowed to a spender.
   *
   * approve should be called when allowed[_spender] == 0. To decrement
   * allowed value is better to use this function to avoid 2 calls (and wait until
   * the first transaction is mined)
   * From MonolithDAO Token.sol
   * @param _spender The address which will spend the funds.
   * @param _subtractedValue The amount of tokens to decrease the allowance by.
   */
  function decreaseApproval(address _spender, uint _subtractedValue) public returns (bool) {
    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;
  }

}

// File: zeppelin-solidity/contracts/token/MintableToken.sol

/**
 * @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(address(0), _to, _amount);
    return true;
  }

  /**
   * @dev Function to stop minting new tokens.
   * @return True if the operation was successful.
   */
  function finishMinting() onlyOwner canMint public returns (bool) {
    mintingFinished = true;
    MintFinished();
    return true;
  }
}

contract MziGold is MintableToken {
  function convertMint(address _to, uint256 _amount) onlyOwner canMint public returns (bool);
  function allowTransfer(address _from, address _to) public view returns (bool);
  function allowManager() public view returns (bool);
  function setWhitelisting(bool _status) onlyOwner public;
  function setAllowTransferGlobal(bool _status) onlyOwner public;
  function setAllowTransferWhitelist(bool _status) onlyOwner public;
  function setManager(address _manager, bool _status) onlyOwner public;
  function burn(address _burner, uint256 _value) onlyOwner public;
  function setWhitelist(address _address, bool _status) public;
  function setWhitelistTransfer(address _address, bool _status) public;
}

contract Crowdsale {
  using SafeMath for uint256;

  // The token being sold
  MziGold 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) public {
    require(_startTime >= now);
    require(_endTime >= _startTime);
    require(_rate > 0);
    require(_wallet != address(0));

    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 (MziGold);


  // fallback function can be used to buy tokens
  function () external payable {
    buyTokens(msg.sender);
  }

  // low level token purchase function
  function buyTokens(address beneficiary) public payable {
    require(beneficiary != address(0));
    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 view 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 view returns (bool) {
    return now > endTime;
  }
}

contract Moozicore is Crowdsale, Ownable {

  uint256 constant ICO_CAP = 498000000000000000000000000;
  uint256 constant MIN_INVEST = 0.3 ether;
  address constant TOKEN_ADDRESS = 0xfE4455fd433Ed3CA025ec7c43cb8686eD89826CD;
  uint256 public totalSupplyIco;

  function Moozicore (
    uint256 _startTime,
    uint256 _endTime,
    uint256 _rate,
    address _wallet
  ) public
    Crowdsale(_startTime, _endTime, _rate, _wallet)
  {
  }

  function createTokenContract() internal returns (MziGold) {
    return MziGold(TOKEN_ADDRESS);
  }

  // overriding Crowdsale#validPurchase
  function validPurchase() internal constant returns (bool) {
    require(msg.value >= MIN_INVEST);
    require(getRate() != 0);
    require(totalSupplyIco.add(msg.value.mul(getRate())) <= ICO_CAP);

    return super.validPurchase();
  }

  // overriding Crowdsale#buyTokens
  function buyTokens(address beneficiary) payable public {
    require(beneficiary != address(0));
    require(validPurchase());

    uint256 weiAmount = msg.value;
    uint256 tokens = weiAmount.mul(getRate());
    weiRaised = weiRaised.add(weiAmount);
    totalSupplyIco = totalSupplyIco.add(tokens);

    token.mint(beneficiary, tokens);
    TokenPurchase(msg.sender, beneficiary, weiAmount, tokens);

    forwardFunds();
  }

  function getRate() public constant returns (uint256) {
    if (now >= startTime && now < 1545037200) {
      return 5600;
    }

    if (now >= 1545037200 && now < 1546851600) {
      return 4000;
    }

    if (now >= 1546851600 && now < endTime) {
      return 3100;
    }

    return 0;
  }

  function setManager(address _manager, bool _status) onlyOwner public {
    token.setManager(_manager, _status);
  }

  function setWhitelisting(bool _status) onlyOwner public {
    token.setWhitelisting(_status);
  }

  function setAllowTransferGlobal(bool _status) onlyOwner public {
    token.setAllowTransferGlobal(_status);
  }

  function setAllowTransferWhitelist(bool _status) onlyOwner public {
    token.setAllowTransferWhitelist(_status);
  }

  function convertMintTokens(address _to, uint256 _amount) onlyOwner public returns (bool) {
    token.convertMint(_to, _amount);
  }

  function mintTokens(address walletToMint, uint256 t) onlyOwner payable public {
    token.mint(walletToMint, t);
  }

  function tokenTransferOwnership(address newOwner) onlyOwner payable public {
    token.transferOwnership(newOwner);
  }

  function changeEnd(uint256 _end) onlyOwner public {
    endTime = _end;
  }

  function burn(address _burner, uint256 _value) onlyOwner public {
    token.burn(_burner, _value);
  }

  function setWhitelist(address _address, bool _status) onlyOwner public {
    token.setWhitelist(_address, _status);
  }

  function setWhitelistTransfer(address _address, bool _status) onlyOwner public {
    token.setWhitelistTransfer(_address, _status);
  }
}

Contract ABI
[{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"tokenTransferOwnership","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"rate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"endTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"convertMintTokens","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"weiRaised","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"wallet","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"},{"name":"_status","type":"bool"}],"name":"setWhitelist","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_status","type":"bool"}],"name":"setWhitelisting","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"},{"name":"_status","type":"bool"}],"name":"setWhitelistTransfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getRate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"startTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_status","type":"bool"}],"name":"setAllowTransferGlobal","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_burner","type":"address"},{"name":"_value","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_manager","type":"address"},{"name":"_status","type":"bool"}],"name":"setManager","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupplyIco","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_end","type":"uint256"}],"name":"changeEnd","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"beneficiary","type":"address"}],"name":"buyTokens","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"hasEnded","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"walletToMint","type":"address"},{"name":"t","type":"uint256"}],"name":"mintTokens","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"token","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_status","type":"bool"}],"name":"setAllowTransferWhitelist","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_startTime","type":"uint256"},{"name":"_endTime","type":"uint256"},{"name":"_rate","type":"uint256"},{"name":"_wallet","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"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
6060604052341561000f57600080fd5b60405160808062001a57833981016040528080519060200190919080519060200190919080519060200190919080519060200190919050508383838342841015151561005a57600080fd5b83831015151561006957600080fd5b60008211151561007857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156100b457600080fd5b6100cf6101b264010000000002611831176401000000009004565b6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600181905550826002819055508160048190555080600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050505033600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050506101ce565b600073fe4455fd433ed3ca025ec7c43cb8686ed89826cd905090565b61187980620001de6000396000f300606060405260043610610133576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630dc081c51461013e5780632c4e722e1461016c5780633197cbb614610195578063319f22f9146101be5780634042b66f14610218578063521eb2731461024157806353d6fd59146102965780635af5f7ba146102da57806366a16cad146102ff578063679aefce1461034357806378e979251461036c5780638da5cb5b146103955780639ad74f81146103ea5780639dc29fac1461040f578063a5e90eee14610451578063adb88cb914610495578063e37bddc3146104be578063ec8ac4d8146104e1578063ecb70fb71461050f578063f0dda65c1461053c578063f2fde38b14610573578063fc0c546a146105ac578063fc1f2d4614610601575b61013c33610626565b005b61016a600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061082f565b005b341561017757600080fd5b61017f61095d565b6040518082815260200191505060405180910390f35b34156101a057600080fd5b6101a8610963565b6040518082815260200191505060405180910390f35b34156101c957600080fd5b6101fe600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610969565b604051808215151515815260200191505060405180910390f35b341561022357600080fd5b61022b610ab5565b6040518082815260200191505060405180910390f35b341561024c57600080fd5b610254610abb565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156102a157600080fd5b6102d8600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080351515906020019091905050610ae1565b005b34156102e557600080fd5b6102fd60048080351515906020019091905050610c1c565b005b341561030a57600080fd5b610341600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080351515906020019091905050610d22565b005b341561034e57600080fd5b610356610e5d565b6040518082815260200191505060405180910390f35b341561037757600080fd5b61037f610ed5565b6040518082815260200191505060405180910390f35b34156103a057600080fd5b6103a8610edb565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156103f557600080fd5b61040d60048080351515906020019091905050610f01565b005b341561041a57600080fd5b61044f600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611007565b005b341561045c57600080fd5b610493600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035151590602001909190505061113e565b005b34156104a057600080fd5b6104a8611279565b6040518082815260200191505060405180910390f35b34156104c957600080fd5b6104df600480803590602001909190505061127f565b005b61050d600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610626565b005b341561051a57600080fd5b6105226112e5565b604051808215151515815260200191505060405180910390f35b610571600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506112f1565b005b341561057e57600080fd5b6105aa600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611439565b005b34156105b757600080fd5b6105bf611591565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561060c57600080fd5b610624600480803515159060200190919050506115b6565b005b600080600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561066557600080fd5b61066d6116bc565b151561067857600080fd5b349150610695610686610e5d565b8361174190919063ffffffff16565b90506106ac8260055461177c90919063ffffffff16565b6005819055506106c78160075461177c90919063ffffffff16565b6007819055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f1984836000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b151561079957600080fd5b6102c65a03f115156107aa57600080fd5b50505060405180519050508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f623b3804fa71d67900d064613da8f94b9617215ee90799290593e1745087ad188484604051808381526020018281526020019250505060405180910390a361082a61179a565b505050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561088b57600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f2fde38b826040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b151561094657600080fd5b6102c65a03f1151561095757600080fd5b50505050565b60045481565b60025481565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156109c757600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635ec1fc1984846000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1515610a9357600080fd5b6102c65a03f11515610aa457600080fd5b505050604051805190505092915050565b60055481565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610b3d57600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166353d6fd5983836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018215151515815260200192505050600060405180830381600087803b1515610c0457600080fd5b6102c65a03f11515610c1557600080fd5b5050505050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610c7857600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635af5f7ba826040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082151515158152602001915050600060405180830381600087803b1515610d0b57600080fd5b6102c65a03f11515610d1c57600080fd5b50505050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d7e57600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166366a16cad83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018215151515815260200192505050600060405180830381600087803b1515610e4557600080fd5b6102c65a03f11515610e5657600080fd5b5050505050565b60006001544210158015610e745750635c17659042105b15610e83576115e09050610ed2565b635c1765904210158015610e9a5750635c33151042105b15610ea957610fa09050610ed2565b635c3315104210158015610ebe575060025442105b15610ecd57610c1c9050610ed2565b600090505b90565b60015481565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610f5d57600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639ad74f81826040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082151515158152602001915050600060405180830381600087803b1515610ff057600080fd5b6102c65a03f1151561100157600080fd5b50505050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561106357600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639dc29fac83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b151561112657600080fd5b6102c65a03f1151561113757600080fd5b5050505050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561119a57600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a5e90eee83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018215151515815260200192505050600060405180830381600087803b151561126157600080fd5b6102c65a03f1151561127257600080fd5b5050505050565b60075481565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156112db57600080fd5b8060028190555050565b60006002544211905090565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561134d57600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f1983836000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b151561141957600080fd5b6102c65a03f1151561142a57600080fd5b50505060405180519050505050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561149557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156114d157600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561161257600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fc1f2d46826040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082151515158152602001915050600060405180830381600087803b15156116a557600080fd5b6102c65a03f115156116b657600080fd5b50505050565b6000670429d069189e000034101515156116d557600080fd5b60006116df610e5d565b141515156116ec57600080fd5b6b019bef9a184aa64332000000611727611716611707610e5d565b3461174190919063ffffffff16565b60075461177c90919063ffffffff16565b1115151561173457600080fd5b61173c6117fe565b905090565b60008060008414156117565760009150611775565b828402905082848281151561176757fe5b0414151561177157fe5b8091505b5092915050565b600080828401905083811015151561179057fe5b8091505092915050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f1935050505015156117fc57600080fd5b565b6000806000600154421015801561181757506002544211155b91506000341415905081801561182a5750805b9250505090565b600073fe4455fd433ed3ca025ec7c43cb8686ed89826cd9050905600a165627a7a72305820b5f9bfac0d5debf918de864db9a509db341a4261768f0b4d72db8e126059aefb0029000000000000000000000000000000000000000000000000000000005bfbb610000000000000000000000000000000000000000000000000000000005c4ec4900000000000000000000000000000000000000000000000000000000000000001000000000000000000000000595a1db327727a1d2bd8791cae2c44220255c7c5


    Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000000000000000000000000000000000005bfbb610000000000000000000000000000000000000000000000000000000005c4ec4900000000000000000000000000000000000000000000000000000000000000001000000000000000000000000595a1db327727a1d2bd8791cae2c44220255c7c5

-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 000000000000000000000000000000000000000000000000000000005bfbb610
Arg [1] : 000000000000000000000000000000000000000000000000000000005c4ec490
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000001
Arg [3] : 000000000000000000000000595a1db327727a1d2bd8791cae2c44220255c7c5


   Swarm Source:
bzzr://b5f9bfac0d5debf918de864db9a509db341a4261768f0b4d72db8e126059aefb
Block Age transaction Difficulty GasUsed Reward
Block Age Uncle Number Difficulty GasUsed Reward
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.