Sponsored Link:   Buy your 1st Ethereum in 5 minutes. Trusted by more than 100k buyers.
Contract Overview | LoopringToken
ETH Balance: 0 Ether
ETH USD Value: $0
No Of Transactions: 104928 txns
Token Tracker 0xEF68e7C694F40c8202821eDF525dE3782458639f
  Latest 25 txns from a total Of 104928 transactions View All

TxHash Age From To Value [TxFee]
0xc365491493a5ffdbdb59a452d57b6d09fa96728256c5094be92fe923d7bffdeb19 mins ago0xf6edd907c1bf71d062a2fd17244742500330556c  IN   LoopringToken0 Ether0.00103702
0x81cc6235e21245343db9a5d5c2aca1f45faa9b38c04dd2b7cb7ebcd24c75ce2524 mins ago0x68121b9c343e08d3b32918809beb99f771feda4a  IN   LoopringToken0 Ether0.000147404
0xe0ad5e6871c600ccabe9e4d7f81e845239be94988d4a2cf0b8a358775600032724 mins agoBinance  IN   LoopringToken0 Ether0.0007383
0x578cddc2b45f62101f48a6a3fe1f0c04a51947825e5a750906f56608942f292336 mins ago0x05ee546c1a62f90d7acbffd6d846c9c54c7cf94c  IN   LoopringToken0 Ether0.00103915725
0x84c846e40906876c6ed8f79f71bf5ab6e3b0f354806de4c25c5f80bf08c5a39839 mins ago0x650d32246c915f22ef479afb1f5e80ca43d64fe7  IN   LoopringToken0 Ether0.0000051979
0x50fa47d6824d0ec54c09b1d41afdb662ac0950805ddb6d1a798928be81282f6645 mins ago0x05ee546c1a62f90d7acbffd6d846c9c54c7cf94c  IN   LoopringToken0 Ether0.00145960565
0xa905bd35c449e5e977b6f87529c1e5100e1fd4c170cf8fbe0b49ecfa97ca043b46 mins agoBinance  IN   LoopringToken0 Ether0.00074086
0x987b888ee4ea6be5c4e4cf7a1d8025c8337cc95a6ff663dc388a4cc651a396df50 mins ago0x45d5ed11088319d29cceda148826d3e18cce2017  IN   LoopringToken0 Ether0.0000021915
0xe3103032ad557063045a53af261d71daf6a91938cba23e97cd1cc98b73c1195655 mins agoBinance  IN   LoopringToken0 Ether0.00066884565
0x2eb2a9898eabbd71e9f265b01801391a666066780d760f366d0b5dc28696d4ed55 mins ago0x05ee546c1a62f90d7acbffd6d846c9c54c7cf94c  IN   LoopringToken0 Ether0.00145780405
0x9d18be4bf74d9a2eb329ec44a0216e7bcd4280c79bf130be5ed0906c73c04e2157 mins agoBinance  IN   LoopringToken0 Ether0.0007383
0xab516f0094e23bb4817fcd7cd845bf4c838a6be4d0036e2c84d26320dbedc6821 hr 11 mins agoBinance  IN   LoopringToken0 Ether0.00067000725
0x9af80266b78590c9e2c2aa2e6dc6ee6e01b849c55bf77e8b037aff4ab69383f11 hr 33 mins ago0x8287cfc823b92a508a9ac080d55de62c1ac393ab  IN   LoopringToken0 Ether0.000777903
0x67361ecc566cd52a4fd2ef25323da5123704b6ef754c277698be475e6177832c1 hr 37 mins ago0x7c1c38a5085511969db505bedd12f8fbbd54a787  IN   LoopringToken0 Ether0.0000036915
0x583153b0b91bf66f9a3ff9a3dd5d2d338ede9651b957bc4c8951236a753c141e2 hrs 6 mins ago0x25d6bb14eea6e12b700d941e3da76fb12fb31c61  IN   LoopringToken0 Ether0.000778725
0xaee0a9532ca1236f63c326207be4dff97bf9b151c8e58d816daf5643968135b52 hrs 11 mins agoBinance  IN   LoopringToken0 Ether0.000882555
0xc8ab6f5efc7fadb1d1e559897bc0f527664b9a8e0db652dfda840f1e08ddf4512 hrs 21 mins ago0x8793d91b97207e8fd52cc982e7de1c0cf1800b16  IN   LoopringToken0 Ether0.000147634318
0x73ea3f0808f4bc5504e59dfef875c17dc29b982950f8b0c906d62e66d3e61b772 hrs 27 mins ago0x783e43ef8792a39ec3bfe5c2985db9975f159282  IN   LoopringToken0 Ether0.0000036915
0x6e47f87d82fa10a4e6d98cc0e6e3699b429bcfc19b2498295602b2a0d1ec6ddb2 hrs 30 mins ago0xf6edd907c1bf71d062a2fd17244742500330556c  IN   LoopringToken0 Ether0.0010383
0xa6ea2a51a178a936c9fc77dfc92e13ab69e3a18e70e748bc68455cab49a7cdc82 hrs 31 mins ago0xf07232bc85d995c32c1edf1c985c84a8b7b0ded7  IN   LoopringToken0 Ether0.0022149
0x191163506914c813d5d298d79e19b54d70f2afd69affb853cc52bd9103636acf2 hrs 37 mins ago0x783e43ef8792a39ec3bfe5c2985db9975f159282  IN   LoopringToken0 Ether0.0000051915
0x779fdcd0f9de4bc11ba52f4c0019d0acc8bf2dddf95f1ca457e2a507306ac9862 hrs 47 mins agoBinance  IN   LoopringToken0 Ether0.00051851
0x486a146938918005f38ab71559f6417b872fa17abd5aa785dfe792402d0e00042 hrs 47 mins ago0x1e767e9ad0106d13306bbab9a576648816cb66a7  IN   LoopringToken0 Ether0.000775215
0xd98bda2f4a5070882811b7cb9fbce2fa27de62e6de58c9192afcf0b2402882733 hrs ago0xcb3a698b2b56f2489df66dc6d3b21dfa257ce460  IN   LoopringToken0 Ether0.000024387
0x63202d09536c83708102f8d089f0664372fe1b86239f70d9b5ee28f96bb363823 hrs 1 min ago0x3db36032d035966b2cd21e965eb9f5c7bd8bbf48  IN   LoopringToken0 Ether0.00051915
[ 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
0x563fe10af69086b73efa003995ddfc899f7399eb696ea29bf0b9d38483cc1011416808298 days 5 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c321039.9 Ether
0x4ea19862a4e036e2d63dd57c13e66a6c502a0a13bf942e6db37eecc69116887c416808298 days 5 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c321010 Ether
0x00035691a1ff88de5d31044ac6a99fa425abfdd8f3dbd07959e8e7a703a51afc416807998 days 5 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c32102 Ether
0x06131c985c31a822ee4fc7aac04cdcc3740ff355f6f912303920a63d7c569f80416807998 days 5 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c32100.01 Ether
0x4b76fc288c02b402d58bc779f5794a7fb870e61651dd06386bae0df6f854aaf6416807798 days 5 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c321011 Ether
0x24422c3742742111be4991ff05844c4f827df0d3116a0ded90fc49421411ce85416807198 days 5 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c32101 Ether
0x49c945616444b324188e19f3cf3dc287bd85b7102d77c8fef3e8bc9f37aef9a4416807198 days 5 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c32103.02 Ether
0x9090d964f60e3ac2396967825dc45dd1df594309f42ffe0a878e05c56d4acf66416807198 days 5 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c32100.5 Ether
0x48b7c0711d25e8fd0e6441334f9c615cc0ee9a1466f5cc601a4c714bc041d378416806498 days 5 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c32102.4 Ether
0x71981693d9467ac501e59dd88ae7dc33d9626e8aa69d2f73fda1d6cf3094f70d416806498 days 5 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c32101 Ether
0xbb3c131765b167956613269283e8efb5e276610f0a3adcec7e318ea4bf8bde2c416805998 days 5 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c32101.5 Ether
0x8a02b3207c8cbea6f7ac513d78ab8f4f1912bb491326a2ec232218dc595b8446416805998 days 5 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c321010 Ether
0xc09e69eb20f81c8507c1a27375729b689859afe72d34ab81a5ab78cd1a73fad7416805798 days 5 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c32100.06 Ether
0xfca5dc056c837579ae97ba0e95cd2b61d66727b5e0a024dce1d9d7c85daf4c7e416805498 days 5 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c32102 Ether
0x9ad229e3b20dcbec16f3da7fd7da7b4399c0964e6b85b55d11be5e4107e3316d416805498 days 5 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c32100.5 Ether
0x51105d7f4160c4b572128f199b08aa03c8d30fc5fb8919690790763f75b936ca416805198 days 5 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c32101 Ether
0x41b70620be547e66ecd65ecd1e30c3184c8ef1a01a2cafbbb26bc91d7bdee511416805198 days 5 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c32104.280637246025 Ether
0xb9ac8c5c972f0513250cc8220c722c0be03b15354b5ae05eeec2f7fe2c18fa5f416804998 days 5 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c3210389 Ether
0xd935883034b49003083869c44c0ccbe5430dbe3317bf99f6a186d59df5dba7a1416804698 days 5 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c3210284.8 Ether
0x36945d17845a06c94a8ce23e201b446cdb093dfb3839c4ac1f28bda152dd5591416804698 days 5 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c3210330 Ether
0xf5f84bf164dbcea5b6a0747be52680353d8529594f2e73bf07e65f2eee3bf117416804698 days 5 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c32100.01 Ether
0x2f467860510f9c5b98749c88750473008fc017df0d2ddc612cc1c1bb75510248416804698 days 5 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c32100.5 Ether
0xf96bcbba4cda2e28645167a1a4fd9610ac60a60fbb4161fadd2765eb2b0ab239416804498 days 5 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c32100.01 Ether
0x897c9850d8c5151c968a638cb388091f9d41f9069c4f4e5209075068ca1be269416804498 days 5 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c32100.4 Ether
0xe4f25cab5e78fea6e0645d66cf12f406a9f5209e4265edca18cd735fb69abaf1416804498 days 5 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c32101.2198 Ether
[ Download CSV Export  ] 
Warning: The compiled contract might be susceptible to ZeroFunctionSelector (very low-severity), DelegateCallReturnValue (low-severity), ECRecoverMalformedInput (medium-severity) Solidity compiler bugs.

Contract Source Code Verified
Contract Name: LoopringToken
Compiler Version: 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

-----Decoded View---------------
Found 1 constructor arguments :
Arg [0] : 00000000000000000000000000073f7155459c9205010cb3453a0f392a0c3210


   Swarm Source:
bzzr://c28f0e4dfa60c1f704fec244ecddb7b811aeeeacfae31316717dd89fcca1aa44
View All
Block Age txn Difficulty GasUsed Reward
View All
Block Age UncleNumber Difficulty GasUsed Reward
Make sure to use the "downvote" button for any spammy posts, and the "upvote" for interesting conversations.