Contract 0x239de3a0d6ca5f21601f83327ea2174225eb7156

 

TxHash Block Age From To Value [TxFee]
0xeafdc8f152239ea7055f33b8b87f28bf0fec20a038f44027f786a57c1650c4e172430502 days 12 mins ago0xf10902defa142a89c63d98322460a66dda3654cb IN  0x239de3a0d6ca5f21601f83327ea2174225eb71560 Ether0.0002283
0xffee28131e6aa5d2e8128d9db03c74bc259fc84bbb8d259581b927d3010fd23e72349013 days 22 hrs ago0x7c604e9baa1b0865e7c560034fd3ef441fad30b0 IN  0x239de3a0d6ca5f21601f83327ea2174225eb71560 Ether0.0002283
0xf7dbfb237c245bad2359c2b1eda389f28c150018990d0a7384c767638ecaef44691809764 days 2 hrs ago0x8bae66da9e3ca055e24200e5128775fa3c9171f2 IN  0x239de3a0d6ca5f21601f83327ea2174225eb71560 Ether0.000861
0x991473b13141fd15bc2d83868b187e9bed1b1ceb1d7cc1d933aa3866c5bd74376452210140 days 13 hrs ago0x9fa61b94fb38293856e28b338c0c74f46ac22de6 IN  0x239de3a0d6ca5f21601f83327ea2174225eb71560.0001 Ether0.000861
0x33123cc3ae8f1ba1ac131efbc7d10fde405d7a83f9b059d5e7839785a57b585a6452182140 days 14 hrs ago0x9fa61b94fb38293856e28b338c0c74f46ac22de6 IN  0x239de3a0d6ca5f21601f83327ea2174225eb71560.01 Ether0.000861
0x0056c3032ff3e40582e6b18405c353085676191929227abc219c0685e291dc736452102140 days 14 hrs ago0x9fa61b94fb38293856e28b338c0c74f46ac22de6 IN  0x239de3a0d6ca5f21601f83327ea2174225eb71560 Ether0.000861
0xf48e8e8fc35d58ef0700a86ed3a65b179d338212051e0f03115bf13435b5ee565881953236 days 10 hrs ago0x0258bff778cca6ea063c92da874ae969a0a57b55 IN  0x239de3a0d6ca5f21601f83327ea2174225eb71560 Ether0.000441
0xb278e4905feaa21f63e431d52c9ed47a449051dcae193d30004797c00c10c8004862558411 days 19 hrs ago0x1c84eee83a26caf505e45f3736291365e77574f6 IN  0x239de3a0d6ca5f21601f83327ea2174225eb71560.1 Ether0.00047943
0xf7dbeb4156927b6ced999ae22db4916da3fe6bcccc0bb95e4cc340bb711515ad4861915411 days 22 hrs ago0x1c84eee83a26caf505e45f3736291365e77574f6 IN  0x239de3a0d6ca5f21601f83327ea2174225eb71560.03 Ether0.00182621736
0xc271c5559e566b2f7f6c72602b2f1d5a10325c9e05290d7654afb391b29e8a4c4468243477 days 23 hrs ago0x4880e342bce698cf47db6ae6623daa89c6aeb9b4 IN  0x239de3a0d6ca5f21601f83327ea2174225eb71560 Ether0.000441
0x3f377ecde6382df6a49bf37d2aec624f81de5ac372c3a592f76deaa4c664f44c4450261480 days 21 hrs ago0x9cca8db670a0cfa97bb70dbefe176ed5cb13ead0 IN  0x239de3a0d6ca5f21601f83327ea2174225eb71560 Ether0.001193031
0x42dc585592382b1e55e38b5a644b082cc6a8b4b8c9c18c5ddcf458e3c7568b5a4450249480 days 21 hrs ago0xd1161a2a4ad51a8126ad89270a427dbb83bb6fed IN  0x239de3a0d6ca5f21601f83327ea2174225eb71560 Ether0.000878031
0xabdd23e340edfb775d99a695dfc84d93acf3b506b1284abf05ead20649b0ae274450210480 days 21 hrs ago0x09da87cf3b8ccc1bf2104dae5a30185e1cec247c IN  0x239de3a0d6ca5f21601f83327ea2174225eb71560 Ether0.001193031
0xb2a599490e4f823a76b6215502504d535570d762f95a0f3ac6486a5bf999b49a4450210480 days 21 hrs ago0x9cca8db670a0cfa97bb70dbefe176ed5cb13ead0 IN  0x239de3a0d6ca5f21601f83327ea2174225eb71560 Ether0.001823031
0xc73d8b2536e68596d47400ab71a266a05fccea1f5d5656c584cec06af963d9794450210480 days 21 hrs ago0xe65a92f7e4f16bac6ab76131d68b17d0eecfd59f IN  0x239de3a0d6ca5f21601f83327ea2174225eb71560 Ether0.000878031
0x4f72da7a52383d94947d55f61a34014986fd13e64fa745af7f5dfd3fd8d94dfb4450206480 days 21 hrs ago0xe2c9e67622a0b1172ec9d2c7f11ea37aed2b3740 IN  0x239de3a0d6ca5f21601f83327ea2174225eb71560 Ether0.001823031
0x0b9824b398f33d3938188b621986698878c702dd853915e066871f148b9f31914450156480 days 21 hrs ago0xe65a92f7e4f16bac6ab76131d68b17d0eecfd59f IN  0x239de3a0d6ca5f21601f83327ea2174225eb71560 Ether0.001823031
0x332a69d0b9d8711a5828d8d679afb494edd73e3fd3f9f4e6e7f2af9f3b05deed4450147480 days 21 hrs ago0xe2c9e67622a0b1172ec9d2c7f11ea37aed2b3740 IN  0x239de3a0d6ca5f21601f83327ea2174225eb71560 Ether0.001888152
0xaf856a9a6b9fc766a6e50b84aa573cd70d1da1fbd06db31bab5efb9a212227cf4450130480 days 21 hrs ago0xe65a92f7e4f16bac6ab76131d68b17d0eecfd59f IN  0x239de3a0d6ca5f21601f83327ea2174225eb71560 Ether0.000441
0x86f694639f6c807541c0a5c17218e5898ec9f4664bc4ef6851311f4d4cb6f6d24450023480 days 21 hrs ago0xb57b3f85ce1d4e616345199650b4cade7b01b2c7 IN  0x239de3a0d6ca5f21601f83327ea2174225eb71560 Ether0.000086811
0x697b5e2e25bf6129617e90fa3284463060a4b3c93b593275d528f0897be3d3704450023480 days 21 hrs ago0xe439538fb6a9e237eeab4f4c7a2374be68257dab IN  0x239de3a0d6ca5f21601f83327ea2174225eb71560 Ether0.001193031
0x89f52d9b2916cf4c96f9bcbbfa8ce4afa33972d186232ab8ed6b916984acccf04449995480 days 22 hrs ago0x5e9709d20b33c7122cadeff840556e5b7a41e35a IN  0x239de3a0d6ca5f21601f83327ea2174225eb71560 Ether0.001823031
0xebdd47771196ad5b31deefb69f2582debbe00e1d4d3fb1e5d19611c86f0c34234449959480 days 22 hrs ago0x7474d5dbe189590695d16aa0380075723e8c4764 IN  0x239de3a0d6ca5f21601f83327ea2174225eb71560 Ether0.00340866
0xbe2de86ee5c435e6335854848f1a1ae5164610729f13f8ecbd6623e84bba7b994449947480 days 22 hrs ago0x7474d5dbe189590695d16aa0380075723e8c4764 IN  0x239de3a0d6ca5f21601f83327ea2174225eb71560 Ether0.00126
0x9c2aef7c9ee7a5dc37538aa11074416f86de50813cae9da38103a07887e8c2a14449931480 days 22 hrs ago0xec5b2dfcf68ff8ab51523fc4be221da80f7602b7 IN  0x239de3a0d6ca5f21601f83327ea2174225eb71560 Ether0.001823031
[ Download CSV Export 

Internal Transactions as a result of Contract Execution

Parent TxHash Block Age From To Value
Warning: The compiled contract might be susceptible to ExpExponentCleanup (medium/high-severity), NestedArrayFunctionCallDecoder (medium-severity), ZeroFunctionSelector (very low-severity) Solidity Compiler Bugs.

Contract Source Code Verified (Exact Match)
Contract Name: LRCLongTermHoldingContract
Compiler Version: v0.4.16+commit.d7661dd9
Optimization Enabled: Yes
Runs (Optimizer):  200


Contract Source Code
/*

  Copyright 2017 Loopring Project Ltd (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 SafeMath
 * @dev Math operations with safety checks that throw on error
 */
library SafeMath {
  function mul(uint256 a, uint256 b) internal constant returns (uint256) {
    uint256 c = a * b;
    assert(a == 0 || c / a == b);
    return c;
  }

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

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

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

/**
 * @title Math
 * @dev Assorted math operations
 */

library Math {
  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;
  }
}

// Abstract contract for the full ERC 20 Token standard
// https://github.com/ethereum/EIPs/issues/20

contract Token {
    /* This is a slight change to the ERC20 base standard.
    function totalSupply() constant returns (uint256 supply);
    is replaced with:
    uint256 public totalSupply;
    This automatically creates a getter function for the totalSupply.
    This is moved to the base contract since public getter functions are not
    currently recognised as an implementation of the matching abstract
    function by the compiler.
    */
    /// total amount of tokens
    uint256 public totalSupply;

    /// @param _owner The address from which the balance will be retrieved
    /// @return The balance
    function balanceOf(address _owner) constant returns (uint256 balance);

    /// @notice send `_value` token to `_to` from `msg.sender`
    /// @param _to The address of the recipient
    /// @param _value The amount of token to be transferred
    /// @return Whether the transfer was successful or not
    function transfer(address _to, uint256 _value) returns (bool success);

    /// @notice send `_value` token to `_to` from `_from` on the condition it is approved by `_from`
    /// @param _from The address of the sender
    /// @param _to The address of the recipient
    /// @param _value The amount of token to be transferred
    /// @return Whether the transfer was successful or not
    function transferFrom(address _from, address _to, uint256 _value) returns (bool success);

    /// @notice `msg.sender` approves `_spender` to spend `_value` tokens
    /// @param _spender The address of the account able to transfer the tokens
    /// @param _value The amount of tokens to be approved for transfer
    /// @return Whether the approval was successful or not
    function approve(address _spender, uint256 _value) returns (bool success);

    /// @param _owner The address of the account owning tokens
    /// @param _spender The address of the account able to transfer the tokens
    /// @return Amount of remaining tokens allowed to spent
    function allowance(address _owner, address _spender) constant returns (uint256 remaining);

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



/// @title Long-Team Holding Incentive Program
/// @author Daniel Wang - <[email protected]>, Kongliang Zhong - <[email protected]>.
/// For more information, please visit https://loopring.org.
contract LRCLongTermHoldingContract {
    using SafeMath for uint;
    using Math for uint;
    
    // During the first 60 days of deployment, this contract opens for deposit of LRC.
    uint public constant DEPOSIT_PERIOD             = 60 days; // = 2 months

    // 18 months after deposit, user can withdrawal all or part of his/her LRC with bonus.
    // The bonus is this contract's initial LRC balance.
    uint public constant WITHDRAWAL_DELAY           = 540 days; // = 1 year and 6 months

    // Send 0.001ETH per 10000 LRC partial withdrawal, or 0 for a once-for-all withdrawal.
    // All ETH will be returned.
    uint public constant WITHDRAWAL_SCALE           = 1E7; // 1ETH for withdrawal of 10,000,000 LRC.

    // Ower can drain all remaining LRC after 3 years.
    uint public constant DRAIN_DELAY                = 1080 days; // = 3 years.
    
    address public lrcTokenAddress  = 0x0;
    address public owner            = 0x0;

    uint public lrcDeposited        = 0;
    uint public depositStartTime    = 0;
    uint public depositStopTime     = 0;

    struct Record {
        uint lrcAmount;
        uint timestamp;
    }

    mapping (address => Record) records;
    
    /* 
     * EVENTS
     */

    /// Emitted when program starts.
    event Started(uint _time);

    /// Emitted when all LRC are drained.
    event Drained(uint _lrcAmount);

    /// Emitted for each sucuessful deposit.
    uint public depositId = 0;
    event Deposit(uint _depositId, address indexed _addr, uint _lrcAmount);

    /// Emitted for each sucuessful deposit.
    uint public withdrawId = 0;
    event Withdrawal(uint _withdrawId, address indexed _addr, uint _lrcAmount);

    /// @dev Initialize the contract
    /// @param _lrcTokenAddress LRC ERC20 token address
    function LRCLongTermHoldingContract(address _lrcTokenAddress, address _owner) {
        require(_lrcTokenAddress != address(0));
        require(_owner != address(0));

        lrcTokenAddress = _lrcTokenAddress;
        owner = _owner;
    }

    /*
     * PUBLIC FUNCTIONS
     */

    /// @dev start the program.
    function start() public {
        require(msg.sender == owner);
        require(depositStartTime == 0);

        depositStartTime = now;
        depositStopTime  = depositStartTime + DEPOSIT_PERIOD;

        Started(depositStartTime);
    }


    /// @dev drain LRC.
    function drain() public {
        require(msg.sender == owner);
        require(depositStartTime > 0 && now >= depositStartTime + DRAIN_DELAY);

        uint balance = lrcBalance();
        require(balance > 0);

        require(Token(lrcTokenAddress).transfer(owner, balance));

        Drained(balance);
    }

    function () payable {
        require(depositStartTime > 0);

        if (now >= depositStartTime && now <= depositStopTime) {
            depositLRC();
        } else if (now > depositStopTime){
            withdrawLRC();
        } else {
            revert();
        }
    }

    /// @return Current LRC balance.
    function lrcBalance() public constant returns (uint) {
        return Token(lrcTokenAddress).balanceOf(address(this));
    }

    /// @dev Deposit LRC.
    function depositLRC() payable {
        require(depositStartTime > 0);
        require(msg.value == 0);
        require(now >= depositStartTime && now <= depositStopTime);
        
        var lrcToken = Token(lrcTokenAddress);
        uint lrcAmount = lrcToken
            .balanceOf(msg.sender)
            .min256(lrcToken.allowance(msg.sender, address(this)));

        require(lrcAmount > 0);

        var record = records[msg.sender];
        record.lrcAmount += lrcAmount;
        record.timestamp = now;
        records[msg.sender] = record;

        lrcDeposited += lrcAmount;

        Deposit(depositId++, msg.sender, lrcAmount);
        
        require(lrcToken.transferFrom(msg.sender, address(this), lrcAmount));
    }

    /// @dev Withdrawal LRC.
    function withdrawLRC() payable {
        require(depositStartTime > 0);
        require(lrcDeposited > 0);

        var record = records[msg.sender];
        require(now >= record.timestamp + WITHDRAWAL_DELAY);
        require(record.lrcAmount > 0);

        uint lrcWithdrawalBase = record.lrcAmount;
        if (msg.value > 0) {
            lrcWithdrawalBase = lrcWithdrawalBase
                .min256(msg.value.mul(WITHDRAWAL_SCALE));
        }

        uint lrcBonus = getBonus(lrcWithdrawalBase);
        uint balance = lrcBalance();
        uint lrcAmount = balance.min256(lrcWithdrawalBase + lrcBonus);
        
        lrcDeposited -= lrcWithdrawalBase;
        record.lrcAmount -= lrcWithdrawalBase;

        if (record.lrcAmount == 0) {
            delete records[msg.sender];
        } else {
            records[msg.sender] = record;
        }

        Withdrawal(withdrawId++, msg.sender, lrcAmount);

        require(Token(lrcTokenAddress).transfer(msg.sender, lrcAmount));
        if (msg.value > 0) {
            msg.sender.transfer(msg.value);
        }
    }

    function getBonus(uint _lrcWithdrawalBase) constant returns (uint) {
        return internalCalculateBonus(lrcBalance() - lrcDeposited,lrcDeposited, _lrcWithdrawalBase);
    }

    function internalCalculateBonus(uint _totalBonusRemaining, uint _lrcDeposited, uint _lrcWithdrawalBase) internal constant returns (uint) {
        require(_lrcDeposited > 0);
        require(_totalBonusRemaining >= 0);

        // The bonus is non-linear function to incentivize later withdrawal.
        // bonus = _totalBonusRemaining * power(_lrcWithdrawalBase/_lrcDeposited, 1.0625)
        return _totalBonusRemaining
            .mul(_lrcWithdrawalBase.mul(sqrt(sqrt(sqrt(sqrt(_lrcWithdrawalBase))))))
            .div(_lrcDeposited.mul(sqrt(sqrt(sqrt(sqrt(_lrcDeposited))))));
    }

    function sqrt(uint x) internal constant returns (uint) {
        uint y = x;
        while (true) {
            uint z = (y + (x / y)) / 2;
            uint w = (z + (x / z)) / 2;
            if (w == y) {
                if (w < y) return w;
                else return y;
            }
            y = w;
        }
    }
}

Contract ABI
[{"constant":true,"inputs":[],"name":"WITHDRAWAL_DELAY","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"lrcBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"withdrawId","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_lrcWithdrawalBase","type":"uint256"}],"name":"getBonus","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"lrcTokenAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"depositStartTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"withdrawLRC","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"depositStopTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"depositId","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"drain","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"lrcDeposited","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"WITHDRAWAL_SCALE","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"start","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"DRAIN_DELAY","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"depositLRC","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"DEPOSIT_PERIOD","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_lrcTokenAddress","type":"address"},{"name":"_owner","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_time","type":"uint256"}],"name":"Started","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_lrcAmount","type":"uint256"}],"name":"Drained","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_depositId","type":"uint256"},{"indexed":true,"name":"_addr","type":"address"},{"indexed":false,"name":"_lrcAmount","type":"uint256"}],"name":"Deposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_withdrawId","type":"uint256"},{"indexed":true,"name":"_addr","type":"address"},{"indexed":false,"name":"_lrcAmount","type":"uint256"}],"name":"Withdrawal","type":"event"}]

