ETH Price: $3,647.21 (-6.10%)

Token

ERC-20: NineBlock (NB)
 

Overview

Max Total Supply

57,510,000 NB

Holders

2

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
Null: 0x000...000
Balance
36,000,000 NB

Value
$0.00
0x0000000000000000000000000000000000000000
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
NBToken

Compiler Version
v0.4.24+commit.e67f0147

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2018-06-26
*/

pragma solidity ^0.4.21;

library SafeMath {

  function mul(uint256 a, uint256 b) internal pure returns (uint256 c) {
    if (a == 0) {
      return 0;
    }
    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 a / b;
  }

  /**
  * @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) {
    assert(b <= a);
    return a - b;
  }

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

library DateTime {
        /*
         *  Date and Time utilities for ethereum contracts
         *
         */
        struct MyDateTime {
                uint16 year;
                uint8 month;
                uint8 day;
                uint8 hour;
                uint8 minute;
                uint8 second;
                uint8 weekday;
        }
        uint constant DAY_IN_SECONDS = 86400;
        uint constant YEAR_IN_SECONDS = 31536000;
        uint constant LEAP_YEAR_IN_SECONDS = 31622400;
        uint constant HOUR_IN_SECONDS = 3600;
        uint constant MINUTE_IN_SECONDS = 60;
        uint16 constant ORIGIN_YEAR = 1970;
        function isLeapYear(uint16 year) constant returns (bool) {
                if (year % 4 != 0) {
                        return false;
                }
                if (year % 100 != 0) {
                        return true;
                }
                if (year % 400 != 0) {
                        return false;
                }
                return true;
        }
        function leapYearsBefore(uint year) constant returns (uint) {
                year -= 1;
                return year / 4 - year / 100 + year / 400;
        }
        function getDaysInMonth(uint8 month, uint16 year) constant returns (uint8) {
                if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12) {
                        return 31;
                }
                else if (month == 4 || month == 6 || month == 9 || month == 11) {
                        return 30;
                }
                else if (isLeapYear(year)) {
                        return 29;
                }
                else {
                        return 28;
                }
        }
        function parseTimestamp(uint timestamp) internal returns (MyDateTime dt) {
                uint secondsAccountedFor = 0;
                uint buf;
                uint8 i;
                // Year
                dt.year = getYear(timestamp);
                buf = leapYearsBefore(dt.year) - leapYearsBefore(ORIGIN_YEAR);
                secondsAccountedFor += LEAP_YEAR_IN_SECONDS * buf;
                secondsAccountedFor += YEAR_IN_SECONDS * (dt.year - ORIGIN_YEAR - buf);
                // Month
                uint secondsInMonth;
                for (i = 1; i <= 12; i++) {
                        secondsInMonth = DAY_IN_SECONDS * getDaysInMonth(i, dt.year);
                        if (secondsInMonth + secondsAccountedFor > timestamp) {
                                dt.month = i;
                                break;
                        }
                        secondsAccountedFor += secondsInMonth;
                }
                // Day
                for (i = 1; i <= getDaysInMonth(dt.month, dt.year); i++) {
                        if (DAY_IN_SECONDS + secondsAccountedFor > timestamp) {
                                dt.day = i;
                                break;
                        }
                        secondsAccountedFor += DAY_IN_SECONDS;
                }
                // Hour
                dt.hour = 0;//getHour(timestamp);
                // Minute
                dt.minute = 0;//getMinute(timestamp);
                // Second
                dt.second = 0;//getSecond(timestamp);
                // Day of week.
                dt.weekday = 0;//getWeekday(timestamp);
        }
        function getYear(uint timestamp) constant returns (uint16) {
                uint secondsAccountedFor = 0;
                uint16 year;
                uint numLeapYears;
                // Year
                year = uint16(ORIGIN_YEAR + timestamp / YEAR_IN_SECONDS);
                numLeapYears = leapYearsBefore(year) - leapYearsBefore(ORIGIN_YEAR);
                secondsAccountedFor += LEAP_YEAR_IN_SECONDS * numLeapYears;
                secondsAccountedFor += YEAR_IN_SECONDS * (year - ORIGIN_YEAR - numLeapYears);
                while (secondsAccountedFor > timestamp) {
                        if (isLeapYear(uint16(year - 1))) {
                                secondsAccountedFor -= LEAP_YEAR_IN_SECONDS;
                        }
                        else {
                                secondsAccountedFor -= YEAR_IN_SECONDS;
                        }
                        year -= 1;
                }
                return year;
        }
        function getMonth(uint timestamp) constant returns (uint8) {
                return parseTimestamp(timestamp).month;
        }
        function getDay(uint timestamp) constant returns (uint8) {
                return parseTimestamp(timestamp).day;
        }
        function getHour(uint timestamp) constant returns (uint8) {
                return uint8((timestamp / 60 / 60) % 24);
        }
        function getMinute(uint timestamp) constant returns (uint8) {
                return uint8((timestamp / 60) % 60);
        }
        function getSecond(uint timestamp) constant returns (uint8) {
                return uint8(timestamp % 60);
        }
        function toTimestamp(uint16 year, uint8 month, uint8 day) constant returns (uint timestamp) {
                return toTimestamp(year, month, day, 0, 0, 0);
        }
        function toTimestamp(uint16 year, uint8 month, uint8 day, uint8 hour, uint8 minute, uint8 second) constant returns (uint timestamp) {
                uint16 i;
                // Year
                for (i = ORIGIN_YEAR; i < year; i++) {
                        if (isLeapYear(i)) {
                                timestamp += LEAP_YEAR_IN_SECONDS;
                        }
                        else {
                                timestamp += YEAR_IN_SECONDS;
                        }
                }
                // Month
                uint8[12] memory monthDayCounts;
                monthDayCounts[0] = 31;
                if (isLeapYear(year)) {
                        monthDayCounts[1] = 29;
                }
                else {
                        monthDayCounts[1] = 28;
                }
                monthDayCounts[2] = 31;
                monthDayCounts[3] = 30;
                monthDayCounts[4] = 31;
                monthDayCounts[5] = 30;
                monthDayCounts[6] = 31;
                monthDayCounts[7] = 31;
                monthDayCounts[8] = 30;
                monthDayCounts[9] = 31;
                monthDayCounts[10] = 30;
                monthDayCounts[11] = 31;
                for (i = 1; i < month; i++) {
                        timestamp += DAY_IN_SECONDS * monthDayCounts[i - 1];
                }
                // Day
                timestamp += DAY_IN_SECONDS * (day - 1);
                // Hour
                timestamp += HOUR_IN_SECONDS * (hour);
                // Minute
                timestamp += MINUTE_IN_SECONDS * (minute);
                // Second
                timestamp += second;
                return timestamp;
        }
}

