Contract Overview |  Spindle
Balance: 0 Ether
Ether Value: $0
Transactions: 31356 txns
Token Tracker: SPINDLE (SPD)
 Latest 25 transactions from a total of 31356 transactions

TxHash Age From To Value [TxFee]
0x3ad6bd7053e7670432e9cccbd5ad0cadc9afa1f0973f2a8b88ec933e6911b30346 mins ago0xf35fa19c30e0c11e4d02f8eddb8ce586564a2156  IN   Spindle0 Ether0.003979
0x0cf3255171c335351c081d111153b5cd26a2efe04482bb296ab2a10e3a66bc3c5 hrs 21 mins ago0x44b7782a75051227e3423bc84d5fa7cf22246a91  IN   Spindle0 Ether0.002645156
0x40237e115a76ddc2d6ec08134fee630ca5e1bd102927cacc010b0a7950a5d2567 hrs 33 mins ago0xf35fa19c30e0c11e4d02f8eddb8ce586564a2156  IN   Spindle0 Ether0.0039758
0xf1b7386a33de85bf136c1c52627599e58a74e093d130ef8578ddbc2c0580d79a17 hrs 24 mins ago0x7059010320d07a47d2ad54db88bb89ea644c3e6f  IN   Spindle0 Ether0.000502425
0x50c919425ccf7e27581acc8f61f5b95d296ac39cb37bd37a5b7c4d71d84296c817 hrs 27 mins agoHitBTC_2  IN   Spindle0 Ether0.00094516
0x5e27866fcd98a8d3b99351f097ca0042a931271dca7f25176f5a097b4445c07720 hrs 49 mins ago0x78fe0b28b4e34301de800719322516c218d48990  IN   Spindle0 Ether0.003260156
0xb8911761bfbf13bdfe903861eb305cb1fdc469594169357ce88bf17f117060a220 hrs 58 mins ago0x78fe0b28b4e34301de800719322516c218d48990  IN   Spindle0 Ether0.002024908
0xea55846f294b63847d06c66e1297901d83ac3f9fd955776b7bcc64d33285e6f71 day 2 hrs ago0x7059010320d07a47d2ad54db88bb89ea644c3e6f  IN   Spindle0 Ether0.000503129
0xaf3d2e725eb13ad9391359d508b2fa73ba8157b8ba67d926e7bd10a791ee4cd31 day 2 hrs agoHitBTC_2  IN   Spindle0 Ether0.00104038
0x1594304fb5823bf6400c279524eee7fc74f5f0de6cb4d387d8b6d73f51cb48f11 day 2 hrs agoHitBTC_3  IN   Spindle0 Ether0.00079516
0xdfa35dbe5c144fd5686f82be982a172c8708bc946a3a7be3139243356e2440571 day 2 hrs ago0x0dc411b17d337af85d83ea5a3577d09132aae866  IN   Spindle0 Ether0.000503129
0xb7eb17b7f3dfe686914e17c880d87032372d051d15b85da87c46c6e521073ec01 day 2 hrs ago0xf35fa19c30e0c11e4d02f8eddb8ce586564a2156  IN   Spindle0 Ether0.004729
0xa9ba21a2480882f09bfb71a70d6a00d6f2e73951876c66b26db4755d8021b5531 day 3 hrs ago0xa8282a3d5c9699a3e5e8d387c8e2f51fc8110389  IN   Spindle0 Ether0.0005259985
0x7f6dc5a1c2a73a694f97c7741b120d9ee2e5e1c88fbde9367b39a7a41de055a01 day 3 hrs ago0xf35fa19c30e0c11e4d02f8eddb8ce586564a2156  IN   Spindle0 Ether0.004729
0x8989c51b9f06ffcc160fb5e8164526a38bd433440fdaac78ed033047e57dc2eb1 day 3 hrs ago0x66ac0f7de491783d46341d81c61d668f6e0be13e  IN   Spindle0 Ether0.000866609
0xe67d3d572161aa0d3cb0f4346c0afe2bd37830393c56d8ecd5a76c46e3ab877f1 day 5 hrs ago0x95ce7dccf1b39424da09e7fcc97032ccc4a40c11  IN   Spindle0 Ether0.000095838334
0x879fd4dc8fe6f20758146e9d2ddc49b75b3828a3a76217c1578152c15064bcea1 day 5 hrs ago0x3cd4be83e14c24b063480ab4fa36c49b8df3467f  IN   Spindle0 Ether0.000095838334
0x7447fb5c8baf05d2d9e289d54a336511a31f55b2bcd2234f19bcdb4f08f4e0341 day 9 hrs ago0x7e1299cf1073bccd3fe975663a204e465904e45b  IN   Spindle0 Ether0.001983492
0x095d240cafa50efe3baee59251a6469eabcad346f509c8cfe6a5ab7351f0ff551 day 10 hrs ago0x8f0f161f655f70a89dafdd338d0ae55c3638e507  IN   Spindle0 Ether0.00048
0xe90c951e5fc76e9d5e9f9a83b71d5c6ba3a3e80701bf5292172afd30d3a9bc961 day 17 hrs ago0xa23b28b46870e8b615ecac5fac5b58026b7daafe  IN   Spindle0 Ether0.0032226
0xdf85d0906418a69d7e89a56712d9e89837c4d05f894d9eda0e192c7fc001384c1 day 21 hrs ago0x6f754905c8571714bbbca6e1e562b1c9c492bb32  IN   Spindle0 Ether0.003257532
0xd8ef15dfd8c7f76b8d0307ee1c4e7f844613ed5c471d80eb670342ce274a00bc1 day 22 hrs ago0x2568b2fd0d401c2ff368f7784d5b0d54c4c798f5  IN   Spindle0 Ether0.000256875
0x8928579db227cea6ce560b3eb351b7b6ff91f6534bbd1c480623f1657c449d542 days 1 hr ago0xad830b959fee3c9dcc4050728bc2b62b601e3c5d  IN   Spindle0 Ether0.00039726
0xc51b24f00a2b3e34c659e196a101fa865f7ff08fa15a082ceb43c4a24dd92e432 days 10 hrs ago0x37ea5517ffda6d074dbcc9d1864ce13862ea26ab  IN   Spindle0 Ether0.0032226
0xf46021a7a6907eb4468e064ffac68cfa4fe2cfe23e601bc0e546931e44e7f8472 days 13 hrs ago0x06e01587ad6b033d4b05156003c3412e8997bfe3  IN   Spindle0 Ether0.0032258
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
View All
ParentTxHash Block Age From To Value
Warning: The Compiled Contract might be susceptible to ExpExponentCleanup (medium/high-severity), EventStructWrongData (very low-severity), NestedArrayFunctionCallDecoder (medium-severity) SolidityCompiler Bugs.

