ETH Price: $3,647.87 (-6.08%)

Token

ERC-20: ()
 

Overview

Max Total Supply

112 ERC-20:

Holders

25

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 0 Decimals)

Balance
2 ERC-20:

Value
$0.00
0x90a9ade6f9a3068884c5a67e58144be82eaf7253
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:
KpopToken

Compiler Version
v0.4.20+commit.3155dd80

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2018-02-19
*/

pragma solidity ^0.4.18;

// KpopToken is a ERC-721 token (https://github.com/ethereum/eips/issues/721)
// Kpop celebrity cards as digital collectibles
// Kpop.io is the official website

contract ERC721 {
  function approve(address _to, uint _tokenId) public;
  function balanceOf(address _owner) public view returns (uint balance);
  function implementsERC721() public pure returns (bool);
  function ownerOf(uint _tokenId) public view returns (address addr);
  function takeOwnership(uint _tokenId) public;
  function totalSupply() public view returns (uint total);
  function transferFrom(address _from, address _to, uint _tokenId) public;
  function transfer(address _to, uint _tokenId) public;

  event Transfer(address indexed from, address indexed to, uint tokenId);
  event Approval(address indexed owner, address indexed approved, uint tokenId);
}

contract KpopToken is ERC721 {
  address public author;
  address public coauthor;

  string public constant NAME = "Kpopio";
  string public constant SYMBOL = "KpopToken";

  uint public GROWTH_BUMP = 0.1 ether;
  uint public MIN_STARTING_PRICE = 0.002 ether;
  uint public PRICE_INCREASE_SCALE = 120; // 120% of previous price

  struct Celeb {
    string name;
  }

  Celeb[] public celebs;

  mapping(uint => address) public tokenIdToOwner;
  mapping(uint => uint) public tokenIdToPrice; // in wei
  mapping(address => uint) public userToNumCelebs;
  mapping(uint => address) public tokenIdToApprovedRecipient;

  event Transfer(address indexed from, address indexed to, uint tokenId);
  event Approval(address indexed owner, address indexed approved, uint tokenId);
  event CelebSold(uint tokenId, uint oldPrice, uint newPrice, string celebName, address prevOwner, address newOwner);

  function KpopToken() public {
    author = msg.sender;
    coauthor = msg.sender;
  }

  function _transfer(address _from, address _to, uint _tokenId) private {
    require(ownerOf(_tokenId) == _from);
    require(!isNullAddress(_to));
    require(balanceOf(_from) > 0);

    uint prevBalances = balanceOf(_from) + balanceOf(_to);
    tokenIdToOwner[_tokenId] = _to;
    userToNumCelebs[_from]--;
    userToNumCelebs[_to]++;

    // Clear outstanding approvals
    delete tokenIdToApprovedRecipient[_tokenId];

    Transfer(_from, _to, _tokenId);
    
    assert(balanceOf(_from) + balanceOf(_to) == prevBalances);
  }

  function buy(uint _tokenId) payable public {
    address prevOwner = ownerOf(_tokenId);
    uint currentPrice = tokenIdToPrice[_tokenId];

    require(prevOwner != msg.sender);
    require(!isNullAddress(msg.sender));
    require(msg.value >= currentPrice);

    // Take a cut off the payment
    uint payment = uint(SafeMath.div(SafeMath.mul(currentPrice, 92), 100));
    uint leftover = SafeMath.sub(msg.value, currentPrice);
    uint newPrice;

    _transfer(prevOwner, msg.sender, _tokenId);

    if (currentPrice < GROWTH_BUMP) {
      newPrice = SafeMath.mul(currentPrice, 2);
    } else {
      newPrice = SafeMath.div(SafeMath.mul(currentPrice, PRICE_INCREASE_SCALE), 100);
    }

    tokenIdToPrice[_tokenId] = newPrice;

    if (prevOwner != address(this)) {
      prevOwner.transfer(payment);
    }

    CelebSold(_tokenId, currentPrice, newPrice,
      celebs[_tokenId].name, prevOwner, msg.sender);

    msg.sender.transfer(leftover);
  }

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

  function ownerOf(uint _tokenId) public view returns (address addr) {
    return tokenIdToOwner[_tokenId];
  }

  function totalSupply() public view returns (uint total) {
    return celebs.length;
  }

  function transfer(address _to, uint _tokenId) public {
    _transfer(msg.sender, _to, _tokenId);
  }

  /** START FUNCTIONS FOR AUTHORS **/

  function createCeleb(string _name, uint _price) public onlyAuthors {
    require(_price >= MIN_STARTING_PRICE);

    uint tokenId = celebs.push(Celeb(_name)) - 1;
    tokenIdToOwner[tokenId] = author;
    tokenIdToPrice[tokenId] = _price;
    userToNumCelebs[author]++;
  }

  function withdraw(uint _amount, address _to) public onlyAuthors {
    require(!isNullAddress(_to));
    require(_amount <= this.balance);

    _to.transfer(_amount);
  }

  function withdrawAll() public onlyAuthors {
    require(author != 0x0);
    require(coauthor != 0x0);

    uint halfBalance = uint(SafeMath.div(this.balance, 2));

    author.transfer(halfBalance);
    coauthor.transfer(halfBalance);
  }

  function setCoAuthor(address _coauthor) public onlyAuthor {
    require(!isNullAddress(_coauthor));

    coauthor = _coauthor;
  }

  /** END FUNCTIONS FOR AUTHORS **/

  function getCeleb(uint _tokenId) public view returns (
    string name,
    uint price,
    address owner
  ) {
    name = celebs[_tokenId].name;
    price = tokenIdToPrice[_tokenId];
    owner = tokenIdToOwner[_tokenId];
  }

  /** START FUNCTIONS RELATED TO EXTERNAL CONTRACT INTERACTIONS **/

  function approve(address _to, uint _tokenId) public {
    require(msg.sender == ownerOf(_tokenId));

    tokenIdToApprovedRecipient[_tokenId] = _to;

    Approval(msg.sender, _to, _tokenId);
  }

  function transferFrom(address _from, address _to, uint _tokenId) public {
    require(ownerOf(_tokenId) == _from);
    require(isApproved(_to, _tokenId));
    require(!isNullAddress(_to));

    _transfer(_from, _to, _tokenId);
  }

  function takeOwnership(uint _tokenId) public {
    require(!isNullAddress(msg.sender));
    require(isApproved(msg.sender, _tokenId));

    address currentOwner = tokenIdToOwner[_tokenId];

    _transfer(currentOwner, msg.sender, _tokenId);
  }

  /** END FUNCTIONS RELATED TO EXTERNAL CONTRACT INTERACTIONS **/

  function implementsERC721() public pure returns (bool) {
    return true;
  }

  /** MODIFIERS **/

  modifier onlyAuthor() {
    require(msg.sender == author);
    _;
  }

  modifier onlyAuthors() {
    require(msg.sender == author || msg.sender == coauthor);
    _;
  }

  /** FUNCTIONS THAT WONT BE USED FREQUENTLY **/

  function setMinStartingPrice(uint _price) public onlyAuthors {
    MIN_STARTING_PRICE = _price;
  }

  function setGrowthBump(uint _bump) public onlyAuthors {
    GROWTH_BUMP = _bump;
  }

  function setPriceIncreaseScale(uint _scale) public onlyAuthors {
    PRICE_INCREASE_SCALE = _scale;
  }

  /** PRIVATE FUNCTIONS **/

  function isApproved(address _to, uint _tokenId) private view returns (bool) {
    return tokenIdToApprovedRecipient[_tokenId] == _to;
  }

  function isNullAddress(address _addr) private pure returns (bool) {
    return _addr == 0x0;
  }
}

