ETH Price: $2,005.17 (+8.83%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

TokenTracker

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer57559342018-06-08 23:27:202822 days ago1528500440IN
0x2FF9c09b...A370985CB
0 ETH0.000196796
Transfer57559252018-06-08 23:25:342822 days ago1528500334IN
0x2FF9c09b...A370985CB
0 ETH0.000376796
Withdraw All52169592018-03-08 6:16:432914 days ago1520489803IN
0x2FF9c09b...A370985CB
0 ETH0.000077322
Buy51990902018-03-05 5:21:282918 days ago1520227288IN
0x2FF9c09b...A370985CB
0.16 ETH0.00018582
Buy51732912018-02-28 20:30:372922 days ago1519849837IN
0x2FF9c09b...A370985CB
0.32 ETH0.00015582
Buy51732862018-02-28 20:28:522922 days ago1519849732IN
0x2FF9c09b...A370985CB
0.16 ETH0.00018582
Buy51665512018-02-27 17:12:272923 days ago1519751547IN
0x2FF9c09b...A370985CB
0.16 ETH0.0004831221
Buy51665492018-02-27 17:11:432923 days ago1519751503IN
0x2FF9c09b...A370985CB
0.16 ETH0.0018580820
Buy51642002018-02-27 7:44:132923 days ago1519717453IN
0x2FF9c09b...A370985CB
0.08 ETH0.0009477941
Buy51641992018-02-27 7:43:592923 days ago1519717439IN
0x2FF9c09b...A370985CB
0.08 ETH0.0006935130
Buy51641992018-02-27 7:43:592923 days ago1519717439IN
0x2FF9c09b...A370985CB
0.045 ETH0.0009477941
Buy51641972018-02-27 7:43:162923 days ago1519717396IN
0x2FF9c09b...A370985CB
0.08 ETH0.0002311710
Buy51641922018-02-27 7:42:212923 days ago1519717341IN
0x2FF9c09b...A370985CB
0.04 ETH0.0002311710
Buy51641922018-02-27 7:42:212923 days ago1519717341IN
0x2FF9c09b...A370985CB
0.1 ETH0.000277412
Buy51641922018-02-27 7:42:212923 days ago1519717341IN
0x2FF9c09b...A370985CB
0.04 ETH0.0006935130
Buy51641922018-02-27 7:42:212923 days ago1519717341IN
0x2FF9c09b...A370985CB
0.04 ETH0.0023117100
Buy51641912018-02-27 7:42:052923 days ago1519717325IN
0x2FF9c09b...A370985CB
0.04 ETH0.0003467515
Buy51641912018-02-27 7:42:052923 days ago1519717325IN
0x2FF9c09b...A370985CB
0.08 ETH0.0011685615
Buy51641892018-02-27 7:41:522923 days ago1519717312IN
0x2FF9c09b...A370985CB
0.04 ETH0.0004623420
Buy51641872018-02-27 7:41:422923 days ago1519717302IN
0x2FF9c09b...A370985CB
0.08 ETH0.0011685615
Buy51641872018-02-27 7:41:422923 days ago1519717302IN
0x2FF9c09b...A370985CB
0.04 ETH0.0004623420
Buy51641872018-02-27 7:41:422923 days ago1519717302IN
0x2FF9c09b...A370985CB
0.02 ETH0.0006935130
Buy51641872018-02-27 7:41:422923 days ago1519717302IN
0x2FF9c09b...A370985CB
0.1 ETH0.0033841640
Buy51641862018-02-27 7:41:012923 days ago1519717261IN
0x2FF9c09b...A370985CB
0.04 ETH0.0002311710
Buy51641862018-02-27 7:41:012923 days ago1519717261IN
0x2FF9c09b...A370985CB
0.02 ETH0.0003005213
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer52169592018-03-08 6:16:432914 days ago1520489803
0x2FF9c09b...A370985CB
0.3514 ETH
Transfer52169592018-03-08 6:16:432914 days ago1520489803
0x2FF9c09b...A370985CB
0.3514 ETH
Transfer51990902018-03-05 5:21:282918 days ago1520227288
0x2FF9c09b...A370985CB
0.0048 ETH
Transfer51990902018-03-05 5:21:282918 days ago1520227288
0x2FF9c09b...A370985CB
0.144 ETH
Transfer51732912018-02-28 20:30:372922 days ago1519849837
0x2FF9c09b...A370985CB
0.0096 ETH
Transfer51732912018-02-28 20:30:372922 days ago1519849837
0x2FF9c09b...A370985CB
0.288 ETH
Transfer51732862018-02-28 20:28:522922 days ago1519849732
0x2FF9c09b...A370985CB
0.0048 ETH
Transfer51732862018-02-28 20:28:522922 days ago1519849732
0x2FF9c09b...A370985CB
0.144 ETH
Transfer51665492018-02-27 17:11:432923 days ago1519751503
0x2FF9c09b...A370985CB
0.0048 ETH
Transfer51665492018-02-27 17:11:432923 days ago1519751503
0x2FF9c09b...A370985CB
0.144 ETH
Transfer51641912018-02-27 7:42:052923 days ago1519717325
0x2FF9c09b...A370985CB
0.0024 ETH
Transfer51641912018-02-27 7:42:052923 days ago1519717325
0x2FF9c09b...A370985CB
0.072 ETH
Transfer51641872018-02-27 7:41:422923 days ago1519717302
0x2FF9c09b...A370985CB
0.0024 ETH
Transfer51641872018-02-27 7:41:422923 days ago1519717302
0x2FF9c09b...A370985CB
0.072 ETH
Transfer51641872018-02-27 7:41:422923 days ago1519717302
0x2FF9c09b...A370985CB
0.06 ETH
Transfer51641872018-02-27 7:41:422923 days ago1519717302
0x2FF9c09b...A370985CB
0.0012 ETH
Transfer51641872018-02-27 7:41:422923 days ago1519717302
0x2FF9c09b...A370985CB
0.036 ETH
Transfer51641842018-02-27 7:40:472923 days ago1519717247
0x2FF9c09b...A370985CB
0.08 ETH
Transfer51641842018-02-27 7:40:472923 days ago1519717247
0x2FF9c09b...A370985CB
0.0006 ETH
Transfer51641842018-02-27 7:40:472923 days ago1519717247
0x2FF9c09b...A370985CB
0.018 ETH
Transfer51641832018-02-27 7:40:422923 days ago1519717242
0x2FF9c09b...A370985CB
0.0024 ETH
Transfer51641832018-02-27 7:40:422923 days ago1519717242
0x2FF9c09b...A370985CB
0.072 ETH
Transfer51641812018-02-27 7:39:252923 days ago1519717165
0x2FF9c09b...A370985CB
0.06 ETH
Transfer51641812018-02-27 7:39:252923 days ago1519717165
0x2FF9c09b...A370985CB
0.0012 ETH
Transfer51641812018-02-27 7:39:252923 days ago1519717165
0x2FF9c09b...A370985CB
0.036 ETH
View All Internal Transactions
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
KpopItem

Compiler Version
v0.4.20-nightly.2018.1.6+commit.2548228b

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2018-02-26
*/

pragma solidity ^0.4.18;

// 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;
  }
}

