ETH Price: $3,063.75 (+2.07%)
Gas: 6 Gwei

Token

Hawthorn Guardian System (HGS)
 

Overview

Max Total Supply

2,000,000,000 HGS

Holders

21,309

Total Transfers

-

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

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:
HGSToken

Compiler Version
v0.4.25+commit.59dbf8f1

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2019-05-08
*/

pragma solidity ^0.4.23;

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) {
    return _a / _b;
  }

  function sub(uint256 _a, uint256 _b) internal pure returns (uint256) {
    assert(_b <= _a);
    return _a - _b;
  }

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

contract ERC20 {
  function totalSupply() public view returns (uint256);

  function balanceOf(address _who) public view returns (uint256);

  function allowance(address _owner, address _spender)
    public view returns (uint256);

  function transfer(address _to, uint256 _value) public returns (bool);

  function approve(address _spender, uint256 _value)
    public returns (bool);

  function transferFrom(address _from, address _to, uint256 _value)
    public returns (bool);

  event Transfer(
    address indexed from,
    address indexed to,
    uint256 value
  );

  event Approval(
    address indexed owner,
    address indexed spender,
    uint256 value
  );
}

contract StandardToken is ERC20 {
  using SafeMath for uint256;

  mapping(address => uint256) balances;

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

  uint256 totalSupply_;

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

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

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

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

    balances[msg.sender] = balances[msg.sender].sub(_value);
    balances[_to] = balances[_to].add(_value);
    emit Transfer(msg.sender, _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 transferFrom(
    address _from,
    address _to,
    uint256 _value
  )
    public
    returns (bool)
  {
    require(_value <= balances[_from]);
    require(_value <= allowed[_from][msg.sender]);
    require(_to != address(0));

    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 increaseApproval(
    address _spender,
    uint256 _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,
    uint256 _subtractedValue
  )
    public
    returns (bool)
  {
    uint256 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;
  }
}

contract Ownable {
  address public owner;

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

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

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

  function renounceOwnership() public onlyOwner {
    emit OwnershipRenounced(owner);
    owner = address(0);
  }

  function transferOwnership(address _newOwner) public onlyOwner {
    _transferOwnership(_newOwner);
  }

  function _transferOwnership(address _newOwner) internal {
    require(_newOwner != address(0));
    emit OwnershipTransferred(owner, _newOwner);
    owner = _newOwner;
  }
}

contract Pausable is Ownable {
  event Pause();
  event Unpause();

  bool public paused = false;

  modifier whenNotPaused() {
    require(!paused);
    _;
  }

  modifier whenPaused() {
    require(paused);
    _;
  }

  function pause() public onlyOwner whenNotPaused {
    paused = true;
    emit Pause();
  }

  function unpause() public onlyOwner whenPaused {
    paused = false;
    emit Unpause();
  }
}

contract PausableToken is StandardToken, Pausable {

  function transfer(
    address _to,
    uint256 _value
  )
    public
    whenNotPaused
    returns (bool)
  {
    return super.transfer(_to, _value);
  }

  function transferFrom(
    address _from,
    address _to,
    uint256 _value
  )
    public
    whenNotPaused
    returns (bool)
  {
    return super.transferFrom(_from, _to, _value);
  }

  function approve(
    address _spender,
    uint256 _value
  )
    public
    whenNotPaused
    returns (bool)
  {
    return super.approve(_spender, _value);
  }

  function increaseApproval(
    address _spender,
    uint _addedValue
  )
    public
    whenNotPaused
    returns (bool success)
  {
    return super.increaseApproval(_spender, _addedValue);
  }

  function decreaseApproval(
    address _spender,
    uint _subtractedValue
  )
    public
    whenNotPaused
    returns (bool success)
  {
    return super.decreaseApproval(_spender, _subtractedValue);
  }
}

contract MintableToken is StandardToken, Ownable {
  using SafeMath for uint256;
  event Mint(address indexed to, uint256 amount);

  uint constant YEAR_IN_SECONDS = 31536000;

  uint constant ORIGIN_TIMESTAMP = 1514764800;
  uint16 constant ORIGIN_YEAR = 2018;

  uint256 originSupply_;
  // ufixed8x2 u0.02;

  struct MintRecord {
      uint percent;
      address holder;
      uint16 year;
      uint256 amount;
      uint timestamp;
  }

  // year=> MintRecord
  mapping (uint16 => MintRecord) public mintedHistory;

  function getYear(uint _timestamp) public pure returns (uint16) {
    require(_timestamp > ORIGIN_TIMESTAMP);
    return ORIGIN_YEAR + uint16((_timestamp - ORIGIN_TIMESTAMP) / YEAR_IN_SECONDS);
  }

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

  function originSupply() public view returns (uint256) {
    return originSupply_;
  }

  function mint() public hasMintPermission returns (bool) {
    return _mint(block.timestamp);
  }

  function _mint(uint _timestamp) internal hasMintPermission returns (bool) {
    uint16 year = getYear(_timestamp);
    require(mintedHistory[year].percent == 0);
    uint256 amount = totalSupply_.mul(200).div(10000);
    totalSupply_ = totalSupply_.add(amount);
    balances[msg.sender] = balances[msg.sender].add(amount);
    mintedHistory[year] = MintRecord({
        percent: 200,
        amount: amount,
        holder: msg.sender,
        timestamp: _timestamp,
        year: year
    });
    emit Transfer(address(0), msg.sender, amount);
    emit Mint(msg.sender, amount);
    return true;
  }
}

contract HGSToken is PausableToken, MintableToken {

  string public constant name = "Hawthorn Guardian System";
  string public constant symbol = "HGS";
  uint8 public constant decimals = 18;

  uint256 public constant INITIAL_SUPPLY = 2000000000 * (10 ** uint256(decimals));

  constructor() public {
    totalSupply_ = INITIAL_SUPPLY;
    originSupply_ = INITIAL_SUPPLY;
    balances[msg.sender] = INITIAL_SUPPLY;
    emit Transfer(address(0), msg.sender, INITIAL_SUPPLY);
  }
}

Contract Security Audit

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":"mint","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":"INITIAL_SUPPLY","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"name":"success","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":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_timestamp","type":"uint256"}],"name":"getYear","outputs":[{"name":"","type":"uint16"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint16"}],"name":"mintedHistory","outputs":[{"name":"percent","type":"uint256"},{"name":"holder","type":"address"},{"name":"year","type":"uint16"},{"name":"amount","type":"uint256"},{"name":"timestamp","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"originSupply","outputs":[{"name":"","type":"uint256"}],"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":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"name":"success","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":"to","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[],"name":"Pause","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpause","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"}],"name":"OwnershipRenounced","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"}]

