Sponsored Link:   DocTailor - Legal Self Customisable Smart Contract Platform - Bridging the Gap Between Business & Cryptocurrency Holders - Join Now!
Contract Overview
ETH Balance: 0 Ether
ETH USD Value: $0
No Of Transactions: 47 txns
Token Contract (ERC20): Tulip Mania (BULB)
  Latest 25 txns from a total Of 47 transactions View All

TxHash Age From To Value [TxFee]
0x7eaeb11c5dff98227b6959ab78b625ca12fd225b1ba787feb6ebd5cf777d27f675 days 20 hrs ago0xafc92f4e8730163220c44657747316c929faabe1  IN   0x5b5afaa565aba14833de0cee321e63a807fd407b0 Ether0.000023349
0xddecf2778a38866c023f1eb2f6cee66774587f8185a2f72244429c599d5b25c175 days 20 hrs ago0xafc92f4e8730163220c44657747316c929faabe1  IN   0x5b5afaa565aba14833de0cee321e63a807fd407b0 Ether0.000023349
0x318eac79f5ba11166b24c181e156602ae5784f1a04829fb256e6a87a85de904275 days 21 hrs ago0xafc92f4e8730163220c44657747316c929faabe1  IN   0x5b5afaa565aba14833de0cee321e63a807fd407b0 Ether0.000023349
0xb8f781ce4dbdf1bca9a4e46a1c1d401e2c8e4369b5844fc44eaadfe43c393dfa75 days 21 hrs ago0xafc92f4e8730163220c44657747316c929faabe1  IN   0x5b5afaa565aba14833de0cee321e63a807fd407b0 Ether0.000023439
0x5969e5c754b39fed56380ac8ea58d5c0d79c870a210c11f9604e6ffda3b7f00175 days 21 hrs ago0xafc92f4e8730163220c44657747316c929faabe1  IN   0x5b5afaa565aba14833de0cee321e63a807fd407b0 Ether0.000023349
0x2a2b030b9def7d6e946fc85274b3ceea542802702ca2196dbebfbc2cf9f7a86f75 days 21 hrs ago0xafc92f4e8730163220c44657747316c929faabe1  IN   0x5b5afaa565aba14833de0cee321e63a807fd407b0 Ether0.000023349
0xb2df561697f25acd7292bf570a8777afa32e591c09e9204ba909d5f95e813da294 days 11 hrs ago0xafc92f4e8730163220c44657747316c929faabe1  IN   0x5b5afaa565aba14833de0cee321e63a807fd407b0 Ether0.000546227
0x5b41c47f7524f48069e22fba9bc2316fc76c8dab3f45ea66c40faa6b6614f12294 days 11 hrs ago0xafc92f4e8730163220c44657747316c929faabe1  IN   0x5b5afaa565aba14833de0cee321e63a807fd407b0 Ether0.001219621
0xc427fc59706319e7b6f1798e90babf94cb458873151a3e57df35170c32f6b69b94 days 11 hrs ago0xafc92f4e8730163220c44657747316c929faabe1  IN   0x5b5afaa565aba14833de0cee321e63a807fd407b0 Ether0.000546227
0x5d27cee5e0f18506e42fc1aab23400e9a29ac8b7977e20ab1a2c6391f007f88e94 days 11 hrs ago0xafc92f4e8730163220c44657747316c929faabe1  IN   0x5b5afaa565aba14833de0cee321e63a807fd407b0 Ether0.000539097
0xcdf7689a1f91caaa809899fd9200daf4d27135a20d81cf9c0e66a6cdb099c5ca94 days 11 hrs ago0xafc92f4e8730163220c44657747316c929faabe1  IN   0x5b5afaa565aba14833de0cee321e63a807fd407b0 Ether0.000346587
0x7cc8c06a461dfbb6a6b172421bae2c04dd386b99220629fefb5f7fc973de8fab94 days 11 hrs ago0xafc92f4e8730163220c44657747316c929faabe1  IN   0x5b5afaa565aba14833de0cee321e63a807fd407b0 Ether0.000545698
0x2d9371093d164249f2c6a12cf66475cfe7af190713230a2d44063530f1fe648e94 days 12 hrs ago0xafc92f4e8730163220c44657747316c929faabe1  IN   0x5b5afaa565aba14833de0cee321e63a807fd407b0 Ether0.000539097
0xffdca1bec062d04630e50146c564f18cef61bf8bb67f2f189193906b2f43941f94 days 12 hrs ago0xafc92f4e8730163220c44657747316c929faabe1  IN   0x5b5afaa565aba14833de0cee321e63a807fd407b0 Ether0.000545698
0x2f6fb9f6fccac1209b9abfa5f35acbff445ffce4f43b721992093dc44a1b4c2b94 days 19 hrs ago0xafc92f4e8730163220c44657747316c929faabe1  IN   0x5b5afaa565aba14833de0cee321e63a807fd407b0 Ether0.000605228
0x17a0310aa2ccc410afaea29c0f2f7d19d941232d90da2e268247459b72c27ac494 days 19 hrs ago0xafc92f4e8730163220c44657747316c929faabe1  IN   0x5b5afaa565aba14833de0cee321e63a807fd407b0 Ether0.000605228
0x0ae97a547047bea10efff5c3715d128e89f5f5e6d3a5ae09a2bf71cd910aa04b94 days 19 hrs ago0xafc92f4e8730163220c44657747316c929faabe1  IN   0x5b5afaa565aba14833de0cee321e63a807fd407b0 Ether0.000636844
0x813ecf42ecb5d11edf921c97ff988a5eae79ff57a57e9971345c91c637ba2a3c94 days 19 hrs ago0xafc92f4e8730163220c44657747316c929faabe1  IN   0x5b5afaa565aba14833de0cee321e63a807fd407b0 Ether0.000621868
0xddb63db88b4d46c51ebca0bb6700e0d3475a77d5562815315732ea385ad4d78998 days 22 hrs ago0xafc92f4e8730163220c44657747316c929faabe1  IN   0x5b5afaa565aba14833de0cee321e63a807fd407b0 Ether0.000621868
0x8ffa6c2cb17d17e69f19c041436aadcbc1632485ed75c92e6de5383972b9a54d98 days 23 hrs ago0xafc92f4e8730163220c44657747316c929faabe1  IN   0x5b5afaa565aba14833de0cee321e63a807fd407b0 Ether0.00062686
0x63b5a07af00d7ef669e428e318f7c11ca40ac2fdce058f84a8f3eab2bb51ac3899 days 1 hr ago0xafc92f4e8730163220c44657747316c929faabe1  IN   0x5b5afaa565aba14833de0cee321e63a807fd407b0 Ether0.00007233
0xbc57500a46466f7feb41560a44d89b602d7fb0d9c9efa4c25f7a9eb124651c0e99 days 2 hrs ago0xafc92f4e8730163220c44657747316c929faabe1  IN   0x5b5afaa565aba14833de0cee321e63a807fd407b0 Ether0.000071754
0xe430e0f74757ab27702df15056ef946dc7b11baad833816508c026cb1fea1f49100 days 4 hrs ago0xafc92f4e8730163220c44657747316c929faabe1  IN   0x5b5afaa565aba14833de0cee321e63a807fd407b0 Ether0.000071754
0xca656501f606039a23a2f404dd42ff8faacbed13c62bc3e820cff8efd5dd5859117 days 8 hrs ago0xb2c081029f8e79ca1e96c05b09c901bfea4ebe5c  IN   0x5b5afaa565aba14833de0cee321e63a807fd407b0 Ether0.000073044
0xe230ff80807498bd215e9ca3a1955ae3d8cda93713a7c4b061faf5593c7882a1117 days 11 hrs ago0xb2c081029f8e79ca1e96c05b09c901bfea4ebe5c  IN   0x5b5afaa565aba14833de0cee321e63a807fd407b0 Ether0.000024348
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
  Latest 15 Internal Transactions

