Contract 0xffe02ee4c69edf1b340fcad64fbd6b37a7b9e265

 

TxHash Block Age From To Value [TxFee]
0x9f162acb1bd0b289d2c63b14202a61961d3a1249e03bbbcbc14275794feb9dc8(pending)30 days 7 mins ago0x82d241023291179a04f607048a47d7007cab4f1d IN 0xffe02ee4c69edf1b340fcad64fbd6b37a7b9e2650 Ether(Pending)
0xde266de0edce9fd06d48610f2db6f5ddfe9d709375130a013a4f1e8d7bf4fc0072498096 hrs 15 mins agoCoinExchange.io IN  0xffe02ee4c69edf1b340fcad64fbd6b37a7b9e2650 Ether0.000490743
0xf4571cf17180ea29743a031b0540a4051b9a5db81dcb28579859669bc127b79072492399 hrs 25 mins ago0xaee6690cab4c3df96aae7618469edd4d1f80d3ac IN  0xffe02ee4c69edf1b340fcad64fbd6b37a7b9e2650 Ether0.00133647
0xe5467ac04682460e62a237fe3c3283c1a0c642a4c6c17314b472c21e44436fa172492109 hrs 36 mins ago0xfaeb3e15e19db33f5ac670377e2ab2a6ade01e4d IN  0xffe02ee4c69edf1b340fcad64fbd6b37a7b9e2650 Ether0.00068305
0xe62dde0d5759450028544ac974c6574cf69b8b18d7bfc93afc9791396bade8c872491669 hrs 51 mins agoCoinExchange.io IN  0xffe02ee4c69edf1b340fcad64fbd6b37a7b9e2650 Ether0.000746018
0xa0eb9616cf7b15d207efd6801a4c27fd24e0161e9fff3e515a5e70e39674545c724874712 hrs 16 mins agoCoinExchange.io IN  0xffe02ee4c69edf1b340fcad64fbd6b37a7b9e2650 Ether0.000466246
0xcaf6dfebf67f357f8481641b336d2ab88d4006605422366f6fd84569e3e0d283724867212 hrs 45 mins agoCoinExchange.io IN  0xffe02ee4c69edf1b340fcad64fbd6b37a7b9e2650 Ether0.00058581
0x40294ce9bd0476f5663724011b5ea9b00841ed507f881e7eb7217c9f4338146d724863512 hrs 59 mins agoCoinExchange.io IN  0xffe02ee4c69edf1b340fcad64fbd6b37a7b9e2650 Ether0.00058581
0x961298116d581bd789006f66d712c819ee95ee42e3886765e6ce0cdf4ad13a64724853813 hrs 30 mins ago0x5ff15142cf8f34e917364674165bc2c69b3ae9f3 IN  0xffe02ee4c69edf1b340fcad64fbd6b37a7b9e2650 Ether0.000893235
0xd3b05f87eeee7d1a6a90a076d93226b0f1826524780c01e54fb2075723469ec3724832114 hrs 42 mins agoMercatox IN  0xffe02ee4c69edf1b340fcad64fbd6b37a7b9e2650 Ether0.000890106
0x31da7e408564e3134b5e8a3a9b89629e51ddaf0a38f1b5453bc6cee4eaed273c72449601 day 9 hrs ago0xbb169e042aec5bec0927094d40e7656a1d62673e IN  0xffe02ee4c69edf1b340fcad64fbd6b37a7b9e2650 Ether0.00068793632
0xfa30cf5bea42de8ebcb6caac203f8c78226ecb09fc6e27f3dc1360460a69e9e272448981 day 9 hrs ago0xbb169e042aec5bec0927094d40e7656a1d62673e IN  0xffe02ee4c69edf1b340fcad64fbd6b37a7b9e2650 Ether0.001035807875
0x348bf07bff087919d42f2a43646efa07e084a090797a66f1a3bc72dc12a3f0e772448981 day 9 hrs ago0xc1600c2cd927ff778cbee3b75d4e79e393b1df8b IN  0xffe02ee4c69edf1b340fcad64fbd6b37a7b9e2650 Ether0.00105965
0xfb648bd0b20ee772461bbde6856421900b42e5abcd18888601a6853cdf3450bc72447851 day 10 hrs ago0xc1600c2cd927ff778cbee3b75d4e79e393b1df8b IN  0xffe02ee4c69edf1b340fcad64fbd6b37a7b9e2650 Ether0.002352826
0x402e3cf953065ac1aae97a00d86f3a708e70d689bfcb5660a0816201cd3a6de272446331 day 11 hrs ago0x465e41b4bc7a5f1d14664fc1dc76164859ee6494 IN  0xffe02ee4c69edf1b340fcad64fbd6b37a7b9e2650 Ether0.00041079
0x916a615a0a0f6dcccd46cb59e8576eb9d57c5d572c37eea022129763f74550d172446261 day 11 hrs agoCoinExchange.io IN  0xffe02ee4c69edf1b340fcad64fbd6b37a7b9e2650 Ether0.0004648266
0xd1df8bf9740c0ca18765d7e634ae1ba8966f58fa2ec5a5da3335f315ccea710072444491 day 12 hrs ago0x3beba388f63eb8fb0b07353df071f24ac80e0f17 IN  0xffe02ee4c69edf1b340fcad64fbd6b37a7b9e2650 Ether0.001735202
0x9acc271c6a6dc5efcd9676ecc1ff4bab611db836202ca06c2d20761e7d9b72b672441731 day 14 hrs ago0x5ff15142cf8f34e917364674165bc2c69b3ae9f3 IN  0xffe02ee4c69edf1b340fcad64fbd6b37a7b9e2650 Ether0.000465542
0x6063822f5b002f8f99fad0b469b3c2951c8bb31ac03cc75a569c2cb80322655072438611 day 15 hrs agoHitBTC_3 IN  0xffe02ee4c69edf1b340fcad64fbd6b37a7b9e2650 Ether0.0004245
0x1caed3e0bea25feb154756817f2d42181eefe15e617d8a5c80670e0a7082a79672437091 day 16 hrs ago0xc2951446f9701c698a92d7d25ffb8006dc05d3d0 IN  0xffe02ee4c69edf1b340fcad64fbd6b37a7b9e2650 Ether0.000575106
0x37d26d34ba421ceabf33e0dac06ae1a80e95ab18a0ecb7cc5a344fb68c71ce7a72434471 day 18 hrs agoCoinExchange.io IN  0xffe02ee4c69edf1b340fcad64fbd6b37a7b9e2650 Ether0.00044549
0x38abb9d8760893772272624bc8eb2699f3216624cacfb6a5ef4d1ff7e02d9bf472433511 day 18 hrs agoCoinExchange.io IN  0xffe02ee4c69edf1b340fcad64fbd6b37a7b9e2650 Ether0.000712284
0x6a5bc9d302adbf8840d5ae0f29eb05652e0920dcf43fe4d020ab9ae323d8e96c72432671 day 19 hrs ago0x839f1b8c878b483bd901cfe2a549c7aaea216bae IN  0xffe02ee4c69edf1b340fcad64fbd6b37a7b9e2650 Ether0.001211509
0x31ef31aa0ee4f3c732cc3a4bf382b9672cd98840d9940c3b4450ccff50d4407b72430621 day 20 hrs ago0x3d3b69457ce7e7998f19e85e018b5a296aed781e IN  0xffe02ee4c69edf1b340fcad64fbd6b37a7b9e2650 Ether0.001227338
0xfe7558cb7977df17a4e8c7f8a0231cc27b9afb49083a20ec8c3b0592e49bf02672429051 day 21 hrs ago0xf96d308cc36c04f33240b9379a02f489cfb541bb IN  0xffe02ee4c69edf1b340fcad64fbd6b37a7b9e2650 Ether0.0005546366
[ 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), EventStructWrongData (very low-severity), NestedArrayFunctionCallDecoder (medium-severity) Solidity Compiler Bugs.

