Sponsored Link:   Etheal: Backed by a Finance Minister & Michael Terpin & Harvard alumnus Prof 30% bonus - First hour only: June 25
Contract Overview
Balance: 0 Ether
Ether Value: $0
Transactions: 29 txns
 Latest 25 txns from a total Of 29 transactions
View All

TxHash Age From To Value [TxFee]
0x162c602e0a5ed1cc694fd7e559555ec037616abb88d382cb2b88dc2f13b5def3110 days 5 hrs agoZebiWallet  IN   0x1eb48c64ad71837a6ed57e4a2dab88173c8330540 Ether0.00098625
0xfbc8c4458bcaa349afae669d61038fc544f729aef0d02665740e2f34c5360ca4112 days 5 hrs agoZebiWallet  IN   0x1eb48c64ad71837a6ed57e4a2dab88173c8330540 Ether0.00096416
0xa95095312ebd2a8c6b8d5a376cb900bcca377f0d27f73489ed45795d7847a9f2112 days 5 hrs agoZebiWallet  IN   0x1eb48c64ad71837a6ed57e4a2dab88173c8330540 Ether0.0015616
0xabb0c750e2fb4b62a51b6b295e56ce1d9a77f7c98e7dfa7e97f359d654b34b21112 days 5 hrs agoZebiWallet  IN   0x1eb48c64ad71837a6ed57e4a2dab88173c8330540 Ether0.00062306
0x95915c05808822e70e82deb6831f9570dac3b9982aacd008fd7f7491737aa68c112 days 5 hrs agoZebiWallet  IN   0x1eb48c64ad71837a6ed57e4a2dab88173c8330540 Ether0.00121526
0x336eeb282402f2a895b729e7e3b9ca884278f005aa531abe169510d490e8efed112 days 5 hrs agoZebiWallet  IN   0x1eb48c64ad71837a6ed57e4a2dab88173c8330540 Ether0.00121526
0xf8bb0f5374019bc9a3899c8f1e09bcd5c91ddbdb4cd6ea031a4d27e8e3486712112 days 5 hrs agoZebiWallet  IN   0x1eb48c64ad71837a6ed57e4a2dab88173c8330540 Ether0.00121526
0xb42a2187637d8069cd4f8e0d3b85ab5b4fc8dd64b05fe0e51525a6d55b9c8e7b112 days 5 hrs agoZebiWallet  IN   0x1eb48c64ad71837a6ed57e4a2dab88173c8330540 Ether0.00121526
0x973b4e41ba9f5f6cb0effa35bc438fcec381f4584d3a81605bf730e62b9dfc03112 days 5 hrs agoZebiWallet  IN   0x1eb48c64ad71837a6ed57e4a2dab88173c8330540 Ether0.00121526
0x5ed2953bce1eb73fa26cf6b43d77749d6acb523fa3cbf904322169d41054a455112 days 6 hrs agoZebiWallet  IN   0x1eb48c64ad71837a6ed57e4a2dab88173c8330540 Ether0.00121526
0xd86dc08788c90ecb8fa6007280d796bb92db13881a5706d9994530f9f2d2bb3c112 days 6 hrs agoZebiWallet  IN   0x1eb48c64ad71837a6ed57e4a2dab88173c8330540 Ether0.00087788
0x29c4786781544aac0a5817d5736b0c0890b0e4f0f5f567090889d9179f35e69d112 days 6 hrs agoZebiWallet  IN   0x1eb48c64ad71837a6ed57e4a2dab88173c8330540 Ether0.00087788
0xbde8ca04b76f78094af7dd3bee0fd49198eb81208d13d2641f7b5bd126d2b724112 days 6 hrs agoZebiWallet  IN   0x1eb48c64ad71837a6ed57e4a2dab88173c8330540 Ether0.00087788
0x600589dee0a9c16d200f251a50dafa3899b359394689c94b84dc329cf2bcaa49112 days 6 hrs agoZebiWallet  IN   0x1eb48c64ad71837a6ed57e4a2dab88173c8330540 Ether0.00087788
0xd36dd619338c1526ca9d80109346b0161899a12597d166b58739e68c51fe239d112 days 6 hrs agoZebiWallet  IN   0x1eb48c64ad71837a6ed57e4a2dab88173c8330540 Ether0.00087788
0xda91b6d9aab83e6532ae96739bcf724334fa2516e53cf2eb8dec422454119bb3112 days 6 hrs agoZebiWallet  IN   0x1eb48c64ad71837a6ed57e4a2dab88173c8330540 Ether0.00087788
0x42abf1be46de13a76c266c409442dc67cb1c9701c1523f5266024375d064a445112 days 6 hrs agoZebiWallet  IN   0x1eb48c64ad71837a6ed57e4a2dab88173c83305425 Ether0.0004604
0x51b7c2ca0679ff1592a002c901ca2a3feddba024feb4cf54955f808d01e53647112 days 13 hrs ago0x9d375247d5cbb7e2ce1880775d005b1386d0ca26  IN   0x1eb48c64ad71837a6ed57e4a2dab88173c8330541 Ether0.000063
0x059d65189fbd1daadd21e8a56385e635195de7563159afa3d80a13bede7996ed116 days 3 hrs agoZebiWallet  IN   0x1eb48c64ad71837a6ed57e4a2dab88173c8330540 Ether0.00156288
0x076ce5efe5bb132e5fd3cead191276dcdb6a588b5fdad246524d51124daf448d116 days 3 hrs agoZebiWallet  IN   0x1eb48c64ad71837a6ed57e4a2dab88173c8330540 Ether0.00156416
0x4dd3d8e4850da14e04fcc157c11b3929ed716b0dd66f7e73965c080392eafa67116 days 4 hrs agoZebiWallet  IN   0x1eb48c64ad71837a6ed57e4a2dab88173c8330540 Ether0.00156544
0xc908b9ea008fa1263391a4d3c181c8740ec27cccef3deaf5582c13a8406c8ce4116 days 4 hrs agoZebiWallet  IN   0x1eb48c64ad71837a6ed57e4a2dab88173c8330540 Ether0.00156416
0x5635ef75f04453d02c6d509809d4df37dfdc9993bc3c426f81e6dfceebf0d650116 days 4 hrs agoZebiWallet  IN   0x1eb48c64ad71837a6ed57e4a2dab88173c8330540 Ether0.00156416
0xc00cf47ce4a40dafebfbda30affc8285c75cc473844ce65ed27d12236ac261a8116 days 4 hrs agoZebiWallet  IN   0x1eb48c64ad71837a6ed57e4a2dab88173c8330540 Ether0.00156544
0xc7b86771c58b4b43266be12aa15feda8db1be919038c624f743b526796fb43ea116 days 4 hrs agoZebiWallet  IN   0x1eb48c64ad71837a6ed57e4a2dab88173c8330540 Ether0.00156416
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
 Latest 7 Internal Transactions

