Contract Overview |  Loopring
Balance: 0 Ether
Ether Value: $0
Transactions: 300147 txns
Token Tracker: Loopring (LRC)
Misc:
Address Watch: Add To Watch List
Contract Creator: 0xd2c4070a3563b0adfef2e6e0a604017f1c2ac3dfat txn 0x0f09ce492bf004a2e07ea6f306431ff63d972c860c975d4baefc3aeb215db965
Token Balance:
 Latest 25 transactions from a total of 300147 transactions
(+2 PendingTxns)

TxHash Age From To Value [TxFee]
0x3acaeeb5e86efd7c987d1e547733c6a504def8c94ecc724fdb91a89cc8e5f2cc(pending)0x0a2311594059b468c9897338b027c8782398b481  IN  0xef68e7c694f40c8202821edf525de3782458639f0 Ether(Pending)
0x65e82aee4785e8323d8f8a90a341ff1428ce827174d3ef816ed1a7434c147d5f(pending)0xe491ac913de350b47d1bfe8928194e1f6ab67c5b  IN  0xef68e7c694f40c8202821edf525de3782458639f0 Ether(Pending)
0x27ac6e9286221c636a324d28ae2aaf30a3392c3871132c055d1c53cf8543893e3 mins ago0x795e612c87f508b8007f367d7ff1779deadd6fde  IN   Loopring0 Ether0.001296505
0xec6bf94391e2b938456cb75b531f6b75a04900a31399c55ba211b1f6cadbc05d17 mins ago0x2a3e8b070fb0691b090e9326ae95e029a4776ce4  IN   Loopring0 Ether0.00043702
0x8171a77b7386aabe1ab64f44588c1d69f5151b345f2a139349ec20f6c1993ef927 mins ago0x0d7a7567ca4889f5ec71dafe476edfa78a497241  IN   Loopring0 Ether0.000087664383
0x0a900cf12c62f661ef046fd7083dd7fb303f4dfea3b460e0b682ae74c87b3f3927 mins ago0x856063824c3683acec8a6ce1b9cc296c6c6c8710  IN   Loopring0 Ether0.00008740837
0x6426b63c74134223e50f50f383d0293ed0bfa83d2bb82c8845fae410ca8eec4f27 mins ago0x97666145be7c1336fa07492a9a2c14249ccca114  IN   Loopring0 Ether0.000087664383
0x0a59dae70602734537120e6692ee819e967c13e884aea34931d39cc933c2d9eb28 mins agoOkex_1  IN   Loopring0 Ether0.001817025
0x0e577eb087e2d4c4e240ded18b2347f539c3012a1f935c03e314b3f7d92f91c634 mins agoBinance_3  IN   Loopring0 Ether0.0020766
0x7f716447b15869c89df5e0ba93d45bdd6903ca54f69f16c6de9485aa4c91f8b743 mins agoGate.io_1  IN   Loopring0 Ether0.000570361
0xab59122dbf9c3a3a3ea180356831593e024d6a7b3c8747c08d9e285d17b1526c51 mins ago0xeb2f4107cbcde416d76e0f2d5a2c84971eac08a1  IN   Loopring0 Ether0.0013149
0x01ee0e4ae09343693f829e4aed66015b3e4cc524399f2aa2d0439c8697519be851 mins ago0xd6e1e7385ad23732feb6675b0d6828165a11afbd  IN   Loopring0 Ether0.0013149
0x155d9eb3deac84b97a80e3dbd7c7b7b25225bf2d709c5ec5b88d4479e48dfe3a51 mins ago0x0000b446bc8b47be5ef8d5ea8964508130e77ce0  IN   Loopring0 Ether0.0013149
0x78e00f8489c311fb60e16554571f6bf7dea45f210fc948b9f230f013b24dae4b51 mins ago0x9fb807d1d9b10d28a5a6381633ed7da6824a66c8  IN   Loopring0 Ether0.0013149
0x267c00f7fbc9dcefd85fce746e0ee2382934c0ff33e64175e40a17deb4ced73351 mins ago0x349627ba8b2db20e9f569e5dde327dbf4339a7da  IN   Loopring0 Ether0.00131874
0xff266da03e39eddbc2a62d22583d08a378f5297f89895baa09da9c48bd19862353 mins agoBinance_2  IN   Loopring0 Ether0.0014766
0x56e75b1956f5d04ee85d353f88a681333711597477796defd62c08063901f9f859 mins agoBinance_3  IN   Loopring0 Ether0.00207916
0x18b16a9fcb788fe8efea7a576d70b9c3a211f8ebd9883b080ece095e110f16201 hr 1 min agoBinance_2  IN   Loopring0 Ether0.0020766
0xbe5b11c523155e169efd5ae7fa6e389cc4839ff4bda6c7d28f3cde000174107b1 hr 1 min agoBinance_2  IN   Loopring0 Ether0.00207148
0xe3c3d467196a91bfce167f73dec385a1c11e52d0c2f47e42f65e870f213dbe511 hr 3 mins agoBinance_3  IN   Loopring0 Ether0.0020766
0xea72e0ce8e41a3d79cd718ad6e1373277a075dc353ac8b7b1dd7f287dec007e31 hr 6 mins ago0x0000b446bc8b47be5ef8d5ea8964508130e77ce0  IN   Loopring0 Ether0.0013149
0x66a30c8365508012db9d937a3087d547e4638e5d04fa863ce4b7476565fd72da1 hr 9 mins agoBinance_3  IN   Loopring0 Ether0.0014766
0xf5f682521d8c72444643f7c40e11257c8156dd9ee9d03e4e0dd67c11938528c01 hr 14 mins agoBinance_2  IN   Loopring0 Ether0.00207148
0x0fabf2d312f2d3982d30a6366adf9d17384d8baf2112fe28560b3290504b3e011 hr 16 mins ago0x9f733ff80b6cf5a6bd2d39ea00980fcdf958f22b  IN   Loopring0 Ether0.001296505
0x2412ab5361f03edcb13333109b47addd1103e3b1b3fdaedcc5182c64349947811 hr 21 mins ago0xeb2f4107cbcde416d76e0f2d5a2c84971eac08a1  IN   Loopring0 Ether0.00131874
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
 Latest 25 Internal Txns, Click here To View More View All
