ETH Price: $2,182.96 (-4.51%)

Contract

0xF21eDc87a7C56355802D78009A1498be090F7840
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer Token O...59283012018-07-08 16:46:042433 days ago1531068364IN
0xF21eDc87...e090F7840
0 ETH0.0013924441
Allocate58865142018-07-01 12:29:492440 days ago1530448189IN
0xF21eDc87...e090F7840
0 ETH0.0026515541
Allocate58052922018-06-17 13:59:232454 days ago1529243963IN
0xF21eDc87...e090F7840
0 ETH0.0026515541
Transfer57502392018-06-07 23:29:342464 days ago1528414174IN
0xF21eDc87...e090F7840
7.18 ETH0.0024854241
Transfer57499132018-06-07 22:00:182464 days ago1528408818IN
0xF21eDc87...e090F7840
1.0750929 ETH0.0037154241
Transfer57340772018-06-05 2:21:252467 days ago1528165285IN
0xF21eDc87...e090F7840
1.6 ETH0.000634347
Transfer56754232018-05-25 17:14:172477 days ago1527268457IN
0xF21eDc87...e090F7840
0.0424444 ETH0.0037154241
Transfer56572952018-05-22 11:41:352480 days ago1526989295IN
0xF21eDc87...e090F7840
0.1 ETH0.005437260
Transfer56251772018-05-16 19:26:012486 days ago1526498761IN
0xF21eDc87...e090F7840
0.1 ETH0.0024854241
Transfer56039372018-05-13 1:44:512490 days ago1526175891IN
0xF21eDc87...e090F7840
0.1 ETH0.000302484
Transfer55791712018-05-08 17:57:392494 days ago1525802259IN
0xF21eDc87...e090F7840
0.29218458 ETH0.0024854241
Transfer55791412018-05-08 17:51:212494 days ago1525801881IN
0xF21eDc87...e090F7840
0.2 ETH0.0037154241
Transfer55779832018-05-08 13:03:112494 days ago1525784591IN
0xF21eDc87...e090F7840
0.9918 ETH0.0037154241
Transfer55728722018-05-07 16:06:272495 days ago1525709187IN
0xF21eDc87...e090F7840
0.1008 ETH0.000181242
Allocate55720872018-05-07 12:52:072495 days ago1525697527IN
0xF21eDc87...e090F7840
0 ETH0.0029073645
Allocate55720712018-05-07 12:49:032495 days ago1525697343IN
0xF21eDc87...e090F7840
0 ETH0.0029131245
Allocate55720592018-05-07 12:46:172495 days ago1525697177IN
0xF21eDc87...e090F7840
0 ETH0.0029102445
Allocate55720072018-05-07 12:33:212495 days ago1525696401IN
0xF21eDc87...e090F7840
0 ETH0.0029102445
Allocate55719912018-05-07 12:29:282495 days ago1525696168IN
0xF21eDc87...e090F7840
0 ETH0.0022352445
Allocate55719272018-05-07 12:15:162495 days ago1525695316IN
0xF21eDc87...e090F7840
0 ETH0.0029102445
Allocate55719202018-05-07 12:13:012495 days ago1525695181IN
0xF21eDc87...e090F7840
0 ETH0.0029102445
Allocate55719122018-05-07 12:11:172495 days ago1525695077IN
0xF21eDc87...e090F7840
0 ETH0.0029073645
Allocate55719062018-05-07 12:09:182495 days ago1525694958IN
0xF21eDc87...e090F7840
0 ETH0.0029073645
Allocate55719032018-05-07 12:08:172495 days ago1525694897IN
0xF21eDc87...e090F7840
0 ETH0.0029131245
Allocate55718842018-05-07 12:03:342495 days ago1525694614IN
0xF21eDc87...e090F7840
0 ETH0.0029102445
View all transactions