// https://github.com/OpenZeppelin/zeppelin-solidity/blob/master/contracts/math/SafeMath.sol

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

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

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

Contract Security Audit

Contract ABI

[{"constant":false,"inputs":[{"name":"_amount","type":"uint256"},{"name":"_to","type":"address"}],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_tokenId","type":"uint256"}],"name":"approve","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"celebs","outputs":[{"name":"name","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_bump","type":"uint256"}],"name":"setGrowthBump","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"implementsERC721","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"total","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"PRICE_INCREASE_SCALE","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"getCeleb","outputs":[{"name":"name","type":"string"},{"name":"price","type":"uint256"},{"name":"owner","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"coauthor","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_coauthor","type":"address"}],"name":"setCoAuthor","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"name":"addr","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"tokenIdToOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_price","type":"uint256"}],"name":"setMinStartingPrice","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"MIN_STARTING_PRICE","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"withdrawAll","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"NAME","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"author","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_name","type":"string"},{"name":"_price","type":"uint256"}],"name":"createCeleb","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_tokenId","type":"uint256"}],"name":"transfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_scale","type":"uint256"}],"name":"setPriceIncreaseScale","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"takeOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"tokenIdToApprovedRecipient","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"GROWTH_BUMP","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"buy","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"tokenIdToPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"SYMBOL","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"userToNumCelebs","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"approved","type":"address"},{"indexed":false,"name":"tokenId","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"tokenId","type":"uint256"},{"indexed":false,"name":"oldPrice","type":"uint256"},{"indexed":false,"name":"newPrice","type":"uint256"},{"indexed":false,"name":"celebName","type":"string"},{"indexed":false,"name":"prevOwner","type":"address"},{"indexed":false,"name":"newOwner","type":"address"}],"name":"CelebSold","type":"event"}]