60806040526003805460a060020a60ff021916905534801561002057600080fd5b5060038054600160a060020a031916339081179091556b06765c793fa10079d00000006002819055600481905560008281526020818152604080832084905580519384525191927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a3610f87806100a16000396000f3006080604052600436106101275763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde03811461012c578063095ea7b3146101b65780631249c58b146101ee57806318160ddd1461020357806323b872dd1461022a5780632ff2e9dc14610254578063313ce567146102695780633f4ba83a146102945780635c975abb146102ab57806366188463146102c057806370a08231146102e4578063715018a6146103055780638456cb591461031a5780638da5cb5b1461032f57806392d663131461036057806395d89b411461038f578063a46ebaab146103a4578063a4ea5930146103f6578063a9059cbb1461040b578063d73dd6231461042f578063dd62ed3e14610453578063f2fde38b1461047a575b600080fd5b34801561013857600080fd5b5061014161049b565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561017b578181015183820152602001610163565b50505050905090810190601f1680156101a85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101c257600080fd5b506101da600160a060020a03600435166024356104d2565b604080519115158252519081900360200190f35b3480156101fa57600080fd5b506101da6104ff565b34801561020f57600080fd5b50610218610527565b60408051918252519081900360200190f35b34801561023657600080fd5b506101da600160a060020a036004358116906024351660443561052d565b34801561026057600080fd5b5061021861055a565b34801561027557600080fd5b5061027e61056a565b6040805160ff9092168252519081900360200190f35b3480156102a057600080fd5b506102a961056f565b005b3480156102b757600080fd5b506101da6105e7565b3480156102cc57600080fd5b506101da600160a060020a03600435166024356105f7565b3480156102f057600080fd5b50610218600160a060020a036004351661061b565b34801561031157600080fd5b506102a9610636565b34801561032657600080fd5b506102a96106a4565b34801561033b57600080fd5b50610344610721565b60408051600160a060020a039092168252519081900360200190f35b34801561036c57600080fd5b50610378600435610730565b6040805161ffff9092168252519081900360200190f35b34801561039b57600080fd5b5061014161075b565b3480156103b057600080fd5b506103c061ffff60043516610792565b60408051958652600160a060020a03909416602086015261ffff9092168484015260608401526080830152519081900360a00190f35b34801561040257600080fd5b506102186107cf565b34801561041757600080fd5b506101da600160a060020a03600435166024356107d5565b34801561043b57600080fd5b506101da600160a060020a03600435166024356107f9565b34801561045f57600080fd5b50610218600160a060020a036004358116906024351661081d565b34801561048657600080fd5b506102a9600160a060020a0360043516610848565b60408051808201909152601881527f48617774686f726e20477561726469616e2053797374656d0000000000000000602082015281565b60035460009060a060020a900460ff16156104ec57600080fd5b6104f6838361086b565b90505b92915050565b600354600090600160a060020a0316331461051957600080fd5b610522426108d1565b905090565b60025490565b60035460009060a060020a900460ff161561054757600080fd5b610552848484610aa4565b949350505050565b6b06765c793fa10079d000000081565b601281565b600354600160a060020a0316331461058657600080fd5b60035460a060020a900460ff16151561059e57600080fd5b6003805474ff0000000000000000000000000000000000000000191690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b60035460a060020a900460ff1681565b60035460009060a060020a900460ff161561061157600080fd5b6104f68383610c19565b600160a060020a031660009081526020819052604090205490565b600354600160a060020a0316331461064d57600080fd5b600354604051600160a060020a03909116907ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482090600090a26003805473ffffffffffffffffffffffffffffffffffffffff19169055565b600354600160a060020a031633146106bb57600080fd5b60035460a060020a900460ff16156106d257600080fd5b6003805474ff0000000000000000000000000000000000000000191660a060020a1790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b600354600160a060020a031681565b6000635a497a00821161074257600080fd5b6301e13380635a4979ff198301046107e2019050919050565b60408051808201909152600381527f4847530000000000000000000000000000000000000000000000000000000000602082015281565b60056020526000908152604090208054600182015460028301546003909301549192600160a060020a0382169260a060020a90920461ffff169185565b60045490565b60035460009060a060020a900460ff16156107ef57600080fd5b6104f68383610d08565b60035460009060a060020a900460ff161561081357600080fd5b6104f68383610de7565b600160a060020a03918216600090815260016020908152604080832093909416825291909152205490565b600354600160a060020a0316331461085f57600080fd5b61086881610e80565b50565b336000818152600160209081526040808320600160a060020a038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b60035460009081908190600160a060020a031633146108ef57600080fd5b6108f884610730565b61ffff81166000908152600560205260409020549092501561091957600080fd5b61094161271061093560c8600254610efe90919063ffffffff16565b9063ffffffff610f2716565b600254909150610957908263ffffffff610f3c16565b6002553360009081526020819052604090205461097a908263ffffffff610f3c16565b3360008181526020818152604080832094909455835160a08101855260c8815280820184815261ffff808916838801818152606085018a8152608086018e815292885260058752898820955186559351600186018054925190941660a060020a0275ffff000000000000000000000000000000000000000019600160a060020a039290921673ffffffffffffffffffffffffffffffffffffffff19909316929092171617909155905160028301555160039091015583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a360408051828152905133917f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885919081900360200190a25060019392505050565b600160a060020a038316600090815260208190526040812054821115610ac957600080fd5b600160a060020a0384166000908152600160209081526040808320338452909152902054821115610af957600080fd5b600160a060020a0383161515610b0e57600080fd5b600160a060020a038416600090815260208190526040902054610b37908363ffffffff610f4916565b600160a060020a038086166000908152602081905260408082209390935590851681522054610b6c908363ffffffff610f3c16565b600160a060020a03808516600090815260208181526040808320949094559187168152600182528281203382529091522054610bae908363ffffffff610f4916565b600160a060020a03808616600081815260016020908152604080832033845282529182902094909455805186815290519287169391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a35060019392505050565b336000908152600160209081526040808320600160a060020a0386168452909152812054808310610c6d57336000908152600160209081526040808320600160a060020a0388168452909152812055610ca2565b610c7d818463ffffffff610f4916565b336000908152600160209081526040808320600160a060020a03891684529091529020555b336000818152600160209081526040808320600160a060020a0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b33600090815260208190526040812054821115610d2457600080fd5b600160a060020a0383161515610d3957600080fd5b33600090815260208190526040902054610d59908363ffffffff610f4916565b3360009081526020819052604080822092909255600160a060020a03851681522054610d8b908363ffffffff610f3c16565b600160a060020a038416600081815260208181526040918290209390935580518581529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a350600192915050565b336000908152600160209081526040808320600160a060020a0386168452909152812054610e1b908363ffffffff610f3c16565b336000818152600160209081526040808320600160a060020a0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b600160a060020a0381161515610e9557600080fd5b600354604051600160a060020a038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b6000821515610f0f575060006104f9565b50818102818382811515610f1f57fe5b04146104f957fe5b60008183811515610f3457fe5b049392505050565b818101828110156104f957fe5b600082821115610f5557fe5b509003905600a165627a7a72305820d15c8fd202fa77a6ed5425a8e3039175216ede52b54edacf96d3b41f25c45bcf0029