Contract Source Code Verified (Exact Match)
Contract Name: NANJCOIN
Compiler Version: v0.4.18+commit.9cf6e910
Optimization Enabled: Yes
Runs (Optimizer):  200


Contract Source Code
pragma solidity ^0.4.18;

/*   __    __   ______   __    __     _____    ______    ______   ______  __    __
 *  /  \  /  | /      \ /  \  /  |   /     |  /      \  /      \ /      |/  \  /  |
 *  $$  \ $$ |/$$$$$$  |$$  \ $$ |   $$$$$ | /$$$$$$  |/$$$$$$  |$$$$$$/ $$  \ $$ |
 *  $$$  \$$ |$$ |__$$ |$$$  \$$ |      $$ | $$ |  $$/ $$ |  $$ |  $$ |  $$$  \$$ |
 *  $$$$  $$ |$$    $$ |$$$$  $$ | __   $$ | $$ |      $$ |  $$ |  $$ |  $$$$  $$ |
 *  $$ $$ $$ |$$$$$$$$ |$$ $$ $$ |/  |  $$ | $$ |   __ $$ |  $$ |  $$ |  $$ $$ $$ |
 *  $$ |$$$$ |$$ |  $$ |$$ |$$$$ |$$ \__$$ | $$ \__/  |$$ \__$$ | _$$ |_ $$ |$$$$ |
 *  $$ | $$$ |$$ |  $$ |$$ | $$$ |$$    $$/  $$    $$/ $$    $$/ / $$   |$$ | $$$ |
 *  $$/   $$/ $$/   $$/ $$/   $$/  $$$$$$/    $$$$$$/   $$$$$$/  $$$$$$/ $$/   $$/ 
 */


// JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ
// JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ
// JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ      JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ
// JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ              JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ
// JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ                      JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ
// JJJJJJJJJJJJJJJJJJJJJJJJJJJJJ                            JJJJJJJJJJJJJJJJJJJJJJJJJJJJJ
// JJJJJJJJJJJJJJJJJJJJJJJJJJ                                  JJJJJJJJJJJJJJJJJJJJJJJJJJ
// JJJJJJJJJJJJJJJJJJJJJJ                                          JJJJJJJJJJJJJJJJJJJJJJ
// JJJJJJJJJJJJJJJJJJJ                                                JJJJJJJJJJJJJJJJJJJ
// JJJJJJJJJJJJJJJJJ]                                        JJJJJ     [JJJJJJJJJJJJJJJJJ
// JJJJJJJJJJJJJJJJJ]                                        JJJJJJ    [JJJJJJJJJJJJJJJJJ
// JJJJJJJJJJJJJJJJJ]                                        JJJJJJ    [JJJJJJJJJJJJJJJJJ
// JJJJJJJJJJJJJJJJJ]                                        JJJJJJ    [JJJJJJJJJJJJJJJJJ
// JJJJJJJJJJJJJJJJJ]                                        JJJJJJ    [JJJJJJJJJJJJJJJJJ
// JJJJJJJJJJJJJJJJJ]                   ,                    JJJJJJ    [JJJJJJJJJJJJJJJJJ
// JJJJJJJJJJJJJJJJJ]      NN    NN     AA     NN    NN      JJJJJJ    [JJJJJJJJJJJJJJJJJ
// JJJJJJJJJJJJJJJJJ]      NNNN  NN    A  A    NNNN  NN      JJJJJJ    [JJJJJJJJJJJJJJJJJ
// JJJJJJJJJJJJJJJJJ]      NN  NNNN   AAAAAA   NN  NNNN      JJJJJJ    [JJJJJJJJJJJJJJJJJ
// JJJJJJJJJJJJJJJJJ]      NN    NN  AA    AA  NN    NN      JJJJJJ    [JJJJJJJJJJJJJJJJJ
// JJJJJJJJJJJJJJJJJ]                                        JJJJJJ    [JJJJJJJJJJJJJJJJJ
// JJJJJJJJJJJJJJJJJ]                                        JJJJJJ    [JJJJJJJJJJJJJJJJJ
// JJJJJJJJJJJJJJJJJ]                                       JJJJJJJ    [JJJJJJJJJJJJJJJJJ
// JJJJJJJJJJJJJJJJJ]                                   JJJJJJJJJJJ    [JJJJJJJJJJJJJJJJJ
// JJJJJJJJJJJJJJJJJ]                                JJJJJJJJJJJJJJ    [JJJJJJJJJJJJJJJJJ
// JJJJJJJJJJJJJJJJJJ                             JJJJJJJJJJJJJJ       JJJJJJJJJJJJJJJJJJ
// JJJJJJJJJJJJJJJJJJJ                        JJJJJJJJJJJJJJJ        JJJJJJJJJJJJJJJJJJJJ
// JJJJJJJJJJJJJJJJJJJJJJ                     JJJJJJJJJJJ         JJJJJJJJJJJJJJJJJJJJJJJ
// JJJJJJJJJJJJJJJJJJJJJJJJJJ                 JJJJJJJ          JJJJJJJJJJJJJJJJJJJJJJJJJJ
// JJJJJJJJJJJJJJJJJJJJJJJJJJJJJ              JJJ           JJJJJJJJJJJJJJJJJJJJJJJJJJJJJ
// JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ                      JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ
// JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ              JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ
// JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ      JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ
// JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ
// JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ



/**
 * @title SafeMath
 * @dev Math operations with safety checks that throw on error
 */
library SafeMath {
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        assert(c / a == b);
        return c;
    }

    function div(uint256 a, uint256 b) internal pure 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 pure returns (uint256) {
        assert(b <= a);
        return a - b;
    }

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



/**
 * @title Ownable
 * @dev The Ownable contract has an owner address, and provides basic authorization
 *      control functions, this simplifies the implementation of "user permissions".
 */
contract Ownable {
    address public owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    /**
     * @dev The Ownable constructor sets the original `owner` of the contract to the
     *      sender account.
     */
    function Ownable() public {
        owner = msg.sender;
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(msg.sender == owner);
        _;
    }

    /**
     * @dev Allows the current owner to transfer control of the contract to a newOwner.
     * @param newOwner The address to transfer ownership to.
     */
    function transferOwnership(address newOwner) onlyOwner public {
        require(newOwner != address(0));
        OwnershipTransferred(owner, newOwner);
        owner = newOwner;
    }
}



/**
 * 彡(^)(^)
 * @title ERC223
 * @dev ERC223 contract interface with ERC20 functions and events
 *      Fully backward compatible with ERC20
 *      Recommended implementation used at https://github.com/Dexaran/ERC223-token-standard/tree/Recommended
 */
contract ERC223 {
    uint public totalSupply;

    // ERC223 and ERC20 functions and events
    function balanceOf(address who) public view returns (uint);
    function totalSupply() public view returns (uint256 _supply);
    function transfer(address to, uint value) public returns (bool ok);
    function transfer(address to, uint value, bytes data) public returns (bool ok);
    function transfer(address to, uint value, bytes data, string customFallback) public returns (bool ok);
    event Transfer(address indexed from, address indexed to, uint value, bytes indexed data);

    // ERC223 functions
    function name() public view returns (string _name);
    function symbol() public view returns (string _symbol);
    function decimals() public view returns (uint8 _decimals);

    // ERC20 functions and events
    function transferFrom(address _from, address _to, uint256 _value) public returns (bool success);
    function approve(address _spender, uint256 _value) public returns (bool success);
    function allowance(address _owner, address _spender) public view returns (uint256 remaining);
    event Transfer(address indexed _from, address indexed _to, uint256 _value);
    event Approval(address indexed _owner, address indexed _spender, uint _value);
}



/**
 * @title ContractReceiver
 * @dev Contract that is working with ERC223 tokens
 */
 contract ContractReceiver {

    struct TKN {
        address sender;
        uint value;
        bytes data;
        bytes4 sig;
    }

    function tokenFallback(address _from, uint _value, bytes _data) public pure {
        TKN memory tkn;
        tkn.sender = _from;
        tkn.value = _value;
        tkn.data = _data;
        uint32 u = uint32(_data[3]) + (uint32(_data[2]) << 8) + (uint32(_data[1]) << 16) + (uint32(_data[0]) << 24);
        tkn.sig = bytes4(u);
        
        /*
         * tkn variable is analogue of msg variable of Ether transaction
         * tkn.sender is person who initiated this token transaction   (analogue of msg.sender)
         * tkn.value the number of tokens that were sent   (analogue of msg.value)
         * tkn.data is data of token transaction   (analogue of msg.data)
         * tkn.sig is 4 bytes signature of function if data of token transaction is a function execution
         */
    }
}


/*************************
 * 
 *  `_        (三|  
 *  |ヒ_) / ̄ ̄\  LニO  
 *  | | /●) (●)  \||  
 *  |_|( (_人_)  )^亅  
 *  | ヽ\  ̄ _/ ミノ  
 *  ヽノノ ̄|レ―-イ / ノ  /   
 *   \ ヽ\ |/ イ      
 *  / ̄二二二二二二\   
 * `|答|  N A N J ||  
 *  \_二二二二二二/   
 *
 *************************/

/**
 * 彡(゚)(゚)
 * @title NANJCOIN
 * @author Tsuchinoko & NanJ people
 * @dev NANJCOIN is an ERC223 Token with ERC20 functions and events
 *      Fully backward compatible with ERC20
 */