Latest 14 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer57502392018-06-07 23:29:342464 days ago1528414174
0xF21eDc87...e090F7840
7.18 ETH
Transfer57499132018-06-07 22:00:182464 days ago1528408818
0xF21eDc87...e090F7840
1.0750929 ETH
Transfer57340772018-06-05 2:21:252467 days ago1528165285
0xF21eDc87...e090F7840
1.6 ETH
Transfer56754232018-05-25 17:14:172477 days ago1527268457
0xF21eDc87...e090F7840
0.0424444 ETH
Transfer56572952018-05-22 11:41:352480 days ago1526989295
0xF21eDc87...e090F7840
0.1 ETH
Transfer56251772018-05-16 19:26:012486 days ago1526498761
0xF21eDc87...e090F7840
0.1 ETH
Transfer56039372018-05-13 1:44:512490 days ago1526175891
0xF21eDc87...e090F7840
0.1 ETH
Transfer55791712018-05-08 17:57:392494 days ago1525802259
0xF21eDc87...e090F7840
0.29218458 ETH
Transfer55791412018-05-08 17:51:212494 days ago1525801881
0xF21eDc87...e090F7840
0.2 ETH
Transfer55779832018-05-08 13:03:112494 days ago1525784591
0xF21eDc87...e090F7840
0.9918 ETH
Transfer55728722018-05-07 16:06:272495 days ago1525709187
0xF21eDc87...e090F7840
0.1008 ETH
Transfer55717952018-05-07 11:39:352495 days ago1525693175
0xF21eDc87...e090F7840
0.02 ETH
Transfer55715592018-05-07 10:39:262495 days ago1525689566
0xF21eDc87...e090F7840
0.04 ETH
Transfer55714922018-05-07 10:24:062495 days ago1525688646
0xF21eDc87...e090F7840
0.005 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
AllstocksCrowdsale

Compiler Version
v0.4.23+commit.124ca40d

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2018-05-07
*/

pragma solidity 0.4.23;

// ----------------------------------------------------------------------------
// Safe maths
// ----------------------------------------------------------------------------
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;
  }
}

// ----------------------------------------------------------------------------
// ERC Token Standard #20 Interface
// https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20-token-standard.md
// ----------------------------------------------------------------------------
contract ERC20Interface {
    function totalSupply() public constant returns (uint256);
    function balanceOf(address tokenOwner) public constant returns (uint256 balance);
    function allowance(address tokenOwner, address spender) public constant returns (uint256 remaining);
    function transfer(address to, uint256 tokens) public returns (bool success);
    function approve(address spender, uint256 tokens) public returns (bool success);
    function transferFrom(address from, address to, uint256 tokens) public returns (bool success);

    function mint(address _to, uint256 _amount) public returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 tokens);
    event Approval(address indexed tokenOwner, address indexed spender, uint256 tokens);
}

// ----------------------------------------------------------------------------
// Owned contract
// ----------------------------------------------------------------------------
contract Owned {
    address public owner;

    event OwnershipTransferred(address indexed _from, address indexed _to);

    constructor() public {
        owner = msg.sender;
    }

    modifier onlyOwner {
        require(msg.sender == owner);
        _;
    }

    function transferOwnership(address _newOwner) public onlyOwner {
        require(_newOwner != address(0));
        require(owner == msg.sender);
        emit OwnershipTransferred(owner, _newOwner);
        owner = _newOwner;
    }
}

/**
 * @title AllstocksCrowdsale
 * @dev Crowdsale is a base contract for managing a token crowdsale,
 * allowing investors to purchase tokens with ether. This contract implements
 * such functionality in its most fundamental form and can be extended to provide additional
 * functionality and/or custom behavior.
 * The external interface represents the basic interface for purchasing tokens, and conform
 * the base architecture for crowdsales. They are *not* intended to be modified / overriden.
 * The internal interface conforms the extensible and modifiable surface of crowdsales. Override 
 * the methods to add functionality. Consider using 'super' where appropiate to concatenate
 * behavior.
 */