ParentTxHash Block Age From To Value
0x66a8a6a503476e26da2f462c0827b182d70a6ec5553aa4ae9c48b7f7204210c04766708126 days 21 hrs ago0x5b5afaa565aba14833de0cee321e63a807fd407b0xafc92f4e8730163220c44657747316c929faabe10.015 Ether
0xd06d6156ff5eb930c2ea8a65e80ad9f2f45af6b78b6abb8a15014cc7381186934746502130 days 11 hrs ago0x5b5afaa565aba14833de0cee321e63a807fd407b0xafc92f4e8730163220c44657747316c929faabe10.01 Ether
0x09670647ac5246fca3ba131f575bb0f249519d182f8b58573c9f6b985d9eb7d74640072148 days 17 hrs ago0x5b5afaa565aba14833de0cee321e63a807fd407b0xafc92f4e8730163220c44657747316c929faabe10.033 Ether
0x2afe2508894fc0dad27eb1d0cf2da69946961bc04c54c66cd2a5ad550f71556b4621470151 days 18 hrs ago0x5b5afaa565aba14833de0cee321e63a807fd407b0xafc92f4e8730163220c44657747316c929faabe10.05 Ether
0x8e7a82710016927f85cfb1b74dc65177990376ad0f801d18f95b9159082da8234613950152 days 23 hrs ago0x5b5afaa565aba14833de0cee321e63a807fd407b0xafc92f4e8730163220c44657747316c929faabe11 Ether
0x6c84d451d9b766f250b086d4daeab123ac70ac26a2f9766b99b182f095f22b514611509153 days 9 hrs ago0x5b5afaa565aba14833de0cee321e63a807fd407b0xafc92f4e8730163220c44657747316c929faabe10.006 Ether
0xb98e37cf630434ddbd1f808206d63e9d086bc456a4ca1b71c5f1e8d070dbd4994602041154 days 21 hrs ago0x5b5afaa565aba14833de0cee321e63a807fd407b0xafc92f4e8730163220c44657747316c929faabe10.5 Ether
0x2bf0ba51dcbcd09e6ec91a5f85e3da55e0107ac2c2d9f9f8db2c05a62f3f3cd44599741155 days 6 hrs ago0x5b5afaa565aba14833de0cee321e63a807fd407b0xafc92f4e8730163220c44657747316c929faabe10.092205129 Ether
0x6cf510b5ec043d2077e6693170a73222ec02351e7e2a6bd735dca1e20736c9bd4598365155 days 11 hrs ago0x5b5afaa565aba14833de0cee321e63a807fd407b0xafc92f4e8730163220c44657747316c929faabe10.195809171 Ether
0xc1598679dfe5a142abcab8413c2b786661f50e3f07faeaa4e0042a309c69b68b4598257155 days 12 hrs ago0x5b5afaa565aba14833de0cee321e63a807fd407b0xafc92f4e8730163220c44657747316c929faabe10.2 Ether
0x9f13553bd57e2003ded81281dccd23ddd651f3bc6b7ee773e55ddd2e6a4d63834567333160 days 11 hrs ago0x5b5afaa565aba14833de0cee321e63a807fd407b0xafc92f4e8730163220c44657747316c929faabe10.1 Ether
0x9f0c6669c4a41f1892784f37efba6cbf69098872bbd47aafced1913e765dfd404559762161 days 17 hrs ago0x5b5afaa565aba14833de0cee321e63a807fd407b0xafc92f4e8730163220c44657747316c929faabe10.02 Ether
0x3f80ed0fd475aa123d82a099395fac4a5ddf65cc573ceafd40af96db6a50bdb54559595161 days 17 hrs ago0x5b5afaa565aba14833de0cee321e63a807fd407b0xafc92f4e8730163220c44657747316c929faabe10.56596657 Ether
0x40946b49e2a0f38f319925e9a89171df94ec05e197dd1fe03edfbf0c5f7e97c74558053161 days 23 hrs ago0x5b5afaa565aba14833de0cee321e63a807fd407b0xafc92f4e8730163220c44657747316c929faabe10.1 Ether
0xdcae48cd5be20a089c92fee28adb176b6edc582b5baf3ed3b340af3bd811f2f84557946162 days 10 mins ago0x5b5afaa565aba14833de0cee321e63a807fd407b0xafc92f4e8730163220c44657747316c929faabe10.01 Ether
[ Download CSV Export  ] 
Warning: The compiled contract might be susceptible to ZeroFunctionSelector (very low-severity) Solidity compiler bugs.

Contract Source Code Verified (Exact match)
Contract Name: TulipMania
Compiler Version: v0.4.16+commit.d7661dd9
Optimization Enabled: Yes
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts
pragma solidity ^0.4.16;

// ----------------------------------------------------------------------------
//
// BULB TulipMania token public sale contract
//
// For details, please visit: https://tulipmania.co
//
// ----------------------------------------------------------------------------