Contract Source Code Verified (Similar Match)
Note: Displaying Similar Match Verified Source Code At Contract 0xf859ad65b3c05ab93040bcb1b2136ae0c40c13ac(Excluding Constructor Arguments if any)
Contract Name: SpindleToken
Compiler Text: v0.4.21+commit.dfe3193c
Optimization Enabled: Yes
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts

pragma solidity ^0.4.21;

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) public onlyOwner {
    require(newOwner != address(0));
    emit OwnershipTransferred(owner, newOwner);
    owner = newOwner;
  }
}

/**
 * @title ERC20Basic
 * @dev Simpler version of ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/179
 */
contract ERC20Basic {
  function totalSupply() external view returns (uint256);
  function balanceOf(address who) external view returns (uint256);
  function transfer(address to, uint256 value) external returns (bool);
  event Transfer(address indexed from, address indexed to, uint256 value);
}

/**
 * @title ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/20
 */
contract ERC20 is ERC20Basic {
  function allowance(address holder, address spender) external view returns (uint256);
  function transferFrom(address from, address to, uint256 value) external returns (bool);
  function approve(address spender, uint256 value) external returns (bool);
  event Approval(address indexed holder, address indexed spender, uint256 value);
}

/**
 * @title SafeMath
 * @dev Math operations with safety checks that throw on error
 */