ParentTxHash Block Age From To Value
0xabb0c750e2fb4b62a51b6b295e56ce1d9a77f7c98e7dfa7e97f359d654b34b215183298112 days 5 hrs ago0x1eb48c64ad71837a6ed57e4a2dab88173c8330540xd75496c0a6a36308cfda58e317ab97ea46b8f6b50.51017179 Ether
0x95915c05808822e70e82deb6831f9570dac3b9982aacd008fd7f7491737aa68c5183276112 days 5 hrs ago0x1eb48c64ad71837a6ed57e4a2dab88173c8330540xf91990b21ec9bc3e54e0b0c33bd2f06750f82ff52.331 Ether
0x336eeb282402f2a895b729e7e3b9ca884278f005aa531abe169510d490e8efed5183263112 days 5 hrs ago0x1eb48c64ad71837a6ed57e4a2dab88173c8330540x51d23f03e290dfe1d21f9a15ffb33c81c7663dc82.97 Ether
0xf8bb0f5374019bc9a3899c8f1e09bcd5c91ddbdb4cd6ea031a4d27e8e34867125183250112 days 5 hrs ago0x1eb48c64ad71837a6ed57e4a2dab88173c8330540x3f5ce5fbfe3e9af3971dd833d26ba9b5c936f0be3.98882821 Ether
0xb42a2187637d8069cd4f8e0d3b85ab5b4fc8dd64b05fe0e51525a6d55b9c8e7b5183238112 days 5 hrs ago0x1eb48c64ad71837a6ed57e4a2dab88173c8330540xd6d339b9ffdc1e7a72b5a6e598de179e3cf4c2674 Ether
0x973b4e41ba9f5f6cb0effa35bc438fcec381f4584d3a81605bf730e62b9dfc035183225112 days 5 hrs ago0x1eb48c64ad71837a6ed57e4a2dab88173c8330540x01352e4f10102e8502cc6bfffe630f7abfe34c5010 Ether
0x5ed2953bce1eb73fa26cf6b43d77749d6acb523fa3cbf904322169d41054a4555183179112 days 6 hrs ago0x1eb48c64ad71837a6ed57e4a2dab88173c8330540xa11b493110cfed5a5d89c83c062532c12aae25b01.2 Ether
[ Download CSV Export  ] 
Contract Source Code Verified (Exact match)
Contract Name: ZebiCoinTempMgr
Compiler Version: v0.4.19+commit.c4cbbb05
Optimization Enabled: No
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts

pragma solidity ^0.4.18;


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

}



/**
 * @title ERC20Basic
 */
contract ERC20Basic {
  function totalSupply() public view returns (uint256);
  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);
}




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




/**
 * @title SafeMath
 * @dev Math operations with safety checks that throw on error
 */
library SafeMath {

  /**
  * @dev Multiplies two numbers, throws on overflow.
  */
  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;
  }

  /**
  * @dev Integer division of two numbers, truncating the quotient.
  */
  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;
  }

  /**
  * @dev Substracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend).
  */
  function sub(uint256 a, uint256 b) internal pure returns (uint256) {
    assert(b <= a);
    return a - b;
  }

  /**
  * @dev Adds two numbers, throws on overflow.
  */
  function add(uint256 a, uint256 b) internal pure returns (uint256) {
    uint256 c = a + b;
    assert(c >= a);
    return c;
  }
}


/**
 * @title Basic token
 */
contract BasicToken is ERC20Basic {
  using SafeMath for uint256;

  mapping(address => uint256) balances;

  uint256 totalSupply_;

  /**
  * @dev total number of tokens in existence
  */
  function totalSupply() public view returns (uint256) {
    return totalSupply_;
  }

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

}



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;
  }

}





/**
 * @title Mintable token
 */
contract MintableToken is StandardToken, Ownable {
  event Mint(address indexed to, uint256 amount);
  event MintFinished();
  event Burn(address sender,uint256 tokencount);

  bool public mintingFinished = false ;
  bool public transferAllowed = 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;
  }
  
  function resumeMinting() onlyOwner public returns (bool) {
    mintingFinished = false;
    return true;
  }

  function burn(address _from) external onlyOwner returns (bool success) {
	require(balances[_from] != 0);
    uint256 tokencount = balances[_from];
	//address sender = _from;
	balances[_from] = 0;
    totalSupply_ = totalSupply_.sub(tokencount);
    Burn(_from, tokencount);
    return true;
  }


function startTransfer() external onlyOwner
  {
  transferAllowed = true ;
  }
  
  
  function endTransfer() external onlyOwner
  {
  transferAllowed = false ;
  }


function transfer(address _to, uint256 _value) public returns (bool) {
require(transferAllowed);
super.transfer(_to,_value);
return true;
}

function transferFrom(address _from, address _to, uint256 _value) public returns (bool) {
require(transferAllowed);
super.transferFrom(_from,_to,_value);
return true;
}


}


  
contract ZebiCoin is MintableToken {
  string public constant name = "Zebi Coin";
  string public constant symbol = "ZCO";
  uint64 public constant decimals = 8;
}




