Sponsored Link:    Chronologic - Self-Mining Ethereum token based on Proof of Time. Join the Contribution.
Contract Overview | LoopringToken
ETH Balance: 0 Ether
ETH USD Value: $0
No Of Transactions: 68452 txns
Token Tracker 0xEF68e7C694F40c8202821eDF525dE3782458639f
  Latest 25 txns from a total Of 68452 transactions (+1 PendingTxn) View All

TxHash Age From To Value [TxFee]
0xece5141c5091829dcd0a3a1fa4f45215995feb95c9f54b0fd0c6080eef3c4bf9(pending)42 mins ago0xc24b59af793b19910528ff9ce904089d2d09abd0  IN  0xef68e7c694f40c8202821edf525de3782458639f0 Ether(pending)
0xcf3ba455345c7c1b4cb27eeab01dd70d1dc29087216f452c7124ef62aebc172957 mins ago0x69ea6b31ef305d6b99bb2d4c9d99456fa108b02a  IN   LoopringToken0 Ether0.00221106
0x0f110b7c1650a052f15f67800b519f304bf815c9e3aa2dcbaaa6bd8a22fedb7a1 hr 8 mins ago0x8966a70697a9150ea9df28a174ba3e1209242891  IN   LoopringToken0 Ether0.009
0x7f4fd3443a59fc13bf5283c6b35a6955b4de117e72c7ac0dd96b40dbbe75a86b1 hr 10 mins ago0x8b19dbedd5a444d48139b5b2ea65b0bbb5d29b67  IN   LoopringToken0 Ether0.009
0x8196bd5ac0d22a75d1b41f9d5c5bf3e94f54649657e01cacba81ce3d982538dc1 hr 10 mins ago0x113890fd53be9cc10c0a588a2229e5ce32e0de5d  IN   LoopringToken0 Ether0.009
0x62d053fa88583dbbd09a872fb0d74d61144a3706855ee2dcb6750cc8353d4d211 hr 10 mins ago0xd434a6676eb22382059d3c515b1962fa05f648a7  IN   LoopringToken0 Ether0.009
0x04a089019a5cf1c83c6877d9536f1af7771704d29a4262bae629927506a985201 hr 10 mins ago0x928be09746c56b26f3210adda1e914af8b06534a  IN   LoopringToken0 Ether0.009
0x64b2562e9a0b951a70cf39e9996a45f9dc67c86b1e92e07c1f6b37a9b8e328611 hr 10 mins ago0x608d88d153ad153432fb4562490883e7a39a067c  IN   LoopringToken0 Ether0.009
0xbea14090b880a7e82d0ab546c72273f5d42c24594908dddb0dcd685883638d7a1 hr 11 mins ago0xa445c9f6f87b8af35d314ac9769b8cf3f8119fff  IN   LoopringToken0 Ether0.009
0x540b337afc9e82940c10753d82c3f068db2691ebb07febe6ae7ef8296b212e171 hr 11 mins ago0xb688c68ed56ca0ac33871286833f7326c510102b  IN   LoopringToken0 Ether0.009
0x2bfdafc2f4fed387de315b51bff8807b1474af309823022b1cb38abec1c122191 hr 11 mins ago0x01fa7589a95f4426c9b079409aa0cefdd9f07a2f  IN   LoopringToken0 Ether0.009
0xc53d79726d4f1cd8c63f24b50f747bbce11ff6bced689d7461deb1ca86c257cb1 hr 11 mins ago0xdc50266d6903c6bb0a4a57cc9c6273ca47d48995  IN   LoopringToken0 Ether0.009
0xd43d35d5efa8c20c2f406726f73681d6617e37a38e251b87e517f1b4c6ce5f991 hr 12 mins ago0x796acefdd48f67bb8d6f1f7dc59e1a51add52a1b  IN   LoopringToken0 Ether0.00131874
0xcc74c2b3e61c2f10b8031fe06a1aec6a67a413b78c803d27d19f10b767e0120e1 hr 14 mins ago0x86306c71f9e524b37e430f2849cd99ac608e0866  IN   LoopringToken0 Ether0.009
0xcc9b66704f62611b3d7c4163f74166b66888d600e0f7f7022797fea0df1b6c8b1 hr 16 mins ago0x409ee45c96a445fd32fa25751e35723d9c588826  IN   LoopringToken0 Ether0.0013149
0x68cd2919104e8f51163d131b921092ccda0484924d0e62669e00a14e006ab4081 hr 18 mins ago0xeeee5c10e211c3b7487eb3b5b541b45b11cc2300  IN   LoopringToken0 Ether0.009
0x78f60d711ac44842230bc18615fc4286b397ba03190c5314ca949a854a7e1fc51 hr 20 mins ago0x5dfcc675b10af2941f5f1ad1aaaa2f02509c465f  IN   LoopringToken0 Ether0.009
0x618e98f54658494c12c6ef1f679693b2ae0d9b657044d8fe5c16749f14daefd41 hr 22 mins ago0x82a7a3f548b12f7773101e4666c11414f2e856fd  IN   LoopringToken0 Ether0.009
0x1c179c024f34de57023f20cc5bde4ea9589957a915fdcdf17548352e74f9dbe61 hr 22 mins ago0x93753c8b85ee18d97e1e584fbe746e2214e15ff2  IN   LoopringToken0 Ether0.009
0x3bce45ecdda8d2d1a6960c66d6301d70c551c205dd87c7a8903262144e01bfbd1 hr 23 mins ago0x300b62b70fab4123f0b807f173b08fbd44e05946  IN   LoopringToken0 Ether0.009
0x95a0440efed6a2db64033ca18530a27e958bcb7ee271c5698302656c4e0bff5d1 hr 24 mins ago0x823465d437c67d01ec3c0722bcb3c2f0925bb0ee  IN   LoopringToken0 Ether0.009
0xc5e5949ce6333dc71c29fdd4d4ef7c40900a1dd80dedf5ba7420b479caeb4dd21 hr 24 mins ago0xce92f4ca77a1c4705a1e4bb99377e5ddcf4411a0  IN   LoopringToken0 Ether0.009
0xd60ca97e099fea81af3c14b9dc686651d85278ef39a2bd43112aaf9ebf8bda9d1 hr 25 mins ago0xd74875ed3ba2e996718302b1c8adde3b2797c911  IN   LoopringToken0 Ether0.009
0x56f0ffc3c7595580ec9d5cb2128875c8f99d9943470b91e735ec0b093559be6a1 hr 25 mins ago0xb048aa2f1d566db275b9d02ef0a4a0986462b97a  IN   LoopringToken0 Ether0.009
0x3320f95147cd1cc8ba709efd8712ee46dfa78e030948ea9b3c07d38a1d4683e21 hr 27 mins ago0xf8ba7592b5a80bf0b8bf8d4536f7563fe992bd0d  IN   LoopringToken0 Ether0.009
[ 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
0x563fe10af69086b73efa003995ddfc899f7399eb696ea29bf0b9d38483cc1011416808233 days 16 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c321039.9 Ether
0x4ea19862a4e036e2d63dd57c13e66a6c502a0a13bf942e6db37eecc69116887c416808233 days 16 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c321010 Ether
0x00035691a1ff88de5d31044ac6a99fa425abfdd8f3dbd07959e8e7a703a51afc416807933 days 16 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c32102 Ether
0x06131c985c31a822ee4fc7aac04cdcc3740ff355f6f912303920a63d7c569f80416807933 days 16 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c32100.01 Ether
0x4b76fc288c02b402d58bc779f5794a7fb870e61651dd06386bae0df6f854aaf6416807733 days 16 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c321011 Ether
0x24422c3742742111be4991ff05844c4f827df0d3116a0ded90fc49421411ce85416807133 days 16 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c32101 Ether
0x49c945616444b324188e19f3cf3dc287bd85b7102d77c8fef3e8bc9f37aef9a4416807133 days 16 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c32103.02 Ether
0x9090d964f60e3ac2396967825dc45dd1df594309f42ffe0a878e05c56d4acf66416807133 days 16 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c32100.5 Ether
0x48b7c0711d25e8fd0e6441334f9c615cc0ee9a1466f5cc601a4c714bc041d378416806433 days 16 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c32102.4 Ether
0x71981693d9467ac501e59dd88ae7dc33d9626e8aa69d2f73fda1d6cf3094f70d416806433 days 16 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c32101 Ether
0xbb3c131765b167956613269283e8efb5e276610f0a3adcec7e318ea4bf8bde2c416805933 days 16 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c32101.5 Ether
0x8a02b3207c8cbea6f7ac513d78ab8f4f1912bb491326a2ec232218dc595b8446416805933 days 16 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c321010 Ether
0xc09e69eb20f81c8507c1a27375729b689859afe72d34ab81a5ab78cd1a73fad7416805733 days 16 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c32100.06 Ether
0xfca5dc056c837579ae97ba0e95cd2b61d66727b5e0a024dce1d9d7c85daf4c7e416805433 days 16 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c32102 Ether
0x9ad229e3b20dcbec16f3da7fd7da7b4399c0964e6b85b55d11be5e4107e3316d416805433 days 16 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c32100.5 Ether
0x51105d7f4160c4b572128f199b08aa03c8d30fc5fb8919690790763f75b936ca416805133 days 16 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c32101 Ether
0x41b70620be547e66ecd65ecd1e30c3184c8ef1a01a2cafbbb26bc91d7bdee511416805133 days 16 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c32104.280637246025 Ether
0xb9ac8c5c972f0513250cc8220c722c0be03b15354b5ae05eeec2f7fe2c18fa5f416804933 days 16 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c3210389 Ether
0xd935883034b49003083869c44c0ccbe5430dbe3317bf99f6a186d59df5dba7a1416804633 days 16 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c3210284.8 Ether
0x36945d17845a06c94a8ce23e201b446cdb093dfb3839c4ac1f28bda152dd5591416804633 days 16 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c3210330 Ether
0xf5f84bf164dbcea5b6a0747be52680353d8529594f2e73bf07e65f2eee3bf117416804633 days 16 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c32100.01 Ether
0x2f467860510f9c5b98749c88750473008fc017df0d2ddc612cc1c1bb75510248416804633 days 16 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c32100.5 Ether
0xf96bcbba4cda2e28645167a1a4fd9610ac60a60fbb4161fadd2765eb2b0ab239416804433 days 16 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c32100.01 Ether
0x897c9850d8c5151c968a638cb388091f9d41f9069c4f4e5209075068ca1be269416804433 days 16 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c32100.4 Ether
0xe4f25cab5e78fea6e0645d66cf12f406a9f5209e4265edca18cd735fb69abaf1416804433 days 16 hrs ago0xef68e7c694f40c8202821edf525de3782458639f0x00073f7155459c9205010cb3453a0f392a0c32101.2198 Ether
[ Download CSV Export  ] 
Warning: The compiled contract might be susceptible to 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 - <kongliang@loopring.org>, Daniel Wang - <daniel@loopring.org>.
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 appended to the ByteCode 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.