library SafeMath {

  /**
  * @dev Multiplies two numbers, throws on overflow.
  */
  function mul(uint256 a, uint256 b) internal pure returns (uint256) {
    if (a == 0) {
      return 0;
    }
    uint256 c = a * b;
    require(c / a == b);
    return c;
  }

  /**
  * @dev Integer division of two numbers, truncating the quotient.
  */
  function div(uint256 a, uint256 b) internal pure returns (uint256) {
    // require(b > 0); // Solidity automatically throws when dividing by 0
    uint256 c = a / b;
    // require(a == b * c + a % b); // There is no case in which this doesn't hold
    return c;
  }

  /**
  * @dev Subtracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend).
  */
  function sub(uint256 a, uint256 b) internal pure returns (uint256) {
    require(b <= a);
    return a - b;
  }

  /**
  * @dev Adds two numbers, throws on overflow.
  */
  function add(uint256 a, uint256 b) internal pure returns (uint256) {
    uint256 c = a + b;
    require(c >= a);
    return c;
  }
}

contract SpindleToken is ERC20, Ownable {

    using SafeMath for uint256;

    string public constant name = 'SPINDLE';
    string public constant symbol = 'SPD';
    uint8 public constant decimals = 18;

    uint256 constant TOTAL_SPD = 10000000000;
    uint256 constant TOTAL_SUPPLY = TOTAL_SPD * (uint256(10) ** decimals);

    uint64 constant ICO_START_TIME = 1526083200; // 2018-05-12
    uint64 constant RELEASE_B = ICO_START_TIME + 30 days;
    uint64 constant RELEASE_C = ICO_START_TIME + 60 days;
    uint64 constant RELEASE_D = ICO_START_TIME + 90 days;
    uint64 constant RELEASE_E = ICO_START_TIME + 180 days;
    uint64 constant RELEASE_F = ICO_START_TIME + 270 days;
    uint64[] RELEASE = new uint64[](6);

    mapping(address => uint256[6]) balances;
    mapping(address => mapping(address => uint256)) allowed;

    /**
     * @dev Constructor that gives msg.sender all of existing tokens.
     */
    function SpindleToken() public {
        RELEASE[0] = ICO_START_TIME;
        RELEASE[1] = RELEASE_B;
        RELEASE[2] = RELEASE_C;
        RELEASE[3] = RELEASE_D;
        RELEASE[4] = RELEASE_E;
        RELEASE[5] = RELEASE_F;

        balances[msg.sender][0] = TOTAL_SUPPLY;
        emit Transfer(0x0, msg.sender, TOTAL_SUPPLY);
    }

    /**
     * @dev total number of tokens in existence
     */
    function totalSupply() external view returns (uint256) {
        return TOTAL_SUPPLY;
    }

    /**
     * @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, uint256 _value) external returns (bool) {
        require(_to != address(0));
        require(_to != address(this));
        _updateLockUpAmountOf(msg.sender);

        // SafeMath.sub will revert if there is not enough balance.
        balances[msg.sender][0] = balances[msg.sender][0].sub(_value);
        balances[_to][0] = balances[_to][0].add(_value);
        emit Transfer(msg.sender, _to, _value);
        return true;
    }

    /**
     * @dev Gets the payable balance of the specified address.
     * @param _holder The address to query the the balance of.
     * @return An uint256 representing the payable amount owned by the passed address.
    */
    function balanceOf(address _holder) external view returns (uint256) {
        uint256[6] memory arr = lockUpAmountOf(_holder);
        return arr[0];
    }

    /**
     * @dev Gets the lockUpAmount tuple of the specified address.
     * @param _holder address The address to query the the balance of.
     * @return An LockUpAmount representing the amount owned by the passed address.
    */
    function lockUpAmountOf(address _holder) public view returns (
        uint256[6]
    ) {
        uint256[6] memory arr;
        arr[0] = balances[_holder][0];
        for (uint i = 1; i < RELEASE.length; i++) {
            arr[i] = balances[_holder][i];
            if(now >= RELEASE[i]){
                arr[0] = arr[0].add(balances[_holder][i]);
                arr[i] = 0;
            }
            else
            {
                arr[i] = balances[_holder][i];
            }
        }
        return arr;
    }

    /**
     * @dev update the lockUpAmount of _address.
     * @param _address address The address updated the balances of.
     */
    function _updateLockUpAmountOf(address _address) internal {
        uint256[6] memory arr = lockUpAmountOf(_address);

        for(uint8 i = 0;i < arr.length; i++){
            balances[_address][i] = arr[i];
        }
    }

    /**
     * @dev gets the strings of lockUpAmount of _address.
     * @param _address address The address gets the string of lockUpAmount of.
     */
    function lockUpAmountStrOf(address _address) external view returns (
        address Address,
        string a,
        string b,
        string c,
        string d,
        string e,
        string f
    ) {
        address __address = _address;
        if(__address == address(0)) __address = msg.sender;

        uint256[6] memory arr = lockUpAmountOf(__address);

        return (
            __address,
            _uintToSPDStr(arr[0]),
            _uintToSPDStr(arr[1]),
            _uintToSPDStr(arr[2]),
            _uintToSPDStr(arr[3]),
            _uintToSPDStr(arr[4]),
            _uintToSPDStr(arr[5])
        );
    }

    /**
     * @dev gets the SPD_strings of a token amount.
     * @param _amount The value of a token amount.
     */
    function _uintToSPDStr(uint256 _amount) internal pure returns (string) {
        uint8 __tindex;
        uint8 __sindex;
        uint8 __left;
        uint8 __right;
        bytes memory __t = new bytes(30);  // '10000000000.000000000000000000'.length is 30 (max input)

        // set all bytes
        for(__tindex = 29; ; __tindex--){  // last_index:29 to first_index:0
            if(__tindex == 11){            // dot index
                __t[__tindex] = byte(46);  // byte of '.' is 46
                continue;
            }
            __t[__tindex] = byte(48 + _amount%10);  // byte of '0' is 48
            _amount = _amount.div(10);
            if(__tindex == 0) break;
        }

        // calc the str region
        for(__left = 0; __left < 10; __left++) {     // find the first index of non-zero byte.  return at least '0.xxxxx'
            if(__t[__left]  != byte(48)) break;      // byte of '0' is 48
        }
        for(__right = 29; __right > 12; __right--){  // find the  last index of non-zero byte.  return at least 'xxxxx.0'
            if(__t[__right] != byte(48)) break;      // byte of '0' is 48
        }

        bytes memory __s = new bytes(__right - __left + 1 + 4); // allocatte __s[left..right] + ' SPD'

        // set and return
        __sindex = 0;
        for(__tindex = __left; __tindex <= __right; __tindex++){
            __s[__sindex] = __t[__tindex];
            __sindex++;
        }

        __s[__sindex++] = byte(32);  // byte of ' ' is 32
        __s[__sindex++] = byte(83);  // byte of 'S' is 83
        __s[__sindex++] = byte(80);  // byte of 'P' is 80
        __s[__sindex++] = byte(68);  // byte of 'D' is 68

        return string(__s);
    }

    /**
     * @dev Distribute tokens from owner address to another
     * @param _to address The address which you want to transfer to
     * @param _a uint256 the amount of A-type-tokens to be transferred
     * ...
     * @param _f uint256 the amount of F-type-tokens to be transferred
     */
    function distribute(address _to, uint256 _a, uint256 _b, uint256 _c, uint256 _d, uint256 _e, uint256 _f) onlyOwner external returns (bool) {
        require(_to != address(0));
        _updateLockUpAmountOf(msg.sender);

        uint256 __total = 0;
        __total = __total.add(_a);
        __total = __total.add(_b);
        __total = __total.add(_c);
        __total = __total.add(_d);
        __total = __total.add(_e);
        __total = __total.add(_f);

        balances[msg.sender][0] = balances[msg.sender][0].sub(__total);

        balances[_to][0] = balances[_to][0].add(_a);
        balances[_to][1] = balances[_to][1].add(_b);
        balances[_to][2] = balances[_to][2].add(_c);
        balances[_to][3] = balances[_to][3].add(_d);
        balances[_to][4] = balances[_to][4].add(_e);
        balances[_to][5] = balances[_to][5].add(_f);

        emit Transfer(msg.sender, _to, __total);
        return true;
    }

    /**
     * @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 uint256 the amount of tokens to be transferred
     */
    function transferFrom(address _from, address _to, uint256 _value) external returns (bool) {
        require(_to != address(0));
        require(_to != address(this));
        _updateLockUpAmountOf(_from);

        balances[_from][0] = balances[_from][0].sub(_value);
        balances[_to][0] = balances[_to][0].add(_value);
        allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);
        emit Transfer(_from, _to, _value);
        return true;
    }

    /**
     * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.
     *
     * Beware that changing an allowance with this method brings the risk that someone may use both the old
     * and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this
     * race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards:
     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
     * @param _spender The address which will spend the funds.
     * @param _value The amount of tokens to be spent.
     */
    function approve(address _spender, uint256 _value) external returns (bool) {

        allowed[msg.sender][_spender] = _value;
        emit Approval(msg.sender, _spender, _value);
        return true;
    }

    /**
     * @dev Function to check the amount of tokens that an owner allowed to a spender.
     * @param _holder address The address which owns the funds.
     * @param _spender address The address which will spend the funds.
     * @return A uint256 specifying the amount of tokens still available for the spender.
    */
    function allowance(address _holder, address _spender) external view returns (uint256) {
        return allowed[_holder][_spender];
    }
}

    Contract ABI  