// ----------------------------------------------------------------------------
//
// SafeMath3
//
// Adapted from https://github.com/OpenZeppelin/zeppelin-solidity/blob/master/contracts/math/SafeMath.sol
// (no need to implement division)
//
// ----------------------------------------------------------------------------

library SafeMath3 {

  function mul(uint a, uint b) internal constant returns (uint c) {
    c = a * b;
    assert( a == 0 || c / a == b );
  }

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

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

}


// ----------------------------------------------------------------------------
//
// Owned contract
//
// ----------------------------------------------------------------------------

contract Owned {

  address public owner;
  address public newOwner;

  // Events ---------------------------

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

  // Modifier -------------------------

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

  // Functions ------------------------

  function Owned() {
    owner = msg.sender;
  }

  function transferOwnership(address _newOwner) onlyOwner {
    require( _newOwner != owner );
    require( _newOwner != address(0x0) );
    OwnershipTransferProposed(owner, _newOwner);
    newOwner = _newOwner;
  }

  function acceptOwnership() {
    require(msg.sender == newOwner);
    OwnershipTransferred(owner, newOwner);
    owner = newOwner;
  }

}


// ----------------------------------------------------------------------------
//
// ERC Token Standard #20 Interface
// https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20-token-standard.md
//
// ----------------------------------------------------------------------------

contract ERC20Interface {

  // Events ---------------------------

  event Transfer(address indexed _from, address indexed _to, uint _value);
  event Approval(address indexed _owner, address indexed _spender, uint _value);

  // Functions ------------------------

  function totalSupply() constant returns (uint);
  function balanceOf(address _owner) constant returns (uint balance);
  function transfer(address _to, uint _value) returns (bool success);
  function transferFrom(address _from, address _to, uint _value) returns (bool success);
  function approve(address _spender, uint _value) returns (bool success);
  function allowance(address _owner, address _spender) constant returns (uint remaining);

}


// ----------------------------------------------------------------------------
//
// ERC Token Standard #20
//
// ----------------------------------------------------------------------------

contract ERC20Token is ERC20Interface, Owned {
  
  using SafeMath3 for uint;

  uint public tokensIssuedTotal = 0;
  mapping(address => uint) balances;
  mapping(address => mapping (address => uint)) allowed;

  // Functions ------------------------

  /* Total token supply */

  function totalSupply() constant returns (uint) {
    return tokensIssuedTotal;
  }

  /* Get the account balance for an address */

  function balanceOf(address _owner) constant returns (uint balance) {
    return balances[_owner];
  }

  /* Transfer the balance from owner's account to another account */

  function transfer(address _to, uint _amount) returns (bool success) {
    // amount sent cannot exceed balance
    require( balances[msg.sender] >= _amount );

    // update balances
    balances[msg.sender] = balances[msg.sender].sub(_amount);
    balances[_to]        = balances[_to].add(_amount);

    // log event
    Transfer(msg.sender, _to, _amount);
    return true;
  }

  /* Allow _spender to withdraw from your account up to _amount */

  function approve(address _spender, uint _amount) returns (bool success) {
    // approval amount cannot exceed the balance
    require ( balances[msg.sender] >= _amount );
      
    // update allowed amount
    allowed[msg.sender][_spender] = _amount;
    
    // log event
    Approval(msg.sender, _spender, _amount);
    return true;
  }

  /* Spender of tokens transfers tokens from the owner's balance */
  /* Must be pre-approved by owner */

  function transferFrom(address _from, address _to, uint _amount) returns (bool success) {
    // balance checks
    require( balances[_from] >= _amount );
    require( allowed[_from][msg.sender] >= _amount );

    // update balances and allowed amount
    balances[_from]            = balances[_from].sub(_amount);
    allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_amount);
    balances[_to]              = balances[_to].add(_amount);

    // log event
    Transfer(_from, _to, _amount);
    return true;
  }

  /* Returns the amount of tokens approved by the owner */
  /* that can be transferred by spender */

  function allowance(address _owner, address _spender) constant returns (uint remaining) {
    return allowed[_owner][_spender];
  }

}


// ----------------------------------------------------------------------------
//
// TulipMania public token sale
//
// ----------------------------------------------------------------------------