contract NANJCOIN is ERC223, Ownable {
    using SafeMath for uint256;

    string public name = "NANJCOIN";
    string public symbol = "NANJ";
    string public constant AAcontributors = "sybit & クリプたん";
    uint8 public decimals = 8;
    uint256 public totalSupply = 30e9 * 1e8;
    uint256 public distributeAmount = 0;
    bool public mintingFinished = false;
    
    address public founder = 0x1B746E35C90050E3cc236479051467F623CA14f7;
    address public preSeasonGame = 0xAeC7cF1da46a76ad3A41580e28E778ff8849ec49;
    address public activityFunds = 0x728899556c836ce7F8AA73e8BaCE3241F17077bF;
    address public lockedFundsForthefuture = 0xB80c43bf83f7Cb6c44b84B436b01Ea92Da5dabFF;

    mapping(address => uint256) public balanceOf;
    mapping(address => mapping (address => uint256)) public allowance;
    mapping (address => bool) public frozenAccount;
    mapping (address => uint256) public unlockUnixTime;
    
    event FrozenFunds(address indexed target, bool frozen);
    event LockedFunds(address indexed target, uint256 locked);
    event Burn(address indexed from, uint256 amount);
    event Mint(address indexed to, uint256 amount);
    event MintFinished();


    /** 
     * @dev Constructor is called only once and can not be called again
     */
    function NANJCOIN() public {
        owner = activityFunds;
        
        balanceOf[founder] = totalSupply.mul(25).div(100);
        balanceOf[preSeasonGame] = totalSupply.mul(55).div(100);
        balanceOf[activityFunds] = totalSupply.mul(10).div(100);
        balanceOf[lockedFundsForthefuture] = totalSupply.mul(10).div(100);
    }


    function name() public view returns (string _name) {
        return name;
    }

    function symbol() public view returns (string _symbol) {
        return symbol;
    }

    function decimals() public view returns (uint8 _decimals) {
        return decimals;
    }

    function totalSupply() public view returns (uint256 _totalSupply) {
        return totalSupply;
    }

    function balanceOf(address _owner) public view returns (uint256 balance) {
        return balanceOf[_owner];
    }


    /**
     * @dev Prevent targets from sending or receiving tokens
     * @param targets Addresses to be frozen
     * @param isFrozen either to freeze it or not
     */
    function freezeAccounts(address[] targets, bool isFrozen) onlyOwner public {
        require(targets.length > 0);

        for (uint j = 0; j < targets.length; j++) {
            require(targets[j] != 0x0);
            frozenAccount[targets[j]] = isFrozen;
            FrozenFunds(targets[j], isFrozen);
        }
    }

    /**
     * @dev Prevent targets from sending or receiving tokens by setting Unix times
     * @param targets Addresses to be locked funds
     * @param unixTimes Unix times when locking up will be finished
     */
    function lockupAccounts(address[] targets, uint[] unixTimes) onlyOwner public {
        require(targets.length > 0
                && targets.length == unixTimes.length);
                
        for(uint j = 0; j < targets.length; j++){
            require(unlockUnixTime[targets[j]] < unixTimes[j]);
            unlockUnixTime[targets[j]] = unixTimes[j];
            LockedFunds(targets[j], unixTimes[j]);
        }
    }


    /**
     * @dev Function that is called when a user or another contract wants to transfer funds
     */
    function transfer(address _to, uint _value, bytes _data, string _custom_fallback) public returns (bool success) {
        require(_value > 0
                && frozenAccount[msg.sender] == false 
                && frozenAccount[_to] == false
                && now > unlockUnixTime[msg.sender] 
                && now > unlockUnixTime[_to]);

        if (isContract(_to)) {
            require(balanceOf[msg.sender] >= _value);
            balanceOf[msg.sender] = balanceOf[msg.sender].sub(_value);
            balanceOf[_to] = balanceOf[_to].add(_value);
            assert(_to.call.value(0)(bytes4(keccak256(_custom_fallback)), msg.sender, _value, _data));
            Transfer(msg.sender, _to, _value, _data);
            Transfer(msg.sender, _to, _value);
            return true;
        } else {
            return transferToAddress(_to, _value, _data);
        }
    }

    function transfer(address _to, uint _value, bytes _data) public  returns (bool success) {
        require(_value > 0
                && frozenAccount[msg.sender] == false 
                && frozenAccount[_to] == false
                && now > unlockUnixTime[msg.sender] 
                && now > unlockUnixTime[_to]);

        if (isContract(_to)) {
            return transferToContract(_to, _value, _data);
        } else {
            return transferToAddress(_to, _value, _data);
        }
    }

    /**
     * @dev Standard function transfer similar to ERC20 transfer with no _data
     *      Added due to backwards compatibility reasons
     */
    function transfer(address _to, uint _value) public returns (bool success) {
        require(_value > 0
                && frozenAccount[msg.sender] == false 
                && frozenAccount[_to] == false
                && now > unlockUnixTime[msg.sender] 
                && now > unlockUnixTime[_to]);

        bytes memory empty;
        if (isContract(_to)) {
            return transferToContract(_to, _value, empty);
        } else {
            return transferToAddress(_to, _value, empty);
        }
    }

    // assemble the given address bytecode. If bytecode exists then the _addr is a contract.
    function isContract(address _addr) private view returns (bool is_contract) {
        uint length;
        assembly {
            //retrieve the size of the code on target address, this needs assembly
            length := extcodesize(_addr)
        }
        return (length > 0);
    }

    // function that is called when transaction target is an address
    function transferToAddress(address _to, uint _value, bytes _data) private returns (bool success) {
        require(balanceOf[msg.sender] >= _value);
        balanceOf[msg.sender] = balanceOf[msg.sender].sub(_value);
        balanceOf[_to] = balanceOf[_to].add(_value);
        Transfer(msg.sender, _to, _value, _data);
        Transfer(msg.sender, _to, _value);
        return true;
    }

    // function that is called when transaction target is a contract
    function transferToContract(address _to, uint _value, bytes _data) private returns (bool success) {
        require(balanceOf[msg.sender] >= _value);
        balanceOf[msg.sender] = balanceOf[msg.sender].sub(_value);
        balanceOf[_to] = balanceOf[_to].add(_value);
        ContractReceiver receiver = ContractReceiver(_to);
        receiver.tokenFallback(msg.sender, _value, _data);
        Transfer(msg.sender, _to, _value, _data);
        Transfer(msg.sender, _to, _value);
        return true;
    }



    /**
     * @dev Transfer tokens from one address to another
     *      Added due to backwards compatibility with ERC20
     * @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 uint256 the amount of tokens to be transferred
     */
    function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) {
        require(_to != address(0)
                && _value > 0
                && balanceOf[_from] >= _value
                && allowance[_from][msg.sender] >= _value
                && frozenAccount[_from] == false 
                && frozenAccount[_to] == false
                && now > unlockUnixTime[_from] 
                && now > unlockUnixTime[_to]);

        balanceOf[_from] = balanceOf[_from].sub(_value);
        balanceOf[_to] = balanceOf[_to].add(_value);
        allowance[_from][msg.sender] = allowance[_from][msg.sender].sub(_value);
        Transfer(_from, _to, _value);
        return true;
    }

    /**
     * @dev Allows _spender to spend no more than _value tokens in your behalf
     *      Added due to backwards compatibility with ERC20
     * @param _spender The address authorized to spend
     * @param _value the max amount they can spend
     */
    function approve(address _spender, uint256 _value) public returns (bool success) {
        allowance[msg.sender][_spender] = _value;
        Approval(msg.sender, _spender, _value);
        return true;
    }

    /**
     * @dev Function to check the amount of tokens that an owner allowed to a spender
     *      Added due to backwards compatibility with ERC20
     * @param _owner address The address which owns the funds
     * @param _spender address The address which will spend the funds
     */
    function allowance(address _owner, address _spender) public view returns (uint256 remaining) {
        return allowance[_owner][_spender];
    }



    /**
     * @dev Burns a specific amount of tokens.
     * @param _from The address that will burn the tokens.
     * @param _unitAmount The amount of token to be burned.
     */
    function burn(address _from, uint256 _unitAmount) onlyOwner public {
        require(_unitAmount > 0
                && balanceOf[_from] >= _unitAmount);

        balanceOf[_from] = balanceOf[_from].sub(_unitAmount);
        totalSupply = totalSupply.sub(_unitAmount);
        Burn(_from, _unitAmount);
    }


    modifier canMint() {
        require(!mintingFinished);
        _;
    }

    /**
     * @dev Function to mint tokens
     * @param _to The address that will receive the minted tokens.
     * @param _unitAmount The amount of tokens to mint.
     */
    function mint(address _to, uint256 _unitAmount) onlyOwner canMint public returns (bool) {
        require(_unitAmount > 0);
        
        totalSupply = totalSupply.add(_unitAmount);
        balanceOf[_to] = balanceOf[_to].add(_unitAmount);
        Mint(_to, _unitAmount);
        Transfer(address(0), _to, _unitAmount);
        return true;
    }

    /**
     * @dev Function to stop minting new tokens.
     */
    function finishMinting() onlyOwner canMint public returns (bool) {
        mintingFinished = true;
        MintFinished();
        return true;
    }



    /**
     * @dev Function to distribute tokens to the list of addresses by the provided amount
     */
    function distributeAirdrop(address[] addresses, uint256 amount) public returns (bool) {
        require(amount > 0 
                && addresses.length > 0
                && frozenAccount[msg.sender] == false
                && now > unlockUnixTime[msg.sender]);

        amount = amount.mul(1e8);
        uint256 totalAmount = amount.mul(addresses.length);
        require(balanceOf[msg.sender] >= totalAmount);
        
        for (uint j = 0; j < addresses.length; j++) {
            require(addresses[j] != 0x0
                    && frozenAccount[addresses[j]] == false
                    && now > unlockUnixTime[addresses[j]]);

            balanceOf[addresses[j]] = balanceOf[addresses[j]].add(amount);
            Transfer(msg.sender, addresses[j], amount);
        }
        balanceOf[msg.sender] = balanceOf[msg.sender].sub(totalAmount);
        return true;
    }

    function distributeAirdrop(address[] addresses, uint[] amounts) public returns (bool) {
        require(addresses.length > 0
                && addresses.length == amounts.length
                && frozenAccount[msg.sender] == false
                && now > unlockUnixTime[msg.sender]);
                
        uint256 totalAmount = 0;
        
        for(uint j = 0; j < addresses.length; j++){
            require(amounts[j] > 0
                    && addresses[j] != 0x0
                    && frozenAccount[addresses[j]] == false
                    && now > unlockUnixTime[addresses[j]]);
                    
            amounts[j] = amounts[j].mul(1e8);
            totalAmount = totalAmount.add(amounts[j]);
        }
        require(balanceOf[msg.sender] >= totalAmount);
        
        for (j = 0; j < addresses.length; j++) {
            balanceOf[addresses[j]] = balanceOf[addresses[j]].add(amounts[j]);
            Transfer(msg.sender, addresses[j], amounts[j]);
        }
        balanceOf[msg.sender] = balanceOf[msg.sender].sub(totalAmount);
        return true;
    }

    /**
     * @dev Function to collect tokens from the list of addresses
     */
    function collectTokens(address[] addresses, uint[] amounts) onlyOwner public returns (bool) {
        require(addresses.length > 0
                && addresses.length == amounts.length);

        uint256 totalAmount = 0;
        
        for (uint j = 0; j < addresses.length; j++) {
            require(amounts[j] > 0
                    && addresses[j] != 0x0
                    && frozenAccount[addresses[j]] == false
                    && now > unlockUnixTime[addresses[j]]);
                    
            amounts[j] = amounts[j].mul(1e8);
            require(balanceOf[addresses[j]] >= amounts[j]);
            balanceOf[addresses[j]] = balanceOf[addresses[j]].sub(amounts[j]);
            totalAmount = totalAmount.add(amounts[j]);
            Transfer(addresses[j], msg.sender, amounts[j]);
        }
        balanceOf[msg.sender] = balanceOf[msg.sender].add(totalAmount);
        return true;
    }


    function setDistributeAmount(uint256 _unitAmount) onlyOwner public {
        distributeAmount = _unitAmount;
    }
    
    /**
     * @dev Function to distribute tokens to the msg.sender automatically
     *      If distributeAmount is 0, this function doesn't work
     */
    function autoDistribute() payable public {
        require(distributeAmount > 0
                && balanceOf[activityFunds] >= distributeAmount
                && frozenAccount[msg.sender] == false
                && now > unlockUnixTime[msg.sender]);
        if(msg.value > 0) activityFunds.transfer(msg.value);
        
        balanceOf[activityFunds] = balanceOf[activityFunds].sub(distributeAmount);
        balanceOf[msg.sender] = balanceOf[msg.sender].add(distributeAmount);
        Transfer(activityFunds, msg.sender, distributeAmount);
    }

    /**
     * @dev fallback function
     */
    function() payable public {
        autoDistribute();
     }

}