contract AllstocksCrowdsale is Owned {
  using SafeMath for uint256;

  // The token being sold
  //ERC20Interface public token;
  address public token;

  // Address where funds are collected
  address public ethFundDeposit; 

  // How many token units a buyer gets per wei // starts with 625 Allstocks tokens per 1 ETH
  uint256 public tokenExchangeRate = 625;                         
  
  // 25m hard cap
  uint256 public tokenCreationCap =  25 * (10**6) * 10**18; // 25m maximum; 

  //2.5m softcap
  uint256 public tokenCreationMin =  25 * (10**5) * 10**18; // 2.5m minimum

  // Amount of wei raised
  uint256 public _raised = 0;
  
  // switched to true in after setup
  bool public isActive = false;                 
 
  //start time 
  uint256 public fundingStartTime = 0;
   
  //end time
  uint256 public fundingEndTime = 0;

  // switched to true in operational state
  bool public isFinalized = false; 
  
  //refund list - will hold a list of all contributers 
  mapping(address => uint256) public refunds;

  /**
   * Event for token Allocate logging
   * @param allocator for the tokens
   * @param beneficiary who got the tokens
   * @param amount amount of tokens purchased
   */
  event TokenAllocated(address indexed allocator, address indexed beneficiary, uint256 amount);

  event LogRefund(address indexed _to, uint256 _value);

  constructor() public {
      tokenExchangeRate = 625;
  }

  function setup (uint256 _fundingStartTime, uint256 _fundingEndTime, address _token) onlyOwner external {
    require (isActive == false); 
    require (isFinalized == false); 			        	   
    require (msg.sender == owner);                // locks finalize to the ultimate ETH owner
    require(_fundingStartTime > 0);
    require(_fundingEndTime > 0 && _fundingEndTime > _fundingStartTime);
    require(_token != address(0));

    isFinalized = false;                          // controls pre through crowdsale state
    isActive = true;                              // set sale status to be true
    ethFundDeposit = owner;                       // set ETH wallet owner 
    fundingStartTime = _fundingStartTime;
    fundingEndTime = _fundingEndTime;
    //set token
    token = _token;
  }

  /// @dev send funding to safe wallet if minimum is reached 
  function vaultFunds() public onlyOwner {
    require(msg.sender == owner);                    // Allstocks double chack
    require(_raised >= tokenCreationMin);            // have to sell minimum to move to operational 
    ethFundDeposit.transfer(address(this).balance);  // send the eth to Allstocks
  }  

  // -----------------------------------------
  // Crowdsale external interface
  // -----------------------------------------

  /**
   * @dev fallback function ***DO NOT OVERRIDE***
   */
  function () external payable {
    buyTokens(msg.sender, msg.value);
  }

  /**
   * @dev low level token purchase ***DO NOT OVERRIDE***
   * @param _beneficiary Address performing the token purchase
   */
  function buyTokens(address _beneficiary, uint256 _value) internal {
    _preValidatePurchase(_beneficiary, _value);
    // calculate token amount to be created
    uint256 tokens = _getTokenAmount(_value);
    // update state
    uint256 checkedSupply = _raised.add(tokens);
    //check that we are not over cap
    require(checkedSupply <= tokenCreationCap);
    _raised = checkedSupply;
    bool mined = ERC20Interface(token).mint(_beneficiary, tokens);
    require(mined);
    //add sent eth to refunds list
    refunds[_beneficiary] = _value.add(refunds[_beneficiary]);  // safeAdd 
    emit TokenAllocated(this, _beneficiary, tokens); // log it
    //forward funds to deposite only in minimum was reached
    if(_raised >= tokenCreationMin) {
      _forwardFunds();
    }
  }

  // @dev method for manageing bonus phases 
	function setRate(uint256 _value) external onlyOwner {
    require (isActive == true);
    require(msg.sender == owner); // Allstocks double check owner   
    // Range is set between 500 to 625, based on the bonus program stated in whitepaper.
    // Upper range is set to 1500 (x3 times margin based on ETH price) .
    require (_value >= 500 && _value <= 1500); 
    tokenExchangeRate = _value;
  }

  // @dev method for allocate tokens to beneficiary account 
  function allocate(address _beneficiary, uint256 _value) public onlyOwner returns (bool success) {
    require (isActive == true);          // sale have to be active
    require (_value > 0);                // value must be greater then 0 
    require (msg.sender == owner);       // Allstocks double chack 
    require(_beneficiary != address(0)); // none empty address
    uint256 checkedSupply = _raised.add(_value); 
    require(checkedSupply <= tokenCreationCap); //check that we dont over cap
    _raised = checkedSupply;
    bool sent = ERC20Interface(token).mint(_beneficiary, _value); // mint using ERC20 interface
    require(sent); 
    emit TokenAllocated(this, _beneficiary, _value); // log it
    return true;
  }

  //claim back token ownership 
  function transferTokenOwnership(address _newTokenOwner) public onlyOwner {
    require(_newTokenOwner != address(0));
    require(owner == msg.sender);
    Owned(token).transferOwnership(_newTokenOwner);
  }

  /// @dev Allows contributors to recover their ether in the case of a failed funding campaign.
  function refund() external {
    require (isFinalized == false);  // prevents refund if operational
    require (isActive == true);      // only if sale is active
    require (now > fundingEndTime);  // prevents refund until sale period is over
    require(_raised < tokenCreationMin);  // no refunds if we sold enough
    require(msg.sender != owner);         // Allstocks not entitled to a refund
    //get contribution amount in eth
    uint256 ethValRefund = refunds[msg.sender];
    //refund should be greater then zero
    require(ethValRefund > 0);
    //zero sender refund balance
    refunds[msg.sender] = 0;
    //check user balance
    uint256 allstocksVal = ERC20Interface(token).balanceOf(msg.sender);
    //substruct from total raised - please notice main assumption is that tokens are not tradeble at this stage.
    _raised = _raised.sub(allstocksVal);               // extra safe
    //send eth back to user
    msg.sender.transfer(ethValRefund);                 // if you're using a contract; make sure it works with .send gas limits
    emit LogRefund(msg.sender, ethValRefund);          // log it
  }

   /// @dev Ends the funding period and sends the ETH home
  function finalize() external onlyOwner {
    require (isFinalized == false);
    require(msg.sender == owner); // Allstocks double chack  
    require(_raised >= tokenCreationMin);  // have to sell minimum to move to operational
    require(_raised > 0);

    if (now < fundingEndTime) {    //if try to close before end time, check that we reach max cap
      require(_raised >= tokenCreationCap);
    }
    else 
      require(now >= fundingEndTime); //allow finilize only after time ends
    
    //transfer token ownership back to original owner
    transferTokenOwnership(owner);
    // move to operational
    isFinalized = true;
    vaultFunds();  // send the eth to Allstocks
  }

  // -----------------------------------------
  // Internal interface (extensible)
  // -----------------------------------------

  /**
   * @dev Validation of an incoming purchase. Use require statements to revert state when conditions are not met. Use super to concatenate validations.
   * @param _beneficiary Address performing the token purchase
   * @param _weiAmount Value in wei involved in the purchase
   */
  function _preValidatePurchase(address _beneficiary, uint256 _weiAmount) view internal {
    require(now >= fundingStartTime);
    require(now < fundingEndTime); 
    require(_beneficiary != address(0));
    require(_weiAmount != 0);
  }

  /**
   * @dev Override to extend the way in which ether is converted to tokens.
   * @param _weiAmount Value in wei to be converted into tokens
   * @return Number of tokens that can be purchased with the specified _weiAmount
   */
  function _getTokenAmount(uint256 _weiAmount) internal view returns (uint256) {
    return _weiAmount.mul(tokenExchangeRate);
  }

  /**
   * @dev Determines how ETH is stored/forwarded on purchases.
   */
  function _forwardFunds() internal {
    ethFundDeposit.transfer(msg.value);
  }
}