// KpopItem is a ERC-721 token (https://github.com/ethereum/eips/issues/721)
// Each KpopItem has its connected KpopToken celebrity card
// 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;
  }
}

contract KpopItem is ERC721 {
  address public author;
  address public coauthor;
  address public manufacturer;

  string public constant NAME = "KpopItem";
  string public constant SYMBOL = "KpopItem";

  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
  uint public DIVIDEND = 3;
  address public KPOPIO_CONTRACT_ADDRESS = 0xB2eE4ACf44b12f85885F23494A739357575a1760;

  struct Item {
    string name;
    uint[6] traits;
  }

  Item[] public items;

  mapping(uint => address) public tokenIdToOwner;
  mapping(uint => uint) public tokenIdToCelebId; // celeb from KpopIO
  mapping(uint => uint) public tokenIdToPrice; // in wei
  mapping(address => uint) public userToNumItems;
  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 ItemSold(uint tokenId, uint oldPrice, uint newPrice, string celebName, address prevOwner, address newOwner);

  function KpopItem() 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;
    userToNumItems[_from]--;
    userToNumItems[_to]++;

    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);

    // Set dividend
    uint dividend = uint(SafeMath.div(SafeMath.mul(currentPrice, DIVIDEND), 100));

    // Take a cut
    uint payment = uint(SafeMath.div(SafeMath.mul(currentPrice, 90), 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;

    // Pay the prev owner of the item
    if (prevOwner != address(this)) {
      prevOwner.transfer(payment);
    }

    // Pay dividend to the current owner of the celeb that's connected to the item
    uint celebId = celebOf(_tokenId);
    KpopToken KPOPIO = KpopToken(KPOPIO_CONTRACT_ADDRESS);
    address celebOwner = KPOPIO.ownerOf(celebId);
    if (celebOwner != address(this) && !isNullAddress(celebOwner)) {
      celebOwner.transfer(dividend);
    }

    ItemSold(_tokenId, currentPrice, newPrice,
      items[_tokenId].name, prevOwner, msg.sender);

    msg.sender.transfer(leftover);
  }

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

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

  function celebOf(uint _tokenId) public view returns (uint celebId) {
    return tokenIdToCelebId[_tokenId];
  }

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

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

  /** START FUNCTIONS FOR AUTHORS **/

  function createItem(string _name, uint _price, uint _celebId, uint[6] _traits) public onlyManufacturer {
    require(_price >= MIN_STARTING_PRICE);

    uint tokenId = items.push(Item({name: _name, traits:_traits})) - 1;
    tokenIdToOwner[tokenId] = author;
    tokenIdToPrice[tokenId] = _price;
    tokenIdToCelebId[tokenId] = _celebId;
    userToNumItems[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;
  }

  function setManufacturer(address _manufacturer) public onlyAuthors {
    require(!isNullAddress(_manufacturer));

    coauthor = _manufacturer;
  }

  /** END FUNCTIONS FOR AUTHORS **/

  function getItem(uint _tokenId) public view returns (
    string name,
    uint price,
    uint[6] traits,
    address owner,
    uint celebId
  ) {
    name = items[_tokenId].name;
    price = tokenIdToPrice[_tokenId];
    traits = items[_tokenId].traits;
    owner = tokenIdToOwner[_tokenId];
    celebId = celebOf(_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);
    _;
  }

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

  /** 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 setDividend(uint _dividend) public onlyAuthors {
    DIVIDEND = _dividend;
  }

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

  function setKpopioContractAddress(address _address) public onlyAuthors {
    KPOPIO_CONTRACT_ADDRESS = _address;
  }

  /** 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;
  }
}

Contract Security Audit

Contract ABI

API
[{"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":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":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":"","type":"address"}],"name":"userToNumItems","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"}],"name":"setKpopioContractAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"coauthor","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"getItem","outputs":[{"name":"name","type":"string"},{"name":"price","type":"uint256"},{"name":"traits","type":"uint256[6]"},{"name":"owner","type":"address"},{"name":"celebId","type":"uint256"}],"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":"KPOPIO_CONTRACT_ADDRESS","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","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":"_tokenId","type":"uint256"}],"name":"celebOf","outputs":[{"name":"celebId","type":"uint256"}],"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":"manufacturer","outputs":[{"name":"","type":"address"}],"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":"","type":"uint256"}],"name":"tokenIdToCelebId","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","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":"_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":"","type":"uint256"}],"name":"items","outputs":[{"name":"name","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_manufacturer","type":"address"}],"name":"setManufacturer","outputs":[],"payable":false,"stateMutability":"nonpayable","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":false,"inputs":[{"name":"_dividend","type":"uint256"}],"name":"setDividend","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_name","type":"string"},{"name":"_price","type":"uint256"},{"name":"_celebId","type":"uint256"},{"name":"_traits","type":"uint256[6]"}],"name":"createItem","outputs":[],"payable":false,"stateMutability":"nonpayable","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":"DIVIDEND","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":"ItemSold","type":"event"}]

606060405267016345785d8a000060035566071afd498d00006004556078600555600360065573b2ee4acf44b12f85885f23494a739357575a1760600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550341561008557600080fd5b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061287a806101156000396000f3006060604052600436106101cc576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168062f714ce146101d1578063095ea7b3146102135780630d963235146102555780631051db341461027857806318160ddd146102a55780631bd8b041146102ce57806323b872dd146102f757806329b1f023146103585780632a263513146103a55780632bddc31c146103de5780633129e7731461043357806343d1498b1461053f5780634bdd6a8e146105785780636352211e146105cd5780636d06bf0d146106305780636e9e48ef146106675780636fba7544146106ca57806370a08231146106ed578063747542821461073a5780637c67fb9f1461078f578063853828b6146107b85780639881b200146107cd578063a3f4df7e14610804578063a6c3e6b914610892578063a9059cbb146108e7578063aad99ef114610929578063b2e6ceeb1461094c578063b60e6bc01461096f578063bfb231d2146109d2578063c11dde0d14610a8b578063c43ae98314610ac4578063d96a094a14610aed578063e091f45314610b05578063e258a0f014610b28578063f4812eb914610bc3578063f76f8d7814610bfa578063fc3fc16814610c88575b600080fd5b34156101dc57600080fd5b610211600480803590602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610cb1565b005b341561021e57600080fd5b610253600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610de3565b005b341561026057600080fd5b6102766004808035906020019091905050610ee0565b005b341561028357600080fd5b61028b610f9d565b604051808215151515815260200191505060405180910390f35b34156102b057600080fd5b6102b8610fa6565b6040518082815260200191505060405180910390f35b34156102d957600080fd5b6102e1610fb3565b6040518082815260200191505060405180910390f35b341561030257600080fd5b610356600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610fb9565b005b341561036357600080fd5b61038f600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611035565b6040518082815260200191505060405180910390f35b34156103b057600080fd5b6103dc600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061104d565b005b34156103e957600080fd5b6103f1611144565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561043e57600080fd5b610454600480803590602001909190505061116a565b604051808060200186815260200185600660200280838360005b8381101561048957808201518184015260208101905061046e565b505050509050018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828103825287818151815260200191508051906020019080838360005b838110156105005780820151818401526020810190506104e5565b50505050905090810190601f16801561052d5780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390f35b341561054a57600080fd5b610576600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506112f8565b005b341561058357600080fd5b61058b6113ac565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156105d857600080fd5b6105ee60048080359060200190919050506113d2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561063b57600080fd5b610651600480803590602001909190505061140f565b6040518082815260200191505060405180910390f35b341561067257600080fd5b610688600480803590602001909190505061142c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156106d557600080fd5b6106eb600480803590602001909190505061145f565b005b34156106f857600080fd5b610724600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061151c565b6040518082815260200191505060405180910390f35b341561074557600080fd5b61074d611565565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561079a57600080fd5b6107a261158b565b6040518082815260200191505060405180910390f35b34156107c357600080fd5b6107cb611591565b005b34156107d857600080fd5b6107ee60048080359060200190919050506117bf565b6040518082815260200191505060405180910390f35b341561080f57600080fd5b6108176117d7565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561085757808201518184015260208101905061083c565b50505050905090810190601f1680156108845780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561089d57600080fd5b6108a5611810565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156108f257600080fd5b610927600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611835565b005b341561093457600080fd5b61094a6004808035906020019091905050611844565b005b341561095757600080fd5b61096d6004808035906020019091905050611901565b005b341561097a57600080fd5b6109906004808035906020019091905050611972565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156109dd57600080fd5b6109f360048080359060200190919050506119a5565b6040518080602001828103825283818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015610a7c5780601f10610a5157610100808354040283529160200191610a7c565b820191906000526020600020905b815481529060010190602001808311610a5f57829003601f168201915b50509250505060405180910390f35b3415610a9657600080fd5b610ac2600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506119d1565b005b3415610acf57600080fd5b610ad7611add565b6040518082815260200191505060405180910390f35b610b036004808035906020019091905050611ae3565b005b3415610b1057600080fd5b610b266004808035906020019091905050611f6a565b005b3415610b3357600080fd5b610bc1600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091908035906020019091908035906020019091908060c001906006806020026040519081016040528092919082600660200280828437820191505050505091905050612027565b005b3415610bce57600080fd5b610be460048080359060200190919050506122d9565b6040518082815260200191505060405180910390f35b3415610c0557600080fd5b610c0d6122f1565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610c4d578082015181840152602081019050610c32565b50505050905090810190601f168015610c7a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3415610c9357600080fd5b610c9b61232a565b6040518082815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610d595750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515610d6457600080fd5b610d6d81612330565b151515610d7957600080fd5b3073ffffffffffffffffffffffffffffffffffffffff16318211151515610d9f57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f193505050501515610ddf57600080fd5b5050565b610dec816113d2565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610e2557600080fd5b81600d600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a35050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610f885750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515610f9357600080fd5b8060038190555050565b60006001905090565b6000600880549050905090565b60055481565b8273ffffffffffffffffffffffffffffffffffffffff16610fd9826113d2565b73ffffffffffffffffffffffffffffffffffffffff16141515610ffb57600080fd5b6110058282612352565b151561101057600080fd5b61101982612330565b15151561102557600080fd5b6110308383836123be565b505050565b600c6020528060005260406000206000915090505481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806110f55750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561110057600080fd5b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611172612661565b600061117c612675565b60008060088681548110151561118e57fe5b90600052602060002090600702016000018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156112335780601f1061120857610100808354040283529160200191611233565b820191906000526020600020905b81548152906001019060200180831161121657829003601f168201915b50505050509450600b600087815260200190815260200160002054935060088681548110151561125f57fe5b90600052602060002090600702016001016006806020026040519081016040528092919082600680156112a7576020028201915b815481526020019060010190808311611293575b505050505092506009600087815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1691506112ed8661140f565b905091939590929450565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561135357600080fd5b61135c81612330565b15151561136857600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006009600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000600a6000838152602001908152602001600020549050919050565b60096020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806115075750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561151257600080fd5b8060048190555050565b6000600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60045481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061163b5750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561164657600080fd5b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415151561168d57600080fd5b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515156116d557600080fd5b6116f73073ffffffffffffffffffffffffffffffffffffffff163160026125f2565b90506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050151561175a57600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015156117bc57600080fd5b50565b600a6020528060005260406000206000915090505481565b6040805190810160405280600881526020017f4b706f704974656d00000000000000000000000000000000000000000000000081525081565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6118403383836123be565b5050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806118ec5750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15156118f757600080fd5b8060058190555050565b600061190c33612330565b15151561191857600080fd5b6119223383612352565b151561192d57600080fd5b6009600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905061196e8133846123be565b5050565b600d6020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6008818154811015156119b457fe5b906000526020600020906007020160009150905080600001905081565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480611a795750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515611a8457600080fd5b611a8d81612330565b151515611a9957600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60035481565b6000806000806000806000806000611afa8a6113d2565b9850600b60008b81526020019081526020016000205497503373ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614151515611b4d57600080fd5b611b5633612330565b151515611b6257600080fd5b873410151515611b7157600080fd5b611b87611b808960065461260d565b60646125f2565b9650611b9e611b9789605a61260d565b60646125f2565b9550611baa3489612648565b9450611bb789338c6123be565b600354881015611bd357611bcc88600261260d565b9350611bec565b611be9611be28960055461260d565b60646125f2565b93505b83600b60008c8152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff16141515611c7a578873ffffffffffffffffffffffffffffffffffffffff166108fc879081150290604051600060405180830381858888f193505050501515611c7957600080fd5b5b611c838a61140f565b9250600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1691508173ffffffffffffffffffffffffffffffffffffffff16636352211e846000604051602001526040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b1515611d2157600080fd5b6102c65a03f11515611d3257600080fd5b5050506040518051905090503073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614158015611d805750611d7e81612330565b155b15611dc6578073ffffffffffffffffffffffffffffffffffffffff166108fc889081150290604051600060405180830381858888f193505050501515611dc557600080fd5b5b7f23a9360ab6e1a14ec2c4c4bc5a381ee7f6e7024b8b4db4692c15d338bcb179598a898660088e815481101515611df957fe5b90600052602060002090600702016000018d3360405180878152602001868152602001858152602001806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825285818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015611f0b5780601f10611ee057610100808354040283529160200191611f0b565b820191906000526020600020905b815481529060010190602001808311611eee57829003601f168201915b505097505050505050505060405180910390a13373ffffffffffffffffffffffffffffffffffffffff166108fc869081150290604051600060405180830381858888f193505050501515611f5e57600080fd5b50505050505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806120125750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561201d57600080fd5b8060068190555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806120d15750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b806121295750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561213457600080fd5b600454841015151561214557600080fd5b60016008805480600101828161215b919061269d565b9160005260206000209060070201600060408051908101604052808a815260200187815250909190915060008201518160000190805190602001906121a19291906126cf565b506020820151816001019060066121b992919061274f565b5050500390506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600b60008381526020019081526020016000208190555082600a600083815260200190815260200160002081905550600c60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600081548092919060010191905055505050505050565b600b6020528060005260406000206000915090505481565b6040805190810160405280600881526020017f4b706f704974656d00000000000000000000000000000000000000000000000081525081565b60065481565b6000808273ffffffffffffffffffffffffffffffffffffffff16149050919050565b60008273ffffffffffffffffffffffffffffffffffffffff16600d600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905092915050565b60008373ffffffffffffffffffffffffffffffffffffffff166123e0836113d2565b73ffffffffffffffffffffffffffffffffffffffff1614151561240257600080fd5b61240b83612330565b15151561241757600080fd5b60006124228561151c565b11151561242e57600080fd5b6124378361151c565b6124408561151c565b019050826009600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190600190039190505550600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001019190505550600d600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690558273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3806125d98461151c565b6125e28661151c565b011415156125ec57fe5b50505050565b600080828481151561260057fe5b0490508091505092915050565b60008060008414156126225760009150612641565b828402905082848281151561263357fe5b0414151561263d57fe5b8091505b5092915050565b600082821115151561265657fe5b818303905092915050565b602060405190810160405280600081525090565b60c0604051908101604052806006905b60008152602001906001900390816126855790505090565b8154818355818115116126ca576007028160070283600052602060002091820191016126c9919061278f565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061271057805160ff191683800117855561273e565b8280016001018555821561273e579182015b8281111561273d578251825591602001919060010190612722565b5b50905061274b91906127ce565b5090565b826006810192821561277e579160200282015b8281111561277d578251825591602001919060010190612762565b5b50905061278b91906127ce565b5090565b6127cb91905b808211156127c757600080820160006127ae91906127f3565b6001820160006127be919061283b565b50600701612795565b5090565b90565b6127f091905b808211156127ec5760008160009055506001016127d4565b5090565b90565b50805460018160011615610100020316600290046000825580601f106128195750612838565b601f01602090049060005260206000209081019061283791906127ce565b5b50565b50806006019061284b91906127ce565b505600a165627a7a72305820334851bcb10c1c409e31f5d9c1d7cedc6bb869112b6f3860c2c30d4e03daded00029

Deployed Bytecode

0x6060604052600436106101cc576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168062f714ce146101d1578063095ea7b3146102135780630d963235146102555780631051db341461027857806318160ddd146102a55780631bd8b041146102ce57806323b872dd146102f757806329b1f023146103585780632a263513146103a55780632bddc31c146103de5780633129e7731461043357806343d1498b1461053f5780634bdd6a8e146105785780636352211e146105cd5780636d06bf0d146106305780636e9e48ef146106675780636fba7544146106ca57806370a08231146106ed578063747542821461073a5780637c67fb9f1461078f578063853828b6146107b85780639881b200146107cd578063a3f4df7e14610804578063a6c3e6b914610892578063a9059cbb146108e7578063aad99ef114610929578063b2e6ceeb1461094c578063b60e6bc01461096f578063bfb231d2146109d2578063c11dde0d14610a8b578063c43ae98314610ac4578063d96a094a14610aed578063e091f45314610b05578063e258a0f014610b28578063f4812eb914610bc3578063f76f8d7814610bfa578063fc3fc16814610c88575b600080fd5b34156101dc57600080fd5b610211600480803590602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610cb1565b005b341561021e57600080fd5b610253600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610de3565b005b341561026057600080fd5b6102766004808035906020019091905050610ee0565b005b341561028357600080fd5b61028b610f9d565b604051808215151515815260200191505060405180910390f35b34156102b057600080fd5b6102b8610fa6565b6040518082815260200191505060405180910390f35b34156102d957600080fd5b6102e1610fb3565b6040518082815260200191505060405180910390f35b341561030257600080fd5b610356600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610fb9565b005b341561036357600080fd5b61038f600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611035565b6040518082815260200191505060405180910390f35b34156103b057600080fd5b6103dc600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061104d565b005b34156103e957600080fd5b6103f1611144565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561043e57600080fd5b610454600480803590602001909190505061116a565b604051808060200186815260200185600660200280838360005b8381101561048957808201518184015260208101905061046e565b505050509050018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828103825287818151815260200191508051906020019080838360005b838110156105005780820151818401526020810190506104e5565b50505050905090810190601f16801561052d5780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390f35b341561054a57600080fd5b610576600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506112f8565b005b341561058357600080fd5b61058b6113ac565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156105d857600080fd5b6105ee60048080359060200190919050506113d2565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561063b57600080fd5b610651600480803590602001909190505061140f565b6040518082815260200191505060405180910390f35b341561067257600080fd5b610688600480803590602001909190505061142c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156106d557600080fd5b6106eb600480803590602001909190505061145f565b005b34156106f857600080fd5b610724600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061151c565b6040518082815260200191505060405180910390f35b341561074557600080fd5b61074d611565565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561079a57600080fd5b6107a261158b565b6040518082815260200191505060405180910390f35b34156107c357600080fd5b6107cb611591565b005b34156107d857600080fd5b6107ee60048080359060200190919050506117bf565b6040518082815260200191505060405180910390f35b341561080f57600080fd5b6108176117d7565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561085757808201518184015260208101905061083c565b50505050905090810190601f1680156108845780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561089d57600080fd5b6108a5611810565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156108f257600080fd5b610927600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611835565b005b341561093457600080fd5b61094a6004808035906020019091905050611844565b005b341561095757600080fd5b61096d6004808035906020019091905050611901565b005b341561097a57600080fd5b6109906004808035906020019091905050611972565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156109dd57600080fd5b6109f360048080359060200190919050506119a5565b6040518080602001828103825283818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015610a7c5780601f10610a5157610100808354040283529160200191610a7c565b820191906000526020600020905b815481529060010190602001808311610a5f57829003601f168201915b50509250505060405180910390f35b3415610a9657600080fd5b610ac2600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506119d1565b005b3415610acf57600080fd5b610ad7611add565b6040518082815260200191505060405180910390f35b610b036004808035906020019091905050611ae3565b005b3415610b1057600080fd5b610b266004808035906020019091905050611f6a565b005b3415610b3357600080fd5b610bc1600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091908035906020019091908035906020019091908060c001906006806020026040519081016040528092919082600660200280828437820191505050505091905050612027565b005b3415610bce57600080fd5b610be460048080359060200190919050506122d9565b6040518082815260200191505060405180910390f35b3415610c0557600080fd5b610c0d6122f1565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610c4d578082015181840152602081019050610c32565b50505050905090810190601f168015610c7a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3415610c9357600080fd5b610c9b61232a565b6040518082815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610d595750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515610d6457600080fd5b610d6d81612330565b151515610d7957600080fd5b3073ffffffffffffffffffffffffffffffffffffffff16318211151515610d9f57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f193505050501515610ddf57600080fd5b5050565b610dec816113d2565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610e2557600080fd5b81600d600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a35050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610f885750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515610f9357600080fd5b8060038190555050565b60006001905090565b6000600880549050905090565b60055481565b8273ffffffffffffffffffffffffffffffffffffffff16610fd9826113d2565b73ffffffffffffffffffffffffffffffffffffffff16141515610ffb57600080fd5b6110058282612352565b151561101057600080fd5b61101982612330565b15151561102557600080fd5b6110308383836123be565b505050565b600c6020528060005260406000206000915090505481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806110f55750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561110057600080fd5b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611172612661565b600061117c612675565b60008060088681548110151561118e57fe5b90600052602060002090600702016000018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156112335780601f1061120857610100808354040283529160200191611233565b820191906000526020600020905b81548152906001019060200180831161121657829003601f168201915b50505050509450600b600087815260200190815260200160002054935060088681548110151561125f57fe5b90600052602060002090600702016001016006806020026040519081016040528092919082600680156112a7576020028201915b815481526020019060010190808311611293575b505050505092506009600087815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1691506112ed8661140f565b905091939590929450565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561135357600080fd5b61135c81612330565b15151561136857600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006009600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000600a6000838152602001908152602001600020549050919050565b60096020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806115075750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561151257600080fd5b8060048190555050565b6000600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60045481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061163b5750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561164657600080fd5b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415151561168d57600080fd5b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515156116d557600080fd5b6116f73073ffffffffffffffffffffffffffffffffffffffff163160026125f2565b90506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050151561175a57600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015156117bc57600080fd5b50565b600a6020528060005260406000206000915090505481565b6040805190810160405280600881526020017f4b706f704974656d00000000000000000000000000000000000000000000000081525081565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6118403383836123be565b5050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806118ec5750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15156118f757600080fd5b8060058190555050565b600061190c33612330565b15151561191857600080fd5b6119223383612352565b151561192d57600080fd5b6009600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905061196e8133846123be565b5050565b600d6020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6008818154811015156119b457fe5b906000526020600020906007020160009150905080600001905081565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480611a795750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515611a8457600080fd5b611a8d81612330565b151515611a9957600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60035481565b6000806000806000806000806000611afa8a6113d2565b9850600b60008b81526020019081526020016000205497503373ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614151515611b4d57600080fd5b611b5633612330565b151515611b6257600080fd5b873410151515611b7157600080fd5b611b87611b808960065461260d565b60646125f2565b9650611b9e611b9789605a61260d565b60646125f2565b9550611baa3489612648565b9450611bb789338c6123be565b600354881015611bd357611bcc88600261260d565b9350611bec565b611be9611be28960055461260d565b60646125f2565b93505b83600b60008c8152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff16141515611c7a578873ffffffffffffffffffffffffffffffffffffffff166108fc879081150290604051600060405180830381858888f193505050501515611c7957600080fd5b5b611c838a61140f565b9250600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1691508173ffffffffffffffffffffffffffffffffffffffff16636352211e846000604051602001526040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b1515611d2157600080fd5b6102c65a03f11515611d3257600080fd5b5050506040518051905090503073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614158015611d805750611d7e81612330565b155b15611dc6578073ffffffffffffffffffffffffffffffffffffffff166108fc889081150290604051600060405180830381858888f193505050501515611dc557600080fd5b5b7f23a9360ab6e1a14ec2c4c4bc5a381ee7f6e7024b8b4db4692c15d338bcb179598a898660088e815481101515611df957fe5b90600052602060002090600702016000018d3360405180878152602001868152602001858152602001806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825285818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015611f0b5780601f10611ee057610100808354040283529160200191611f0b565b820191906000526020600020905b815481529060010190602001808311611eee57829003601f168201915b505097505050505050505060405180910390a13373ffffffffffffffffffffffffffffffffffffffff166108fc869081150290604051600060405180830381858888f193505050501515611f5e57600080fd5b50505050505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806120125750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561201d57600080fd5b8060068190555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806120d15750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b806121295750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561213457600080fd5b600454841015151561214557600080fd5b60016008805480600101828161215b919061269d565b9160005260206000209060070201600060408051908101604052808a815260200187815250909190915060008201518160000190805190602001906121a19291906126cf565b506020820151816001019060066121b992919061274f565b5050500390506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff166009600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600b60008381526020019081526020016000208190555082600a600083815260200190815260200160002081905550600c60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600081548092919060010191905055505050505050565b600b6020528060005260406000206000915090505481565b6040805190810160405280600881526020017f4b706f704974656d00000000000000000000000000000000000000000000000081525081565b60065481565b6000808273ffffffffffffffffffffffffffffffffffffffff16149050919050565b60008273ffffffffffffffffffffffffffffffffffffffff16600d600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905092915050565b60008373ffffffffffffffffffffffffffffffffffffffff166123e0836113d2565b73ffffffffffffffffffffffffffffffffffffffff1614151561240257600080fd5b61240b83612330565b15151561241757600080fd5b60006124228561151c565b11151561242e57600080fd5b6124378361151c565b6124408561151c565b019050826009600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815480929190600190039190505550600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001019190505550600d600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690558273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3806125d98461151c565b6125e28661151c565b011415156125ec57fe5b50505050565b600080828481151561260057fe5b0490508091505092915050565b60008060008414156126225760009150612641565b828402905082848281151561263357fe5b0414151561263d57fe5b8091505b5092915050565b600082821115151561265657fe5b818303905092915050565b602060405190810160405280600081525090565b60c0604051908101604052806006905b60008152602001906001900390816126855790505090565b8154818355818115116126ca576007028160070283600052602060002091820191016126c9919061278f565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061271057805160ff191683800117855561273e565b8280016001018555821561273e579182015b8281111561273d578251825591602001919060010190612722565b5b50905061274b91906127ce565b5090565b826006810192821561277e579160200282015b8281111561277d578251825591602001919060010190612762565b5b50905061278b91906127ce565b5090565b6127cb91905b808211156127c757600080820160006127ae91906127f3565b6001820160006127be919061283b565b50600701612795565b5090565b90565b6127f091905b808211156127ec5760008160009055506001016127d4565b5090565b90565b50805460018160011615610100020316600290046000825580601f106128195750612838565b601f01602090049060005260206000209081019061283791906127ce565b5b50565b50806006019061284b91906127ce565b505600a165627a7a72305820334851bcb10c1c409e31f5d9c1d7cedc6bb869112b6f3860c2c30d4e03daded00029

Swarm Source

bzzr://334851bcb10c1c409e31f5d9c1d7cedc6bb869112b6f3860c2c30d4e03daded0

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.