/**
 * @title ZCrowdsale
*/
contract ZCrowdsale is Ownable{
  using SafeMath for uint256;

  // The token being sold
   MintableToken public token;
   
  uint64 public tokenDecimals;

  // start and end timestamps where investments are allowed (both inclusive)
  uint256 public startTime;
  uint256 public endTime;
  uint256 public minTransAmount;
  uint256 public mintedTokensCap; //max 87 million tokens in presale.
  
   //contribution
  mapping(address => uint256) contribution;
  
  //bad contributor
  mapping(address => bool) cancelledList;

  // address where funds are collected
  address public wallet;

  bool public withinRefundPeriod; 
  
  // how many token units a buyer gets per ether
  uint256 public ETHtoZCOrate;

  // amount of raised money in wei without factoring refunds
  uint256 public weiRaised;
  
  bool public stopped;
  
   modifier stopInEmergency {
    require (!stopped);
    _;
  }
  
  
  
  modifier inCancelledList {
    require(cancelledList[msg.sender]);
    _;
  }
  
  modifier inRefundPeriod {
  require(withinRefundPeriod);
  _;
 }  

  /**
   * event for token purchase logging
   */
  event TokenPurchase(address indexed purchaser, address indexed beneficiary, uint256 value, uint256 amount);
  
  event TakeEth(address sender,uint256 value);
  
  event Withdraw(uint256 _value);
  
  event SetParticipantStatus(address _participant);
   
  event Refund(address sender,uint256 refundBalance);


  function ZCrowdsale(uint256 _startTime, uint256 _endTime, uint256 _ETHtoZCOrate, address _wallet,uint256 _minTransAmount,uint256 _mintedTokensCap) public {
  
	require(_startTime >= now);
    require(_endTime >= _startTime);
    require(_ETHtoZCOrate > 0);
    require(_wallet != address(0));
	
	token = new ZebiCoin();
	//token = createTokenContract();
    startTime = _startTime;
    endTime = _endTime;
    ETHtoZCOrate = _ETHtoZCOrate;
    wallet = _wallet;
    minTransAmount = _minTransAmount;
	tokenDecimals = 8;
    mintedTokensCap = _mintedTokensCap.mul(10**tokenDecimals);            // mintedTokensCap is in Zwei 
	
  }

  // fallback function can be used to buy tokens
  function () external payable {
    buyTokens(msg.sender);
  }
  
    function finishMint() onlyOwner public returns (bool) {
    token.finishMinting();
    return true;
  }
  
  function resumeMint() onlyOwner public returns (bool) {
    token.resumeMinting();
    return true;
  }
 
 
  function startTransfer() external onlyOwner
  {
  token.startTransfer() ;
  }
  
  
   function endTransfer() external onlyOwner
  {
  token.endTransfer() ;
  }
  
  function transferTokenOwnership(address owner) external onlyOwner
  {
    
	token.transferOwnership(owner);
  }
  
   
  function viewCancelledList(address participant) public view returns(bool){
  return cancelledList[participant];
  
  }  

  // 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 = getTokenAmount(weiAmount);
   
    // update state
    weiRaised = weiRaised.add(weiAmount);
    token.mint(beneficiary, tokens);
	contribution[beneficiary] = contribution[beneficiary].add(weiAmount);
    TokenPurchase(msg.sender, beneficiary, weiAmount, tokens);

    forwardFunds();
  }

  
  // 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();
  // }

  // returns value in zwei
  // Override this method to have a way to add business logic to your crowdsale when buying
  function getTokenAmount(uint256 weiAmount) public view returns(uint256) {                      
  
	uint256 ETHtoZweiRate = ETHtoZCOrate.mul(10**tokenDecimals);
    return  SafeMath.div((weiAmount.mul(ETHtoZweiRate)),(1 ether));
  }

  // send ether to the fund collection wallet
  function forwardFunds() internal {
    wallet.transfer(msg.value);
  }

  
  function enableRefundPeriod() external onlyOwner{
  withinRefundPeriod = true;
  }
  
  function disableRefundPeriod() external onlyOwner{
  withinRefundPeriod = false;
  }
  
  
   // called by the owner on emergency, triggers stopped state
  function emergencyStop() external onlyOwner {
    stopped = true;
  }

  // called by the owner on end of emergency, returns to normal state
  function release() external onlyOwner {
    stopped = false;
  }

  function viewContribution(address participant) public view returns(uint256){
  return contribution[participant];
  }  
  
  
  // @return true if the transaction can buy tokens
  function validPurchase() internal view returns (bool) {
    bool withinPeriod = now >= startTime && now <= endTime;
	//Value(msg.value);
    //bool nonZeroPurchase = msg.value != 0;
	bool validAmount = msg.value >= minTransAmount;
	bool withinmintedTokensCap = mintedTokensCap >= (token.totalSupply() + getTokenAmount(msg.value));
    return withinPeriod && validAmount && withinmintedTokensCap;
  }
  
   function refund() external inCancelledList inRefundPeriod {                                                    
        require((contribution[msg.sender] > 0) && token.balanceOf(msg.sender)>0);
       uint256 refundBalance = contribution[msg.sender];	   
       contribution[msg.sender] = 0;
		token.burn(msg.sender);
        msg.sender.transfer(refundBalance); 
		Refund(msg.sender,refundBalance);
    } 
	
	function forcedRefund(address _from) external onlyOwner {
	   require(cancelledList[_from]);
	   require((contribution[_from] > 0) && token.balanceOf(_from)>0);
       uint256 refundBalance = contribution[_from];	  
       contribution[_from] = 0;
		token.burn(_from);
        _from.transfer(refundBalance); 
		Refund(_from,refundBalance);
	
	}
	
	
	
	//takes ethers from zebiwallet to smart contract 
    function takeEth() external payable {
		TakeEth(msg.sender,msg.value);
    }
	
	//transfers ether from smartcontract to zebiwallet
     function withdraw(uint256 _value) public onlyOwner {
        wallet.transfer(_value);
		Withdraw(_value);
    }
	 function addCancellation (address _participant) external onlyOwner returns (bool success) {
           cancelledList[_participant] = true;
		   return true;
   } 
}