606060405267016345785d8a000060025566071afd498d00006003556078600455341561002b57600080fd5b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611f8b806100bb6000396000f300606060405260043610610174576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168062f714ce14610179578063095ea7b3146101bb5780630b892e3f146101fd5780630d963235146102b65780631051db34146102d957806318160ddd146103065780631bd8b0411461032f5780631d7bc4491461035857806323b872dd1461042e5780632bddc31c1461048f57806343d1498b146104e45780636352211e1461051d5780636e9e48ef146105805780636fba7544146105e357806370a08231146106065780637c67fb9f14610653578063853828b61461067c578063a3f4df7e14610691578063a6c3e6b91461071f578063a71d818114610774578063a9059cbb146107da578063aad99ef11461081c578063b2e6ceeb1461083f578063b60e6bc014610862578063c43ae983146108c5578063d96a094a146108ee578063f4812eb914610906578063f76f8d781461093d578063fad8200e146109cb575b600080fd5b341561018457600080fd5b6101b9600480803590602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610a18565b005b34156101c657600080fd5b6101fb600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610b4a565b005b341561020857600080fd5b61021e6004808035906020019091905050610c47565b60405180806020018281038252838181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156102a75780601f1061027c576101008083540402835291602001916102a7565b820191906000526020600020905b81548152906001019060200180831161028a57829003601f168201915b50509250505060405180910390f35b34156102c157600080fd5b6102d76004808035906020019091905050610c70565b005b34156102e457600080fd5b6102ec610d2d565b604051808215151515815260200191505060405180910390f35b341561031157600080fd5b610319610d36565b6040518082815260200191505060405180910390f35b341561033a57600080fd5b610342610d43565b6040518082815260200191505060405180910390f35b341561036357600080fd5b6103796004808035906020019091905050610d49565b60405180806020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825285818151815260200191508051906020019080838360005b838110156103f15780820151818401526020810190506103d6565b50505050905090810190601f16801561041e5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b341561043957600080fd5b61048d600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610e5f565b005b341561049a57600080fd5b6104a2610edb565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156104ef57600080fd5b61051b600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610f01565b005b341561052857600080fd5b61053e6004808035906020019091905050610fb5565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561058b57600080fd5b6105a16004808035906020019091905050610ff2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156105ee57600080fd5b6106046004808035906020019091905050611025565b005b341561061157600080fd5b61063d600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506110e2565b6040518082815260200191505060405180910390f35b341561065e57600080fd5b61066661112b565b6040518082815260200191505060405180910390f35b341561068757600080fd5b61068f611131565b005b341561069c57600080fd5b6106a461135f565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156106e45780820151818401526020810190506106c9565b50505050905090810190601f1680156107115780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561072a57600080fd5b610732611398565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561077f57600080fd5b6107d8600480803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919080359060200190919050506113bd565b005b34156107e557600080fd5b61081a600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506115dd565b005b341561082757600080fd5b61083d60048080359060200190919050506115ec565b005b341561084a57600080fd5b61086060048080359060200190919050506116a9565b005b341561086d57600080fd5b610883600480803590602001909190505061171a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156108d057600080fd5b6108d861174d565b6040518082815260200191505060405180910390f35b6109046004808035906020019091905050611753565b005b341561091157600080fd5b6109276004808035906020019091905050611a69565b6040518082815260200191505060405180910390f35b341561094857600080fd5b610950611a81565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610990578082015181840152602081019050610975565b50505050905090810190601f1680156109bd5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156109d657600080fd5b610a02600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611aba565b6040518082815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610ac05750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515610acb57600080fd5b610ad481611ad2565b151515610ae057600080fd5b3073ffffffffffffffffffffffffffffffffffffffff16318211151515610b0657600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f193505050501515610b4657600080fd5b5050565b610b5381610fb5565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610b8c57600080fd5b816009600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a35050565b600581815481101515610c5657fe5b906000526020600020900160009150905080600001905081565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610d185750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515610d2357600080fd5b8060028190555050565b60006001905090565b6000600580549050905090565b60045481565b610d51611e03565b600080600584815481101515610d6357fe5b90600052602060002090016000018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610e055780601f10610dda57610100808354040283529160200191610e05565b820191906000526020600020905b815481529060010190602001808311610de857829003601f168201915b50505050509250600760008581526020019081526020016000205491506006600085815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690509193909250565b8273ffffffffffffffffffffffffffffffffffffffff16610e7f82610fb5565b73ffffffffffffffffffffffffffffffffffffffff16141515610ea157600080fd5b610eab8282611af4565b1515610eb657600080fd5b610ebf82611ad2565b151515610ecb57600080fd5b610ed6838383611b60565b505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610f5c57600080fd5b610f6581611ad2565b151515610f7157600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60006006600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60066020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806110cd5750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15156110d857600080fd5b8060038190555050565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60035481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806111db5750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15156111e657600080fd5b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415151561122d57600080fd5b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415151561127557600080fd5b6112973073ffffffffffffffffffffffffffffffffffffffff16316002611d94565b90506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015156112fa57600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050151561135c57600080fd5b50565b6040805190810160405280600681526020017f4b706f70696f000000000000000000000000000000000000000000000000000081525081565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806114675750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561147257600080fd5b600354821015151561148357600080fd5b6001600580548060010182816114999190611e17565b9160005260206000209001600060206040519081016040528088815250909190915060008201518160000190805190602001906114d7929190611e43565b5050500390506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff166006600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550816007600083815260200190815260200160002081905550600860008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001019190505550505050565b6115e8338383611b60565b5050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806116945750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561169f57600080fd5b8060048190555050565b60006116b433611ad2565b1515156116c057600080fd5b6116ca3383611af4565b15156116d557600080fd5b6006600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050611716813384611b60565b5050565b60096020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60025481565b600080600080600061176486610fb5565b9450600760008781526020019081526020016000205493503373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141515156117b757600080fd5b6117c033611ad2565b1515156117cc57600080fd5b8334101515156117db57600080fd5b6117f06117e985605c611daf565b6064611d94565b92506117fc3485611dea565b9150611809853388611b60565b6002548410156118255761181e846002611daf565b905061183e565b61183b61183485600454611daf565b6064611d94565b90505b8060076000888152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415156118cc578473ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f1935050505015156118cb57600080fd5b5b7f77bf8b91997cafc1367eb5da889ddc2f196e9eea2aa84e672244db58f1be9c1286858360058a8154811015156118ff57fe5b9060005260206000209001600001893360405180878152602001868152602001858152602001806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825285818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015611a0e5780601f106119e357610100808354040283529160200191611a0e565b820191906000526020600020905b8154815290600101906020018083116119f157829003601f168201915b505097505050505050505060405180910390a13373ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f193505050501515611a6157600080fd5b505050505050565b60076020528060005260406000206000915090505481565b6040805190810160405280600981526020017f4b706f70546f6b656e000000000000000000000000000000000000000000000081525081565b60086020528060005260406000206000915090505481565b6000808273ffffffffffffffffffffffffffffffffffffffff16149050919050565b60008273ffffffffffffffffffffffffffffffffffffffff166009600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905092915050565b60008373ffffffffffffffffffffffffffffffffffffffff16611b8283610fb5565b73ffffffffffffffffffffffffffffffffffffffff16141515611ba457600080fd5b611bad83611ad2565b151515611bb957600080fd5b6000611bc4856110e2565b111515611bd057600080fd5b611bd9836110e2565b611be2856110e2565b019050826006600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190600190039190505550600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600081548092919060010191905055506009600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690558273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a380611d7b846110e2565b611d84866110e2565b01141515611d8e57fe5b50505050565b6000808284811515611da257fe5b0490508091505092915050565b6000806000841415611dc45760009150611de3565b8284029050828482811515611dd557fe5b04141515611ddf57fe5b8091505b5092915050565b6000828211151515611df857fe5b818303905092915050565b602060405190810160405280600081525090565b815481835581811511611e3e57818360005260206000209182019101611e3d9190611ec3565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611e8457805160ff1916838001178555611eb2565b82800160010185558215611eb2579182015b82811115611eb1578251825591602001919060010190611e96565b5b509050611ebf9190611ef2565b5090565b611eef91905b80821115611eeb5760008082016000611ee29190611f17565b50600101611ec9565b5090565b90565b611f1491905b80821115611f10576000816000905550600101611ef8565b5090565b90565b50805460018160011615610100020316600290046000825580601f10611f3d5750611f5c565b601f016020900490600052602060002090810190611f5b9190611ef2565b5b505600a165627a7a7230582048cde4721834ff450031a5e28cf17648686cc8b72221a0fd66b255987c6b36bb0029