Contract Security Audit

Contract ABI

API
[{"constant":false,"inputs":[{"name":"_fundingStartTime","type":"uint256"},{"name":"_fundingEndTime","type":"uint256"},{"name":"_token","type":"address"}],"name":"setup","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"fundingStartTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newTokenOwner","type":"address"}],"name":"transferTokenOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"isActive","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"setRate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"vaultFunds","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"tokenExchangeRate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"finalize","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"refund","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"tokenCreationCap","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"fundingEndTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isFinalized","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"ethFundDeposit","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_beneficiary","type":"address"},{"name":"_value","type":"uint256"}],"name":"allocate","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"refunds","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokenCreationMin","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"_raised","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"token","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"allocator","type":"address"},{"indexed":true,"name":"beneficiary","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"TokenAllocated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"LogRefund","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"}],"name":"OwnershipTransferred","type":"event"}]

60806040526102716003556a14adf4b7320334b90000006004556a0211654585005212800000600555600060068190556007805460ff199081169091556008829055600991909155600a8054909116905534801561005c57600080fd5b5060008054600160a060020a033316600160a060020a0319909116179055610271600355610de08061008f6000396000f3006080604052600436106101115763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663080fbebf811461011d5780631df935581461014457806321e6b53d1461016b57806322f3e2d41461018c57806334fcf437146101b55780633aa51e41146101cd5780634172d080146101e25780634bb278f3146101f7578063590e1ae31461020c5780636f7920fd1461022157806374eedd46146102365780638d4e40831461024b5780638da5cb5b14610260578063a81c3bdf14610291578063b78b52df146102a6578063bc3da535146102ca578063c039daf6146102eb578063f2fde38b14610300578063f5ac631914610321578063fc0c546a14610336575b61011b333461034b565b005b34801561012957600080fd5b5061011b600435602435600160a060020a03604435166104d5565b34801561015057600080fd5b506101596105ca565b60408051918252519081900360200190f35b34801561017757600080fd5b5061011b600160a060020a03600435166105d0565b34801561019857600080fd5b506101a1610696565b604080519115158252519081900360200190f35b3480156101c157600080fd5b5061011b60043561069f565b3480156101d957600080fd5b5061011b61070d565b3480156101ee57600080fd5b50610159610792565b34801561020357600080fd5b5061011b610798565b34801561021857600080fd5b5061011b610859565b34801561022d57600080fd5b50610159610a18565b34801561024257600080fd5b50610159610a1e565b34801561025757600080fd5b506101a1610a24565b34801561026c57600080fd5b50610275610a2d565b60408051600160a060020a039092168252519081900360200190f35b34801561029d57600080fd5b50610275610a3c565b3480156102b257600080fd5b506101a1600160a060020a0360043516602435610a4b565b3480156102d657600080fd5b50610159600160a060020a0360043516610be5565b3480156102f757600080fd5b50610159610bf7565b34801561030c57600080fd5b5061011b600160a060020a0360043516610bfd565b34801561032d57600080fd5b50610159610cb0565b34801561034257600080fd5b50610275610cb6565b600080600061035a8585610cc5565b61036384610d07565b600654909350610379908463ffffffff610d2416565b60045490925082111561038b57600080fd5b6006829055600154604080517f40c10f19000000000000000000000000000000000000000000000000000000008152600160a060020a03888116600483015260248201879052915191909216916340c10f199160448083019260209291908290030181600087803b1580156103ff57600080fd5b505af1158015610413573d6000803e3d6000fd5b505050506040513d602081101561042957600080fd5b5051905080151561043957600080fd5b600160a060020a0385166000908152600b602052604090205461046390859063ffffffff610d2416565b600160a060020a038087166000818152600b60209081526040918290209490945580518781529051919330909316927f918348ece72b49a58054829fde7465a1e06386019b2a981c2daee97b0f795ede92918290030190a3600554600654106104ce576104ce610d3e565b5050505050565b60005433600160a060020a039081169116146104f057600080fd5b60075460ff161561050057600080fd5b600a5460ff161561051057600080fd5b60005433600160a060020a0390811691161461052b57600080fd5b6000831161053857600080fd5b60008211801561054757508282115b151561055257600080fd5b600160a060020a038116151561056757600080fd5b600a805460ff1990811690915560078054909116600190811790915560005460028054600160a060020a0392831673ffffffffffffffffffffffffffffffffffffffff199182161790915560089590955560099390935580549093169116179055565b60085481565b60005433600160a060020a039081169116146105eb57600080fd5b600160a060020a038116151561060057600080fd5b60005433600160a060020a0390811691161461061b57600080fd5b600154604080517ff2fde38b000000000000000000000000000000000000000000000000000000008152600160a060020a0384811660048301529151919092169163f2fde38b91602480830192600092919082900301818387803b15801561068257600080fd5b505af11580156104ce573d6000803e3d6000fd5b60075460ff1681565b60005433600160a060020a039081169116146106ba57600080fd5b60075460ff1615156001146106ce57600080fd5b60005433600160a060020a039081169116146106e957600080fd5b6101f481101580156106fd57506105dc8111155b151561070857600080fd5b600355565b60005433600160a060020a0390811691161461072857600080fd5b60005433600160a060020a0390811691161461074357600080fd5b600554600654101561075457600080fd5b600254604051600160a060020a039182169130163180156108fc02916000818181858888f1935050505015801561078f573d6000803e3d6000fd5b50565b60035481565b60005433600160a060020a039081169116146107b357600080fd5b600a5460ff16156107c357600080fd5b60005433600160a060020a039081169116146107de57600080fd5b60055460065410156107ef57600080fd5b6006546000106107fe57600080fd5b60095442101561081e57600454600654101561081957600080fd5b61082d565b60095442101561082d57600080fd5b60005461084290600160a060020a03166105d0565b600a805460ff1916600117905561085761070d565b565b600a54600090819060ff161561086e57600080fd5b60075460ff16151560011461088257600080fd5b600954421161089057600080fd5b600554600654106108a057600080fd5b60005433600160a060020a03908116911614156108bc57600080fd5b600160a060020a0333166000908152600b6020526040812054925082116108e257600080fd5b600160a060020a033381166000818152600b6020908152604080832083905560015481517f70a08231000000000000000000000000000000000000000000000000000000008152600481019590955290519416936370a0823193602480820194918390030190829087803b15801561095957600080fd5b505af115801561096d573d6000803e3d6000fd5b505050506040513d602081101561098357600080fd5b505160065490915061099b908263ffffffff610d7716565b600655604051600160a060020a0333169083156108fc029084906000818181858888f193505050501580156109d4573d6000803e3d6000fd5b50604080518381529051600160a060020a033316917fb6c0eca8138e097d71e2dd31e19a1266487f0553f170b7260ffe68bcbe9ff8a7919081900360200190a25050565b60045481565b60095481565b600a5460ff1681565b600054600160a060020a031681565b600254600160a060020a031681565b600080548190819033600160a060020a03908116911614610a6b57600080fd5b60075460ff161515600114610a7f57600080fd5b60008411610a8c57600080fd5b60005433600160a060020a03908116911614610aa757600080fd5b600160a060020a0385161515610abc57600080fd5b600654610acf908563ffffffff610d2416565b600454909250821115610ae157600080fd5b6006829055600154604080517f40c10f19000000000000000000000000000000000000000000000000000000008152600160a060020a03888116600483015260248201889052915191909216916340c10f199160448083019260209291908290030181600087803b158015610b5557600080fd5b505af1158015610b69573d6000803e3d6000fd5b505050506040513d6020811015610b7f57600080fd5b50519050801515610b8f57600080fd5b84600160a060020a031630600160a060020a03167f918348ece72b49a58054829fde7465a1e06386019b2a981c2daee97b0f795ede866040518082815260200191505060405180910390a3506001949350505050565b600b6020526000908152604090205481565b60055481565b60005433600160a060020a03908116911614610c1857600080fd5b600160a060020a0381161515610c2d57600080fd5b60005433600160a060020a03908116911614610c4857600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60065481565b600154600160a060020a031681565b600854421015610cd457600080fd5b6009544210610ce257600080fd5b600160a060020a0382161515610cf757600080fd5b801515610d0357600080fd5b5050565b6000610d1e60035483610d8990919063ffffffff16565b92915050565b600082820183811015610d3357fe5b8091505b5092915050565b600254604051600160a060020a03909116903480156108fc02916000818181858888f1935050505015801561078f573d6000803e3d6000fd5b600082821115610d8357fe5b50900390565b600080831515610d9c5760009150610d37565b50828202828482811515610dac57fe5b0414610d3357fe00a165627a7a723058201c33262d42051211ecc64c850de6aa1cd460e5411e1d63713862e227b2880fdd0029