Deployed Bytecode

0x6080604052600436106101275763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde03811461012c578063095ea7b3146101b65780631249c58b146101ee57806318160ddd1461020357806323b872dd1461022a5780632ff2e9dc14610254578063313ce567146102695780633f4ba83a146102945780635c975abb146102ab57806366188463146102c057806370a08231146102e4578063715018a6146103055780638456cb591461031a5780638da5cb5b1461032f57806392d663131461036057806395d89b411461038f578063a46ebaab146103a4578063a4ea5930146103f6578063a9059cbb1461040b578063d73dd6231461042f578063dd62ed3e14610453578063f2fde38b1461047a575b600080fd5b34801561013857600080fd5b5061014161049b565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561017b578181015183820152602001610163565b50505050905090810190601f1680156101a85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101c257600080fd5b506101da600160a060020a03600435166024356104d2565b604080519115158252519081900360200190f35b3480156101fa57600080fd5b506101da6104ff565b34801561020f57600080fd5b50610218610527565b60408051918252519081900360200190f35b34801561023657600080fd5b506101da600160a060020a036004358116906024351660443561052d565b34801561026057600080fd5b5061021861055a565b34801561027557600080fd5b5061027e61056a565b6040805160ff9092168252519081900360200190f35b3480156102a057600080fd5b506102a961056f565b005b3480156102b757600080fd5b506101da6105e7565b3480156102cc57600080fd5b506101da600160a060020a03600435166024356105f7565b3480156102f057600080fd5b50610218600160a060020a036004351661061b565b34801561031157600080fd5b506102a9610636565b34801561032657600080fd5b506102a96106a4565b34801561033b57600080fd5b50610344610721565b60408051600160a060020a039092168252519081900360200190f35b34801561036c57600080fd5b50610378600435610730565b6040805161ffff9092168252519081900360200190f35b34801561039b57600080fd5b5061014161075b565b3480156103b057600080fd5b506103c061ffff60043516610792565b60408051958652600160a060020a03909416602086015261ffff9092168484015260608401526080830152519081900360a00190f35b34801561040257600080fd5b506102186107cf565b34801561041757600080fd5b506101da600160a060020a03600435166024356107d5565b34801561043b57600080fd5b506101da600160a060020a03600435166024356107f9565b34801561045f57600080fd5b50610218600160a060020a036004358116906024351661081d565b34801561048657600080fd5b506102a9600160a060020a0360043516610848565b60408051808201909152601881527f48617774686f726e20477561726469616e2053797374656d0000000000000000602082015281565b60035460009060a060020a900460ff16156104ec57600080fd5b6104f6838361086b565b90505b92915050565b600354600090600160a060020a0316331461051957600080fd5b610522426108d1565b905090565b60025490565b60035460009060a060020a900460ff161561054757600080fd5b610552848484610aa4565b949350505050565b6b06765c793fa10079d000000081565b601281565b600354600160a060020a0316331461058657600080fd5b60035460a060020a900460ff16151561059e57600080fd5b6003805474ff0000000000000000000000000000000000000000191690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b60035460a060020a900460ff1681565b60035460009060a060020a900460ff161561061157600080fd5b6104f68383610c19565b600160a060020a031660009081526020819052604090205490565b600354600160a060020a0316331461064d57600080fd5b600354604051600160a060020a03909116907ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482090600090a26003805473ffffffffffffffffffffffffffffffffffffffff19169055565b600354600160a060020a031633146106bb57600080fd5b60035460a060020a900460ff16156106d257600080fd5b6003805474ff0000000000000000000000000000000000000000191660a060020a1790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b600354600160a060020a031681565b6000635a497a00821161074257600080fd5b6301e13380635a4979ff198301046107e2019050919050565b60408051808201909152600381527f4847530000000000000000000000000000000000000000000000000000000000602082015281565b60056020526000908152604090208054600182015460028301546003909301549192600160a060020a0382169260a060020a90920461ffff169185565b60045490565b60035460009060a060020a900460ff16156107ef57600080fd5b6104f68383610d08565b60035460009060a060020a900460ff161561081357600080fd5b6104f68383610de7565b600160a060020a03918216600090815260016020908152604080832093909416825291909152205490565b600354600160a060020a0316331461085f57600080fd5b61086881610e80565b50565b336000818152600160209081526040808320600160a060020a038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b60035460009081908190600160a060020a031633146108ef57600080fd5b6108f884610730565b61ffff81166000908152600560205260409020549092501561091957600080fd5b61094161271061093560c8600254610efe90919063ffffffff16565b9063ffffffff610f2716565b600254909150610957908263ffffffff610f3c16565b6002553360009081526020819052604090205461097a908263ffffffff610f3c16565b3360008181526020818152604080832094909455835160a08101855260c8815280820184815261ffff808916838801818152606085018a8152608086018e815292885260058752898820955186559351600186018054925190941660a060020a0275ffff000000000000000000000000000000000000000019600160a060020a039290921673ffffffffffffffffffffffffffffffffffffffff19909316929092171617909155905160028301555160039091015583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a360408051828152905133917f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885919081900360200190a25060019392505050565b600160a060020a038316600090815260208190526040812054821115610ac957600080fd5b600160a060020a0384166000908152600160209081526040808320338452909152902054821115610af957600080fd5b600160a060020a0383161515610b0e57600080fd5b600160a060020a038416600090815260208190526040902054610b37908363ffffffff610f4916565b600160a060020a038086166000908152602081905260408082209390935590851681522054610b6c908363ffffffff610f3c16565b600160a060020a03808516600090815260208181526040808320949094559187168152600182528281203382529091522054610bae908363ffffffff610f4916565b600160a060020a03808616600081815260016020908152604080832033845282529182902094909455805186815290519287169391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a35060019392505050565b336000908152600160209081526040808320600160a060020a0386168452909152812054808310610c6d57336000908152600160209081526040808320600160a060020a0388168452909152812055610ca2565b610c7d818463ffffffff610f4916565b336000908152600160209081526040808320600160a060020a03891684529091529020555b336000818152600160209081526040808320600160a060020a0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b33600090815260208190526040812054821115610d2457600080fd5b600160a060020a0383161515610d3957600080fd5b33600090815260208190526040902054610d59908363ffffffff610f4916565b3360009081526020819052604080822092909255600160a060020a03851681522054610d8b908363ffffffff610f3c16565b600160a060020a038416600081815260208181526040918290209390935580518581529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a350600192915050565b336000908152600160209081526040808320600160a060020a0386168452909152812054610e1b908363ffffffff610f3c16565b336000818152600160209081526040808320600160a060020a0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b600160a060020a0381161515610e9557600080fd5b600354604051600160a060020a038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b6000821515610f0f575060006104f9565b50818102818382811515610f1f57fe5b04146104f957fe5b60008183811515610f3457fe5b049392505050565b818101828110156104f957fe5b600082821115610f5557fe5b509003905600a165627a7a72305820d15c8fd202fa77a6ed5425a8e3039175216ede52b54edacf96d3b41f25c45bcf0029