contract ERC20Basic {
  function totalSupply() public view returns (uint256);
  function balanceOf(address who) public view returns (uint256);
  function transfer(address to, uint256 value) public returns (bool);
  event Transfer(address indexed from, address indexed to, uint256 value);
}

contract ERC20 is ERC20Basic {
  function allowance(address owner, address spender) public view returns (uint256);
  function transferFrom(address from, address to, uint256 value) public returns (bool);
  function approve(address spender, uint256 value) public returns (bool);
  event Approval(address indexed owner, address indexed spender, uint256 value);
}

contract BasicToken is ERC20Basic {
  using SafeMath for uint256;

  mapping(address => uint256) balances;

    uint8 public decimals = 18;
    uint public allSupply = 54000000 ;    // 90000000 * 0.6
    uint public freezeSupply = 36000000  * 10 ** uint256(decimals);   // 90000000 * 0.4
    uint256 totalSupply_ = freezeSupply;  //  初始时 供应量为冻结量

  constructor() public {
      balances[msg.sender] = 0;
      //  冻结的货币量
      balances[0x0] = freezeSupply;
  }


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


  function transfer(address _to, uint256 _value) public returns (bool) {
    require(_to != address(0));
    require(_value <= balances[msg.sender]);

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


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

}

contract NBToken is ERC20, BasicToken {

  using DateTime for uint256;

  string public name = "NineBlock";
  string public symbol = "NB";

  address owner;

  event ReleaseSupply(address indexed receiver, uint256 value, uint256 releaseTime);

  uint256 public createTime;

  struct ReleaseRecord {
      uint256 amount; // release amount
      uint256 releasedTime; // release time
  }

  mapping (uint => ReleaseRecord) public releasedRecords;
  uint public releasedRecordsCount = 0;

    constructor() public {
      owner = msg.sender;
      createTime = now;
    }

  modifier onlyOwner {
    require(msg.sender == owner);
    _;
  }



  function transferOwnership(address newOwner) onlyOwner {
    require(newOwner != address(0));
    owner = newOwner;
  }


  mapping (address => mapping (address => uint256)) internal allowed;

  function transferFrom(address _from, address _to, uint256 _value) public returns (bool) {
    require(_to != address(0));
    require(_value <= balances[_from]);
    require(_value <= allowed[_from][msg.sender]);

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


  function approve(address _spender, uint256 _value) public returns (bool) {
    allowed[msg.sender][_spender] = _value;
    emit Approval(msg.sender, _spender, _value);
    return true;
  }


  function allowance(address _owner, address _spender) public view returns (uint256) {
    return allowed[_owner][_spender];
  }


  function increaseApproval(address _spender, uint _addedValue) public returns (bool) {
    allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add(_addedValue);
    emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
    return true;
  }


  function decreaseApproval(address _spender, uint _subtractedValue) public returns (bool) {
    uint oldValue = allowed[msg.sender][_spender];
    if (_subtractedValue > oldValue) {
      allowed[msg.sender][_spender] = 0;
    } else {
      allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue);
    }
    emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
    return true;
  }

  // 每天释放调用这个方法
  function releaseToday() public onlyOwner returns(uint256 _actualRelease) {
    return releaseSupply(now);
  }

  // 如果有哪天遗漏了,可以调用这个方法
  function releaseSupply(uint256 timestamp) public onlyOwner returns(uint256 _actualRelease) {
      require(timestamp >= createTime && timestamp <= now);
      require(!judgeReleaseRecordExist(timestamp));

      uint award = updateAward(timestamp);

      balances[owner] = balances[owner].add(award);
      totalSupply_ = totalSupply_.add(award);
      releasedRecords[releasedRecordsCount] = ReleaseRecord(award, timestamp);
      releasedRecordsCount++;
      emit ReleaseSupply(owner, award, timestamp);
      emit Transfer(0, owner, award);
      return award;
  }

  function judgeReleaseRecordExist(uint256 timestamp) internal returns(bool _exist) {
      bool exist = false;
      if (releasedRecordsCount > 0) {
          for (uint index = 0; index < releasedRecordsCount; index++) {
              if ((releasedRecords[index].releasedTime.parseTimestamp().year == timestamp.parseTimestamp().year)
                  && (releasedRecords[index].releasedTime.parseTimestamp().month == timestamp.parseTimestamp().month)
                  && (releasedRecords[index].releasedTime.parseTimestamp().day == timestamp.parseTimestamp().day)) {
                  exist = true;
              }
          }
      }
      return exist;
  }

  function updateAward(uint256 timestamp) internal returns(uint256 ) {

      uint passMonth  = now.sub(createTime) / 30 days + 1;

      if (passMonth == 1) {
          return 270000 * 10 ** uint256(decimals);
      } else if (passMonth == 2) {
          return 252000 * 10 ** uint256(decimals);
      } else if (passMonth == 3) {
          return 234000 * 10 ** uint256(decimals);
      } else if (passMonth == 4) {
          return 216000 * 10 ** uint256(decimals);
      } else if (passMonth == 5) {
          return 198000 * 10 ** uint256(decimals);
      } else if (passMonth == 6) {
          return 180000 * 10 ** uint256(decimals);
      } else if (passMonth == 7) {
          return 162000 * 10 ** uint256(decimals);
      } else if (passMonth == 8) {
          return 144000 * 10 ** uint256(decimals);
      } else if (passMonth == 9) {
          return 144000 * 10 ** uint256(decimals);
      }
      return 0;

  }

}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"releasedRecordsCount","outputs":[{"name":"","type":"uint256"}],"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":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","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":"","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":"allSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"createTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"freezeSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"releasedRecords","outputs":[{"name":"amount","type":"uint256"},{"name":"releasedTime","type":"uint256"}],"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":"timestamp","type":"uint256"}],"name":"releaseSupply","outputs":[{"name":"_actualRelease","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","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":false,"inputs":[],"name":"releaseToday","outputs":[{"name":"_actualRelease","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","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":"receiver","type":"address"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":false,"name":"releaseTime","type":"uint256"}],"name":"ReleaseSupply","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"}]

60018054601260ff199091161790819055630337f98060025560ff16600a0a630225510002600381905560045560c0604052600960808190527f4e696e65426c6f636b000000000000000000000000000000000000000000000060a09081526200006d91600591906200011f565b506040805180820190915260028082527f4e420000000000000000000000000000000000000000000000000000000000006020909201918252620000b4916006916200011f565b506000600a55348015620000c757600080fd5b503360008181526020819052604081208190556003549080527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb55560078054600160a060020a031916909117905542600855620001c4565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200016257805160ff191683800117855562000192565b8280016001018555821562000192579182015b828111156200019257825182559160200191906001019062000175565b50620001a0929150620001a4565b5090565b620001c191905b80821115620001a05760008155600101620001ab565b90565b61113d80620001d46000396000f3006080604052600436106101065763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde03811461010b5780630897bf6f14610195578063095ea7b3146101bc57806318160ddd146101f457806323b872dd14610209578063313ce56714610233578063423207321461025e57806361dcd7ab14610273578063661884631461028857806370a08231146102ac5780637ec2402f146102cd5780637ed1f267146102e257806395d89b41146103135780639fc3587a14610328578063a9059cbb14610340578063b778d4b414610364578063d73dd62314610379578063dd62ed3e1461039d578063f2fde38b146103c4575b600080fd5b34801561011757600080fd5b506101206103e7565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561015a578181015183820152602001610142565b50505050905090810190601f1680156101875780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101a157600080fd5b506101aa610475565b60408051918252519081900360200190f35b3480156101c857600080fd5b506101e0600160a060020a036004351660243561047b565b604080519115158252519081900360200190f35b34801561020057600080fd5b506101aa6104e2565b34801561021557600080fd5b506101e0600160a060020a03600435811690602435166044356104e8565b34801561023f57600080fd5b5061024861065f565b6040805160ff9092168252519081900360200190f35b34801561026a57600080fd5b506101aa610668565b34801561027f57600080fd5b506101aa61066e565b34801561029457600080fd5b506101e0600160a060020a0360043516602435610674565b3480156102b857600080fd5b506101aa600160a060020a0360043516610764565b3480156102d957600080fd5b506101aa610783565b3480156102ee57600080fd5b506102fa600435610789565b6040805192835260208301919091528051918290030190f35b34801561031f57600080fd5b506101206107a2565b34801561033457600080fd5b506101aa6004356107fd565b34801561034c57600080fd5b506101e0600160a060020a036004351660243561097d565b34801561037057600080fd5b506101aa610a5e565b34801561038557600080fd5b506101e0600160a060020a0360043516602435610a86565b3480156103a957600080fd5b506101aa600160a060020a0360043581169060243516610b1f565b3480156103d057600080fd5b506103e5600160a060020a0360043516610b4a565b005b6005805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561046d5780601f106104425761010080835404028352916020019161046d565b820191906000526020600020905b81548152906001019060200180831161045057829003601f168201915b505050505081565b600a5481565b336000818152600b60209081526040808320600160a060020a038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b60045490565b6000600160a060020a03831615156104ff57600080fd5b600160a060020a03841660009081526020819052604090205482111561052457600080fd5b600160a060020a0384166000908152600b6020908152604080832033845290915290205482111561055457600080fd5b600160a060020a03841660009081526020819052604090205461057d908363ffffffff610ba516565b600160a060020a0380861660009081526020819052604080822093909355908516815220546105b2908363ffffffff610bb716565b600160a060020a03808516600090815260208181526040808320949094559187168152600b825282812033825290915220546105f4908363ffffffff610ba516565b600160a060020a038086166000818152600b6020908152604080832033845282529182902094909455805186815290519287169391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a35060019392505050565b60015460ff1681565b60025481565b60085481565b336000908152600b60209081526040808320600160a060020a0386168452909152812054808311156106c957336000908152600b60209081526040808320600160a060020a03881684529091528120556106fe565b6106d9818463ffffffff610ba516565b336000908152600b60209081526040808320600160a060020a03891684529091529020555b336000818152600b60209081526040808320600160a060020a0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b600160a060020a0381166000908152602081905260409020545b919050565b60035481565b6009602052600090815260409020805460019091015482565b6006805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561046d5780601f106104425761010080835404028352916020019161046d565b6007546000908190600160a060020a0316331461081957600080fd5b600854831015801561082b5750428311155b151561083657600080fd5b61083f83610bc4565b1561084957600080fd5b61085283610cae565b600754600160a060020a0316600090815260208190526040902054909150610880908263ffffffff610bb716565b600754600160a060020a03166000908152602081905260409020556004546108ae908263ffffffff610bb716565b6004556040805180820182528281526020808201868152600a8054600090815260098452859020935184559051600193840155805490920190915560075482518481529182018690528251600160a060020a03909116927f3f9e3494cddacfc8ffad423303d89b42edd68c349155fc54854d5d6dbe0a5e39928290030190a2600754604080518381529051600160a060020a03909216916000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a38091505b50919050565b6000600160a060020a038316151561099457600080fd5b336000908152602081905260409020548211156109b057600080fd5b336000908152602081905260409020546109d0908363ffffffff610ba516565b3360009081526020819052604080822092909255600160a060020a03851681522054610a02908363ffffffff610bb716565b600160a060020a038416600081815260208181526040918290209390935580518581529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a350600192915050565b600754600090600160a060020a03163314610a7857600080fd5b610a81426107fd565b905090565b336000908152600b60209081526040808320600160a060020a0386168452909152812054610aba908363ffffffff610bb716565b336000818152600b60209081526040808320600160a060020a0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b600160a060020a039182166000908152600b6020908152604080832093909416825291909152205490565b600754600160a060020a03163314610b6157600080fd5b600160a060020a0381161515610b7657600080fd5b6007805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600082821115610bb157fe5b50900390565b818101828110156104dc57fe5b60008060008091506000600a541115610ca7575060005b600a54811015610ca757610bee84610df0565b5160008281526009602052604090206001015461ffff90911690610c1190610df0565b5161ffff16148015610c565750610c2784610df0565b6020015160ff16610c4d6009600084815260200190815260200160002060010154610df0565b6020015160ff16145b8015610c955750610c6684610df0565b6040015160ff16610c8c6009600084815260200190815260200160002060010154610df0565b6040015160ff16145b15610c9f57600191505b600101610bdb565b5092915050565b60008062278d00610cca60085442610ba590919063ffffffff16565b811515610cd357fe5b0460010190508060011415610cf75760015460ff16600a0a62041eb0029150610977565b8060021415610d155760015460ff16600a0a6203d860029150610977565b8060031415610d335760015460ff16600a0a62039210029150610977565b8060041415610d515760015460ff16600a0a62034bc0029150610977565b8060051415610d6f5760015460ff16600a0a62030570029150610977565b8060061415610d8d5760015460ff16600a0a6202bf20029150610977565b8060071415610dab5760015460ff16600a0a620278d0029150610977565b8060081415610dc95760015460ff16600a0a62023280029150610977565b8060091415610de75760015460ff16600a0a62023280029150610977565b50600092915050565b610df86110d5565b6000808080610e0686610f16565b61ffff168552610e176107b2610fa6565b8551610e269061ffff16610fa6565b039250826301e285000284019350826107b286600001510361ffff16036301e133800284019350600191505b600c60ff831611610e9c57610e6b828660000151610fc1565b60ff1662015180029050858482011115610e8d5760ff82166020860152610e9c565b92830192600190910190610e52565b600191505b610eb385602001518660000151610fc1565b60ff168260ff16111515610ef057858462015180011115610edc5760ff82166040860152610ef0565b620151809390930192600190910190610ea1565b50506000606084018190526080840181905260a0840181905260c0840152509092915050565b6000806107b26301e1338084048101908290610f3190610fa6565b610f3e8361ffff16610fa6565b039050806301e285000283019250806107b2830361ffff16036301e1338002830192505b84831115610f9e57610f7660018303611087565b15610f89576301e2850083039250610f93565b6301e13380830392505b600182039150610f62565b509392505050565b60001901600061019082046064830460048404030192915050565b60008260ff1660011480610fd857508260ff166003145b80610fe657508260ff166005145b80610ff457508260ff166007145b8061100257508260ff166008145b8061101057508260ff16600a145b8061101e57508260ff16600c145b1561102b5750601f6104dc565b8260ff166004148061104057508260ff166006145b8061104e57508260ff166009145b8061105c57508260ff16600b145b156110695750601e6104dc565b61107282611087565b1561107f5750601d6104dc565b50601c6104dc565b6000600382161561109a5750600061077e565b606461ffff83160661ffff16156110b35750600161077e565b61019061ffff83160661ffff16156110cd5750600061077e565b506001919050565b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810191909152905600a165627a7a7230582049e0546003517d6cb60a8505e8a051854c455084a7bf9744700d9b06fa2020d60029

Deployed Bytecode

0x6080604052600436106101065763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde03811461010b5780630897bf6f14610195578063095ea7b3146101bc57806318160ddd146101f457806323b872dd14610209578063313ce56714610233578063423207321461025e57806361dcd7ab14610273578063661884631461028857806370a08231146102ac5780637ec2402f146102cd5780637ed1f267146102e257806395d89b41146103135780639fc3587a14610328578063a9059cbb14610340578063b778d4b414610364578063d73dd62314610379578063dd62ed3e1461039d578063f2fde38b146103c4575b600080fd5b34801561011757600080fd5b506101206103e7565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561015a578181015183820152602001610142565b50505050905090810190601f1680156101875780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101a157600080fd5b506101aa610475565b60408051918252519081900360200190f35b3480156101c857600080fd5b506101e0600160a060020a036004351660243561047b565b604080519115158252519081900360200190f35b34801561020057600080fd5b506101aa6104e2565b34801561021557600080fd5b506101e0600160a060020a03600435811690602435166044356104e8565b34801561023f57600080fd5b5061024861065f565b6040805160ff9092168252519081900360200190f35b34801561026a57600080fd5b506101aa610668565b34801561027f57600080fd5b506101aa61066e565b34801561029457600080fd5b506101e0600160a060020a0360043516602435610674565b3480156102b857600080fd5b506101aa600160a060020a0360043516610764565b3480156102d957600080fd5b506101aa610783565b3480156102ee57600080fd5b506102fa600435610789565b6040805192835260208301919091528051918290030190f35b34801561031f57600080fd5b506101206107a2565b34801561033457600080fd5b506101aa6004356107fd565b34801561034c57600080fd5b506101e0600160a060020a036004351660243561097d565b34801561037057600080fd5b506101aa610a5e565b34801561038557600080fd5b506101e0600160a060020a0360043516602435610a86565b3480156103a957600080fd5b506101aa600160a060020a0360043581169060243516610b1f565b3480156103d057600080fd5b506103e5600160a060020a0360043516610b4a565b005b6005805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561046d5780601f106104425761010080835404028352916020019161046d565b820191906000526020600020905b81548152906001019060200180831161045057829003601f168201915b505050505081565b600a5481565b336000818152600b60209081526040808320600160a060020a038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a35060015b92915050565b60045490565b6000600160a060020a03831615156104ff57600080fd5b600160a060020a03841660009081526020819052604090205482111561052457600080fd5b600160a060020a0384166000908152600b6020908152604080832033845290915290205482111561055457600080fd5b600160a060020a03841660009081526020819052604090205461057d908363ffffffff610ba516565b600160a060020a0380861660009081526020819052604080822093909355908516815220546105b2908363ffffffff610bb716565b600160a060020a03808516600090815260208181526040808320949094559187168152600b825282812033825290915220546105f4908363ffffffff610ba516565b600160a060020a038086166000818152600b6020908152604080832033845282529182902094909455805186815290519287169391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a35060019392505050565b60015460ff1681565b60025481565b60085481565b336000908152600b60209081526040808320600160a060020a0386168452909152812054808311156106c957336000908152600b60209081526040808320600160a060020a03881684529091528120556106fe565b6106d9818463ffffffff610ba516565b336000908152600b60209081526040808320600160a060020a03891684529091529020555b336000818152600b60209081526040808320600160a060020a0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b600160a060020a0381166000908152602081905260409020545b919050565b60035481565b6009602052600090815260409020805460019091015482565b6006805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561046d5780601f106104425761010080835404028352916020019161046d565b6007546000908190600160a060020a0316331461081957600080fd5b600854831015801561082b5750428311155b151561083657600080fd5b61083f83610bc4565b1561084957600080fd5b61085283610cae565b600754600160a060020a0316600090815260208190526040902054909150610880908263ffffffff610bb716565b600754600160a060020a03166000908152602081905260409020556004546108ae908263ffffffff610bb716565b6004556040805180820182528281526020808201868152600a8054600090815260098452859020935184559051600193840155805490920190915560075482518481529182018690528251600160a060020a03909116927f3f9e3494cddacfc8ffad423303d89b42edd68c349155fc54854d5d6dbe0a5e39928290030190a2600754604080518381529051600160a060020a03909216916000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef919081900360200190a38091505b50919050565b6000600160a060020a038316151561099457600080fd5b336000908152602081905260409020548211156109b057600080fd5b336000908152602081905260409020546109d0908363ffffffff610ba516565b3360009081526020819052604080822092909255600160a060020a03851681522054610a02908363ffffffff610bb716565b600160a060020a038416600081815260208181526040918290209390935580518581529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a350600192915050565b600754600090600160a060020a03163314610a7857600080fd5b610a81426107fd565b905090565b336000908152600b60209081526040808320600160a060020a0386168452909152812054610aba908363ffffffff610bb716565b336000818152600b60209081526040808320600160a060020a0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b600160a060020a039182166000908152600b6020908152604080832093909416825291909152205490565b600754600160a060020a03163314610b6157600080fd5b600160a060020a0381161515610b7657600080fd5b6007805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600082821115610bb157fe5b50900390565b818101828110156104dc57fe5b60008060008091506000600a541115610ca7575060005b600a54811015610ca757610bee84610df0565b5160008281526009602052604090206001015461ffff90911690610c1190610df0565b5161ffff16148015610c565750610c2784610df0565b6020015160ff16610c4d6009600084815260200190815260200160002060010154610df0565b6020015160ff16145b8015610c955750610c6684610df0565b6040015160ff16610c8c6009600084815260200190815260200160002060010154610df0565b6040015160ff16145b15610c9f57600191505b600101610bdb565b5092915050565b60008062278d00610cca60085442610ba590919063ffffffff16565b811515610cd357fe5b0460010190508060011415610cf75760015460ff16600a0a62041eb0029150610977565b8060021415610d155760015460ff16600a0a6203d860029150610977565b8060031415610d335760015460ff16600a0a62039210029150610977565b8060041415610d515760015460ff16600a0a62034bc0029150610977565b8060051415610d6f5760015460ff16600a0a62030570029150610977565b8060061415610d8d5760015460ff16600a0a6202bf20029150610977565b8060071415610dab5760015460ff16600a0a620278d0029150610977565b8060081415610dc95760015460ff16600a0a62023280029150610977565b8060091415610de75760015460ff16600a0a62023280029150610977565b50600092915050565b610df86110d5565b6000808080610e0686610f16565b61ffff168552610e176107b2610fa6565b8551610e269061ffff16610fa6565b039250826301e285000284019350826107b286600001510361ffff16036301e133800284019350600191505b600c60ff831611610e9c57610e6b828660000151610fc1565b60ff1662015180029050858482011115610e8d5760ff82166020860152610e9c565b92830192600190910190610e52565b600191505b610eb385602001518660000151610fc1565b60ff168260ff16111515610ef057858462015180011115610edc5760ff82166040860152610ef0565b620151809390930192600190910190610ea1565b50506000606084018190526080840181905260a0840181905260c0840152509092915050565b6000806107b26301e1338084048101908290610f3190610fa6565b610f3e8361ffff16610fa6565b039050806301e285000283019250806107b2830361ffff16036301e1338002830192505b84831115610f9e57610f7660018303611087565b15610f89576301e2850083039250610f93565b6301e13380830392505b600182039150610f62565b509392505050565b60001901600061019082046064830460048404030192915050565b60008260ff1660011480610fd857508260ff166003145b80610fe657508260ff166005145b80610ff457508260ff166007145b8061100257508260ff166008145b8061101057508260ff16600a145b8061101e57508260ff16600c145b1561102b5750601f6104dc565b8260ff166004148061104057508260ff166006145b8061104e57508260ff166009145b8061105c57508260ff16600b145b156110695750601e6104dc565b61107282611087565b1561107f5750601d6104dc565b50601c6104dc565b6000600382161561109a5750600061077e565b606461ffff83160661ffff16156110b35750600161077e565b61019061ffff83160661ffff16156110cd5750600061077e565b506001919050565b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810191909152905600a165627a7a7230582049e0546003517d6cb60a8505e8a051854c455084a7bf9744700d9b06fa2020d60029

Swarm Source

bzzr://49e0546003517d6cb60a8505e8a051854c455084a7bf9744700d9b06fa2020d6
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.