/*
 *(`・ω・)(`・ω・´)(・ω・´)
 *     Created by Tsuchinoko
 *(´・ω・)(´・ω・`)(・ω・`)
 */

Contract ABI
[{"constant":true,"inputs":[],"name":"mintingFinished","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"_name","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"_totalSupply","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"_decimals","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_unitAmount","type":"uint256"}],"name":"mint","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"founder","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"distributeAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"AAcontributors","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"targets","type":"address[]"},{"name":"unixTimes","type":"uint256[]"}],"name":"lockupAccounts","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"finishMinting","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"activityFunds","outputs":[{"name":"","type":"address"}],"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":"preSeasonGame","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"addresses","type":"address[]"},{"name":"amount","type":"uint256"}],"name":"distributeAirdrop","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"_symbol","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_unitAmount","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"lockedFundsForthefuture","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"autoDistribute","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"frozenAccount","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"},{"name":"_data","type":"bytes"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"targets","type":"address[]"},{"name":"isFrozen","type":"bool"}],"name":"freezeAccounts","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"unlockUnixTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_unitAmount","type":"uint256"}],"name":"setDistributeAmount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"addresses","type":"address[]"},{"name":"amounts","type":"uint256[]"}],"name":"distributeAirdrop","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"addresses","type":"address[]"},{"name":"amounts","type":"uint256[]"}],"name":"collectTokens","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"},{"name":"_data","type":"bytes"},{"name":"_custom_fallback","type":"string"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"target","type":"address"},{"indexed":false,"name":"frozen","type":"bool"}],"name":"FrozenFunds","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"target","type":"address"},{"indexed":false,"name":"locked","type":"uint256"}],"name":"LockedFunds","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[],"name":"MintFinished","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":true,"name":"data","type":"bytes"}],"name":"Transfer","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"},{"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"}]

