Contract 0xef68e7c694f40c8202821edf525de3782458639f

 

Contract Overview

Loopring
Balance:
0 Ether

EtherValue:
$0

Token:
TxHash Block Age From To Value [TxFee]
0x00c12a567c459a72a17660a1659ba30f11e73462d18a7e4a7caf52bb7113df7e74064216 mins ago0x0a8bfb397b8039304a0cc304085ba42859ba36d0 IN  Loopring0 Ether0.001292025
0x3ebc2b0ee1135c331452dee3d3e800c60a43bcf4bc806b4945f26e143fad08a9740640411 mins ago0x5d55fc486cc25e427a1db1b386304843130da9b4 IN  Loopring0 Ether0.000258405
0xb0230b9cce09fb345da5b28e2e2f39e6a137c0a656844d67cb1db547daae6d6b740640411 mins ago0x371a8134b6c842ea02524ba2bc4e93b6f2beccbb IN  Loopring0 Ether0.0004383
0x8d335ec0b3034ed38d1aacfd57abf2632a283959ed138e7b3d49d83fd9e7df36740637020 mins ago0xee8274446df799211977e614560ac7b70cd9b261 IN  Loopring0 Ether0.0004383
0xf3fdb4608a7ed6c0683d61a86ed5578ca81f1989f2e2aea89992181ed655bcb4740636622 mins agoGate.io 1 IN  Loopring0 Ether0.0003997455
0x5bfc0312f5081e2200b60365e585f0c9bc1e3ba3f91a6522ccbe6882e6f9fb21740634227 mins agoGate.io 1 IN  Loopring0 Ether0.0002842455
0x204302d70fabfda680580b6ba89c363b64f3ca9af78146adc7debb8f12da3d07740632131 mins ago0x986ccf5234d9cfbb25246f1a5bfa51f4ccfcb308 IN  Loopring0 Ether0.00043702
0x056987bfdca884698be762e7ea2fb9ad3e784a318c6d2e83c49fbf04ca7d1a47740628738 mins ago0xe4da20601e60a5522dfc1b56448f3566e3a8cc94 IN  Loopring0 Ether0.000257957
0xb8b1636e884bacfe2a609267231215152306347844ebdb20ee43063fab8d08f0740628139 mins ago0xcae9000485f5e732717ad7366577d2b04d479795 IN  Loopring0 Ether0.000357771913
0x1b93b4c34d2c9387d6183b20f4c17bcda74d412b8b4ce2f611c7466f24d80df4740626044 mins ago0x86114b5fd4b226f79aa093f12ec4661f49e03a7b IN  Loopring0 Ether0.00259575
0xa3e96733c0d1252094039f499a4df72a24748c6c540310769337f124795bad6a740620359 mins ago0xac175507a496434031a06474f65698e45eb09032 IN  Loopring0 Ether0.00021851
0xaabd696ff90089e6387d080583c9ab17ddd0e4787f909d38b6e045f5c636958f74061801 hr 4 mins agoGate.io 1 IN  Loopring0 Ether0.0003769029
0x999a9a3b8bf93dc9aa2077766850536f1eeafadb8be15002f5ff0ddf3f375cf374061631 hr 8 mins ago0x3917e32bb03bee065d639d6b94b66547ff50dd85 IN  Loopring0 Ether0.001292025
0xdaef7e5fe13912e32abac4bacac60e187da56b9c666e54d8756c306ba1fbcc9974061471 hr 11 mins ago0x1671a3e4a2519a653e66e827ef6eae690ee86729 IN  Loopring0 Ether0.0004383
0x29ab077a3275c570ca3c2d9ec4b4c0266d4894b1881dfa5942f8de7dec22345674060851 hr 29 mins ago0xf89c839c48e380bff2a57948e549dc79f54e4074 IN  Loopring0 Ether0.000087664383
0xe8fa272939f5aba4e5b2b35432e9f1ab64e841524dd44348123643dd0574448874060831 hr 30 mins ago0x8865a554198061ae372b6bf98c47486c5ad790ac IN  Loopring0 Ether0.000087664383
0x3465ae5b5bfae3a0e2101b3f9f5109b6563ccf4c3ee86a7cf7a1406b9bb0f28374060831 hr 30 mins ago0xea30f982cf8f5fc67c8fa73ea8122279b30a68bc IN  Loopring0 Ether0.000087920395
0xe1a662d3563bd0a6d340aaa5e4885bf9ea1cf29c48eb1270be6f31a39ba00f5b74060821 hr 30 mins ago0x55786ee702227086b312a4afc91ab43e804c173a IN  Loopring0 Ether0.000087664383
0xc7137acac9d796c42c470e75ea1499b1215fd8e97a29cbfd27cecf5cf94f44fe74060821 hr 30 mins ago0xc86d961a91136b917925c529b1bb94f052a598cd IN  Loopring0 Ether0.000087920395
0xed8dfbc22c0987387fce7e48640fa314d0959d6c8ac8edea73ed4d00a1f5434b74060751 hr 31 mins ago0xf96dd7f116880df9d02e2b524fcf95bfe885a513 IN  Loopring0 Ether0.00043702
0x5db6de5850a71247ba8e0fa7c2ca6d143eb31d46e7df7ee652f891063f5ef9b974059871 hr 52 mins ago0x2a3e8b070fb0691b090e9326ae95e029a4776ce4 IN  Loopring0 Ether0.0004383
0x8323a109b3b5109407bc6841c005ec683c735fe21cb38f01ca5657c490b096f574059871 hr 52 mins ago0x1285f034153daa03bc4249786373eee43cba00df IN  Loopring0 Ether0.0004383
0x0fb53f17b835c1f3bbed8ccb955749cf7d79eb345e0d08edec2b280ec8d6afb974059791 hr 53 mins agoBinance 3 IN  Loopring0 Ether0.00207404
0xba56d52399195bcfaf4517a467fba5b94fded902eca860aa942b7afc7763adc574059651 hr 56 mins agoGate.io 1 IN  Loopring0 Ether0.000243639
0xe78c98d78d63d4557b2509573327c83a3b96e1478bcd9f9fd46b2a57ee873e1e74059631 hr 56 mins agoGate.io 1 IN  Loopring0 Ether0.000243639
[ Download CSV Export 

Latest 25 internal transaction, Click here to view more Internal Transactions as a result of Contract Execution

Parent TxHash Block Age From To Value
0x563fe10af69086b73efa003995ddfc899f7399eb696ea29bf0b9d38483cc10114168082580 days 8 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c321039.9 Ether
0x4ea19862a4e036e2d63dd57c13e66a6c502a0a13bf942e6db37eecc69116887c4168082580 days 8 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c321010 Ether
0x00035691a1ff88de5d31044ac6a99fa425abfdd8f3dbd07959e8e7a703a51afc4168079580 days 8 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c32102 Ether
0x06131c985c31a822ee4fc7aac04cdcc3740ff355f6f912303920a63d7c569f804168079580 days 8 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c32100.01 Ether
0x4b76fc288c02b402d58bc779f5794a7fb870e61651dd06386bae0df6f854aaf64168077580 days 8 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c321011 Ether
0x24422c3742742111be4991ff05844c4f827df0d3116a0ded90fc49421411ce854168071580 days 8 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c32101 Ether
0x49c945616444b324188e19f3cf3dc287bd85b7102d77c8fef3e8bc9f37aef9a44168071580 days 8 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c32103.02 Ether
0x9090d964f60e3ac2396967825dc45dd1df594309f42ffe0a878e05c56d4acf664168071580 days 8 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c32100.5 Ether
0x48b7c0711d25e8fd0e6441334f9c615cc0ee9a1466f5cc601a4c714bc041d3784168064580 days 9 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c32102.4 Ether
0x71981693d9467ac501e59dd88ae7dc33d9626e8aa69d2f73fda1d6cf3094f70d4168064580 days 9 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c32101 Ether
0xbb3c131765b167956613269283e8efb5e276610f0a3adcec7e318ea4bf8bde2c4168059580 days 9 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c32101.5 Ether
0x8a02b3207c8cbea6f7ac513d78ab8f4f1912bb491326a2ec232218dc595b84464168059580 days 9 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c321010 Ether
0xc09e69eb20f81c8507c1a27375729b689859afe72d34ab81a5ab78cd1a73fad74168057580 days 9 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c32100.06 Ether
0xfca5dc056c837579ae97ba0e95cd2b61d66727b5e0a024dce1d9d7c85daf4c7e4168054580 days 9 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c32102 Ether
0x9ad229e3b20dcbec16f3da7fd7da7b4399c0964e6b85b55d11be5e4107e3316d4168054580 days 9 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c32100.5 Ether
0x51105d7f4160c4b572128f199b08aa03c8d30fc5fb8919690790763f75b936ca4168051580 days 9 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c32101 Ether
0x41b70620be547e66ecd65ecd1e30c3184c8ef1a01a2cafbbb26bc91d7bdee5114168051580 days 9 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c32104.280637246025 Ether
0xb9ac8c5c972f0513250cc8220c722c0be03b15354b5ae05eeec2f7fe2c18fa5f4168049580 days 9 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c3210389 Ether
0xd935883034b49003083869c44c0ccbe5430dbe3317bf99f6a186d59df5dba7a14168046580 days 9 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c3210284.8 Ether
0x36945d17845a06c94a8ce23e201b446cdb093dfb3839c4ac1f28bda152dd55914168046580 days 9 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c3210330 Ether
0xf5f84bf164dbcea5b6a0747be52680353d8529594f2e73bf07e65f2eee3bf1174168046580 days 9 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c32100.01 Ether
0x2f467860510f9c5b98749c88750473008fc017df0d2ddc612cc1c1bb755102484168046580 days 9 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c32100.5 Ether
0xf96bcbba4cda2e28645167a1a4fd9610ac60a60fbb4161fadd2765eb2b0ab2394168044580 days 9 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c32100.01 Ether
0x897c9850d8c5151c968a638cb388091f9d41f9069c4f4e5209075068ca1be2694168044580 days 9 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c32100.4 Ether
0xe4f25cab5e78fea6e0645d66cf12f406a9f5209e4265edca18cd735fb69abaf14168044580 days 9 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c32101.2198 Ether
[ Download CSV Export 

Contract Source Code Verified (Exact Match)

Contract Name:
LoopringToken

Compiler Version
v0.4.13+commit.fb4cb1a

Optimization Enabled:
No

Runs (Optimizer):
200

Contract Source Code

/*

  Copyright 2017 Loopring Foundation.

  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.

*/
pragma solidity ^0.4.11;

/**
 * @title ERC20Basic
 * @dev Simpler version of ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/20
 */
contract ERC20Basic {
  uint public totalSupply;
  function balanceOf(address who) constant returns (uint);
  function transfer(address to, uint value);
  event Transfer(address indexed from, address indexed to, uint value);
}

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

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

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

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

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

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

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

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

  function assert(bool assertion) internal {
    if (!assertion) {
      throw;
    }
  }
}

/**
 * @title Basic token
 * @dev Basic version of StandardToken, with no allowances. 
 */
contract BasicToken is ERC20Basic {
  using SafeMath for uint;

  mapping(address => uint) balances;

  /**
   * @dev Fix for the ERC20 short address attack.
   */
  modifier onlyPayloadSize(uint size) {
     if(msg.data.length < size + 4) {
       throw;
     }
     _;
  }

  /**
  * @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, uint _value) onlyPayloadSize(2 * 32) {
    balances[msg.sender] = balances[msg.sender].sub(_value);
    balances[_to] = balances[_to].add(_value);
    Transfer(msg.sender, _to, _value);
  }

  /**
  * @dev Gets the balance of the specified address.
  * @param _owner The address to query the the balance of. 
  * @return An uint representing the amount owned by the passed address.
  */
  function balanceOf(address _owner) constant returns (uint balance) {
    return balances[_owner];
  }

}

/**
 * @title ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/20
 */
contract ERC20 is ERC20Basic {
  function allowance(address owner, address spender) constant returns (uint);
  function transferFrom(address from, address to, uint value);
  function approve(address spender, uint value);
  event Approval(address indexed owner, address indexed spender, uint value);
}

/**
 * @title Standard ERC20 token
 *
 * @dev Implemantation of the basic standart token.
 * @dev https://github.com/ethereum/EIPs/issues/20
 * @dev Based on code by FirstBlood: https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol
 */
contract StandardToken is BasicToken, ERC20 {

  mapping (address => mapping (address => uint)) 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 uint the amout of tokens to be transfered
   */
  function transferFrom(address _from, address _to, uint _value) onlyPayloadSize(3 * 32) {
    var _allowance = allowed[_from][msg.sender];

    // Check is not needed because sub(_allowance, _value) will already throw if this condition is not met
    // if (_value > _allowance) throw;

    balances[_to] = balances[_to].add(_value);
    balances[_from] = balances[_from].sub(_value);
    allowed[_from][msg.sender] = _allowance.sub(_value);
    Transfer(_from, _to, _value);
  }

  /**
   * @dev Aprove the passed address to spend the specified amount of tokens on beahlf of msg.sender.
   * @param _spender The address which will spend the funds.
   * @param _value The amount of tokens to be spent.
   */
  function approve(address _spender, uint _value) {

    // To change the approve amount you first have to reduce the addresses`
    //  allowance to zero by calling `approve(_spender, 0)` if it is not
    //  already 0 to mitigate the race condition described here:
    //  https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
    if ((_value != 0) && (allowed[msg.sender][_spender] != 0)) throw;

    allowed[msg.sender][_spender] = _value;
    Approval(msg.sender, _spender, _value);
  }

  /**
   * @dev Function to check the amount of tokens than 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 uint specifing the amount of tokens still avaible for the spender.
   */
  function allowance(address _owner, address _spender) constant returns (uint remaining) {
    return allowed[_owner][_spender];
  }

}

/// @title Loopring Protocol Token.
/// For more information about this token sale, please visit https://loopring.org
/// @author Kongliang Zhong - <[email protected]>, Daniel Wang - <[email protected]>.
contract LoopringToken is StandardToken {
    string public constant NAME = "LoopringCoin";
    string public constant SYMBOL = "LRC";
    uint public constant DECIMALS = 18;

    /// During token sale, we use one consistent price: 5000 LRC/ETH.
    /// We split the entire token sale period into 10 phases, each
    /// phase has a different bonus setting as specified in `bonusPercentages`.
    /// The real price for phase i is `(1 + bonusPercentages[i]/100.0) * BASE_RATE`.
    /// The first phase or early-bird phase has a much higher bonus.
    uint8[10] public bonusPercentages = [
        20,
        16,
        14,
        12,
        10,
        8,
        6,
        4,
        2,
        0
    ];

    uint public constant NUM_OF_PHASE = 10;
  
    /// Each phase contains exactly 15250 Ethereum blocks, which is roughly 3 days,
    /// which makes this 10-phase sale period roughly 30 days.
    /// See https://www.ethereum.org/crowdsale#scheduling-a-call
    uint16 public constant BLOCKS_PER_PHASE = 15250;

    /// This is where we hold ETH during this token sale. We will not transfer any Ether
    /// out of this address before we invocate the `close` function to finalize the sale. 
    /// This promise is not guanranteed by smart contract by can be verified with public
    /// Ethereum transactions data available on several blockchain browsers.
    /// This is the only address from which `start` and `close` can be invocated.
    ///
    /// Note: this will be initialized during the contract deployment.
    address public target;

    /// `firstblock` specifies from which block our token sale starts.
    /// This can only be modified once by the owner of `target` address.
    uint public firstblock = 0;

    /// Indicates whether unsold token have been issued. This part of LRC token
    /// is managed by the project team and is issued directly to `target`.
    bool public unsoldTokenIssued = false;

    /// Minimum amount of funds to be raised for the sale to succeed. 
    uint256 public constant GOAL = 50000 ether;

    /// Maximum amount of fund to be raised, the sale ends on reaching this amount.
    uint256 public constant HARD_CAP = 120000 ether;

    /// Maximum unsold ratio, this is hit when the mininum level of amount of fund is raised.
    uint public constant MAX_UNSOLD_RATIO = 675; // 67.5%

    /// Base exchange rate is set to 1 ETH = 5000 LRC.
    uint256 public constant BASE_RATE = 5000;

    /// A simple stat for emitting events.
    uint public totalEthReceived = 0;

    /// Issue event index starting from 0.
    uint public issueIndex = 0;

    /* 
     * EVENTS
     */

    /// Emitted only once after token sale starts.
    event SaleStarted();

    /// Emitted only once after token sale ended (all token issued).
    event SaleEnded();

    /// Emitted when a function is invocated by unauthorized addresses.
    event InvalidCaller(address caller);

    /// Emitted when a function is invocated without the specified preconditions.
    /// This event will not come alone with an exception.
    event InvalidState(bytes msg);

    /// Emitted for each sucuessful token purchase.
    event Issue(uint issueIndex, address addr, uint ethAmount, uint tokenAmount);

    /// Emitted if the token sale succeeded.
    event SaleSucceeded();

    /// Emitted if the token sale failed.
    /// When token sale failed, all Ether will be return to the original purchasing
    /// address with a minor deduction of transaction fee(gas)
    event SaleFailed();

    /*
     * MODIFIERS
     */

    modifier onlyOwner {
        if (target == msg.sender) {
            _;
        } else {
            InvalidCaller(msg.sender);
            throw;
        }
    }

    modifier beforeStart {
        if (!saleStarted()) {
            _;
        } else {
            InvalidState("Sale has not started yet");
            throw;
        }
    }

    modifier inProgress {
        if (saleStarted() && !saleEnded()) {
            _;
        } else {
            InvalidState("Sale is not in progress");
            throw;
        }
    }

    modifier afterEnd {
        if (saleEnded()) {
            _;
        } else {
            InvalidState("Sale is not ended yet");
            throw;
        }
    }

    /**
     * CONSTRUCTOR 
     * 
     * @dev Initialize the Loopring Token
     * @param _target The escrow account address, all ethers will
     * be sent to this address.
     * This address will be : 0x00073F7155459C9205010Cb3453a0f392a0C3210
     */
    function LoopringToken(address _target) {
        target = _target;
    }

    /*
     * PUBLIC FUNCTIONS
     */

    /// @dev Start the token sale.
    /// @param _firstblock The block from which the sale will start.
    function start(uint _firstblock) public onlyOwner beforeStart {
        if (_firstblock <= block.number) {
            // Must specify a block in the future.
            throw;
        }

        firstblock = _firstblock;
        SaleStarted();
    }

    /// @dev Triggers unsold tokens to be issued to `target` address.
    function close() public onlyOwner afterEnd {
        if (totalEthReceived < GOAL) {
            SaleFailed();
        } else {
            issueUnsoldToken();
            SaleSucceeded();
        }
    }

    /// @dev Returns the current price.
    function price() public constant returns (uint tokens) {
        return computeTokenAmount(1 ether);
    }

    /// @dev This default function allows token to be purchased by directly
    /// sending ether to this smart contract.
    function () payable {
        issueToken(msg.sender);
    }

    /// @dev Issue token based on Ether received.
    /// @param recipient Address that newly issued token will be sent to.
    function issueToken(address recipient) payable inProgress {
        // We only accept minimum purchase of 0.01 ETH.
        assert(msg.value >= 0.01 ether);

        uint tokens = computeTokenAmount(msg.value);
        totalEthReceived = totalEthReceived.add(msg.value);
        totalSupply = totalSupply.add(tokens);
        balances[recipient] = balances[recipient].add(tokens);

        Issue(
            issueIndex++,
            recipient,
            msg.value,
            tokens
        );

        if (!target.send(msg.value)) {
            throw;
        }
    }

    /*
     * INTERNAL FUNCTIONS
     */
  
    /// @dev Compute the amount of LRC token that can be purchased.
    /// @param ethAmount Amount of Ether to purchase LRC.
    /// @return Amount of LRC token to purchase
    function computeTokenAmount(uint ethAmount) internal constant returns (uint tokens) {
        uint phase = (block.number - firstblock).div(BLOCKS_PER_PHASE);

        // A safe check
        if (phase >= bonusPercentages.length) {
            phase = bonusPercentages.length - 1;
        }

        uint tokenBase = ethAmount.mul(BASE_RATE);
        uint tokenBonus = tokenBase.mul(bonusPercentages[phase]).div(100);

        tokens = tokenBase.add(tokenBonus);
    }

    /// @dev Issue unsold token to `target` address.
    /// The math is as follows:
    ///   +-------------------------------------------------------------+
    ///   |       Total Ethers Received        |                        |
    ///   +------------------------------------+  Unsold Token Portion  |
    ///   |   Lower Bound   |   Upper Bound    |                        |
    ///   +-------------------------------------------------------------+
    ///   |      50,000     |     60,000       |         67.5%          |
    ///   +-------------------------------------------------------------+
    ///   |      60,000     |     70,000       |         65.0%          |
    ///   +-------------------------------------------------------------+
    ///   |      70,000     |     80,000       |         62.5%          |
    ///   +-------------------------------------------------------------+
    ///   |      80,000     |     90,000       |         60.0%          |
    ///   +-------------------------------------------------------------+
    ///   |      90,000     |    100,000       |         57.5%          |
    ///   +-------------------------------------------------------------+
    ///   |     100,000     |    110,000       |         55.0%          |
    ///   +-------------------------------------------------------------+
    ///   |     110,000     |    120,000       |         52.5%          |
    ///   +-------------------------------------------------------------+
    ///   |     120,000     |                  |         50.0%          |
    ///   +-------------------------------------------------------------+
    function issueUnsoldToken() internal {
        if (unsoldTokenIssued) {
            InvalidState("Unsold token has been issued already");
        } else {
            // Add another safe guard 
            require(totalEthReceived >= GOAL);

            uint level = totalEthReceived.sub(GOAL).div(10000 ether);
            if (level > 7) {
                level = 7;
            }

            uint unsoldRatioInThousand = MAX_UNSOLD_RATIO - 25 * level;


            // Calculate the `unsoldToken` to be issued, the amount of `unsoldToken`
            // is based on the issued amount, that is the `totalSupply`, during 
            // the sale:
            //                   totalSupply
            //   unsoldToken = --------------- * r
            //                      1 - r
            uint unsoldToken = totalSupply.div(1000 - unsoldRatioInThousand).mul(unsoldRatioInThousand);

            // Adjust `totalSupply`.
            totalSupply = totalSupply.add(unsoldToken);
            // Issue `unsoldToken` to the target account.
            balances[target] = balances[target].add(unsoldToken);

            Issue(
                issueIndex++,
                target,
                0,
                unsoldToken
            );
            
            unsoldTokenIssued = true;
        }
    }

    /// @return true if sale has started, false otherwise.
    function saleStarted() constant returns (bool) {
        return (firstblock > 0 && block.number >= firstblock);
    }

    /// @return true if sale has ended, false otherwise.
    function saleEnded() constant returns (bool) {
        return firstblock > 0 && (saleDue() || hardCapReached());
    }

    /// @return true if sale is due when the last phase is finished.
    function saleDue() constant returns (bool) {
        return block.number >= firstblock + BLOCKS_PER_PHASE * NUM_OF_PHASE;
    }

    /// @return true if the hard cap is reached.
    function hardCapReached() constant returns (bool) {
        return totalEthReceived >= HARD_CAP;
    }
}

Contract ABI

[{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"bonusPercentages","outputs":[{"name":"","type":"uint8"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"DECIMALS","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"BLOCKS_PER_PHASE","outputs":[{"name":"","type":"uint16"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"MAX_UNSOLD_RATIO","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"HARD_CAP","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"BASE_RATE","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"close","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"saleStarted","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"issueIndex","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"recipient","type":"address"}],"name":"issueToken","outputs":[],"payable":true,"type":"function"},{"constant":false,"inputs":[{"name":"_firstblock","type":"uint256"}],"name":"start","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"hardCapReached","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"saleEnded","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"unsoldTokenIssued","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"price","outputs":[{"name":"tokens","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"GOAL","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"NAME","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalEthReceived","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"saleDue","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"target","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"NUM_OF_PHASE","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"firstblock","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"SYMBOL","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"inputs":[{"name":"_target","type":"address"}],"payable":false,"type":"constructor"},{"payable":true,"type":"fallback"},{"anonymous":false,"inputs":[],"name":"SaleStarted","type":"event"},{"anonymous":false,"inputs":[],"name":"SaleEnded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"caller","type":"address"}],"name":"InvalidCaller","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"msg","type":"bytes"}],"name":"InvalidState","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"issueIndex","type":"uint256"},{"indexed":false,"name":"addr","type":"address"},{"indexed":false,"name":"ethAmount","type":"uint256"},{"indexed":false,"name":"tokenAmount","type":"uint256"}],"name":"Issue","type":"event"},{"anonymous":false,"inputs":[],"name":"SaleSucceeded","type":"event"},{"anonymous":false,"inputs":[],"name":"SaleFailed","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"},{"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"}]