contract TulipMania is ERC20Token {

  /* Utility variable */
  
  uint constant E6 = 10**6;
  
  /* Basic token data */

  string public constant name     = "Tulip Mania";
  string public constant symbol   = "BULB";
  uint8  public constant decimals = 6;

  /* Wallet addresses - initially set to owner at deployment */
  
  address public wallet;
  address public adminWallet;

  /* ICO dates */

  uint public constant DATE_PRESALE_START = 1510758000; // 15-Nov-2017 15:00 UTC
  uint public constant DATE_PRESALE_END   = 1511362800; // 22-Nov-2017 15:00 UTC

  uint public constant DATE_ICO_START = 1511362801; // 22-Nov-2017 15:00:01 UTC
  uint public constant DATE_ICO_END   = 1513868400; // 21-Dec-2017 15:00 UTC

  /* ICO tokens per ETH */
  
  uint public tokensPerEth = 336 * E6;
  uint public constant BONUS_PRESALE = 100;

  /* Other ICO parameters */  
  
  uint public constant TOKEN_SUPPLY_TOTAL = 10000000 * E6; // 10M tokens
  uint public constant TOKEN_SUPPLY_ICO   = 8500000 * E6; // 8.5M tokens
  uint public constant TOKEN_SUPPLY_MKT   =  1500000 * E6; //  1.5M tokens

  uint public constant PRESALE_ETH_CAP =  750 ether;

  uint public constant MIN_CONTRIBUTION = 1 ether / 500; // 0.002 Ether
  uint public constant MAX_CONTRIBUTION = 300 ether;

  uint public constant COOLDOWN_PERIOD =  2 days;
  uint public constant CLAWBACK_PERIOD = 2 days;

  /* Crowdsale variables */

  uint public icoEtherReceived = 0; // Ether actually received by the contract

  uint public tokensIssuedIco   = 0;
  uint public tokensIssuedMkt   = 0;
  
  uint public tokensClaimedAirdrop = 0;
  
  /* Keep track of Ether contributed and tokens received during Crowdsale */
  
  mapping(address => uint) public icoEtherContributed;
  mapping(address => uint) public icoTokensReceived;

  /* Keep track of participants who 
  /* - have received their airdropped tokens after a successful ICO */
  /* - or have reclaimed their contributions in case of failed Crowdsale */
  /* - are locked */
  
  mapping(address => bool) public airdropClaimed;
  mapping(address => bool) public refundClaimed;
  mapping(address => bool) public locked;

  // Events ---------------------------
  
  event WalletUpdated(address _newWallet);
  event AdminWalletUpdated(address _newAdminWallet);
  event TokensPerEthUpdated(uint _tokensPerEth);
  event TokensMinted(address indexed _owner, uint _tokens, uint _balance);
  event TokensIssued(address indexed _owner, uint _tokens, uint _balance, uint _etherContributed);
  event Refund(address indexed _owner, uint _amount, uint _tokens);
  event Airdrop(address indexed _owner, uint _amount, uint _balance);
  event LockRemoved(address indexed _participant);

  // Basic Functions ------------------

  /* Initialize (owner is set to msg.sender by Owned.Owned() */

  function TulipMania() {
    require( TOKEN_SUPPLY_ICO + TOKEN_SUPPLY_MKT == TOKEN_SUPPLY_TOTAL );
    wallet = owner;
    adminWallet = owner;
  }

  /* Fallback */
  
  function () payable {
    buyTokens();
  }
  
  // Information functions ------------
  
  /* What time is it? */
  
  function atNow() constant returns (uint) {
    return now;
  }
  
  /* Are tokens transferable? */

  function isTransferable() constant returns (bool transferable) {
     if ( atNow() < DATE_ICO_END + COOLDOWN_PERIOD ) return false;
     return true;
  }
  
  // Lock functions -------------------

  /* Manage locked */

  function removeLock(address _participant) {
    require( msg.sender == adminWallet || msg.sender == owner );
    locked[_participant] = false;
    LockRemoved(_participant);
  }

  function removeLockMultiple(address[] _participants) {
    require( msg.sender == adminWallet || msg.sender == owner );
    for (uint i = 0; i < _participants.length; i++) {
      locked[_participants[i]] = false;
      LockRemoved(_participants[i]);
    }
  }

  // Owner Functions ------------------
  
  /* Change the crowdsale wallet address */

  function setWallet(address _wallet) onlyOwner {
    require( _wallet != address(0x0) );
    wallet = _wallet;
    WalletUpdated(wallet);
  }

  /* Change the admin wallet address */

  function setAdminWallet(address _wallet) onlyOwner {
    require( _wallet != address(0x0) );
    adminWallet = _wallet;
    AdminWalletUpdated(adminWallet);
  }

  /* Change tokensPerEth before ICO start */
  
  function updateTokensPerEth(uint _tokensPerEth) onlyOwner {
    require( atNow() < DATE_PRESALE_START );
    tokensPerEth = _tokensPerEth;
    TokensPerEthUpdated(_tokensPerEth);
  }

  /* Minting of marketing tokens by owner */

  function mintMarketing(address _participant, uint _tokens) onlyOwner {
    // check amount
    require( _tokens <= TOKEN_SUPPLY_MKT.sub(tokensIssuedMkt) );
    
    // update balances
    balances[_participant] = balances[_participant].add(_tokens);
    tokensIssuedMkt        = tokensIssuedMkt.add(_tokens);
    tokensIssuedTotal      = tokensIssuedTotal.add(_tokens);
    
    // locked
    locked[_participant] = true;
    
    // log the minting
    Transfer(0x0, _participant, _tokens);
    TokensMinted(_participant, _tokens, balances[_participant]);
  }

  /* Owner clawback of remaining funds after clawback period */
  /* (for use in case of a failed Crowdsale) */
  
  function ownerClawback() external onlyOwner {
    require( atNow() > DATE_ICO_END + CLAWBACK_PERIOD );
    wallet.transfer(this.balance);
  }

  /* Transfer out any accidentally sent ERC20 tokens */

  function transferAnyERC20Token(address tokenAddress, uint amount) onlyOwner returns (bool success) {
      return ERC20Interface(tokenAddress).transfer(owner, amount);
  }

  // Private functions ----------------

  /* Accept ETH during crowdsale (called by default function) */

  function buyTokens() private {
    uint ts = atNow();
    bool isPresale = false;
    bool isIco = false;
    uint tokens = 0;
    
    // minimum contribution
    require( msg.value >= MIN_CONTRIBUTION );
    
    // one address transfer hard cap
    require( icoEtherContributed[msg.sender].add(msg.value) <= MAX_CONTRIBUTION );

    // check dates for presale or ICO
    if (ts > DATE_PRESALE_START && ts < DATE_PRESALE_END) isPresale = true;  
    if (ts > DATE_ICO_START && ts < DATE_ICO_END) isIco = true;  
    require( isPresale || isIco );

    // presale cap in Ether
    if (isPresale) require( icoEtherReceived.add(msg.value) <= PRESALE_ETH_CAP );
    
    // get baseline number of tokens
    tokens = tokensPerEth.mul(msg.value) / 1 ether;
    
    // apply presale bonus
    if (isPresale) {
      tokens = tokens.mul(100 + BONUS_PRESALE) / 100;
    }
    
    // ICO token volume cap
    require( tokensIssuedIco.add(tokens) <= TOKEN_SUPPLY_ICO );

    // register tokens
    balances[msg.sender]          = balances[msg.sender].add(tokens);
    icoTokensReceived[msg.sender] = icoTokensReceived[msg.sender].add(tokens);
    tokensIssuedIco               = tokensIssuedIco.add(tokens);
    tokensIssuedTotal             = tokensIssuedTotal.add(tokens);
    
    // register Ether
    icoEtherReceived                = icoEtherReceived.add(msg.value);
    icoEtherContributed[msg.sender] = icoEtherContributed[msg.sender].add(msg.value);
    
    // locked
    locked[msg.sender] = true;
    
    // log token issuance
    Transfer(0x0, msg.sender, tokens);
    TokensIssued(msg.sender, tokens, balances[msg.sender], msg.value);

    wallet.transfer(this.balance);
  }
  
  // ERC20 functions ------------------

  /* Override "transfer" (ERC20) */

  function transfer(address _to, uint _amount) returns (bool success) {
    require( isTransferable() );
    require( locked[msg.sender] == false );
    require( locked[_to] == false );
    return super.transfer(_to, _amount);
  }
  
  /* Override "transferFrom" (ERC20) */

  function transferFrom(address _from, address _to, uint _amount) returns (bool success) {
    require( isTransferable() );
    require( locked[_from] == false );
    require( locked[_to] == false );
    return super.transferFrom(_from, _to, _amount);
  }

  // External functions ---------------

  /* Reclaiming of funds by contributors in case of a failed crowdsale */
  /* (it will fail if account is empty after ownerClawback) */

  /* While there could not have been any token transfers yet, a contributor */
  /* may have received minted tokens, so the token balance after a refund */ 
  /* may still be positive */
  
  function reclaimFunds() external {
    uint tokens; // tokens to destroy
    uint amount; // refund amount
    
    // ico is finished
    require( atNow() > DATE_ICO_END);
    
    // check if refund has already been claimed
    require( !refundClaimed[msg.sender] );
    
    // check if there is anything to refund
    require( icoEtherContributed[msg.sender] > 0 );
    
    // update variables affected by refund
    tokens = icoTokensReceived[msg.sender];
    amount = icoEtherContributed[msg.sender];

    balances[msg.sender] = balances[msg.sender].sub(tokens);
    tokensIssuedTotal    = tokensIssuedTotal.sub(tokens);
    
    refundClaimed[msg.sender] = true;
    
    // transfer out refund
    msg.sender.transfer(amount);
    
    // log
    Transfer(msg.sender, 0x0, tokens);
    Refund(msg.sender, amount, tokens);
  }

  /* Claiming of "airdropped" tokens in case of successful crowdsale */
  /* Can be done by token holder, or by adminWallet */ 

  function claimAirdrop() external {
    doAirdrop(msg.sender);
  }

  function adminClaimAirdrop(address _participant) external {
    require( msg.sender == adminWallet );
    doAirdrop(_participant);
  }

  function adminClaimAirdropMultiple(address[] _addresses) external {
    require( msg.sender == adminWallet );
    for (uint i = 0; i < _addresses.length; i++) doAirdrop(_addresses[i]);
  }  
  
  function doAirdrop(address _participant) internal {
    uint airdrop = computeAirdrop(_participant);

    require( airdrop > 0 );

    // update balances and token issue volume
    airdropClaimed[_participant] = true;
    balances[_participant] = balances[_participant].add(airdrop);
    tokensIssuedTotal      = tokensIssuedTotal.add(airdrop);
    tokensClaimedAirdrop   = tokensClaimedAirdrop.add(airdrop);
    
    // log
    Airdrop(_participant, airdrop, balances[_participant]);
    Transfer(0x0, _participant, airdrop);
  }

  /* Function to estimate airdrop amount. For some accounts, the value of */
  /* tokens received by calling claimAirdrop() may be less than gas costs */
  
  /* If an account has tokens from the ico, the amount after the airdrop */
  /* will be newBalance = tokens * TOKEN_SUPPLY_ICO / tokensIssuedIco */
      
  function computeAirdrop(address _participant) constant returns (uint airdrop) {
    // return 0 if it's too early
    if ( atNow() < DATE_ICO_END ) return 0;
    
    // return 0 if the airdrop was already claimed
    if( airdropClaimed[_participant] ) return 0;

    // return 0 if the account does not hold any crowdsale tokens
    if( icoTokensReceived[_participant] == 0 ) return 0;
    
    // airdrop amount
    uint tokens = icoTokensReceived[_participant];
    uint newBalance = tokens.mul(TOKEN_SUPPLY_ICO) / tokensIssuedIco;
    airdrop = newBalance - tokens;
  }  

  /* Multiple token transfers from one address to save gas */
  /* (longer _amounts array not accepted = sanity check) */

  function transferMultiple(address[] _addresses, uint[] _amounts) external {
    require( isTransferable() );
    require( locked[msg.sender] == false );
    require( _addresses.length == _amounts.length );
    for (uint i = 0; i < _addresses.length; i++) {
      if (locked[_addresses[i]] == false) super.transfer(_addresses[i], _amounts[i]);
    }
  }  

}

    Contract ABI  