Contract Creation Code
606060405260008054600160a060020a031990811682556001805490911690556002819055600381905560048190556006819055600755341561004157600080fd5b604051604080610cfb83398101604052808051919060200180519150505b600160a060020a038216151561007457600080fd5b600160a060020a038116151561008957600080fd5b60008054600160a060020a03808516600160a060020a03199283161790925560018054928416929091169190911790555b50505b610c2f806100cc6000396000f300606060405236156100d55763ffffffff60e060020a6000350416630ebb172a811461012c5780630fc33bb71461015157806336d43c24146101765780634aa66b281461019b5780634c0a6532146101c3578063587419d5146101f25780636c8250351461021757806373c4942a146102215780638da5cb5b146102465780639852099c146102755780639890220b1461029a578063a8c499a0146102af578063ab4b4def146102d4578063be9a6555146102f9578063c99f33571461030e578063d678ba4814610333578063fd090e471461033d575b5b600354600090116100e657600080fd5b60035442101580156100fa57506004544211155b1561010c57610107610362565b610128565b600454421115610123576101076105c3565b610128565b600080fd5b5b5b005b341561013757600080fd5b61013f610806565b60405190815260200160405180910390f35b341561015c57600080fd5b61013f61080e565b60405190815260200160405180910390f35b341561018157600080fd5b61013f610887565b60405190815260200160405180910390f35b34156101a657600080fd5b61013f60043561088d565b60405190815260200160405180910390f35b34156101ce57600080fd5b6101d66108af565b604051600160a060020a03909116815260200160405180910390f35b34156101fd57600080fd5b61013f6108be565b60405190815260200160405180910390f35b6101286105c3565b005b341561022c57600080fd5b61013f6108c4565b60405190815260200160405180910390f35b341561025157600080fd5b6101d66108ca565b604051600160a060020a03909116815260200160405180910390f35b341561028057600080fd5b61013f6108d9565b60405190815260200160405180910390f35b34156102a557600080fd5b6101286108df565b005b34156102ba57600080fd5b61013f6109ff565b60405190815260200160405180910390f35b34156102df57600080fd5b61013f610a05565b60405190815260200160405180910390f35b341561030457600080fd5b610128610a0c565b005b341561031957600080fd5b61013f610a78565b60405190815260200160405180910390f35b610128610362565b005b341561034857600080fd5b61013f610a80565b60405190815260200160405180910390f35b60008060008060035411151561037757600080fd5b341561038257600080fd5b600354421015801561039657506004544211155b15156103a157600080fd5b60008054600160a060020a031693506104a590849063dd62ed3e90339030906040516020015260405160e060020a63ffffffff8516028152600160a060020a03928316600482015291166024820152604401602060405180830381600087803b151561040c57600080fd5b6102c65a03f1151561041d57600080fd5b5050506040518051905084600160a060020a03166370a082313360006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561047e57600080fd5b6102c65a03f1151561048f57600080fd5b505050604051805191905063ffffffff610a8716565b9150600082116104b457600080fd5b50600160a060020a033316600081815260056020526040908190208054840181554260018083019190915560028054860190556006805491820190559092917feaa18152488ce5959073c9c79c88ca90b3d96c00de1f118cfaad664c3dab06b9919085905191825260208201526040908101905180910390a282600160a060020a03166323b872dd33308560006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b151561059757600080fd5b6102c65a03f115156105a857600080fd5b5050506040518051905015156105bd57600080fd5b5b505050565b6000806000806000806003541115156105db57600080fd5b600254600090116105eb57600080fd5b600160a060020a033316600090815260056020526040902060018101549095506302c7ea000142101561061d57600080fd5b84546000901161062c57600080fd5b84549350600034111561065f5761065c61064f346298968063ffffffff610aa116565b859063ffffffff610a8716565b93505b6106688461088d565b925061067261080e565b91506106868285850163ffffffff610a8716565b600280548690039055855485900380875590915015156106c457600160a060020a0333166000908152600560205260408120818155600101556106ea565b600160a060020a0333166000908152600560205260409020855481556001808701549101555b6007805460018101909155600160a060020a033316907f37e8063b72a944a76de602f32b82fd8c2a1c6f99564c727ffaf913c7762cd420908360405191825260208201526040908101905180910390a260008054600160a060020a03169063a9059cbb90339084906040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561079c57600080fd5b6102c65a03f115156107ad57600080fd5b5050506040518051905015156107c257600080fd5b60003411156107fd57600160a060020a0333163480156108fc0290604051600060405180830381858888f1935050505015156107fd57600080fd5b5b5b5050505050565b6302c7ea0081565b60008054600160a060020a03166370a0823130836040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561086757600080fd5b6102c65a03f1151561087857600080fd5b50505060405180519150505b90565b60075481565b60006108a760025461089d61080e565b0360025484610ad0565b90505b919050565b600054600160a060020a031681565b60035481565b60045481565b600154600160a060020a031681565b60065481565b60015460009033600160a060020a039081169116146108fd57600080fd5b6000600354118015610917575063058fd400600354014210155b151561092257600080fd5b61092a61080e565b90506000811161093957600080fd5b60008054600154600160a060020a039182169263a9059cbb929091169084906040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156109a257600080fd5b6102c65a03f115156109b357600080fd5b5050506040518051905015156109c857600080fd5b7fdef931299fe61d176f949118058530c1f3f539dcb6950b4e372c9b835c33ca078160405190815260200160405180910390a15b50565b60025481565b6298968081565b60015433600160a060020a03908116911614610a2757600080fd5b60035415610a3457600080fd5b426003819055624f1a0081016004557e6e0c97de781a7389d44ba8fd35d1467cabb17ed04d038d166d34ab819213f39060405190815260200160405180910390a15b565b63058fd40081565b624f1a0081565b6000818310610a965781610a98565b825b90505b92915050565b6000828202831580610abd5750828482811515610aba57fe5b04145b1515610ac557fe5b8091505b5092915050565b6000808311610ade57600080fd5b6000841015610aec57600080fd5b610b6d610b20610b13610b04610b04610b0488610b77565b610b77565b610b77565b610b77565b859063ffffffff610aa116565b610b61610b54610b47610b04610b04610b0489610b77565b610b77565b610b77565b610b77565b869063ffffffff610aa116565b879063ffffffff610aa116565b9063ffffffff610be716565b90505b9392505050565b60008181805b60028386811515610b8a57fe5b048401811515610b9657fe5b04915060028286811515610ba657fe5b048301811515610bb257fe5b04905082811415610bd55782811015610bcd57809350610bde565b829350610bde565b5b809250610b7d565b5b505050919050565b6000808284811515610bf557fe5b0490508091505b50929150505600a165627a7a723058207f01ea77587ad81239b192b060b386e4d055ce7593451f9e0cdef432ae65f9f50029000000000000000000000000ef68e7c694f40c8202821edf525de3782458639f00000000000000000000000021b257a25ef2fb05714deaf5026c00ba2841c7ed


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

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000ef68e7c694f40c8202821edf525de3782458639f
Arg [1] : 00000000000000000000000021b257a25ef2fb05714deaf5026c00ba2841c7ed


   Swarm Source:
bzzr://7f01ea77587ad81239b192b060b386e4d055ce7593451f9e0cdef432ae65f9f5
Block Age transaction Difficulty GasUsed Reward
Block Age Uncle Number Difficulty GasUsed Reward
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.