Sponsored Link:   Revain - How to find moon tokens to invest? See what crypto experts are saying. Read reviews!
Contract Overview
Balance: 0 Ether
Ether Value: $0
Transactions: 7451 txns
Token Contract: SPINDLE (SPD)
 Latest 25 txns from a total Of 7451 transactions (+2 PendingTxns)
View All

TxHash Age From To Value [TxFee]
0xb7d2d0f0ab29506ba975738a7d139fcb38f355b3ed43b04722abdc2126f62f80(pending)0xf2fc0c1796fa34f8e3c3f753b149e87ca4f781a7  IN  0x1dea979ae76f26071870f824088da78979eb91c80 Ether(pending)
0xcd9d09bc17e4e805383c38889f7e2e1692364314b9340987aae41948f9e1a983(pending)0x0a227462b2f1166d1f0b4bede2983253bee3a59b  IN  0x1dea979ae76f26071870f824088da78979eb91c80 Ether(pending)
0x7447d8d3d26272832b2abfaa10c3c075efcf60fa84309da77a33d059e9d73cfd41 mins ago0x8947d24cb3630b9fa056beb46f0314964a36c434  IN   0x1dea979ae76f26071870f824088da78979eb91c80 Ether0.001660512
0x0e32063027a251f5fed6199812cb611bf898530d7aec92b2ca9982a4efa2e98a1 hr 1 min ago0xf35fa19c30e0c11e4d02f8eddb8ce586564a2156  IN   0x1dea979ae76f26071870f824088da78979eb91c80 Ether0.0047004
0x8a36541409d17560afd65d26b31d09b3ba453b60b30ba94fa1dff3f925a301141 hr 8 mins ago0x30a2f92867800a09f70b902fd838bf7e3b5823cb  IN   0x1dea979ae76f26071870f824088da78979eb91c80 Ether0.00188144
0xe1aff07fce0560872d3bdeeff4ec25d2679c8365a9e54f2bebfd98e5a3e3858f1 hr 20 mins ago0x37025d1d69679a8b067719c3992fea8f58d7feb6  IN   0x1dea979ae76f26071870f824088da78979eb91c80 Ether0.002684
0x1e03dd91fa7615df702e487a7f764c6058654bfa958d0433cbd271c8ff0355e31 hr 34 mins ago0xf35fa19c30e0c11e4d02f8eddb8ce586564a2156  IN   0x1dea979ae76f26071870f824088da78979eb91c80 Ether0.0047004
0x30c2de30c864fab505b78b5427999441b5bf2d4ed85381c0815f9c9a4c9c6adb1 hr 40 mins ago0xf35fa19c30e0c11e4d02f8eddb8ce586564a2156  IN   0x1dea979ae76f26071870f824088da78979eb91c80 Ether0.0047036
0xec45b73d4fa443959b35f057ca58a460c4c5d75ed309332e2d8bd10339cc44451 hr 49 mins ago0x37025d1d69679a8b067719c3992fea8f58d7feb6  IN   0x1dea979ae76f26071870f824088da78979eb91c80 Ether0.002684
0xfb32491dea97feff260b303d6f24fc64673216b019187c1feb397edd40c420fa2 hrs 25 mins ago0xf35fa19c30e0c11e4d02f8eddb8ce586564a2156  IN   0x1dea979ae76f26071870f824088da78979eb91c80 Ether0.0039568
0xb7cfb4c12e7c193c84c63b411feeb93c98cf7066ac36f857bd9f1eda2d2b87472 hrs 28 mins ago0x3c312aa3a25af5647584d3145306bfdcca88c880  IN   0x1dea979ae76f26071870f824088da78979eb91c80 Ether0.00094008
0x07f260ce9959ed3e66c9911a0b12f93eab972e5a47192eae68075be9022012d92 hrs 30 mins ago0xe3fba1d8638f779e535b1b7c689a3b6012bb53a9  IN   0x1dea979ae76f26071870f824088da78979eb91c80 Ether0.00094072
0x550b34b8500fde87e9c5e8daefdf0169371d6eb484e2a5c925229d506a487a702 hrs 33 mins ago0xbe191d9e799c5e60bb421dfac80e6be276fd295c  IN   0x1dea979ae76f26071870f824088da78979eb91c80 Ether0.003244576
0x190ed32b2aad9c3dd8ea788b267d3fbe994bda168f92df134ead55d49571a0022 hrs 36 mins ago0xf35fa19c30e0c11e4d02f8eddb8ce586564a2156  IN   0x1dea979ae76f26071870f824088da78979eb91c80 Ether0.0046972
0xcac6f2b86fa510689acaa05f6e7387d56ceeea035dcdc700926d12cdcd91a7542 hrs 48 mins ago0xa5e88b6349bf65a0e366a7a2f6a7924c32006bc1  IN   0x1dea979ae76f26071870f824088da78979eb91c80 Ether0.0032036
0xc53f83be4e718f8729d9201b06541260b04971b8603acbbae9979abf1e1b56553 hrs 3 mins ago0x3a18dc79a29bf8663d5fce833551dc8426216953  IN   0x1dea979ae76f26071870f824088da78979eb91c80 Ether0.001660512
0xe579d4f6e1722b011e8967a29ee35c9bcc9346b9e52b04186a4e9f340dfc26373 hrs 30 mins ago0xac8d111545bd02cd695ef7e8bf609bd4fee30c23  IN   0x1dea979ae76f26071870f824088da78979eb91c80 Ether0.00188144
0xa933d4e8cb897fdb24370845385a3b1b92f02ea959c2366f2d716b529c0babd63 hrs 31 mins ago0xb819b930dda2d67da8a84acf1b9d131f5d6436a6  IN   0x1dea979ae76f26071870f824088da78979eb91c80 Ether0.003236704
0x6188f45680806e323e4f5aeab7c0b14e37a1a527c2462fd791f293063f8655c83 hrs 37 mins agoHitBTC_2  IN   0x1dea979ae76f26071870f824088da78979eb91c80 Ether0.00093944
0xd3d5956c81abb2f030834606023c1803b4f32a2d7760c02227dd6211d04877c83 hrs 41 mins ago0xfc323e44bed9c2d6e5125b00ca91a0c87248e067  IN   0x1dea979ae76f26071870f824088da78979eb91c80 Ether0.00188144
0xec0407252c841d0d1318594efc353d3c006edcbc59b8819629cac0481f4d23403 hrs 42 mins ago0xfc323e44bed9c2d6e5125b00ca91a0c87248e067  IN   0x1dea979ae76f26071870f824088da78979eb91c80 Ether0.00188144
0x93878125c70afb5e1529772f9504f5fa4f1c5da3d431b6d230e70f4261adc99f3 hrs 47 mins ago0xfc323e44bed9c2d6e5125b00ca91a0c87248e067  IN   0x1dea979ae76f26071870f824088da78979eb91c80 Ether0.00188144
0x58e7bb972e932b84f7776a268aec81c6b7c5bd43a9b5557ca80020c82280e6293 hrs 49 mins ago0xfc323e44bed9c2d6e5125b00ca91a0c87248e067  IN   0x1dea979ae76f26071870f824088da78979eb91c80 Ether0.00188144
0x3e6692ef788d6852222870f485771c09a137f044ec20ef16482681c2d1d93cae3 hrs 51 mins ago0xfc323e44bed9c2d6e5125b00ca91a0c87248e067  IN   0x1dea979ae76f26071870f824088da78979eb91c80 Ether0.00188144
0xdc6b6360e8489bb12a5b1347ed2a4b6597b876a13e0dac3b5930a1d83fc98fbf3 hrs 55 mins ago0xfc323e44bed9c2d6e5125b00ca91a0c87248e067  IN   0x1dea979ae76f26071870f824088da78979eb91c80 Ether0.00188144
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
View All
ParentTxHash Block Age From To Value
Contract Source Code Verified (Similar match)
Note: Displaying similar matching verified source code at contract 0xf859ad65b3c05ab93040bcb1b2136ae0c40c13ac(excluding Constructor Arguments if any)
Contract Name: SpindleToken
Compiler Version: 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 txn Difficulty GasUsed Reward
View All
Block Age UncleNumber Difficulty GasUsed Reward
Make sure to use the "downvote" button for any spammy posts, and the "upvote" for interesting conversations.