[{"constant":true,"inputs":[],"name":"CLAWBACK_PERIOD","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"DATE_PRESALE_START","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"BONUS_PRESALE","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_amount","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isTransferable","outputs":[{"name":"transferable","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"icoEtherContributed","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_wallet","type":"address"}],"name":"setAdminWallet","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"adminWallet","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MIN_CONTRIBUTION","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_participant","type":"address"}],"name":"computeAirdrop","outputs":[{"name":"airdrop","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"PRESALE_ETH_CAP","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_participant","type":"address"}],"name":"removeLock","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"wallet","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"claimAirdrop","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"DATE_PRESALE_END","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokensClaimedAirdrop","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"COOLDOWN_PERIOD","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"TOKEN_SUPPLY_MKT","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_participant","type":"address"},{"name":"_tokens","type":"uint256"}],"name":"mintMarketing","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"atNow","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokensIssuedTotal","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":true,"inputs":[],"name":"MAX_CONTRIBUTION","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"DATE_ICO_START","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_tokensPerEth","type":"uint256"}],"name":"updateTokensPerEth","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_addresses","type":"address[]"},{"name":"_amounts","type":"uint256[]"}],"name":"transferMultiple","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_participant","type":"address"}],"name":"adminClaimAirdrop","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"refundClaimed","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"ownerClawback","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"DATE_ICO_END","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"TOKEN_SUPPLY_ICO","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokensPerEth","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"locked","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"reclaimFunds","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"icoTokensReceived","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"TOKEN_SUPPLY_TOTAL","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"airdropClaimed","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"newOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokensIssuedIco","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"tokenAddress","type":"address"},{"name":"amount","type":"uint256"}],"name":"transferAnyERC20Token","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_wallet","type":"address"}],"name":"setWallet","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"tokensIssuedMkt","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_addresses","type":"address[]"}],"name":"adminClaimAirdropMultiple","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"icoEtherReceived","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":false,"inputs":[{"name":"_participants","type":"address[]"}],"name":"removeLockMultiple","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_newWallet","type":"address"}],"name":"WalletUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_newAdminWallet","type":"address"}],"name":"AdminWalletUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_tokensPerEth","type":"uint256"}],"name":"TokensPerEthUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_owner","type":"address"},{"indexed":false,"name":"_tokens","type":"uint256"},{"indexed":false,"name":"_balance","type":"uint256"}],"name":"TokensMinted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_owner","type":"address"},{"indexed":false,"name":"_tokens","type":"uint256"},{"indexed":false,"name":"_balance","type":"uint256"},{"indexed":false,"name":"_etherContributed","type":"uint256"}],"name":"TokensIssued","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_owner","type":"address"},{"indexed":false,"name":"_amount","type":"uint256"},{"indexed":false,"name":"_tokens","type":"uint256"}],"name":"Refund","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_owner","type":"address"},{"indexed":false,"name":"_amount","type":"uint256"},{"indexed":false,"name":"_balance","type":"uint256"}],"name":"Airdrop","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_participant","type":"address"}],"name":"LockRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"}],"name":"OwnershipTransferProposed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_owner","type":"address"},{"indexed":true,"name":"_spender","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Approval","type":"event"}]

  Contract Creation Code Switch To Opcodes View