contract ZebiCoinCrowdsale is ZCrowdsale {

  function ZebiCoinCrowdsale(uint256 _startTime, uint256 _endTime, uint256 _rate, address _wallet,uint256 _minTransAmount,uint256 _mintedTokensCap)
  ZCrowdsale(_startTime, _endTime, _rate, _wallet , _minTransAmount,_mintedTokensCap){
  }

 // creates the token to be sold.
 // function createTokenContract() internal returns (MintableToken) {
 //  return new ZebiCoin();
 // }
}

contract ZebiCoinTempMgr is Ownable{
  using SafeMath for uint256;

  // address where funds are collected
  address public wallet;
  
  // instance of presale contract  
  ZebiCoinCrowdsale public preSaleCSSC;
  
  // instance of token contract
  ZebiCoin public tsc;
   
  // number of decimals allowed in ZCO 
  uint64 tokenDecimals;
   
  //bad contributor of presale
  mapping(address => bool) preSaleCancelledList;

  // contains token value in zwei
  mapping(address => uint256) noncsAllocations;
  
  // check for refund period
  bool public withinRefundPeriod; 
  
  // amount refunded to each investor
  mapping(address => uint256)  preSaleRefunds;
  
  
  
  modifier inPreSaleCancelledList {
    require(preSaleCancelledList[msg.sender]);
    _;
  }
  
  modifier inRefundPeriod {
  require(withinRefundPeriod);
  _;
 }
 
 
  event TakeEth(address sender,uint256 value);
  event Withdraw(uint256 _value);
  event PreSaleRefund(address sender,uint256 refundBalance);
  event AllocatenonCSTokens(address indexed beneficiary,uint256 amount);

  
  function ZebiCoinTempMgr(address presaleCrowdsale, address tokenAddress, address _wallet) public {
 
    wallet = _wallet;
    preSaleCSSC = ZebiCoinCrowdsale(presaleCrowdsale);
	tsc = ZebiCoin(tokenAddress);
    tokenDecimals = tsc.decimals();
  }
  
  function finishMint() onlyOwner public returns (bool) {
    tsc.finishMinting();
    return true;
  }
  
  function resumeMint() onlyOwner public returns (bool) {
    tsc.resumeMinting();
    return true;
  }
 
 
  function startTransfer() external onlyOwner{
    tsc.startTransfer() ;
  }
  
  function endTransfer() external onlyOwner{
    tsc.endTransfer() ;
  }
  
  function transferTokenOwnership(address owner) external onlyOwner{
    tsc.transferOwnership(owner);
  }
  
  function allocatenonCSTokens(address beneficiary,uint256 tokens) external onlyOwner
  {
	require(beneficiary != address(0));
	uint256 Zweitokens = tokens.mul(10**(tokenDecimals ));
	noncsAllocations[beneficiary]= Zweitokens.add(noncsAllocations[beneficiary]);
	tsc.mint(beneficiary, Zweitokens);
	AllocatenonCSTokens(beneficiary,Zweitokens);
  }
	
  function revertNoncsallocation(address beneficiary) external onlyOwner
  {
	require(noncsAllocations[beneficiary]!=0);
	noncsAllocations[beneficiary]=0;
	tsc.burn(beneficiary);
  }
 
  function viewNoncsallocations(address participant) public view returns(uint256){
    return noncsAllocations[participant];
  }
  
  function viewPreSaleCancelledList(address participant) public view returns(bool){
    return preSaleCancelledList[participant];
  } 
  
  function viewPreSaleRefunds(address participant) public view returns(uint256){
    return preSaleRefunds[participant];
  } 
  
  function enableRefundPeriod() external onlyOwner{
    withinRefundPeriod = true;
  }
  
  function disableRefundPeriod() external onlyOwner{
    withinRefundPeriod = false;
  }
  
  function refund() external inPreSaleCancelledList inRefundPeriod {                                                    
    require((preSaleCSSC.viewContribution(msg.sender) > 0) && tsc.balanceOf(msg.sender)>0);
    uint256 refundBalance = preSaleCSSC.viewContribution(msg.sender);	   
    preSaleRefunds[msg.sender] = refundBalance;
    tsc.burn(msg.sender);
    msg.sender.transfer(refundBalance); 
	PreSaleRefund(msg.sender,refundBalance);
  } 
	
  function forcedRefund(address _from) external onlyOwner {
	require(preSaleCancelledList[_from]);
	require((preSaleCSSC.viewContribution(_from) > 0) && tsc.balanceOf(_from)>0);
    uint256 refundBalance = preSaleCSSC.viewContribution(_from);	  
    preSaleRefunds[_from] = refundBalance;
	tsc.burn(_from);
    _from.transfer(refundBalance); 
	PreSaleRefund(_from,refundBalance);
  }
  
  //takes ethers from zebiwallet to smart contract 
  function takeEth() external payable {
	TakeEth(msg.sender,msg.value);
  }
	
  //transfers ether from smartcontract to zebiwallet
  function withdraw(uint256 _value) public onlyOwner {
    wallet.transfer(_value);
	Withdraw(_value);
  }
	
  function addCancellation (address _participant) external onlyOwner returns (bool success) {
    preSaleCancelledList[_participant] = true;
	return true;
  }
  
}

    Contract ABI  