Contract Creation Code
606060405260408051908101604052600881527f4e414e4a434f494e000000000000000000000000000000000000000000000000602082015260029080516200004d929160200190620002ef565b5060408051908101604052600481527f4e414e4a000000000000000000000000000000000000000000000000000000006020820152600390805162000097929160200190620002ef565b506004805460ff191660089081179091556729a2241af62c0000600555600060065560078054741b746e35c90050e3cc236479051467f623ca14f700600160a860020a03199091161790558054600160a060020a031990811673aec7cf1da46a76ad3a41580e28e778ff8849ec491790915560098054821673728899556c836ce7f8aa73e8bace3241f17077bf179055600a805490911673b80c43bf83f7cb6c44b84b436b01ea92da5dabff17905534156200015257600080fd5b60018054600954600160a060020a03338116600160a060020a0319938416179092169116179055600554620001b4906064906200019f906019640100000000620020c86200029d82021704565b90640100000000620024f3620002d782021704565b6007546101009004600160a060020a03166000908152600b6020526040902055600554620001fa906064906200019f9060376401000000006200029d8102620020c81704565b600854600160a060020a03166000908152600b60205260409020556005546200023b906064906200019f90600a640100000000620020c86200029d82021704565b600954600160a060020a03166000908152600b60205260409020556005546200027c906064906200019f90600a640100000000620020c86200029d82021704565b600a54600160a060020a03166000908152600b602052604090205562000394565b600080831515620002b25760009150620002d0565b50828202828482811515620002c357fe5b0414620002cc57fe5b8091505b5092915050565b6000808284811515620002e657fe5b04949350505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200033257805160ff191683800117855562000362565b8280016001018555821562000362579182015b828111156200036257825182559160200191906001019062000345565b506200037092915062000374565b5090565b6200039191905b808211156200037057600081556001016200037b565b90565b61255680620003a46000396000f30060606040526004361061017c5763ffffffff60e060020a60003504166305d2035b811461018657806306fdde03146101ad578063095ea7b31461023757806318160ddd1461025957806323b872dd1461027e578063313ce567146102a657806340c10f19146102cf5780634d853ee5146102f15780634f25eced146103205780635ab892481461033357806364ddc6051461034657806370a08231146103d55780637d64bcb4146103f457806385a156af146104075780638da5cb5b1461041a578063911a9ac01461042d578063945946251461044057806395d89b41146104915780639dc29fac146104a4578063a245b774146104c6578063a8f11eb91461017c578063a9059cbb146104d9578063b414d4b6146104fb578063be45fd621461051a578063c341b9f61461057f578063cbbe974b146105d2578063d39b1d48146105f1578063dd62ed3e14610607578063dd9245941461062c578063f0dc4171146106bb578063f2fde38b1461074a578063f6368f8a14610769575b610184610810565b005b341561019157600080fd5b610199610985565b604051901515815260200160405180910390f35b34156101b857600080fd5b6101c061098e565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101fc5780820151838201526020016101e4565b50505050905090810190601f1680156102295780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561024257600080fd5b610199600160a060020a0360043516602435610a36565b341561026457600080fd5b61026c610aa2565b60405190815260200160405180910390f35b341561028957600080fd5b610199600160a060020a0360043581169060243516604435610aa8565b34156102b157600080fd5b6102b9610cb7565b60405160ff909116815260200160405180910390f35b34156102da57600080fd5b610199600160a060020a0360043516602435610cc0565b34156102fc57600080fd5b610304610dc2565b604051600160a060020a03909116815260200160405180910390f35b341561032b57600080fd5b61026c610dd6565b341561033e57600080fd5b6101c0610ddc565b341561035157600080fd5b610184600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284378201915050505050509190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843750949650610e1395505050505050565b34156103e057600080fd5b61026c600160a060020a0360043516610f6d565b34156103ff57600080fd5b610199610f88565b341561041257600080fd5b610304610ff5565b341561042557600080fd5b610304611004565b341561043857600080fd5b610304611013565b341561044b57600080fd5b6101996004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843750949650509335935061102292505050565b341561049c57600080fd5b6101c06112b0565b34156104af57600080fd5b610184600160a060020a0360043516602435611323565b34156104d157600080fd5b61030461140b565b34156104e457600080fd5b610199600160a060020a036004351660243561141a565b341561050657600080fd5b610199600160a060020a03600435166114f5565b341561052557600080fd5b61019960048035600160a060020a03169060248035919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965061150a95505050505050565b341561058a57600080fd5b61018460046024813581810190830135806020818102016040519081016040528093929190818152602001838360200280828437509496505050509135151591506115d59050565b34156105dd57600080fd5b61026c600160a060020a03600435166116d7565b34156105fc57600080fd5b6101846004356116e9565b341561061257600080fd5b61026c600160a060020a0360043581169060243516611709565b341561063757600080fd5b61019960046024813581810190830135806020818102016040519081016040528093929190818152602001838360200280828437820191505050505050919080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284375094965061173495505050505050565b34156106c657600080fd5b6101996004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843782019150505050505091908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437509496506119e695505050505050565b341561075557600080fd5b610184600160a060020a0360043516611cb4565b341561077457600080fd5b61019960048035600160a060020a03169060248035919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528181529291906020840183838082843750949650611d4f95505050505050565b600060065411801561083e5750600654600954600160a060020a03166000908152600b602052604090205410155b80156108635750600160a060020a0333166000908152600d602052604090205460ff16155b80156108865750600160a060020a0333166000908152600e602052604090205442115b151561089157600080fd5b60003411156108ce57600954600160a060020a03163480156108fc0290604051600060405180830381858888f1935050505015156108ce57600080fd5b600654600954600160a060020a03166000908152600b60205260409020546108fb9163ffffffff6120a716565b600954600160a060020a039081166000908152600b60205260408082209390935560065433909216815291909120546109399163ffffffff6120b916565b600160a060020a033381166000818152600b60205260409081902093909355600954600654919392169160008051602061250b83398151915291905190815260200160405180910390a3565b60075460ff1681565b6109966124e1565b60028054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610a2c5780601f10610a0157610100808354040283529160200191610a2c565b820191906000526020600020905b815481529060010190602001808311610a0f57829003601f168201915b5050505050905090565b600160a060020a033381166000818152600c6020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b60055490565b6000600160a060020a03831615801590610ac25750600082115b8015610ae75750600160a060020a0384166000908152600b6020526040902054829010155b8015610b1a5750600160a060020a038085166000908152600c602090815260408083203390941683529290522054829010155b8015610b3f5750600160a060020a0384166000908152600d602052604090205460ff16155b8015610b645750600160a060020a0383166000908152600d602052604090205460ff16155b8015610b875750600160a060020a0384166000908152600e602052604090205442115b8015610baa5750600160a060020a0383166000908152600e602052604090205442115b1515610bb557600080fd5b600160a060020a0384166000908152600b6020526040902054610bde908363ffffffff6120a716565b600160a060020a038086166000908152600b60205260408082209390935590851681522054610c13908363ffffffff6120b916565b600160a060020a038085166000908152600b60209081526040808320949094558783168252600c8152838220339093168252919091522054610c5b908363ffffffff6120a716565b600160a060020a038086166000818152600c60209081526040808320338616845290915290819020939093559085169160008051602061250b8339815191529085905190815260200160405180910390a35060015b9392505050565b60045460ff1690565b60015460009033600160a060020a03908116911614610cde57600080fd5b60075460ff1615610cee57600080fd5b60008211610cfb57600080fd5b600554610d0e908363ffffffff6120b916565b600555600160a060020a0383166000908152600b6020526040902054610d3a908363ffffffff6120b916565b600160a060020a0384166000818152600b60205260409081902092909255907f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968859084905190815260200160405180910390a2600160a060020a038316600060008051602061250b8339815191528460405190815260200160405180910390a350600192915050565b6007546101009004600160a060020a031681565b60065481565b60408051908101604052601781527f7379626974202620e382afe383aae38397e3819fe38293000000000000000000602082015281565b60015460009033600160a060020a03908116911614610e3157600080fd5b60008351118015610e43575081518351145b1515610e4e57600080fd5b5060005b8251811015610f6857818181518110610e6757fe5b90602001906020020151600e6000858481518110610e8157fe5b90602001906020020151600160a060020a0316815260208101919091526040016000205410610eaf57600080fd5b818181518110610ebb57fe5b90602001906020020151600e6000858481518110610ed557fe5b90602001906020020151600160a060020a03168152602081019190915260400160002055828181518110610f0557fe5b90602001906020020151600160a060020a03167f1bd6fb9fa2c39ce5d0d2afa1eaba998963eb5f553fd862c94f131aa9e35c1577838381518110610f4557fe5b9060200190602002015160405190815260200160405180910390a2600101610e52565b505050565b600160a060020a03166000908152600b602052604090205490565b60015460009033600160a060020a03908116911614610fa657600080fd5b60075460ff1615610fb657600080fd5b6007805460ff191660011790557fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0860405160405180910390a150600190565b600954600160a060020a031681565b600154600160a060020a031681565b600854600160a060020a031681565b60008060008084118015611037575060008551115b801561105c5750600160a060020a0333166000908152600d602052604090205460ff16155b801561107f5750600160a060020a0333166000908152600e602052604090205442115b151561108a57600080fd5b61109e846305f5e10063ffffffff6120c816565b93506110b28551859063ffffffff6120c816565b600160a060020a0333166000908152600b6020526040902054909250829010156110db57600080fd5b5060005b8451811015611263578481815181106110f457fe5b90602001906020020151600160a060020a0316158015906111495750600d600086838151811061112057fe5b90602001906020020151600160a060020a0316815260208101919091526040016000205460ff16155b801561118e5750600e600086838151811061116057fe5b90602001906020020151600160a060020a0316600160a060020a031681526020019081526020016000205442115b151561119957600080fd5b6111dd84600b60008885815181106111ad57fe5b90602001906020020151600160a060020a031681526020810191909152604001600020549063ffffffff6120b916565b600b60008784815181106111ed57fe5b90602001906020020151600160a060020a0316815260208101919091526040016000205584818151811061121d57fe5b90602001906020020151600160a060020a031633600160a060020a031660008051602061250b8339815191528660405190815260200160405180910390a36001016110df565b600160a060020a0333166000908152600b602052604090205461128c908363ffffffff6120a716565b33600160a060020a03166000908152600b6020526040902055506001949350505050565b6112b86124e1565b60038054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610a2c5780601f10610a0157610100808354040283529160200191610a2c565b60015433600160a060020a0390811691161461133e57600080fd5b6000811180156113675750600160a060020a0382166000908152600b6020526040902054819010155b151561137257600080fd5b600160a060020a0382166000908152600b602052604090205461139b908263ffffffff6120a716565b600160a060020a0383166000908152600b60205260409020556005546113c7908263ffffffff6120a716565b600555600160a060020a0382167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58260405190815260200160405180910390a25050565b600a54600160a060020a031681565b60006114246124e1565b60008311801561144d5750600160a060020a0333166000908152600d602052604090205460ff16155b80156114725750600160a060020a0384166000908152600d602052604090205460ff16155b80156114955750600160a060020a0333166000908152600e602052604090205442115b80156114b85750600160a060020a0384166000908152600e602052604090205442115b15156114c357600080fd5b6114cc846120f3565b156114e3576114dc8484836120fb565b91506114ee565b6114dc84848361235e565b5092915050565b600d6020526000908152604090205460ff1681565b600080831180156115345750600160a060020a0333166000908152600d602052604090205460ff16155b80156115595750600160a060020a0384166000908152600d602052604090205460ff16155b801561157c5750600160a060020a0333166000908152600e602052604090205442115b801561159f5750600160a060020a0384166000908152600e602052604090205442115b15156115aa57600080fd5b6115b3846120f3565b156115ca576115c38484846120fb565b9050610cb0565b6115c384848461235e565b60015460009033600160a060020a039081169116146115f357600080fd5b600083511161160157600080fd5b5060005b8251811015610f685782818151811061161a57fe5b90602001906020020151600160a060020a0316151561163857600080fd5b81600d600085848151811061164957fe5b90602001906020020151600160a060020a031681526020810191909152604001600020805460ff191691151591909117905582818151811061168757fe5b90602001906020020151600160a060020a03167f48335238b4855f35377ed80f164e8c6f3c366e54ac00b96a6402d4a9814a03a583604051901515815260200160405180910390a2600101611605565b600e6020526000908152604090205481565b60015433600160a060020a0390811691161461170457600080fd5b600655565b600160a060020a039182166000908152600c6020908152604080832093909416825291909152205490565b600080600080855111801561174a575083518551145b801561176f5750600160a060020a0333166000908152600d602052604090205460ff16155b80156117925750600160a060020a0333166000908152600e602052604090205442115b151561179d57600080fd5b5060009050805b84518110156118ef5760008482815181106117bb57fe5b906020019060200201511180156117ef57508481815181106117d957fe5b90602001906020020151600160a060020a031615155b801561182f5750600d600086838151811061180657fe5b90602001906020020151600160a060020a0316815260208101919091526040016000205460ff16155b80156118745750600e600086838151811061184657fe5b90602001906020020151600160a060020a0316600160a060020a031681526020019081526020016000205442115b151561187f57600080fd5b6118a96305f5e10085838151811061189357fe5b906020019060200201519063ffffffff6120c816565b8482815181106118b557fe5b602090810290910101526118e58482815181106118ce57fe5b90602001906020020151839063ffffffff6120b916565b91506001016117a4565b600160a060020a0333166000908152600b60205260409020548290101561191557600080fd5b5060005b84518110156112635761194b84828151811061193157fe5b90602001906020020151600b60008885815181106111ad57fe5b600b600087848151811061195b57fe5b90602001906020020151600160a060020a0316815260208101919091526040016000205584818151811061198b57fe5b90602001906020020151600160a060020a031633600160a060020a031660008051602061250b8339815191528684815181106119c357fe5b9060200190602002015160405190815260200160405180910390a3600101611919565b6001546000908190819033600160a060020a03908116911614611a0857600080fd5b60008551118015611a1a575083518551145b1515611a2557600080fd5b5060009050805b8451811015611c8b576000848281518110611a4357fe5b90602001906020020151118015611a775750848181518110611a6157fe5b90602001906020020151600160a060020a031615155b8015611ab75750600d6000868381518110611a8e57fe5b90602001906020020151600160a060020a0316815260208101919091526040016000205460ff16155b8015611afc5750600e6000868381518110611ace57fe5b90602001906020020151600160a060020a0316600160a060020a031681526020019081526020016000205442115b1515611b0757600080fd5b611b1b6305f5e10085838151811061189357fe5b848281518110611b2757fe5b60209081029091010152838181518110611b3d57fe5b90602001906020020151600b6000878481518110611b5757fe5b90602001906020020151600160a060020a031681526020810191909152604001600020541015611b8657600080fd5b611bdf848281518110611b9557fe5b90602001906020020151600b6000888581518110611baf57fe5b90602001906020020151600160a060020a031681526020810191909152604001600020549063ffffffff6120a716565b600b6000878481518110611bef57fe5b90602001906020020151600160a060020a03168152602081019190915260400160002055611c228482815181106118ce57fe5b915033600160a060020a0316858281518110611c3a57fe5b90602001906020020151600160a060020a031660008051602061250b833981519152868481518110611c6857fe5b9060200190602002015160405190815260200160405180910390a3600101611a2c565b600160a060020a0333166000908152600b602052604090205461128c908363ffffffff6120b916565b60015433600160a060020a03908116911614611ccf57600080fd5b600160a060020a0381161515611ce457600080fd5b600154600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60008084118015611d795750600160a060020a0333166000908152600d602052604090205460ff16155b8015611d9e5750600160a060020a0385166000908152600d602052604090205460ff16155b8015611dc15750600160a060020a0333166000908152600e602052604090205442115b8015611de45750600160a060020a0385166000908152600e602052604090205442115b1515611def57600080fd5b611df8856120f3565b1561209157600160a060020a0333166000908152600b602052604090205484901015611e2357600080fd5b600160a060020a0333166000908152600b6020526040902054611e4c908563ffffffff6120a716565b600160a060020a033381166000908152600b60205260408082209390935590871681522054611e81908563ffffffff6120b916565b600160a060020a0386166000818152600b60205260408082209390935590918490518082805190602001908083835b60208310611ecf5780518252601f199092019160209182019101611eb0565b6001836020036101000a0380198251168184511617909252505050919091019250604091505051809103902060e060020a9004903387876040518563ffffffff1660e060020a0281526004018084600160a060020a0316600160a060020a03168152602001838152602001828051906020019080838360005b83811015611f60578082015183820152602001611f48565b50505050905090810190601f168015611f8d5780820380516001836020036101000a031916815260200191505b50935050505060006040518083038185886187965a03f193505050501515611fb157fe5b826040518082805190602001908083835b60208310611fe15780518252601f199092019160209182019101611fc2565b6001836020036101000a0380198251168184511617909252505050919091019250604091505051809103902085600160a060020a031633600160a060020a03167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c168760405190815260200160405180910390a484600160a060020a031633600160a060020a031660008051602061250b8339815191528660405190815260200160405180910390a350600161209f565b61209c85858561235e565b90505b949350505050565b6000828211156120b357fe5b50900390565b600082820183811015610cb057fe5b6000808315156120db57600091506114ee565b508282028284828115156120eb57fe5b0414610cb057fe5b6000903b1190565b600160a060020a0333166000908152600b602052604081205481908490101561212357600080fd5b600160a060020a0333166000908152600b602052604090205461214c908563ffffffff6120a716565b600160a060020a033381166000908152600b60205260408082209390935590871681522054612181908563ffffffff6120b916565b600160a060020a0386166000818152600b602052604090819020929092558692509063c0ee0b8a90339087908790518463ffffffff1660e060020a0281526004018084600160a060020a0316600160a060020a0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561221a578082015183820152602001612202565b50505050905090810190601f1680156122475780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b151561226757600080fd5b6102c65a03f1151561227857600080fd5b505050826040518082805190602001908083835b602083106122ab5780518252601f19909201916020918201910161228c565b6001836020036101000a0380198251168184511617909252505050919091019250604091505051809103902085600160a060020a031633600160a060020a03167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c168760405190815260200160405180910390a484600160a060020a031633600160a060020a031660008051602061250b8339815191528660405190815260200160405180910390a3506001949350505050565b600160a060020a0333166000908152600b60205260408120548390101561238457600080fd5b600160a060020a0333166000908152600b60205260409020546123ad908463ffffffff6120a716565b600160a060020a033381166000908152600b602052604080822093909355908616815220546123e2908463ffffffff6120b916565b600160a060020a0385166000908152600b602052604090819020919091558290518082805190602001908083835b6020831061242f5780518252601f199092019160209182019101612410565b6001836020036101000a0380198251168184511617909252505050919091019250604091505051809103902084600160a060020a031633600160a060020a03167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c168660405190815260200160405180910390a483600160a060020a031633600160a060020a031660008051602061250b8339815191528560405190815260200160405180910390a35060019392505050565b60206040519081016040526000815290565b600080828481151561250157fe5b049493505050505600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a723058204383bc5307e3c701167dc9089c8f1cb7ab0a2d7a7b8963371b0017a581008cf20029


   Swarm Source:
bzzr://4383bc5307e3c701167dc9089c8f1cb7ab0a2d7a7b8963371b0017a581008cf2
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.