Deployed Bytecode Sourcemap

7575:495:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7632:56;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7632:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;7632:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5311:171;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5311:171:0;-1:-1:-1;;;;;5311:171:0;;;;;;;;;;;;;;;;;;;;;;;;;6848:98;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6848:98:0;;;;1521:85;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1521:85:0;;;;;;;;;;;;;;;;;;;;5107:198;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5107:198:0;-1:-1:-1;;;;;5107:198:0;;;;;;;;;;;;7777:79;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7777:79:0;;;;7735:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7735:35:0;;;;;;;;;;;;;;;;;;;;;;;4779:95;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4779:95:0;;;;;;4515:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4515:26:0;;;;5698:214;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5698:214:0;-1:-1:-1;;;;;5698:214:0;;;;;;;1612:101;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1612:101:0;-1:-1:-1;;;;;1612:101:0;;;;;4028:114;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4028:114:0;;;;4680:93;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4680:93:0;;;;3702:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3702:20:0;;;;;;;;-1:-1:-1;;;;;3702:20:0;;;;;;;;;;;;;;6466:199;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;6466:199:0;;;;;;;;;;;;;;;;;;;;;;;;7693:37;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7693:37:0;;;;6408:51;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;6408:51:0;;;;;;;;;;;;;;-1:-1:-1;;;;;6408:51:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6755:87;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6755:87:0;;;;4938:163;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4938:163:0;-1:-1:-1;;;;;4938:163:0;;;;;;;5488:204;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;5488:204:0;-1:-1:-1;;;;;5488:204:0;;;;;;;1719:162;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1719:162:0;-1:-1:-1;;;;;1719:162:0;;;;;;;;;;4148:105;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4148:105:0;-1:-1:-1;;;;;4148:105:0;;;;;7632:56;;;;;;;;;;;;;;;;;;;:::o;5311:171::-;4589:6;;5422:4;;-1:-1:-1;;;4589:6:0;;;;4588:7;4580:16;;;;;;5445:31;5459:8;5469:6;5445:13;:31::i;:::-;5438:38;;4603:1;5311:171;;;;:::o;6848:98::-;6729:5;;6898:4;;-1:-1:-1;;;;;6729:5:0;6715:10;:19;6707:28;;;;;;6918:22;6924:15;6918:5;:22::i;:::-;6911:29;;6848:98;:::o;1521:85::-;1588:12;;1521:85;:::o;5107:198::-;4589:6;;5238:4;;-1:-1:-1;;;4589:6:0;;;;4588:7;4580:16;;;;;;5261:38;5280:5;5287:3;5292:6;5261:18;:38::i;:::-;5254:45;5107:198;-1:-1:-1;;;;5107:198:0:o;7777:79::-;7818:38;7777:79;:::o;7735:35::-;7768:2;7735:35;:::o;4779:95::-;4002:5;;-1:-1:-1;;;;;4002:5:0;3988:10;:19;3980:28;;;;;;4653:6;;-1:-1:-1;;;4653:6:0;;;;4645:15;;;;;;;;4833:6;:14;;-1:-1:-1;;4833:14:0;;;4859:9;;;;4842:5;;4859:9;4779:95::o;4515:26::-;;;-1:-1:-1;;;4515:26:0;;;;;:::o;5698:214::-;4589:6;;5825:12;;-1:-1:-1;;;4589:6:0;;;;4588:7;4580:16;;;;;;5856:50;5879:8;5889:16;5856:22;:50::i;1612:101::-;-1:-1:-1;;;;;1691:16:0;1668:7;1691:16;;;;;;;;;;;;1612:101::o;4028:114::-;4002:5;;-1:-1:-1;;;;;4002:5:0;3988:10;:19;3980:28;;;;;;4105:5;;4086:25;;-1:-1:-1;;;;;4105:5:0;;;;4086:25;;4105:5;;4086:25;4118:5;:18;;-1:-1:-1;;4118:18:0;;;4028:114::o;4680:93::-;4002:5;;-1:-1:-1;;;;;4002:5:0;3988:10;:19;3980:28;;;;;;4589:6;;-1:-1:-1;;;4589:6:0;;;;4588:7;4580:16;;;;;;4735:6;:13;;-1:-1:-1;;4735:13:0;-1:-1:-1;;;4735:13:0;;;4760:7;;;;4735:13;;4760:7;4680:93::o;3702:20::-;;;-1:-1:-1;;;;;3702:20:0;;:::o;6466:199::-;6521:6;6137:10;6544:29;;6536:38;;;;;;6089:8;-1:-1:-1;;6610:29:0;;6609:49;6182:4;6588:71;6581:78;;6466:199;;;:::o;7693:37::-;;;;;;;;;;;;;;;;;;;:::o;6408:51::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6408:51:0;;;-1:-1:-1;;;6408:51:0;;;;;;;:::o;6755:87::-;6823:13;;6755:87;:::o;4938:163::-;4589:6;;5045:4;;-1:-1:-1;;;4589:6:0;;;;4588:7;4580:16;;;;;;5068:27;5083:3;5088:6;5068:14;:27::i;5488:204::-;4589:6;;5610:12;;-1:-1:-1;;;4589:6:0;;;;4588:7;4580:16;;;;;;5641:45;5664:8;5674:11;5641:22;:45::i;1719:162::-;-1:-1:-1;;;;;1850:15:0;;;1824:7;1850:15;;;:7;:15;;;;;;;;:25;;;;;;;;;;;;;1719:162::o;4148:105::-;4002:5;;-1:-1:-1;;;;;4002:5:0;3988:10;:19;3980:28;;;;;;4218:29;4237:9;4218:18;:29::i;:::-;4148:105;:::o;2222:192::-;2310:10;2289:4;2302:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;2302:29:0;;;;;;;;;;;:38;;;2352;;;;;;;2289:4;;2302:29;;2310:10;;2352:38;;;;;;;;-1:-1:-1;2404:4:0;2222:192;;;;:::o;6952:616::-;6729:5;;7020:4;;;;;;-1:-1:-1;;;;;6729:5:0;6715:10;:19;6707:28;;;;;;7047:19;7055:10;7047:7;:19::i;:::-;7081;;;;;;;:13;:19;;;;;:27;7033:33;;-1:-1:-1;7081:32:0;7073:41;;;;;;7138:32;7164:5;7138:21;7155:3;7138:12;;:16;;:21;;;;:::i;:::-;:25;:32;:25;:32;:::i;:::-;7192:12;;7121:49;;-1:-1:-1;7192:24:0;;7121:49;7192:24;:16;:24;:::i;:::-;7177:12;:39;7255:10;7246:8;:20;;;;;;;;;;;:32;;7271:6;7246:32;:24;:32;:::i;:::-;7232:10;7223:8;:20;;;;;;;;;;;:55;;;;7307:149;;;;;;;7338:3;7307:149;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7285:19;;;:13;:19;;;;;:171;;;;;;;;;;;;;;;;-1:-1:-1;;;7285:171:0;-1:-1:-1;;;;;;;7285:171:0;;;;-1:-1:-1;;7285:171:0;;;;;;;;;;;;;;;;;;;;;;;;7468:40;;;;;;;7232:10;;7223:8;;7468:40;;;;;;;;;;7520:24;;;;;;;;7525:10;;7520:24;;;;;;;;;;-1:-1:-1;7558:4:0;;6952:616;-1:-1:-1;;;6952:616:0:o;2420:487::-;-1:-1:-1;;;;;2566:15:0;;2532:4;2566:15;;;;;;;;;;;2556:25;;;2548:34;;;;;;-1:-1:-1;;;;;2607:14:0;;;;;;:7;:14;;;;;;;;2622:10;2607:26;;;;;;;;2597:36;;;2589:45;;;;;;-1:-1:-1;;;;;2649:17:0;;;;2641:26;;;;;;-1:-1:-1;;;;;2694:15:0;;:8;:15;;;;;;;;;;;:27;;2714:6;2694:27;:19;:27;:::i;:::-;-1:-1:-1;;;;;2676:15:0;;;:8;:15;;;;;;;;;;;:45;;;;2744:13;;;;;;;:25;;2762:6;2744:25;:17;:25;:::i;:::-;-1:-1:-1;;;;;2728:13:0;;;:8;:13;;;;;;;;;;;:41;;;;2805:14;;;;;:7;:14;;;;;2820:10;2805:26;;;;;;;:38;;2836:6;2805:38;:30;:38;:::i;:::-;-1:-1:-1;;;;;2776:14:0;;;;;;;:7;:14;;;;;;;;2791:10;2776:26;;;;;;;;:67;;;;2855:28;;;;;;;;;;;2776:14;;2855:28;;;;;;;;;;;-1:-1:-1;2897:4:0;2420:487;;;;;:::o;3226:447::-;3380:10;3337:4;3372:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;3372:29:0;;;;;;;;;;3412:28;;;3408:169;;3459:10;3483:1;3451:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;3451:29:0;;;;;;;;;:33;3408:169;;;3539:30;:8;3552:16;3539:30;:12;:30;:::i;:::-;3515:10;3507:19;;;;:7;:19;;;;;;;;-1:-1:-1;;;;;3507:29:0;;;;;;;;;:62;3408:169;3597:10;3619:19;;;;:7;:19;;;;;;;;-1:-1:-1;;;;;3588:61:0;;3619:29;;;;;;;;;;;3588:61;;;;;;;;;3597:10;3588:61;;;;;;;;;;;-1:-1:-1;3663:4:0;;3226:447;-1:-1:-1;;;3226:447:0:o;1887:329::-;1990:10;1950:4;1981:20;;;;;;;;;;;1971:30;;;1963:39;;;;;;-1:-1:-1;;;;;2017:17:0;;;;2009:26;;;;;;2076:10;2067:8;:20;;;;;;;;;;;:32;;2092:6;2067:32;:24;:32;:::i;:::-;2053:10;2044:8;:20;;;;;;;;;;;:55;;;;-1:-1:-1;;;;;2122:13:0;;;;;;:25;;2140:6;2122:25;:17;:25;:::i;:::-;-1:-1:-1;;;;;2106:13:0;;:8;:13;;;;;;;;;;;;:41;;;;2159:33;;;;;;;2106:13;;2168:10;;2159:33;;;;;;;;;;-1:-1:-1;2206:4:0;1887:329;;;;:::o;2913:307::-;3084:10;3019:4;3076:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;3076:29:0;;;;;;;;;;:46;;3110:11;3076:46;:33;:46;:::i;:::-;3043:10;3035:19;;;;:7;:19;;;;;;;;-1:-1:-1;;;;;3035:29:0;;;;;;;;;;;;:88;;;3135:61;;;;;;3035:29;;3135:61;;;;;;;;;;;-1:-1:-1;3210:4:0;2913:307;;;;:::o;4259:175::-;-1:-1:-1;;;;;4330:23:0;;;;4322:32;;;;;;4387:5;;4366:38;;-1:-1:-1;;;;;4366:38:0;;;;4387:5;;4366:38;;4387:5;;4366:38;4411:5;:17;;-1:-1:-1;;4411:17:0;-1:-1:-1;;;;;4411:17:0;;;;;;;;;;4259:175::o;50:183::-;110:9;132:7;;128:38;;;-1:-1:-1;157:1:0;150:8;;128:38;-1:-1:-1;178:7:0;;;183:2;178;:7;199:6;;;;;;;;:12;192:20;;;239:96;299:7;327:2;322;:7;;;;;;;;;239:96;-1:-1:-1;;;239:96:0:o;466:132::-;548:7;;;569;;;;562:15;;;341:119;401:7;424:8;;;;417:16;;;;-1:-1:-1;447:7:0;;;341:119::o

Swarm Source

bzzr://d15c8fd202fa77a6ed5425a8e3039175216ede52b54edacf96d3b41f25c45bcf
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.