Deployed Bytecode

0x606060405260043610610174576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168062f714ce14610179578063095ea7b3146101bb5780630b892e3f146101fd5780630d963235146102b65780631051db34146102d957806318160ddd146103065780631bd8b0411461032f5780631d7bc4491461035857806323b872dd1461042e5780632bddc31c1461048f57806343d1498b146104e45780636352211e1461051d5780636e9e48ef146105805780636fba7544146105e357806370a08231146106065780637c67fb9f14610653578063853828b61461067c578063a3f4df7e14610691578063a6c3e6b91461071f578063a71d818114610774578063a9059cbb146107da578063aad99ef11461081c578063b2e6ceeb1461083f578063b60e6bc014610862578063c43ae983146108c5578063d96a094a146108ee578063f4812eb914610906578063f76f8d781461093d578063fad8200e146109cb575b600080fd5b341561018457600080fd5b6101b9600480803590602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610a18565b005b34156101c657600080fd5b6101fb600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610b4a565b005b341561020857600080fd5b61021e6004808035906020019091905050610c47565b60405180806020018281038252838181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156102a75780601f1061027c576101008083540402835291602001916102a7565b820191906000526020600020905b81548152906001019060200180831161028a57829003601f168201915b50509250505060405180910390f35b34156102c157600080fd5b6102d76004808035906020019091905050610c70565b005b34156102e457600080fd5b6102ec610d2d565b604051808215151515815260200191505060405180910390f35b341561031157600080fd5b610319610d36565b6040518082815260200191505060405180910390f35b341561033a57600080fd5b610342610d43565b6040518082815260200191505060405180910390f35b341561036357600080fd5b6103796004808035906020019091905050610d49565b60405180806020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825285818151815260200191508051906020019080838360005b838110156103f15780820151818401526020810190506103d6565b50505050905090810190601f16801561041e5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b341561043957600080fd5b61048d600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610e5f565b005b341561049a57600080fd5b6104a2610edb565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156104ef57600080fd5b61051b600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610f01565b005b341561052857600080fd5b61053e6004808035906020019091905050610fb5565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561058b57600080fd5b6105a16004808035906020019091905050610ff2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156105ee57600080fd5b6106046004808035906020019091905050611025565b005b341561061157600080fd5b61063d600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506110e2565b6040518082815260200191505060405180910390f35b341561065e57600080fd5b61066661112b565b6040518082815260200191505060405180910390f35b341561068757600080fd5b61068f611131565b005b341561069c57600080fd5b6106a461135f565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156106e45780820151818401526020810190506106c9565b50505050905090810190601f1680156107115780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561072a57600080fd5b610732611398565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561077f57600080fd5b6107d8600480803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919080359060200190919050506113bd565b005b34156107e557600080fd5b61081a600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506115dd565b005b341561082757600080fd5b61083d60048080359060200190919050506115ec565b005b341561084a57600080fd5b61086060048080359060200190919050506116a9565b005b341561086d57600080fd5b610883600480803590602001909190505061171a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156108d057600080fd5b6108d861174d565b6040518082815260200191505060405180910390f35b6109046004808035906020019091905050611753565b005b341561091157600080fd5b6109276004808035906020019091905050611a69565b6040518082815260200191505060405180910390f35b341561094857600080fd5b610950611a81565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610990578082015181840152602081019050610975565b50505050905090810190601f1680156109bd5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156109d657600080fd5b610a02600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611aba565b6040518082815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610ac05750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515610acb57600080fd5b610ad481611ad2565b151515610ae057600080fd5b3073ffffffffffffffffffffffffffffffffffffffff16318211151515610b0657600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f193505050501515610b4657600080fd5b5050565b610b5381610fb5565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610b8c57600080fd5b816009600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a35050565b600581815481101515610c5657fe5b906000526020600020900160009150905080600001905081565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610d185750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515610d2357600080fd5b8060028190555050565b60006001905090565b6000600580549050905090565b60045481565b610d51611e03565b600080600584815481101515610d6357fe5b90600052602060002090016000018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610e055780601f10610dda57610100808354040283529160200191610e05565b820191906000526020600020905b815481529060010190602001808311610de857829003601f168201915b50505050509250600760008581526020019081526020016000205491506006600085815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690509193909250565b8273ffffffffffffffffffffffffffffffffffffffff16610e7f82610fb5565b73ffffffffffffffffffffffffffffffffffffffff16141515610ea157600080fd5b610eab8282611af4565b1515610eb657600080fd5b610ebf82611ad2565b151515610ecb57600080fd5b610ed6838383611b60565b505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610f5c57600080fd5b610f6581611ad2565b151515610f7157600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60006006600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60066020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806110cd5750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15156110d857600080fd5b8060038190555050565b6000600860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60035481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806111db5750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15156111e657600080fd5b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415151561122d57600080fd5b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415151561127557600080fd5b6112973073ffffffffffffffffffffffffffffffffffffffff16316002611d94565b90506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015156112fa57600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050151561135c57600080fd5b50565b6040805190810160405280600681526020017f4b706f70696f000000000000000000000000000000000000000000000000000081525081565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806114675750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561147257600080fd5b600354821015151561148357600080fd5b6001600580548060010182816114999190611e17565b9160005260206000209001600060206040519081016040528088815250909190915060008201518160000190805190602001906114d7929190611e43565b5050500390506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff166006600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550816007600083815260200190815260200160002081905550600860008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001019190505550505050565b6115e8338383611b60565b5050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806116945750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561169f57600080fd5b8060048190555050565b60006116b433611ad2565b1515156116c057600080fd5b6116ca3383611af4565b15156116d557600080fd5b6006600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050611716813384611b60565b5050565b60096020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60025481565b600080600080600061176486610fb5565b9450600760008781526020019081526020016000205493503373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141515156117b757600080fd5b6117c033611ad2565b1515156117cc57600080fd5b8334101515156117db57600080fd5b6117f06117e985605c611daf565b6064611d94565b92506117fc3485611dea565b9150611809853388611b60565b6002548410156118255761181e846002611daf565b905061183e565b61183b61183485600454611daf565b6064611d94565b90505b8060076000888152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415156118cc578473ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f1935050505015156118cb57600080fd5b5b7f77bf8b91997cafc1367eb5da889ddc2f196e9eea2aa84e672244db58f1be9c1286858360058a8154811015156118ff57fe5b9060005260206000209001600001893360405180878152602001868152602001858152602001806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825285818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015611a0e5780601f106119e357610100808354040283529160200191611a0e565b820191906000526020600020905b8154815290600101906020018083116119f157829003601f168201915b505097505050505050505060405180910390a13373ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f193505050501515611a6157600080fd5b505050505050565b60076020528060005260406000206000915090505481565b6040805190810160405280600981526020017f4b706f70546f6b656e000000000000000000000000000000000000000000000081525081565b60086020528060005260406000206000915090505481565b6000808273ffffffffffffffffffffffffffffffffffffffff16149050919050565b60008273ffffffffffffffffffffffffffffffffffffffff166009600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905092915050565b60008373ffffffffffffffffffffffffffffffffffffffff16611b8283610fb5565b73ffffffffffffffffffffffffffffffffffffffff16141515611ba457600080fd5b611bad83611ad2565b151515611bb957600080fd5b6000611bc4856110e2565b111515611bd057600080fd5b611bd9836110e2565b611be2856110e2565b019050826006600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190600190039190505550600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600081548092919060010191905055506009600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690558273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a380611d7b846110e2565b611d84866110e2565b01141515611d8e57fe5b50505050565b6000808284811515611da257fe5b0490508091505092915050565b6000806000841415611dc45760009150611de3565b8284029050828482811515611dd557fe5b04141515611ddf57fe5b8091505b5092915050565b6000828211151515611df857fe5b818303905092915050565b602060405190810160405280600081525090565b815481835581811511611e3e57818360005260206000209182019101611e3d9190611ec3565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611e8457805160ff1916838001178555611eb2565b82800160010185558215611eb2579182015b82811115611eb1578251825591602001919060010190611e96565b5b509050611ebf9190611ef2565b5090565b611eef91905b80821115611eeb5760008082016000611ee29190611f17565b50600101611ec9565b5090565b90565b611f1491905b80821115611f10576000816000905550600101611ef8565b5090565b90565b50805460018160011615610100020316600290046000825580601f10611f3d5750611f5c565b601f016020900490600052602060002090810190611f5b9190611ef2565b5b505600a165627a7a7230582048cde4721834ff450031a5e28cf17648686cc8b72221a0fd66b255987c6b36bb0029

Swarm Source

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