Contract Creation Code

606060405261014060405190810160405280601460ff168152602001601060ff168152602001600e60ff168152602001600c60ff168152602001600a60ff168152602001600860ff168152602001600660ff168152602001600460ff168152602001600260ff168152602001600060ff16815250600390600a6200008592919062000123565b5060006005556000600660006101000a81548160ff021916908315150217905550600060075560006008553415620000bc57600080fd5b60405160208062001cd6833981016040528080519060200190919050505b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50620001f7565b82600a601f01602090048101928215620001b15791602002820160005b838211156200018057835183826101000a81548160ff021916908360ff160217905550926020019260010160208160000104928301926001030262000140565b8015620001af5782816101000a81549060ff021916905560010160208160000104928301926001030262000180565b505b509050620001c09190620001c4565b5090565b620001f491905b80821115620001f057600081816101000a81549060ff021916905550600101620001cb565b5090565b90565b611acf80620002076000396000f30060606040523615610173576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063095ea7b31461018557806318160ddd146101c75780631e85107c146101f057806323b872dd1461022d5780632e0f26251461028e5780632e5ab94f146102b75780632f969d43146102e85780633a03171c1461031157806341910f901461033a57806343d726d6146103635780635c474f9e146103785780636a28f828146103a557806370a08231146103ce578063890340821461041b57806395805dad146104495780639762f8021461046c5780639b8906ae146104995780639d0f17c8146104c6578063a035b1fe146104f3578063a1bed0be1461051c578063a3f4df7e14610545578063a9059cbb146105d4578063a9a18dda14610616578063bea4ae881461063f578063d4b839921461066c578063dbefe789146106c1578063dd62ed3e146106ea578063e85365d514610756578063f76f8d781461077f575b6101835b6101803361080e565b5b565b005b341561019057600080fd5b6101c5600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610a7c565b005b34156101d257600080fd5b6101da610bff565b6040518082815260200191505060405180910390f35b34156101fb57600080fd5b6102116004808035906020019091905050610c05565b604051808260ff1660ff16815260200191505060405180910390f35b341561023857600080fd5b61028c600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610c2f565b005b341561029957600080fd5b6102a1610ef1565b6040518082815260200191505060405180910390f35b34156102c257600080fd5b6102ca610ef6565b604051808261ffff1661ffff16815260200191505060405180910390f35b34156102f357600080fd5b6102fb610efc565b6040518082815260200191505060405180910390f35b341561031c57600080fd5b610324610f02565b6040518082815260200191505060405180910390f35b341561034557600080fd5b61034d610f10565b6040518082815260200191505060405180910390f35b341561036e57600080fd5b610376610f16565b005b341561038357600080fd5b61038b6110d7565b604051808215151515815260200191505060405180910390f35b34156103b057600080fd5b6103b86110f2565b6040518082815260200191505060405180910390f35b34156103d957600080fd5b610405600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506110f8565b6040518082815260200191505060405180910390f35b610447600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061080e565b005b341561045457600080fd5b61046a6004808035906020019091905050611142565b005b341561047757600080fd5b61047f6112cc565b604051808215151515815260200191505060405180910390f35b34156104a457600080fd5b6104ac6112e4565b604051808215151515815260200191505060405180910390f35b34156104d157600080fd5b6104d9611310565b604051808215151515815260200191505060405180910390f35b34156104fe57600080fd5b610506611323565b6040518082815260200191505060405180910390f35b341561052757600080fd5b61052f61133c565b6040518082815260200191505060405180910390f35b341561055057600080fd5b61055861134a565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105995780820151818401525b60208101905061057d565b50505050905090810190601f1680156105c65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156105df57600080fd5b610614600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611383565b005b341561062157600080fd5b61062961152f565b6040518082815260200191505060405180910390f35b341561064a57600080fd5b610652611535565b604051808215151515815260200191505060405180910390f35b341561067757600080fd5b61067f61154e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156106cc57600080fd5b6106d4611574565b6040518082815260200191505060405180910390f35b34156106f557600080fd5b610740600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611579565b6040518082815260200191505060405180910390f35b341561076157600080fd5b610769611601565b6040518082815260200191505060405180910390f35b341561078a57600080fd5b610792611607565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156107d35780820151818401525b6020810190506107b7565b50505050905090810190601f1680156108005780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b60006108186110d7565b801561082957506108276112e4565b155b15610a0a57662386f26fc10000341015151561084157fe5b61084a34611640565b9050610861346007546116fc90919063ffffffff16565b60078190555061087c816000546116fc90919063ffffffff16565b6000819055506108d481600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116fc90919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507fe316e9c07bf6ee91102f762d73f95b6cab9dcc157278814c7408906855c6a3a66008600081548092919060010191905055833484604051808581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200182815260200194505050505060405180910390a1600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f193505050501515610a0457600080fd5b5b610a77565b7fa24636c18e73457917a92dad223d797b84c2f7a4bdd82892f15a8c4cd9aec1b76040518080602001828103825260178152602001807f53616c65206973206e6f7420696e2070726f677265737300000000000000000081525060200191505060405180910390a1600080fd5b5b5050565b60008114158015610b0a57506000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414155b15610b1457600080fd5b80600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a35b5050565b60005481565b600381600a81101515610c1457fe5b602091828204019190065b915054906101000a900460ff1681565b600060606004810160003690501015610c4757600080fd5b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549150610d1883600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116fc90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610dad83600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461171b90919063ffffffff16565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610e03838361171b90919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a35b5b5050505050565b601281565b613b9281565b6102a381565b691969368974c05b00000081565b61138881565b3373ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561106c57610f746112e4565b15610ff957690a968163f0a57b4000006007541015610fbe577f100c98fe43bef515268f854995b9fe23e0d72dbe3f2726094d9f1864ab4afde260405160405180910390a1610ff3565b610fc6611735565b7f0151fbf6d2def4666ab0f87412daa4ac6a67e9fa86a50cfbd7b36b16d72705d960405160405180910390a15b5b611066565b7fa24636c18e73457917a92dad223d797b84c2f7a4bdd82892f15a8c4cd9aec1b76040518080602001828103825260158152602001807f53616c65206973206e6f7420656e64656420796574000000000000000000000081525060200191505060405180910390a1600080fd5b5b6110d4565b7fcbd9d2e0b97a08f1b662bf4d639e76b32edd97a5d890cafbd2b3cf1b803243a433604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1600080fd5b5b565b6000806005541180156110ec57506005544310155b90505b90565b60085481565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b919050565b3373ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415611260576111a06110d7565b15156111ed5743811115156111b457600080fd5b806005819055507f912ee23dde46ec889d6748212cce445d667f7041597691dc89e8549ad8bc0acb60405160405180910390a15b61125a565b7fa24636c18e73457917a92dad223d797b84c2f7a4bdd82892f15a8c4cd9aec1b76040518080602001828103825260188152602001807f53616c6520686173206e6f74207374617274656420796574000000000000000081525060200191505060405180910390a1600080fd5b5b6112c8565b7fcbd9d2e0b97a08f1b662bf4d639e76b32edd97a5d890cafbd2b3cf1b803243a433604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1600080fd5b5b50565b6000691969368974c05b000000600754101590505b90565b60008060055411801561130a57506112fa611535565b8061130957506113086112cc565b5b5b90505b90565b600660009054906101000a900460ff1681565b6000611336670de0b6b3a7640000611640565b90505b90565b690a968163f0a57b40000081565b6040805190810160405280600c81526020017f4c6f6f7072696e67436f696e000000000000000000000000000000000000000081525081565b6040600481016000369050101561139957600080fd5b6113eb82600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461171b90919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061148082600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116fc90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35b5b505050565b60075481565b6000600a613b9261ffff16026005540143101590505b90565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a81565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b92915050565b60055481565b6040805190810160405280600381526020017f4c5243000000000000000000000000000000000000000000000000000000000081525081565b600080600080611663613b9261ffff166005544303611a4390919063ffffffff16565b9250600a83101515611677576001600a0392505b61168c61138886611a5f90919063ffffffff16565b91506116dc60646116ce600386600a811015156116a557fe5b602091828204019190065b9054906101000a900460ff1660ff1685611a5f90919063ffffffff16565b611a4390919063ffffffff16565b90506116f181836116fc90919063ffffffff16565b93505b505050919050565b600080828401905061171084821015611a93565b8091505b5092915050565b600061172983831115611a93565b81830390505b92915050565b6000806000600660009054906101000a900460ff16156117e2577fa24636c18e73457917a92dad223d797b84c2f7a4bdd82892f15a8c4cd9aec1b76040518080602001828103825260248152602001807f556e736f6c6420746f6b656e20686173206265656e2069737375656420616c7281526020017f656164790000000000000000000000000000000000000000000000000000000081525060400191505060405180910390a1611a3d565b690a968163f0a57b400000600754101515156117fd57600080fd5b61183869021e19e0c9bab240000061182a690a968163f0a57b40000060075461171b90919063ffffffff16565b611a4390919063ffffffff16565b9250600783111561184857600792505b826019026102a303915061187d8261186f846103e803600054611a4390919063ffffffff16565b611a5f90919063ffffffff16565b9050611894816000546116fc90919063ffffffff16565b60008190555061190e8160016000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546116fc90919063ffffffff16565b60016000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507fe316e9c07bf6ee91102f762d73f95b6cab9dcc157278814c7408906855c6a3a66008600081548092919060010191905055600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600084604051808581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200182815260200194505050505060405180910390a16001600660006101000a81548160ff0219169083151502179055505b5b505050565b6000808284811515611a5157fe5b0490508091505b5092915050565b6000808284029050611a886000851480611a835750838583811515611a8057fe5b04145b611a93565b8091505b5092915050565b801515611a9f57600080fd5b5b505600a165627a7a72305820c28f0e4dfa60c1f704fec244ecddb7b811aeeeacfae31316717dd89fcca1aa44002900000000000000000000000000073f7155459c9205010cb3453a0f392a0c3210

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

00000000000000000000000000073f7155459c9205010cb3453a0f392a0c3210

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000000073f7155459c9205010cb3453a0f392a0c3210

Swarm Source

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