[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_a","type":"uint256"},{"name":"_b","type":"uint256"},{"name":"_c","type":"uint256"},{"name":"_d","type":"uint256"},{"name":"_e","type":"uint256"},{"name":"_f","type":"uint256"}],"name":"distribute","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_holder","type":"address"}],"name":"lockUpAmountOf","outputs":[{"name":"","type":"uint256[6]"}],"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":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_holder","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_address","type":"address"}],"name":"lockUpAmountStrOf","outputs":[{"name":"Address","type":"address"},{"name":"a","type":"string"},{"name":"b","type":"string"},{"name":"c","type":"string"},{"name":"d","type":"string"},{"name":"e","type":"string"},{"name":"f","type":"string"}],"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":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_holder","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"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":"holder","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
60606040526006604051805910620000145750595b908082528060200260200182016040525060019080516200003a929160200190620002ca565b5034156200004757600080fd5b60008054600160a060020a03191633600160a060020a031617815560018054635af62e80929081106200007657fe5b90600052602060002090600491828204019190066008026101000a8154816001604060020a0302191690836001604060020a03160217905550635af62e8062278d0001600180815481101515620000c957fe5b90600052602060002090600491828204019190066008026101000a8154816001604060020a0302191690836001604060020a03160217905550635af62e80624f1a0001600160028154811015156200011d57fe5b90600052602060002090600491828204019190066008026101000a8154816001604060020a0302191690836001604060020a03160217905550635af62e806276a70001600160038154811015156200017157fe5b90600052602060002090600491828204019190066008026101000a8154816001604060020a0302191690836001604060020a03160217905550635af62e8062ed4e000160016004815481101515620001c557fe5b90600052602060002090600491828204019190066008026101000a8154816001604060020a0302191690836001604060020a03160217905550635af62e80630163f50001600160058154811015156200021a57fe5b600091825260208083206004830401805460039093166008026101000a6001604060020a0381810219909416959093169290920293909317905533600160a060020a031681526002909152604081206b204fce5e3e25026110000000910155600160a060020a03331660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6b204fce5e3e2502611000000060405190815260200160405180910390a3620003b4565b82805482825590600052602060002090600301600490048101928215620003775791602002820160005b838211156200034057835183826101000a8154816001604060020a0302191690836001604060020a031602179055509260200192600801602081600701049283019260010302620002f4565b8015620003755782816101000a8154906001604060020a03021916905560080160208160070104928301926001030262000340565b505b506200038592915062000389565b5090565b620003b191905b808211156200038557805467ffffffffffffffff1916815560010162000390565b90565b61139180620003c46000396000f3006060604052600436106100cf5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146100d4578063095ea7b31461015e5780630e64780d1461019457806318160ddd146101c55780631f470b14146101ea57806323b872dd14610241578063313ce5671461026957806370a082311461029257806370d25a9f146102b15780638da5cb5b1461056e57806395d89b411461059d578063a9059cbb146105b0578063dd62ed3e146105d2578063f2fde38b146105f7575b600080fd5b34156100df57600080fd5b6100e7610618565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561012357808201518382015260200161010b565b50505050905090810190601f1680156101505780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561016957600080fd5b610180600160a060020a036004351660243561064f565b604051901515815260200160405180910390f35b341561019f57600080fd5b610180600160a060020a036004351660243560443560643560843560a43560c4356106bb565b34156101d057600080fd5b6101d861091b565b60405190815260200160405180910390f35b34156101f557600080fd5b610209600160a060020a036004351661092b565b604051808260c080838360005b8381101561022e578082015183820152602001610216565b5050505090500191505060405180910390f35b341561024c57600080fd5b610180600160a060020a0360043581169060243516604435610a6c565b341561027457600080fd5b61027c610bc2565b60405160ff909116815260200160405180910390f35b341561029d57600080fd5b6101d8600160a060020a0360043516610bc7565b34156102bc57600080fd5b6102d0600160a060020a0360043516610be5565b6040518088600160a060020a0316600160a060020a0316815260200180602001806020018060200180602001806020018060200187810387528d818151815260200191508051906020019080838360005b83811015610339578082015183820152602001610321565b50505050905090810190601f1680156103665780820380516001836020036101000a031916815260200191505b5087810386528c818151815260200191508051906020019080838360005b8381101561039c578082015183820152602001610384565b50505050905090810190601f1680156103c95780820380516001836020036101000a031916815260200191505b5087810385528b818151815260200191508051906020019080838360005b838110156103ff5780820151838201526020016103e7565b50505050905090810190601f16801561042c5780820380516001836020036101000a031916815260200191505b5087810384528a818151815260200191508051906020019080838360005b8381101561046257808201518382015260200161044a565b50505050905090810190601f16801561048f5780820380516001836020036101000a031916815260200191505b50878103835289818151815260200191508051906020019080838360005b838110156104c55780820151838201526020016104ad565b50505050905090810190601f1680156104f25780820380516001836020036101000a031916815260200191505b50878103825288818151815260200191508051906020019080838360005b83811015610528578082015183820152602001610510565b50505050905090810190601f1680156105555780820380516001836020036101000a031916815260200191505b509d505050505050505050505050505060405180910390f35b341561057957600080fd5b610581610ca7565b604051600160a060020a03909116815260200160405180910390f35b34156105a857600080fd5b6100e7610cb6565b34156105bb57600080fd5b610180600160a060020a0360043516602435610ced565b34156105dd57600080fd5b6101d8600160a060020a0360043581169060243516610de9565b341561060257600080fd5b610616600160a060020a0360043516610e14565b005b60408051908101604052600781527f5350494e444c4500000000000000000000000000000000000000000000000000602082015281565b600160a060020a03338116600081815260036020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b60008054819033600160a060020a039081169116146106d957600080fd5b600160a060020a03891615156106ee57600080fd5b6106f733610eaf565b50600061070a818963ffffffff610f1e16565b905061071c818863ffffffff610f1e16565b905061072e818763ffffffff610f1e16565b9050610740818663ffffffff610f1e16565b9050610752818563ffffffff610f1e16565b9050610764818463ffffffff610f1e16565b600160a060020a03331660009081526002602052604081209192506107949183915b01549063ffffffff610f3716565b600160a060020a0333811660009081526002602052604080822093909355908b1681529081206107d0918a91905b01549063ffffffff610f1e16565b600160a060020a038a1660009081526002602052604090209081556107f890889060016107c2565b600160a060020a038a16600090815260026020819052604090912060018101929092556108269188916107c2565b600160a060020a038a1660009081526002602081905260409091209081019190915561085590869060036107c2565b600160a060020a038a166000908152600260205260409020600381019190915561088290859060046107c2565b600160a060020a038a16600090815260026020526040902060048101919091556108af90849060056107c2565b600160a060020a038a16600090815260026020526040902060050155600160a060020a03808a169033167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405190815260200160405180910390a350600198975050505050505050565b6b204fce5e3e2502611000000090565b61093361132c565b61093b61132c565b600160a060020a038316600090815260026020526040902054815260015b600154811015610a6557600160a060020a0384166000908152600260205260409020816006811061098657fe5b015482826006811061099457fe5b602002015260018054829081106109a757fe5b6000918252602090912060048204015460039091166008026101000a900467ffffffffffffffff164210610a2657600160a060020a0384166000908152600260205260409020610a0c9082600681106109fc57fe5b015483519063ffffffff610f1e16565b82526000828260068110610a1c57fe5b6020020152610a5d565b600160a060020a03841660009081526002602052604090208160068110610a4957fe5b0154828260068110610a5757fe5b60200201525b600101610959565b5092915050565b6000600160a060020a0383161515610a8357600080fd5b30600160a060020a031683600160a060020a031614151515610aa457600080fd5b610aad84610eaf565b600160a060020a0384166000908152600260205260408120610ad191849190610786565b600160a060020a03858116600090815260026020526040808220939093559085168152908120610b03918491906107c2565b600160a060020a0384166000908152600260205260408120900155600160a060020a0380851660009081526003602090815260408083203390941683529290522054610b55908363ffffffff610f3716565b600160a060020a03808616600081815260036020908152604080832033861684529091529081902093909355908516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a35060019392505050565b601281565b6000610bd161132c565b610bda8361092b565b905080519392505050565b6000610bef611353565b610bf7611353565b610bff611353565b610c07611353565b610c0f611353565b610c17611353565b6000610c2161132c565b899150600160a060020a0382161515610c38573391505b610c418261092b565b905081610c558260005b6020020151610f4c565b610c60836001610c4b565b610c6b846002610c4b565b610c76856003610c4b565b610c81866004610c4b565b610c8c876005610c4b565b98509850985098509850985098505050919395979092949650565b600054600160a060020a031681565b60408051908101604052600381527f5350440000000000000000000000000000000000000000000000000000000000602082015281565b6000600160a060020a0383161515610d0457600080fd5b30600160a060020a031683600160a060020a031614151515610d2557600080fd5b610d2e33610eaf565b600160a060020a0333166000908152600260205260408120610d5291849190610786565b600160a060020a03338116600090815260026020526040808220939093559085168152908120610d84918491906107c2565b600160a060020a0384166000908152600260205260408120900155600160a060020a038084169033167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405190815260200160405180910390a350600192915050565b600160a060020a03918216600090815260036020908152604080832093909416825291909152205490565b60005433600160a060020a03908116911614610e2f57600080fd5b600160a060020a0381161515610e4457600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b610eb761132c565b6000610ec28361092b565b9150600090505b60068160ff161015610f19578160ff821660068110610ee457fe5b6020020151600160a060020a038416600090815260026020526040902060ff831660068110610f0f57fe5b0155600101610ec9565b505050565b600082820183811015610f3057600080fd5b9392505050565b600082821115610f4657600080fd5b50900390565b610f54611353565b600080600080610f62611353565b610f6a611353565b601e604051805910610f795750595b818152601f19601f830116810160200160405290509150601d95505b8560ff16600b1415610fee577f2e000000000000000000000000000000000000000000000000000000000000008260ff881681518110610fd157fe5b906020010190600160f860020a031916908160001a905350611044565b600a880660300160f860020a02828760ff168151811061100a57fe5b906020010190600160f860020a031916908160001a90535061103388600a63ffffffff61131516565b975060ff8616151561104457611050565b60001990950194610f95565b600093505b600a8460ff1610156110c4577f30000000000000000000000000000000000000000000000000000000000000008260ff86168151811061109157fe5b016020015160f860020a900460f860020a02600160f860020a0319161415156110b9576110c4565b600190930192611055565b601d92505b600c8360ff161115611139577f30000000000000000000000000000000000000000000000000000000000000008260ff85168151811061110557fe5b016020015160f860020a900460f860020a02600160f860020a03191614151561112d57611139565b600019909201916110c9565b60ff6005858503011660405180591061114f5750595b818152601f19601f830116810160200160405290509050600094508395505b60ff808416908716116111d257818660ff168151811061118a57fe5b016020015160f860020a900460f860020a02818660ff16815181106111ab57fe5b906020010190600160f860020a031916908160001a9053506001958601959094019361116e565b60018501947f200000000000000000000000000000000000000000000000000000000000000090829060ff168151811061120857fe5b906020010190600160f860020a031916908160001a90535060018501947f530000000000000000000000000000000000000000000000000000000000000090829060ff168151811061125657fe5b906020010190600160f860020a031916908160001a90535060018501947f500000000000000000000000000000000000000000000000000000000000000090829060ff16815181106112a457fe5b906020010190600160f860020a031916908160001a90535060018501947f440000000000000000000000000000000000000000000000000000000000000090829060ff16815181106112f257fe5b906020010190600160f860020a031916908160001a905350979650505050505050565b600080828481151561132357fe5b04949350505050565b60c06040519081016040526006815b600081526020019060019003908161133b5790505090565b602060405190810160405260008152905600a165627a7a723058208718140c084bead5dcdfca3173be3182266b3f3582cdcafdc38b7e043b9f81030029

   Swarm Source:
bzzr://8718140c084bead5dcdfca3173be3182266b3f3582cdcafdc38b7e043b9f8103

 

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