[{"constant":false,"inputs":[],"name":"resumeMint","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"owner","type":"address"}],"name":"transferTokenOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"participant","type":"address"}],"name":"viewPreSaleRefunds","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"tsc","outputs":[{"name":"","type":"address"}],"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":"refund","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"endTransfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"enableRefundPeriod","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"beneficiary","type":"address"},{"name":"tokens","type":"uint256"}],"name":"allocatenonCSTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"withinRefundPeriod","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"startTransfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"disableRefundPeriod","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"takeEth","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_participant","type":"address"}],"name":"addCancellation","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"preSaleCSSC","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"participant","type":"address"}],"name":"viewNoncsallocations","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"finishMint","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"participant","type":"address"}],"name":"viewPreSaleCancelledList","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"beneficiary","type":"address"}],"name":"revertNoncsallocation","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"}],"name":"forcedRefund","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"presaleCrowdsale","type":"address"},{"name":"tokenAddress","type":"address"},{"name":"_wallet","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"sender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"TakeEth","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_value","type":"uint256"}],"name":"Withdraw","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"sender","type":"address"},{"indexed":false,"name":"refundBalance","type":"uint256"}],"name":"PreSaleRefund","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"beneficiary","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"AllocatenonCSTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]

  Contract Creation Code Switch To Opcodes View