Deployed Bytecode

0x6080604052600436106101115763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663080fbebf811461011d5780631df935581461014457806321e6b53d1461016b57806322f3e2d41461018c57806334fcf437146101b55780633aa51e41146101cd5780634172d080146101e25780634bb278f3146101f7578063590e1ae31461020c5780636f7920fd1461022157806374eedd46146102365780638d4e40831461024b5780638da5cb5b14610260578063a81c3bdf14610291578063b78b52df146102a6578063bc3da535146102ca578063c039daf6146102eb578063f2fde38b14610300578063f5ac631914610321578063fc0c546a14610336575b61011b333461034b565b005b34801561012957600080fd5b5061011b600435602435600160a060020a03604435166104d5565b34801561015057600080fd5b506101596105ca565b60408051918252519081900360200190f35b34801561017757600080fd5b5061011b600160a060020a03600435166105d0565b34801561019857600080fd5b506101a1610696565b604080519115158252519081900360200190f35b3480156101c157600080fd5b5061011b60043561069f565b3480156101d957600080fd5b5061011b61070d565b3480156101ee57600080fd5b50610159610792565b34801561020357600080fd5b5061011b610798565b34801561021857600080fd5b5061011b610859565b34801561022d57600080fd5b50610159610a18565b34801561024257600080fd5b50610159610a1e565b34801561025757600080fd5b506101a1610a24565b34801561026c57600080fd5b50610275610a2d565b60408051600160a060020a039092168252519081900360200190f35b34801561029d57600080fd5b50610275610a3c565b3480156102b257600080fd5b506101a1600160a060020a0360043516602435610a4b565b3480156102d657600080fd5b50610159600160a060020a0360043516610be5565b3480156102f757600080fd5b50610159610bf7565b34801561030c57600080fd5b5061011b600160a060020a0360043516610bfd565b34801561032d57600080fd5b50610159610cb0565b34801561034257600080fd5b50610275610cb6565b600080600061035a8585610cc5565b61036384610d07565b600654909350610379908463ffffffff610d2416565b60045490925082111561038b57600080fd5b6006829055600154604080517f40c10f19000000000000000000000000000000000000000000000000000000008152600160a060020a03888116600483015260248201879052915191909216916340c10f199160448083019260209291908290030181600087803b1580156103ff57600080fd5b505af1158015610413573d6000803e3d6000fd5b505050506040513d602081101561042957600080fd5b5051905080151561043957600080fd5b600160a060020a0385166000908152600b602052604090205461046390859063ffffffff610d2416565b600160a060020a038087166000818152600b60209081526040918290209490945580518781529051919330909316927f918348ece72b49a58054829fde7465a1e06386019b2a981c2daee97b0f795ede92918290030190a3600554600654106104ce576104ce610d3e565b5050505050565b60005433600160a060020a039081169116146104f057600080fd5b60075460ff161561050057600080fd5b600a5460ff161561051057600080fd5b60005433600160a060020a0390811691161461052b57600080fd5b6000831161053857600080fd5b60008211801561054757508282115b151561055257600080fd5b600160a060020a038116151561056757600080fd5b600a805460ff1990811690915560078054909116600190811790915560005460028054600160a060020a0392831673ffffffffffffffffffffffffffffffffffffffff199182161790915560089590955560099390935580549093169116179055565b60085481565b60005433600160a060020a039081169116146105eb57600080fd5b600160a060020a038116151561060057600080fd5b60005433600160a060020a0390811691161461061b57600080fd5b600154604080517ff2fde38b000000000000000000000000000000000000000000000000000000008152600160a060020a0384811660048301529151919092169163f2fde38b91602480830192600092919082900301818387803b15801561068257600080fd5b505af11580156104ce573d6000803e3d6000fd5b60075460ff1681565b60005433600160a060020a039081169116146106ba57600080fd5b60075460ff1615156001146106ce57600080fd5b60005433600160a060020a039081169116146106e957600080fd5b6101f481101580156106fd57506105dc8111155b151561070857600080fd5b600355565b60005433600160a060020a0390811691161461072857600080fd5b60005433600160a060020a0390811691161461074357600080fd5b600554600654101561075457600080fd5b600254604051600160a060020a039182169130163180156108fc02916000818181858888f1935050505015801561078f573d6000803e3d6000fd5b50565b60035481565b60005433600160a060020a039081169116146107b357600080fd5b600a5460ff16156107c357600080fd5b60005433600160a060020a039081169116146107de57600080fd5b60055460065410156107ef57600080fd5b6006546000106107fe57600080fd5b60095442101561081e57600454600654101561081957600080fd5b61082d565b60095442101561082d57600080fd5b60005461084290600160a060020a03166105d0565b600a805460ff1916600117905561085761070d565b565b600a54600090819060ff161561086e57600080fd5b60075460ff16151560011461088257600080fd5b600954421161089057600080fd5b600554600654106108a057600080fd5b60005433600160a060020a03908116911614156108bc57600080fd5b600160a060020a0333166000908152600b6020526040812054925082116108e257600080fd5b600160a060020a033381166000818152600b6020908152604080832083905560015481517f70a08231000000000000000000000000000000000000000000000000000000008152600481019590955290519416936370a0823193602480820194918390030190829087803b15801561095957600080fd5b505af115801561096d573d6000803e3d6000fd5b505050506040513d602081101561098357600080fd5b505160065490915061099b908263ffffffff610d7716565b600655604051600160a060020a0333169083156108fc029084906000818181858888f193505050501580156109d4573d6000803e3d6000fd5b50604080518381529051600160a060020a033316917fb6c0eca8138e097d71e2dd31e19a1266487f0553f170b7260ffe68bcbe9ff8a7919081900360200190a25050565b60045481565b60095481565b600a5460ff1681565b600054600160a060020a031681565b600254600160a060020a031681565b600080548190819033600160a060020a03908116911614610a6b57600080fd5b60075460ff161515600114610a7f57600080fd5b60008411610a8c57600080fd5b60005433600160a060020a03908116911614610aa757600080fd5b600160a060020a0385161515610abc57600080fd5b600654610acf908563ffffffff610d2416565b600454909250821115610ae157600080fd5b6006829055600154604080517f40c10f19000000000000000000000000000000000000000000000000000000008152600160a060020a03888116600483015260248201889052915191909216916340c10f199160448083019260209291908290030181600087803b158015610b5557600080fd5b505af1158015610b69573d6000803e3d6000fd5b505050506040513d6020811015610b7f57600080fd5b50519050801515610b8f57600080fd5b84600160a060020a031630600160a060020a03167f918348ece72b49a58054829fde7465a1e06386019b2a981c2daee97b0f795ede866040518082815260200191505060405180910390a3506001949350505050565b600b6020526000908152604090205481565b60055481565b60005433600160a060020a03908116911614610c1857600080fd5b600160a060020a0381161515610c2d57600080fd5b60005433600160a060020a03908116911614610c4857600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60065481565b600154600160a060020a031681565b600854421015610cd457600080fd5b6009544210610ce257600080fd5b600160a060020a0382161515610cf757600080fd5b801515610d0357600080fd5b5050565b6000610d1e60035483610d8990919063ffffffff16565b92915050565b600082820183811015610d3357fe5b8091505b5092915050565b600254604051600160a060020a03909116903480156108fc02916000818181858888f1935050505015801561078f573d6000803e3d6000fd5b600082821115610d8357fe5b50900390565b600080831515610d9c5760009150610d37565b50828202828482811515610dac57fe5b0414610d3357fe00a165627a7a723058201c33262d42051211ecc64c850de6aa1cd460e5411e1d63713862e227b2880fdd0029

Swarm Source

bzzr://1c33262d42051211ecc64c850de6aa1cd460e5411e1d63713862e227b2880fdd

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.