ParentTxHash Block Age From To Value
0x563fe10af69086b73efa003995ddfc899f7399eb696ea29bf0b9d38483cc10114168082524 days 15 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c321039.9 Ether
0x4ea19862a4e036e2d63dd57c13e66a6c502a0a13bf942e6db37eecc69116887c4168082524 days 15 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c321010 Ether
0x00035691a1ff88de5d31044ac6a99fa425abfdd8f3dbd07959e8e7a703a51afc4168079524 days 15 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c32102 Ether
0x06131c985c31a822ee4fc7aac04cdcc3740ff355f6f912303920a63d7c569f804168079524 days 15 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c32100.01 Ether
0x4b76fc288c02b402d58bc779f5794a7fb870e61651dd06386bae0df6f854aaf64168077524 days 15 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c321011 Ether
0x24422c3742742111be4991ff05844c4f827df0d3116a0ded90fc49421411ce854168071524 days 15 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c32101 Ether
0x49c945616444b324188e19f3cf3dc287bd85b7102d77c8fef3e8bc9f37aef9a44168071524 days 15 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c32103.02 Ether
0x9090d964f60e3ac2396967825dc45dd1df594309f42ffe0a878e05c56d4acf664168071524 days 15 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c32100.5 Ether
0x48b7c0711d25e8fd0e6441334f9c615cc0ee9a1466f5cc601a4c714bc041d3784168064524 days 15 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c32102.4 Ether
0x71981693d9467ac501e59dd88ae7dc33d9626e8aa69d2f73fda1d6cf3094f70d4168064524 days 15 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c32101 Ether
0xbb3c131765b167956613269283e8efb5e276610f0a3adcec7e318ea4bf8bde2c4168059524 days 15 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c32101.5 Ether
0x8a02b3207c8cbea6f7ac513d78ab8f4f1912bb491326a2ec232218dc595b84464168059524 days 15 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c321010 Ether
0xc09e69eb20f81c8507c1a27375729b689859afe72d34ab81a5ab78cd1a73fad74168057524 days 15 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c32100.06 Ether
0xfca5dc056c837579ae97ba0e95cd2b61d66727b5e0a024dce1d9d7c85daf4c7e4168054524 days 15 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c32102 Ether
0x9ad229e3b20dcbec16f3da7fd7da7b4399c0964e6b85b55d11be5e4107e3316d4168054524 days 15 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c32100.5 Ether
0x51105d7f4160c4b572128f199b08aa03c8d30fc5fb8919690790763f75b936ca4168051524 days 15 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c32101 Ether
0x41b70620be547e66ecd65ecd1e30c3184c8ef1a01a2cafbbb26bc91d7bdee5114168051524 days 15 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c32104.280637246025 Ether
0xb9ac8c5c972f0513250cc8220c722c0be03b15354b5ae05eeec2f7fe2c18fa5f4168049524 days 15 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c3210389 Ether
0xd935883034b49003083869c44c0ccbe5430dbe3317bf99f6a186d59df5dba7a14168046524 days 15 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c3210284.8 Ether
0x36945d17845a06c94a8ce23e201b446cdb093dfb3839c4ac1f28bda152dd55914168046524 days 15 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c3210330 Ether
0xf5f84bf164dbcea5b6a0747be52680353d8529594f2e73bf07e65f2eee3bf1174168046524 days 15 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c32100.01 Ether
0x2f467860510f9c5b98749c88750473008fc017df0d2ddc612cc1c1bb755102484168046524 days 15 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c32100.5 Ether
0xf96bcbba4cda2e28645167a1a4fd9610ac60a60fbb4161fadd2765eb2b0ab2394168044524 days 15 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c32100.01 Ether
0x897c9850d8c5151c968a638cb388091f9d41f9069c4f4e5209075068ca1be2694168044524 days 15 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c32100.4 Ether
0xe4f25cab5e78fea6e0645d66cf12f406a9f5209e4265edca18cd735fb69abaf14168044524 days 15 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c32101.2198 Ether
[ Download CSV Export  ] 
Contract Name: LoopringToken
Compiler Text: v0.4.13+commit.fb4cb1a
Optimization Enabled: No
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts

/*

  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 Switch To Opcodes View
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

 

View All
Block Age transaction Difficulty GasUsed Reward
View All
Block Age UncleNumber Difficulty GasUsed Reward
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.