6060604052341561000f57600080fd5b60405160608061229e83398101604052808051906020019091908051906020019091908051906020019091905050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663313ce5676000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15156101ce57600080fd5b6102c65a03f115156101df57600080fd5b50505060405180519050600360146101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555050505061207b806102236000396000f300606060405260043610610133576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680631fe7b6241461013857806321e6b53d1461016557806322eb2c021461019e5780632e1a7d4d146101eb57806345061bf81461020e578063521eb27314610263578063590e1ae3146102b85780636494cde1146102cd5780636585dc12146102e2578063771ff086146102f75780637f070a9b14610339578063829c342814610366578063848f14701461037b5780638a13aa4b146103905780638da5cb5b1461039a57806393b7e7cb146103ef578063a2e3750c14610440578063d075c11c14610495578063e4cc18be146104e2578063e67bcfb61461050f578063e955ee0314610560578063f2fde38b14610599578063f83eb5dc146105d2575b600080fd5b341561014357600080fd5b61014b61060b565b604051808215151515815260200191505060405180910390f35b341561017057600080fd5b61019c600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610719565b005b34156101a957600080fd5b6101d5600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610847565b6040518082815260200191505060405180910390f35b34156101f657600080fd5b61020c6004808035906020019091905050610890565b005b341561021957600080fd5b610221610987565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561026e57600080fd5b6102766109ad565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156102c357600080fd5b6102cb6109d3565b005b34156102d857600080fd5b6102e0610ed6565b005b34156102ed57600080fd5b6102f5610fcc565b005b341561030257600080fd5b610337600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611044565b005b341561034457600080fd5b61034c6112e6565b604051808215151515815260200191505060405180910390f35b341561037157600080fd5b6103796112f9565b005b341561038657600080fd5b61038e6113ef565b005b610398611467565b005b34156103a557600080fd5b6103ad6114d4565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156103fa57600080fd5b610426600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506114f9565b604051808215151515815260200191505060405180910390f35b341561044b57600080fd5b6104536115b7565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156104a057600080fd5b6104cc600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506115dd565b6040518082815260200191505060405180910390f35b34156104ed57600080fd5b6104f5611626565b604051808215151515815260200191505060405180910390f35b341561051a57600080fd5b610546600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611734565b604051808215151515815260200191505060405180910390f35b341561056b57600080fd5b610597600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061178a565b005b34156105a457600080fd5b6105d0600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061195d565b005b34156105dd57600080fd5b610609600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611ab2565b005b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561066857600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166359ae340e6000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15156106f657600080fd5b6102c65a03f1151561070757600080fd5b50505060405180519050506001905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561077457600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f2fde38b826040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b151561083057600080fd5b6102c65a03f1151561084157600080fd5b50505050565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156108eb57600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050151561094d57600080fd5b7f5b6b431d4476a211bb7d41c20d1aab9ae2321deee0d20be3d9fc9b1093fa6e3d816040518082815260200191505060405180910390a150565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515610a2d57600080fd5b600660009054906101000a900460ff161515610a4857600080fd5b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635052abad336000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1515610b0f57600080fd5b6102c65a03f11515610b2057600080fd5b50505060405180519050118015610c1657506000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231336000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1515610bf957600080fd5b6102c65a03f11515610c0a57600080fd5b50505060405180519050115b1515610c2157600080fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635052abad336000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1515610ce657600080fd5b6102c65a03f11515610cf757600080fd5b50505060405180519050905080600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166389afcb44336000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1515610e0c57600080fd5b6102c65a03f11515610e1d57600080fd5b50505060405180519050503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501515610e6857600080fd5b7f31e78ae1ccbef1c33623189ddbe3d4b7808b67de67a6abf8f47346cb404e27a53382604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a150565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610f3157600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636494cde16040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401600060405180830381600087803b1515610fb657600080fd5b6102c65a03f11515610fc757600080fd5b505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561102757600080fd5b6001600660006101000a81548160ff021916908315150217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156110a157600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156110dd57600080fd5b611113600360149054906101000a900467ffffffffffffffff16600a0a67ffffffffffffffff1683611ff690919063ffffffff16565b9050611167600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548261203190919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f1984836000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b151561127757600080fd5b6102c65a03f1151561128857600080fd5b50505060405180519050508273ffffffffffffffffffffffffffffffffffffffff167fd8cec0f284d7a9985c6aaebc3ef48db7efb3c7ffbb75e7753c715123b444c726826040518082815260200191505060405180910390a2505050565b600660009054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561135457600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663829c34286040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401600060405180830381600087803b15156113d957600080fd5b6102c65a03f115156113ea57600080fd5b505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561144a57600080fd5b6000600660006101000a81548160ff021916908315150217905550565b7fcd18c1683fcd49ac98a87d5fd5a82c5f375b4061b05f491883e0edc785b694d13334604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a1565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561155657600080fd5b6001600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060019050919050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561168357600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637d64bcb46000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b151561171157600080fd5b6102c65a03f1151561172257600080fd5b50505060405180519050506001905090565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156117e557600080fd5b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415151561183457600080fd5b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166389afcb44826000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b151561193e57600080fd5b6102c65a03f1151561194f57600080fd5b505050604051805190505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156119b857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156119f457600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611b0f57600080fd5b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515611b6757600080fd5b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635052abad846000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1515611c2e57600080fd5b6102c65a03f11515611c3f57600080fd5b50505060405180519050118015611d3557506000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231846000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1515611d1857600080fd5b6102c65a03f11515611d2957600080fd5b50505060405180519050115b1515611d4057600080fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635052abad836000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1515611e0557600080fd5b6102c65a03f11515611e1657600080fd5b50505060405180519050905080600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166389afcb44836000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b1515611f2b57600080fd5b6102c65a03f11515611f3c57600080fd5b50505060405180519050508173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501515611f8757600080fd5b7f31e78ae1ccbef1c33623189ddbe3d4b7808b67de67a6abf8f47346cb404e27a58282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a15050565b600080600084141561200b576000915061202a565b828402905082848281151561201c57fe5b0414151561202657fe5b8091505b5092915050565b600080828401905083811015151561204557fe5b80915050929150505600a165627a7a72305820f4f2e032b95908df7a8b4aaefb0b384c3e927e9d73ca2c57ce7deccf4dc5eb900029000000000000000000000000ef90b9fea51c983827ba3b79c3c19a9751fc7e990000000000000000000000002008e3057bd734e10ad13c9eae45ff132abc1722000000000000000000000000d75496c0a6a36308cfda58e317ab97ea46b8f6b5

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

-----Decoded View---------------
Found 3 constructor arguments :
Arg [0] : 000000000000000000000000ef90b9fea51c983827ba3b79c3c19a9751fc7e99
Arg [1] : 0000000000000000000000002008e3057bd734e10ad13c9eae45ff132abc1722
Arg [2] : 000000000000000000000000d75496c0a6a36308cfda58e317ab97ea46b8f6b5


   Swarm Source:
bzzr://f4f2e032b95908df7a8b4aaefb0b384c3e927e9d73ca2c57ce7deccf4dc5eb90

 

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.