60606040526000600255620f424061015002600755600060085560006009556000600a556000600b55341561003357600080fd5b5b5b60008054600160a060020a03191633600160a060020a03161790555b5b60005460058054600160a060020a03909216600160a060020a03199283168117909155600680549092161790555b5b612177806100906000396000f300606060405236156102905763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663021ba8f8811461029c578063023bb74d146102c157806305502a62146102e657806306fdde031461030b578063095ea7b31461039657806318160ddd146103cc5780632121dc75146103f157806323b872dd14610418578063313ce56714610454578063347e26c01461047d57806335082933146104ae57806336b19cd7146104cf57806340650c91146104fe578063436e1e2e14610523578063465a092d146105545780634a387bef14610579578063521eb2731461059a5780635b88349d146105c95780635ef79434146105de578063615ef639146106035780636e99d52f1461029c57806370a082311461064d57806374b433bd1461067e578063763f4011146106a357806379ba5097146106c757806381aea668146106dc57806384ef0778146107015780638da5cb5b1461072657806394d95f8f1461075557806395cc2e8b1461077a57806395d89b411461079f5780639ea407be1461082a578063a05fccef14610842578063a9059cbb1461086e578063ad9df055146108a4578063b557478a146108c5578063b63e93dc146108f8578063c0c133a81461090d578063cbc8ae5f14610932578063cbdd69b514610957578063cbf9fe5f1461097c578063cce4bd52146109af578063ce916d85146109c4578063cef9db6d146109f5578063d1b6dd3014610a1a578063d4ee1d9014610a4d578063d912ebb214610a7c578063dc39d06d14610aa1578063dd62ed3e14610ad7578063deaa59df14610b0e578063e1c1451a14610b2f578063f0e7cf1314610b54578063f21632e114610b74578063f2fde38b14610b99578063fcc1cc9b14610bba575b5b610299610c0b565b5b005b34156102a757600080fd5b6102af610f4a565b60405190815260200160405180910390f35b34156102cc57600080fd5b6102af610f51565b60405190815260200160405180910390f35b34156102f157600080fd5b6102af610f59565b60405190815260200160405180910390f35b341561031657600080fd5b61031e610f5e565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561035b5780820151818401525b602001610342565b50505050905090810190601f1680156103885780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156103a157600080fd5b6103b8600160a060020a0360043516602435610f95565b604051901515815260200160405180910390f35b34156103d757600080fd5b6102af611025565b60405190815260200160405180910390f35b34156103fc57600080fd5b6103b861102c565b604051901515815260200160405180910390f35b341561042357600080fd5b6103b8600160a060020a0360043581169060243516604435611050565b604051901515815260200160405180910390f35b341561045f57600080fd5b6104676110c6565b60405160ff909116815260200160405180910390f35b341561048857600080fd5b6102af600160a060020a03600435166110cb565b60405190815260200160405180910390f35b34156104b957600080fd5b610299600160a060020a03600435166110dd565b005b34156104da57600080fd5b6104e261117e565b604051600160a060020a03909116815260200160405180910390f35b341561050957600080fd5b6102af61118d565b60405190815260200160405180910390f35b341561052e57600080fd5b6102af600160a060020a0360043516611198565b60405190815260200160405180910390f35b341561055f57600080fd5b6102af611259565b60405190815260200160405180910390f35b341561058457600080fd5b610299600160a060020a0360043516611266565b005b34156105a557600080fd5b6104e26112ed565b604051600160a060020a03909116815260200160405180910390f35b34156105d457600080fd5b6102996112fc565b005b34156105e957600080fd5b6102af611308565b60405190815260200160405180910390f35b341561060e57600080fd5b6102af611310565b60405190815260200160405180910390f35b34156102a757600080fd5b6102af610f4a565b60405190815260200160405180910390f35b341561065857600080fd5b6102af600160a060020a036004351661131d565b60405190815260200160405180910390f35b341561068957600080fd5b6102af61133c565b60405190815260200160405180910390f35b34156106ae57600080fd5b610299600160a060020a0360043516602435611346565b005b34156106d257600080fd5b610299611495565b005b34156106e757600080fd5b6102af611521565b60405190815260200160405180910390f35b341561070c57600080fd5b6102af611526565b60405190815260200160405180910390f35b341561073157600080fd5b6104e261152c565b604051600160a060020a03909116815260200160405180910390f35b341561076057600080fd5b6102af61153b565b60405190815260200160405180910390f35b341561078557600080fd5b6102af611548565b60405190815260200160405180910390f35b34156107aa57600080fd5b61031e611550565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561035b5780820151818401525b602001610342565b50505050905090810190601f1680156103885780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561083557600080fd5b610299600435611587565b005b341561084d57600080fd5b61029960246004803582810192908201359181359182019101356115f6565b005b341561087957600080fd5b6103b8600160a060020a03600435166024356116d1565b604051901515815260200160405180910390f35b34156108af57600080fd5b610299600160a060020a0360043516611745565b005b34156108d057600080fd5b6103b8600160a060020a036004351661176d565b604051901515815260200160405180910390f35b341561090357600080fd5b610299611782565b005b341561091857600080fd5b6102af6117f1565b60405190815260200160405180910390f35b341561093d57600080fd5b6102af6117f9565b60405190815260200160405180910390f35b341561096257600080fd5b6102af611803565b60405190815260200160405180910390f35b341561098757600080fd5b6103b8600160a060020a0360043516611809565b604051901515815260200160405180910390f35b34156109ba57600080fd5b61029961181e565b005b34156109cf57600080fd5b6102af600160a060020a03600435166119b0565b60405190815260200160405180910390f35b3415610a0057600080fd5b6102af6119c2565b60405190815260200160405180910390f35b3415610a2557600080fd5b6103b8600160a060020a03600435166119cc565b604051901515815260200160405180910390f35b3415610a5857600080fd5b6104e26119e1565b604051600160a060020a03909116815260200160405180910390f35b3415610a8757600080fd5b6102af6119f0565b60405190815260200160405180910390f35b3415610aac57600080fd5b6103b8600160a060020a03600435166024356119f6565b604051901515815260200160405180910390f35b3415610ae257600080fd5b6102af600160a060020a0360043581169060243516611ab5565b60405190815260200160405180910390f35b3415610b1957600080fd5b610299600160a060020a0360043516611ae2565b005b3415610b3a57600080fd5b6102af611b83565b60405190815260200160405180910390f35b3415610b5f57600080fd5b6102996004803560248101910135611b89565b005b3415610b7f57600080fd5b6102af611be6565b60405190815260200160405180910390f35b3415610ba457600080fd5b610299600160a060020a0360043516611bec565b005b3415610bc557600080fd5b6102996004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843750949650611ca095505050505050565b005b600080600080610c19611521565b93506000925082915081905066071afd498d0000341015610c3957600080fd5b600160a060020a0333166000908152600c6020526040902054681043561a882930000090610c6d903463ffffffff611d8316565b1115610c7857600080fd5b635a0c567084118015610c8e5750635a1590f084105b15610c9857600192505b635a1590f184118015610cae5750635a3bcc7084105b15610cb857600191505b8280610cc15750815b1515610ccc57600080fd5b8215610cfb576008546828a857425466f8000090610cf0903463ffffffff611d8316565b1115610cfb57600080fd5b5b600754670de0b6b3a764000090610d19903463ffffffff611d9716565b811515610d2257fe5b0490508215610d4b576064610d3e8260c863ffffffff611d9716565b811515610d4757fe5b0490505b6009546507bb0f7b080090610d66908363ffffffff611d8316565b1115610d7157600080fd5b600160a060020a033316600090815260036020526040902054610d9a908263ffffffff611d8316565b600160a060020a033316600090815260036020908152604080832093909355600d90522054610dcf908263ffffffff611d8316565b600160a060020a0333166000908152600d6020526040902055600954610dfb908263ffffffff611d8316565b600955600254610e11908263ffffffff611d8316565b600255600854610e27903463ffffffff611d8316565b600855600160a060020a0333166000908152600c6020526040902054610e53903463ffffffff611d8316565b600160a060020a0333166000818152600c602090815260408083209490945560109052828120805460ff19166001179055909160008051602061212c8339815191529084905190815260200160405180910390a3600160a060020a03331660008181526003602052604090819020547fdf61f51b99ff0164245d2ca4eb058f919dbe973d48c3891c93e50183b67f3e1e9184919034905180848152602001838152602001828152602001935050505060405180910390a2600554600160a060020a039081169030163180156108fc0290604051600060405180830381858888f193505050501515610f4357600080fd5b5b50505050565b6202a30081565b635a0c567081565b606481565b60408051908101604052600b81527f54756c6970204d616e6961000000000000000000000000000000000000000000602082015281565b600160a060020a03331660009081526003602052604081205482901015610fbb57600080fd5b600160a060020a03338116600081815260046020908152604080832094881680845294909152908190208590557f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a35060015b92915050565b6002545b90565b6000635a3e6f7061103b611521565b101561104957506000611029565b5060015b90565b600061105a61102c565b151561106557600080fd5b600160a060020a03841660009081526010602052604090205460ff161561108b57600080fd5b600160a060020a03831660009081526010602052604090205460ff16156110b157600080fd5b6110bc848484611dc0565b90505b9392505050565b600681565b600c6020526000908152604090205481565b60005433600160a060020a039081169116146110f857600080fd5b600160a060020a038116151561110d57600080fd5b6006805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383811691909117918290557f65ef617d87f7e47ab080058ac1d5ebf06817bbd817e49898ab9f9532405ecd9b9116604051600160a060020a03909116815260200160405180910390a15b5b50565b600654600160a060020a031681565b66071afd498d000081565b6000806000635a3bcc706111aa611521565b10156111b95760009250611252565b600160a060020a0384166000908152600e602052604090205460ff16156111e35760009250611252565b600160a060020a0384166000908152600d6020526040902054151561120b5760009250611252565b600160a060020a0384166000908152600d6020526040902054600954909250611240836507bb0f7b080063ffffffff611d9716565b81151561124957fe5b04905081810392505b5050919050565b6828a857425466f8000081565b60065433600160a060020a0390811691161480611291575060005433600160a060020a039081169116145b151561129c57600080fd5b600160a060020a03811660008181526010602052604090819020805460ff191690557f064f67e76df103eb3e142dac6110a06fcfc7a01ef2da651312b88eb6f0dd3d28905160405180910390a25b50565b600554600160a060020a031681565b61130533611f1c565b5b565b635a1590f081565b600b5481565b6202a30081565b600160a060020a0381166000908152600360205260409020545b919050565b65015d3ef7980081565b60005433600160a060020a0390811691161461136157600080fd5b600a5461137b9065015d3ef798009063ffffffff61204016565b81111561138757600080fd5b600160a060020a0382166000908152600360205260409020546113b0908263ffffffff611d8316565b600160a060020a038316600090815260036020526040902055600a546113dc908263ffffffff611d8316565b600a556002546113f2908263ffffffff611d8316565b600255600160a060020a038216600081815260106020526040808220805460ff1916600117905560008051602061212c8339815191529084905190815260200160405180910390a3600160a060020a03821660008181526003602052604090819020547f2e8ac5177a616f2aec08c3048f5021e4e9743ece034e8d83ba5caf76688bb475918491905191825260208201526040908101905180910390a25b5b5050565b60015433600160a060020a039081169116146114b057600080fd5b600154600054600160a060020a0391821691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36001546000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039092169190911790555b565b425b90565b60025481565b600054600160a060020a031681565b681043561a882930000081565b635a1590f181565b60408051908101604052600481527f42554c4200000000000000000000000000000000000000000000000000000000602082015281565b60005433600160a060020a039081169116146115a257600080fd5b635a0c56706115af611521565b106115b957600080fd5b60078190557ff7729fa834bbef70b6d3257c2317a562aa88b56c81b544814f93dc5963a2c0038160405190815260200160405180910390a15b5b50565b600061160061102c565b151561160b57600080fd5b600160a060020a03331660009081526010602052604090205460ff161561163157600080fd5b83821461163d57600080fd5b5060005b838110156116c9576010600086868481811061165957fe5b60209081029290920135600160a060020a03168352508101919091526040016000205460ff1615156116c0576116be85858381811061169457fe5b90506020020135600160a060020a031684848481811015156116b257fe5b90506020020135612057565b505b5b600101611641565b5b5050505050565b60006116db61102c565b15156116e657600080fd5b600160a060020a03331660009081526010602052604090205460ff161561170c57600080fd5b600160a060020a03831660009081526010602052604090205460ff161561173257600080fd5b61173c8383612057565b90505b92915050565b60065433600160a060020a0390811691161461176057600080fd5b61117a81611f1c565b5b50565b600f6020526000908152604090205460ff1681565b60005433600160a060020a0390811691161461179d57600080fd5b635a3e6f706117aa611521565b116117b457600080fd5b600554600160a060020a039081169030163180156108fc0290604051600060405180830381858888f19350505050151561130557600080fd5b5b5b565b635a3bcc7081565b6507bb0f7b080081565b60075481565b60106020526000908152604090205460ff1681565b600080635a3bcc7061182e611521565b1161183857600080fd5b600160a060020a0333166000908152600f602052604090205460ff161561185e57600080fd5b600160a060020a0333166000908152600c60205260408120541161188157600080fd5b5050600160a060020a0333166000908152600d6020908152604080832054600c83528184205460039093529220546118bf908363ffffffff61204016565b600160a060020a0333166000908152600360205260409020556002546118eb908363ffffffff61204016565b600255600160a060020a0333166000818152600f602052604090819020805460ff1916600117905582156108fc0290839051600060405180830381858888f19350505050151561193a57600080fd5b600033600160a060020a031660008051602061212c8339815191528460405190815260200160405180910390a333600160a060020a03167f73f04af9dcc582a923ec15d3eea990fe34adabfff2879e28d44572e01a54abb6828460405191825260208201526040908101905180910390a25b5050565b600d6020526000908152604090205481565b6509184e72a00081565b600e6020526000908152604090205460ff1681565b600154600160a060020a031681565b60095481565b6000805433600160a060020a03908116911614611a1257600080fd5b60008054600160a060020a038086169263a9059cbb92909116908590604051602001526040517c010000000000000000000000000000000000000000000000000000000063ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515611a9157600080fd5b6102c65a03f11515611aa257600080fd5b50505060405180519150505b5b92915050565b600160a060020a038083166000908152600460209081526040808320938516835292905220545b92915050565b60005433600160a060020a03908116911614611afd57600080fd5b600160a060020a0381161515611b1257600080fd5b6005805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383811691909117918290557f4edbfac5b40fe46ac1af1fd222b224b38cfeeb9e21bd4fc6344526c245f7549b9116604051600160a060020a03909116815260200160405180910390a15b5b50565b600a5481565b60065460009033600160a060020a03908116911614611ba757600080fd5b5060005b81811015611be057611bd7838383818110611bc257fe5b90506020020135600160a060020a0316611f1c565b5b600101611bab565b5b505050565b60085481565b60005433600160a060020a03908116911614611c0757600080fd5b600054600160a060020a0382811691161415611c2257600080fd5b600160a060020a0381161515611c3757600080fd5b600054600160a060020a0380831691167ff4e75b79500ab730f8a026ed3cba6d55331bcb64c9e9f60c548e371356e5e3c060405160405180910390a36001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b50565b60065460009033600160a060020a0390811691161480611cce575060005433600160a060020a039081169116145b1515611cd957600080fd5b5060005b815181101561149057600060106000848481518110611cf857fe5b90602001906020020151600160a060020a031681526020810191909152604001600020805460ff1916911515919091179055818181518110611d3657fe5b90602001906020020151600160a060020a03167f064f67e76df103eb3e142dac6110a06fcfc7a01ef2da651312b88eb6f0dd3d2860405160405180910390a25b600101611cdd565b5b5050565b8181018281101561101f57fe5b5b92915050565b818102821580611db15750818382811515611dae57fe5b04145b151561101f57fe5b5b92915050565b600160a060020a03831660009081526003602052604081205482901015611de657600080fd5b600160a060020a038085166000908152600460209081526040808320339094168352929052205482901015611e1a57600080fd5b600160a060020a038416600090815260036020526040902054611e43908363ffffffff61204016565b600160a060020a0380861660009081526003602090815260408083209490945560048152838220339093168252919091522054611e86908363ffffffff61204016565b600160a060020a0380861660009081526004602090815260408083203385168452825280832094909455918616815260039091522054611ecc908363ffffffff611d8316565b600160a060020a038085166000818152600360205260409081902093909355919086169060008051602061212c8339815191529085905190815260200160405180910390a35060015b9392505050565b6000611f2782611198565b905060008111611f3657600080fd5b600160a060020a0382166000908152600e60209081526040808320805460ff191660011790556003909152902054611f74908263ffffffff611d8316565b600160a060020a038316600090815260036020526040902055600254611fa0908263ffffffff611d8316565b600255600b54611fb6908263ffffffff611d8316565b600b55600160a060020a03821660008181526003602052604090819020547fada993ad066837289fe186cd37227aa338d27519a8a1547472ecb9831486d272918491905191825260208201526040908101905180910390a281600160a060020a0316600060008051602061212c8339815191528360405190815260200160405180910390a35b5050565b60008282111561204c57fe5b508082035b92915050565b600160a060020a0333166000908152600360205260408120548290101561207d57600080fd5b600160a060020a0333166000908152600360205260409020546120a6908363ffffffff61204016565b600160a060020a0333811660009081526003602052604080822093909355908516815220546120db908363ffffffff611d8316565b600160a060020a03808516600081815260036020526040908190209390935591339091169060008051602061212c8339815191529085905190815260200160405180910390a35060015b929150505600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a723058201a78e32ba9f8e35e2335058600f6882875a36440c2fe88e0ee97a10bd7d22ce10029

   Swarm Source:
bzzr://1a78e32ba9f8e35e2335058600f6882875a36440c2fe88e0ee97a10bd7d22ce1

 

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.