ETH Price: $3,134.63 (-0.07%)

Contract

0x0d623823d2AA4540f335bb926447dc582DC5bD64
 

Overview

ETH Balance

0.070665973489882679 ETH

Eth Value

$221.51 (@ $3,134.63/ETH)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve133667302021-10-06 17:18:051138 days ago1633540685IN
0x0d623823...82DC5bD64
0 ETH0.00724804150.4430499
Purchase132853332021-09-24 0:53:291151 days ago1632444809IN
0x0d623823...82DC5bD64
0.04360243 ETH0.0041100451.70457364
Purchase132850122021-09-23 23:41:171151 days ago1632440477IN
0x0d623823...82DC5bD64
0.04360243 ETH0.0017888467.54172782
Purchase132850102021-09-23 23:40:501151 days ago1632440450IN
0x0d623823...82DC5bD64
0.04360243 ETH0.0047612370.86115406
Purchase132850062021-09-23 23:39:521151 days ago1632440392IN
0x0d623823...82DC5bD64
0.10464583 ETH0.0042237565.46632923
Purchase132850062021-09-23 23:39:521151 days ago1632440392IN
0x0d623823...82DC5bD64
0.04360243 ETH0.0055603665.96632923
Purchase132848882021-09-23 23:14:011151 days ago1632438841IN
0x0d623823...82DC5bD64
0.04360243 ETH0.0041465561.71290758
Purchase132848792021-09-23 23:11:361151 days ago1632438696IN
0x0d623823...82DC5bD64
0.04360243 ETH0.0030034944.7008219
Purchase132848692021-09-23 23:10:371151 days ago1632438637IN
0x0d623823...82DC5bD64
0.04360243 ETH0.0037377355.628529
Purchase132848572021-09-23 23:08:291151 days ago1632438509IN
0x0d623823...82DC5bD64
0.09277113 ETH0.0053225964.01121762
Approve131578602021-09-04 7:27:451171 days ago1630740465IN
0x0d623823...82DC5bD64
0 ETH0.0045885295.21738363
Approve131163202021-08-28 21:23:241177 days ago1630185804IN
0x0d623823...82DC5bD64
0 ETH0.0027298156.64698302
Purchase131134762021-08-28 11:00:551177 days ago1630148455IN
0x0d623823...82DC5bD64
0.04360243 ETH0.0046846669.72164088
Purchase131134762021-08-28 11:00:551177 days ago1630148455IN
0x0d623823...82DC5bD64
0.04360243 ETH0.0027929944.76595452
Purchase131134312021-08-28 10:50:531177 days ago1630147853IN
0x0d623823...82DC5bD64
0.09277113 ETH0.0047529955
Purchase131079432021-08-27 14:28:011178 days ago1630074481IN
0x0d623823...82DC5bD64
0.08720486 ETH0.0059391292.05384495
Purchase131064442021-08-27 8:31:351178 days ago1630053095IN
0x0d623823...82DC5bD64
0.08197257 ETH0.003456149.85870813
Purchase131064442021-08-27 8:31:351178 days ago1630053095IN
0x0d623823...82DC5bD64
0.08197257 ETH0.0039857357.49931698
Purchase131063272021-08-27 8:09:071178 days ago1630051747IN
0x0d623823...82DC5bD64
0.08197257 ETH0.0055097567.50666184
Purchase131062952021-08-27 8:02:051178 days ago1630051325IN
0x0d623823...82DC5bD64
0.11843123 ETH0.0073465985.01232759
Purchase53441742018-03-29 17:26:362425 days ago1522344396IN
0x0d623823...82DC5bD64
0.04360343 ETH0.000604457
Purchase52543722018-03-14 14:58:432440 days ago1521039523IN
0x0d623823...82DC5bD64
0.04360343 ETH0.000214053
Payout52462732018-03-13 5:37:492442 days ago1520919469IN
0x0d623823...82DC5bD64
0 ETH0.00003121
Purchase51544542018-02-25 15:16:052457 days ago1519571765IN
0x0d623823...82DC5bD64
0.08720586 ETH0.000357895
Purchase51521312018-02-25 5:48:332458 days ago1519537713IN
0x0d623823...82DC5bD64
0.04360343 ETH0.00014272
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
132853332021-09-24 0:53:291151 days ago1632444809
0x0d623823...82DC5bD64
0.04098628 ETH
132850102021-09-23 23:40:501151 days ago1632440450
0x0d623823...82DC5bD64
0.04098628 ETH
132850062021-09-23 23:39:521151 days ago1632440392
0x0d623823...82DC5bD64
0.09836708 ETH
132850062021-09-23 23:39:521151 days ago1632440392
0x0d623823...82DC5bD64
0.04098628 ETH
132848882021-09-23 23:14:011151 days ago1632438841
0x0d623823...82DC5bD64
0.04098628 ETH
132848792021-09-23 23:11:361151 days ago1632438696
0x0d623823...82DC5bD64
0.04098628 ETH
132848692021-09-23 23:10:371151 days ago1632438637
0x0d623823...82DC5bD64
0.04098628 ETH
132848572021-09-23 23:08:291151 days ago1632438509
0x0d623823...82DC5bD64
0.08720486 ETH
131134762021-08-28 11:00:551177 days ago1630148455
0x0d623823...82DC5bD64
0.04098628 ETH
131134762021-08-28 11:00:551177 days ago1630148455
0x0d623823...82DC5bD64
0.04098628 ETH
131134312021-08-28 10:50:531177 days ago1630147853
0x0d623823...82DC5bD64
0.08720486 ETH
131079432021-08-27 14:28:011178 days ago1630074481
0x0d623823...82DC5bD64
0.08197257 ETH
131064442021-08-27 8:31:351178 days ago1630053095
0x0d623823...82DC5bD64
0.07705421 ETH
131064442021-08-27 8:31:351178 days ago1630053095
0x0d623823...82DC5bD64
0.07705421 ETH
131063272021-08-27 8:09:071178 days ago1630051747
0x0d623823...82DC5bD64
0.07705421 ETH
131062952021-08-27 8:02:051178 days ago1630051325
0x0d623823...82DC5bD64
0.11132535 ETH
53441742018-03-29 17:26:362425 days ago1522344396
0x0d623823...82DC5bD64
0.000001 ETH
53441742018-03-29 17:26:362425 days ago1522344396
0x0d623823...82DC5bD64
0.04098628 ETH
52543722018-03-14 14:58:432440 days ago1521039523
0x0d623823...82DC5bD64
0.000001 ETH
52543722018-03-14 14:58:432440 days ago1521039523
0x0d623823...82DC5bD64
0.04098628 ETH
52462732018-03-13 5:37:492442 days ago1520919469
0x0d623823...82DC5bD64
0.37916408 ETH
51544542018-02-25 15:16:052457 days ago1519571765
0x0d623823...82DC5bD64
0.000001 ETH
51544542018-02-25 15:16:052457 days ago1519571765
0x0d623823...82DC5bD64
0.08197257 ETH
51521312018-02-25 5:48:332458 days ago1519537713
0x0d623823...82DC5bD64
0.000001 ETH
51521312018-02-25 5:48:332458 days ago1519537713
0x0d623823...82DC5bD64
0.04098628 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
MemeToken

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-20
*/

pragma solidity ^0.4.18; // solhint-disable-line



/// @title Interface for contracts conforming to ERC-721: Non-Fungible Tokens
/// @author Dieter Shirley <[email protected]> (https://github.com/dete)
contract ERC721 {
  // Required methods
  function approve(address _to, uint256 _tokenId) public;
  function balanceOf(address _owner) public view returns (uint256 balance);
  function implementsERC721() public pure returns (bool);
  function ownerOf(uint256 _tokenId) public view returns (address addr);
  function takeOwnership(uint256 _tokenId) public;
  function totalSupply() public view returns (uint256 total);
  function transferFrom(address _from, address _to, uint256 _tokenId) public;
  function transfer(address _to, uint256 _tokenId) public;

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

  // Optional
  // function name() public view returns (string name);
  // function symbol() public view returns (string symbol);
  // function tokenOfOwnerByIndex(address _owner, uint256 _index) external view returns (uint256 tokenId);
  // function tokenMetadata(uint256 _tokenId) public view returns (string infoUrl);
}


contract MemeToken is ERC721 {

  /*** EVENTS ***/

  /// @dev The Birth event is fired whenever a new meme comes into existence.
  event Birth(uint256 tokenId, string name, address owner);

  /// @dev The TokenSold event is fired whenever a token is sold.
  event TokenSold(uint256 tokenId, uint256 oldPrice, uint256 newPrice, address prevOwner, address winner, string name);

  /// @dev Transfer event as defined in current draft of ERC721. 
  ///  ownership is assigned, including births.
  event Transfer(address from, address to, uint256 tokenId);

  /*** CONSTANTS ***/

  /// @notice Name and symbol of the non fungible token, as defined in ERC721.
  string public constant NAME = "CryptoMemes"; // solhint-disable-line
  string public constant SYMBOL = "MemeToken"; // solhint-disable-line

  uint256 private startingPrice = 0.001 ether;
  uint256 private constant PROMO_CREATION_LIMIT = 5000;
  uint256 private firstStepLimit =  0.053613 ether;
  uint256 private secondStepLimit = 0.564957 ether;

  /*** STORAGE ***/

  /// @dev A mapping from meme IDs to the address that owns them. All memes have
  ///  some valid owner address.
  mapping (uint256 => address) public memeIndexToOwner;

  // @dev A mapping from owner address to count of tokens that address owns.
  //  Used internally inside balanceOf() to resolve ownership count.
  mapping (address => uint256) private ownershipTokenCount;

  /// @dev A mapping from MemeIDs to an address that has been approved to call
  ///  transferFrom(). Each Meme can only have one approved address for transfer
  ///  at any time. A zero value means no approval is outstanding.
  mapping (uint256 => address) public memeIndexToApproved;

  // @dev A mapping from MemeIDs to the price of the token.
  mapping (uint256 => uint256) private memeIndexToPrice;

  // The addresses of the accounts (or contracts) that can execute actions within each roles.
  address public ceoAddress;
  address public cooAddress;

  uint256 public promoCreatedCount;

  /*** DATATYPES ***/
  struct Meme {
    string name;
  }

  struct Memes {
    uint256 Id;
    string memeName;
    uint256 sellingPrice;
    address owner;
  }

  Meme[] private memes;

  /*** ACCESS MODIFIERS ***/
  /// @dev Access modifier for CEO-only functionality
  modifier onlyCEO() {
    require(msg.sender == ceoAddress);
    _;
  }

  /// @dev Access modifier for COO-only functionality
  modifier onlyCOO() {
    require(msg.sender == cooAddress);
    _;
  }

  /// Access modifier for contract owner only functionality
  modifier onlyCLevel() {
    require(
      msg.sender == ceoAddress ||
      msg.sender == cooAddress
    );
    _;
  }

  /*** CONSTRUCTOR ***/
  function MemeToken() public {
    ceoAddress = msg.sender;
    cooAddress = msg.sender;
  }

  /*** PUBLIC FUNCTIONS ***/
  /// @notice Grant another address the right to transfer token via takeOwnership() and transferFrom().
  /// @param _to The address to be granted transfer approval. Pass address(0) to
  ///  clear all approvals.
  /// @param _tokenId The ID of the Token that can be transferred if this call succeeds.
  /// @dev Required for ERC-721 compliance.
  function approve(
    address _to,
    uint256 _tokenId
  ) public {
    // Caller must own token.
    require(_owns(msg.sender, _tokenId));

    memeIndexToApproved[_tokenId] = _to;

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

  /// For querying balance of a particular account
  /// @param _owner The address for balance query
  /// @dev Required for ERC-721 compliance.
  function balanceOf(address _owner) public view returns (uint256 balance) {
    return ownershipTokenCount[_owner];
  }

  /// @dev Creates a new promo Meme with the given name, with given _price and assignes it to an address.
  function createPromoMeme(address _owner, string _name, uint256 _price) public onlyCOO {
    require(promoCreatedCount < PROMO_CREATION_LIMIT);

    address memeOwner = _owner;
    if (memeOwner == address(0)) {
      memeOwner = cooAddress;
    }

    if (_price <= 0) {
      _price = startingPrice;
    }

    promoCreatedCount++;
    _createMeme(_name, memeOwner, _price);
  }

  /// @dev Creates a new Meme with the given name.
  function createContractMeme(string _name) public onlyCOO {
    _createMeme(_name, address(this), startingPrice);
  }

  /// @notice Returns all the relevant information about a specific meme.
  /// @param _tokenId The tokenId of the meme of interest.
  function getMeme(uint256 _tokenId) public view returns (
    uint256 Id,
    string memeName,
    uint256 sellingPrice,
    address owner
  ) {
    Meme storage meme = memes[_tokenId];
    Id = _tokenId;
    memeName = meme.name;
    sellingPrice = memeIndexToPrice[_tokenId];
    owner = memeIndexToOwner[_tokenId];
  }

  /// @notice Returns all the relevant information about a specific meme.
  /// @param _tokenIds The tokenId of the meme of interest.
  function getMemeSellingPrices(uint256[] _tokenIds) public view returns (
    uint256[] sellingPrices
  ) {
    sellingPrices = new uint256[](_tokenIds.length);
    for(uint i=0;i<_tokenIds.length;i++){
      sellingPrices[i]=memeIndexToPrice[_tokenIds[i]];
    }

  }

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

  /// @dev Required for ERC-721 compliance.
  function name() public pure returns (string) {
    return NAME;
  }

  /// For querying owner of token
  /// @param _tokenId The tokenID for owner inquiry
  /// @dev Required for ERC-721 compliance.
  function ownerOf(uint256 _tokenId)
    public
    view
    returns (address owner)
  {
    owner = memeIndexToOwner[_tokenId];
    require(owner != address(0));
  }

  function payout(address _to) public onlyCLevel {
    _payout(_to);
  }

  // Allows someone to send ether and obtain the token
  function purchase(uint256 _tokenId) public payable {
    address oldOwner = memeIndexToOwner[_tokenId];
    address newOwner = msg.sender;

    uint256 sellingPrice = memeIndexToPrice[_tokenId];

    // Making sure token owner is not sending to self
    require(oldOwner != newOwner);

    // Safety check to prevent against an unexpected 0x0 default.
    require(_addressNotNull(newOwner));

    // Making sure sent amount is greater than or equal to the sellingPrice
    require(msg.value >= sellingPrice);

    uint256 payment = uint256(SafeMath.div(SafeMath.mul(sellingPrice, 94), 100));
    uint256 purchaseExcess = SafeMath.sub(msg.value, sellingPrice);

    // Update prices
    if (sellingPrice < firstStepLimit) {
      // first stage
      memeIndexToPrice[_tokenId] = SafeMath.div(SafeMath.mul(sellingPrice, 200), 94);
    } else if (sellingPrice < secondStepLimit) {
      // second stage
      memeIndexToPrice[_tokenId] = SafeMath.div(SafeMath.mul(sellingPrice, 120), 94);
    } else {
      // third stage
      memeIndexToPrice[_tokenId] = SafeMath.div(SafeMath.mul(sellingPrice, 115), 94);
    }

    _transfer(oldOwner, newOwner, _tokenId);

    // Pay previous tokenOwner if owner is not contract
    if (oldOwner != address(this)) {
      oldOwner.transfer(payment); //(1-0.06)
    }

    TokenSold(_tokenId, sellingPrice, memeIndexToPrice[_tokenId], oldOwner, newOwner, memes[_tokenId].name);

    msg.sender.transfer(purchaseExcess);
  }

  function priceOf(uint256 _tokenId) public view returns (uint256 price) {
    return memeIndexToPrice[_tokenId];
  }

  /// @dev Assigns a new address to act as the CEO. Only available to the current CEO.
  /// @param _newCEO The address of the new CEO
  function setCEO(address _newCEO) public onlyCEO {
    require(_newCEO != address(0));

    ceoAddress = _newCEO;
  }

  /// @dev Assigns a new address to act as the COO. Only available to the current COO.
  /// @param _newCOO The address of the new COO
  function setCOO(address _newCOO) public onlyCEO {
    require(_newCOO != address(0));

    cooAddress = _newCOO;
  }

  /// @dev Required for ERC-721 compliance.
  function symbol() public pure returns (string) {
    return SYMBOL;
  }

  /// @notice Allow pre-approved user to take ownership of a token
  /// @param _tokenId The ID of the Token that can be transferred if this call succeeds.
  /// @dev Required for ERC-721 compliance.
  function takeOwnership(uint256 _tokenId) public {
    address newOwner = msg.sender;
    address oldOwner = memeIndexToOwner[_tokenId];

    // Safety check to prevent against an unexpected 0x0 default.
    require(_addressNotNull(newOwner));

    // Making sure transfer is approved
    require(_approved(newOwner, _tokenId));

    _transfer(oldOwner, newOwner, _tokenId);
  }

  /// @param _owner The owner whose meme tokens we are interested in.
  /// @dev This method MUST NEVER be called by smart contract code. First, it's fairly
  ///  expensive (it walks the entire Memes array looking for memes belonging to owner),
  ///  but it also returns a dynamic array, which is only supported for web3 calls, and
  ///  not contract-to-contract calls.
  function tokensOfOwner(address _owner) public view returns(uint256[] ownerTokens) {
    uint256 tokenCount = balanceOf(_owner);
    if (tokenCount == 0) {
        // Return an empty array
      return new uint256[](0);
    } else {
      uint256[] memory result = new uint256[](tokenCount);
      uint256 totalMemes = totalSupply();
      uint256 resultIndex = 0;

      uint256 memeId;
      for (memeId = 0; memeId <= totalMemes; memeId++) {
        if (memeIndexToOwner[memeId] == _owner) {
          result[resultIndex] = memeId;
          resultIndex++;
        }
      }
      return result;
    }
  }

  /// For querying totalSupply of token
  /// @dev Required for ERC-721 compliance.
  function totalSupply() public view returns (uint256 total) {
    return memes.length;
  }

  /// Owner initates the transfer of the token to another account
  /// @param _to The address for the token to be transferred to.
  /// @param _tokenId The ID of the Token that can be transferred if this call succeeds.
  /// @dev Required for ERC-721 compliance.
  function transfer(
    address _to,
    uint256 _tokenId
  ) public {
    require(_owns(msg.sender, _tokenId));
    require(_addressNotNull(_to));

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

  /// Third-party initiates transfer of token from address _from to address _to
  /// @param _from The address for the token to be transferred from.
  /// @param _to The address for the token to be transferred to.
  /// @param _tokenId The ID of the Token that can be transferred if this call succeeds.
  /// @dev Required for ERC-721 compliance.
  function transferFrom(
    address _from,
    address _to,
    uint256 _tokenId
  ) public {
    require(_owns(_from, _tokenId));
    require(_approved(_to, _tokenId));
    require(_addressNotNull(_to));

    _transfer(_from, _to, _tokenId);
  }

  /*** PRIVATE FUNCTIONS ***/
  /// Safety check on _to address to prevent against an unexpected 0x0 default.
  function _addressNotNull(address _to) private pure returns (bool) {
    return _to != address(0);
  }

  /// For checking approval of transfer for address _to
  function _approved(address _to, uint256 _tokenId) private view returns (bool) {
    return memeIndexToApproved[_tokenId] == _to;
  }

  /// For creating Meme
  function _createMeme(string _name, address _owner, uint256 _price) private {
    Meme memory _meme = Meme({
      name: _name
    });
    uint256 newMemeId = memes.push(_meme) - 1;

    // It's probably never going to happen, 4 billion tokens are A LOT, but
    // let's just be 100% sure we never let this happen.
    require(newMemeId == uint256(uint32(newMemeId)));

    Birth(newMemeId, _name, _owner);

    memeIndexToPrice[newMemeId] = _price;

    // This will assign ownership, and also emit the Transfer event as
    // per ERC721 draft
    _transfer(address(0), _owner, newMemeId);
  }

  /// Check for token ownership
  function _owns(address claimant, uint256 _tokenId) private view returns (bool) {
    return claimant == memeIndexToOwner[_tokenId];
  }

  /// For paying out balance on contract
  function _payout(address _to) private {
    if (_to == address(0)) {
      ceoAddress.transfer(this.balance);
    } else {
      _to.transfer(this.balance);
    }
  }

  /// @dev Assigns ownership of a specific Meme to an address.
  function _transfer(address _from, address _to, uint256 _tokenId) private {
    // Since the number of memes is capped to 2^32 we can't overflow this
    ownershipTokenCount[_to]++;
    //transfer ownership
    memeIndexToOwner[_tokenId] = _to;

    // When creating new memes _from is 0x0, but we can't account that address.
    if (_from != address(0)) {
      ownershipTokenCount[_from]--;
      // clear any previously approved ownership exchange
      delete memeIndexToApproved[_tokenId];
    }

    // Emit the transfer event.
    Transfer(_from, _to, _tokenId);
  }

}
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":true,"inputs":[],"name":"promoCreatedCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"pure","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":"ceoAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"}],"name":"payout","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":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newCEO","type":"address"}],"name":"setCEO","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newCOO","type":"address"}],"name":"setCOO","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"getMeme","outputs":[{"name":"Id","type":"uint256"},{"name":"memeName","type":"string"},{"name":"sellingPrice","type":"uint256"},{"name":"owner","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"name":"owner","type":"address"}],"payable":false,"stateMutability":"view","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":"_owner","type":"address"}],"name":"tokensOfOwner","outputs":[{"name":"ownerTokens","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"name":"_owner","type":"address"},{"name":"_name","type":"string"},{"name":"_price","type":"uint256"}],"name":"createPromoMeme","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":"","type":"uint256"}],"name":"memeIndexToApproved","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":true,"inputs":[{"name":"_tokenIds","type":"uint256[]"}],"name":"getMemeSellingPrices","outputs":[{"name":"sellingPrices","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"cooAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"takeOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_name","type":"string"}],"name":"createContractMeme","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"priceOf","outputs":[{"name":"price","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"memeIndexToOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"purchase","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"SYMBOL","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"tokenId","type":"uint256"},{"indexed":false,"name":"name","type":"string"},{"indexed":false,"name":"owner","type":"address"}],"name":"Birth","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":"prevOwner","type":"address"},{"indexed":false,"name":"winner","type":"address"},{"indexed":false,"name":"name","type":"string"}],"name":"TokenSold","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"from","type":"address"},{"indexed":false,"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"}]

606060405266038d7ea4c6800060005566be78bd4c57d0006001556707d72165f25ed000600255341561003157600080fd5b33600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506121fe806100c26000396000f30060606040526004361061015f576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806305e455461461016457806306fdde031461018d578063095ea7b31461021b5780630a0f81681461025d5780630b7e9c44146102b25780631051db34146102eb57806318160ddd1461031857806323b872dd1461034157806327d7874c146103a25780632ba73c15146103db5780633dea6b9a146104145780636352211e146104f157806370a08231146105545780638462151c146105a157806395d89b411461062f5780639e5adf8e146106bd578063a3f4df7e14610742578063a7071d01146107d0578063a9059cbb14610833578063aeb8184114610875578063b047fb5014610924578063b2e6ceeb14610979578063b67efa5b1461099c578063b9186d7d146109f9578063deffbb2014610a30578063efef39a114610a93578063f76f8d7814610aab575b600080fd5b341561016f57600080fd5b610177610b39565b6040518082815260200191505060405180910390f35b341561019857600080fd5b6101a0610b3f565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101e05780820151818401526020810190506101c5565b50505050905090810190601f16801561020d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561022657600080fd5b61025b600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610b82565b005b341561026857600080fd5b610270610c52565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156102bd57600080fd5b6102e9600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610c78565b005b34156102f657600080fd5b6102fe610d38565b604051808215151515815260200191505060405180910390f35b341561032357600080fd5b61032b610d41565b6040518082815260200191505060405180910390f35b341561034c57600080fd5b6103a0600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610d4e565b005b34156103ad57600080fd5b6103d9600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610d9c565b005b34156103e657600080fd5b610412600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610e78565b005b341561041f57600080fd5b6104356004808035906020019091905050610f54565b60405180858152602001806020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825285818151815260200191508051906020019080838360005b838110156104b3578082015181840152602081019050610498565b50505050905090810190601f1680156104e05780820380516001836020036101000a031916815260200191505b509550505050505060405180910390f35b34156104fc57600080fd5b6105126004808035906020019091905050611075565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561055f57600080fd5b61058b600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506110ee565b6040518082815260200191505060405180910390f35b34156105ac57600080fd5b6105d8600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611137565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561061b578082015181840152602081019050610600565b505050509050019250505060405180910390f35b341561063a57600080fd5b61064261126e565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610682578082015181840152602081019050610667565b50505050905090810190601f1680156106af5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156106c857600080fd5b610740600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919080359060200190919050506112b1565b005b341561074d57600080fd5b6107556113b2565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561079557808201518184015260208101905061077a565b50505050905090810190601f1680156107c25780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156107db57600080fd5b6107f160048080359060200190919050506113eb565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561083e57600080fd5b610873600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061141e565b005b341561088057600080fd5b6108cd600480803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091905050611456565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156109105780820151818401526020810190506108f5565b505050509050019250505060405180910390f35b341561092f57600080fd5b6109376114ea565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561098457600080fd5b61099a6004808035906020019091905050611510565b005b34156109a757600080fd5b6109f7600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050611585565b005b3415610a0457600080fd5b610a1a60048080359060200190919050506115f1565b6040518082815260200191505060405180910390f35b3415610a3b57600080fd5b610a51600480803590602001909190505061160e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610aa96004808035906020019091905050611641565b005b3415610ab657600080fd5b610abe6119ed565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610afe578082015181840152602081019050610ae3565b50505050905090810190601f168015610b2b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b60095481565b610b47612034565b6040805190810160405280600b81526020017f43727970746f4d656d6573000000000000000000000000000000000000000000815250905090565b610b8c3382611a26565b1515610b9757600080fd5b816005600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a35050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610d215750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515610d2c57600080fd5b610d3581611a92565b50565b60006001905090565b6000600a80549050905090565b610d588382611a26565b1515610d6357600080fd5b610d6d8282611ba0565b1515610d7857600080fd5b610d8182611c0c565b1515610d8c57600080fd5b610d97838383611c45565b505050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610df857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610e3457600080fd5b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610ed457600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610f1057600080fd5b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000610f5e612034565b6000806000600a86815481101515610f7257fe5b90600052602060002090019050859450806000018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561101a5780601f10610fef5761010080835404028352916020019161101a565b820191906000526020600020905b815481529060010190602001808311610ffd57829003601f168201915b50505050509350600660008781526020019081526020016000205492506003600087815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150509193509193565b60006003600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156110e957600080fd5b919050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61113f612048565b6000611149612048565b6000806000611157876110ee565b945060008514156111895760006040518059106111715750595b90808252806020026020018201604052509550611264565b846040518059106111975750595b908082528060200260200182016040525093506111b2610d41565b925060009150600090505b8281111515611260578673ffffffffffffffffffffffffffffffffffffffff166003600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156112535780848381518110151561123c57fe5b906020019060200201818152505081806001019250505b80806001019150506111bd565b8395505b5050505050919050565b611276612034565b6040805190810160405280600981526020017f4d656d65546f6b656e0000000000000000000000000000000000000000000000815250905090565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561130f57600080fd5b61138860095410151561132157600080fd5b839050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561137f57600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505b60008211151561138f5760005491505b6009600081548092919060010191905055506113ac838284611e47565b50505050565b6040805190810160405280600b81526020017f43727970746f4d656d657300000000000000000000000000000000000000000081525081565b60056020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6114283382611a26565b151561143357600080fd5b61143c82611c0c565b151561144757600080fd5b611452338383611c45565b5050565b61145e612048565b6000825160405180591061146f5750595b90808252806020026020018201604052509150600090505b82518110156114e4576006600084838151811015156114a257fe5b9060200190602002015181526020019081526020016000205482828151811015156114c957fe5b90602001906020020181815250508080600101915050611487565b50919050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000803391506003600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905061155582611c0c565b151561156057600080fd5b61156a8284611ba0565b151561157557600080fd5b611580818385611c45565b505050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156115e157600080fd5b6115ee8130600054611e47565b50565b600060066000838152602001908152602001600020549050919050565b60036020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060008060006003600087815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169450339350600660008781526020019081526020016000205492508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141515156116d357600080fd5b6116dc84611c0c565b15156116e757600080fd5b8234101515156116f657600080fd5b61170b61170484605e611fc5565b6064612000565b9150611717348461201b565b9050600154831015611754576117386117318460c8611fc5565b605e612000565b60066000888152602001908152602001600020819055506117bd565b60025483101561178f5761177361176c846078611fc5565b605e612000565b60066000888152602001908152602001600020819055506117bc565b6117a461179d846073611fc5565b605e612000565b60066000888152602001908152602001600020819055505b5b6117c8858588611c45565b3073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614151561183e578473ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050151561183d57600080fd5b5b7e8201e7bcbf010c2c07de59d6e97cb7e3cf67a46125c49cbc89b9d2cde1f48f8684600660008a8152602001908152602001600020548888600a8c81548110151561188557fe5b9060005260206000209001600001604051808781526020018681526020018581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001806020018281038252838181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156119925780601f1061196757610100808354040283529160200191611992565b820191906000526020600020905b81548152906001019060200180831161197557829003601f168201915b505097505050505050505060405180910390a13373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015156119e557600080fd5b505050505050565b6040805190810160405280600981526020017f4d656d65546f6b656e000000000000000000000000000000000000000000000081525081565b60006003600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611b4557600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f193505050501515611b4057600080fd5b611b9d565b8073ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f193505050501515611b9c57600080fd5b5b50565b60008273ffffffffffffffffffffffffffffffffffffffff166005600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001019190505550816003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515611da357600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001900391905055506005600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690555b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef838383604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390a1505050565b611e4f61205c565b60006020604051908101604052808681525091506001600a8054806001018281611e799190612076565b916000526020600020900160008590919091506000820151816000019080519060200190611ea89291906120a2565b5050500390508063ffffffff1681141515611ec257600080fd5b7fb3b0cf861f168bcdb275c69da97b2543631552ba562628aa3c7317d4a6089ef281868660405180848152602001806020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825284818151815260200191508051906020019080838360005b83811015611f5e578082015181840152602081019050611f43565b50505050905090810190601f168015611f8b5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a1826006600083815260200190815260200160002081905550611fbe60008583611c45565b5050505050565b6000806000841415611fda5760009150611ff9565b8284029050828482811515611feb57fe5b04141515611ff557fe5b8091505b5092915050565b600080828481151561200e57fe5b0490508091505092915050565b600082821115151561202957fe5b818303905092915050565b602060405190810160405280600081525090565b602060405190810160405280600081525090565b602060405190810160405280612070612122565b81525090565b81548183558181151161209d5781836000526020600020918201910161209c9190612136565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106120e357805160ff1916838001178555612111565b82800160010185558215612111579182015b828111156121105782518255916020019190600101906120f5565b5b50905061211e9190612165565b5090565b602060405190810160405280600081525090565b61216291905b8082111561215e5760008082016000612155919061218a565b5060010161213c565b5090565b90565b61218791905b8082111561218357600081600090555060010161216b565b5090565b90565b50805460018160011615610100020316600290046000825580601f106121b057506121cf565b601f0160209004906000526020600020908101906121ce9190612165565b5b505600a165627a7a72305820e13019ebec24be04530c97b83c9fac955b674334cf3790d6d4a9d623c569d9350029

Deployed Bytecode

0x60606040526004361061015f576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806305e455461461016457806306fdde031461018d578063095ea7b31461021b5780630a0f81681461025d5780630b7e9c44146102b25780631051db34146102eb57806318160ddd1461031857806323b872dd1461034157806327d7874c146103a25780632ba73c15146103db5780633dea6b9a146104145780636352211e146104f157806370a08231146105545780638462151c146105a157806395d89b411461062f5780639e5adf8e146106bd578063a3f4df7e14610742578063a7071d01146107d0578063a9059cbb14610833578063aeb8184114610875578063b047fb5014610924578063b2e6ceeb14610979578063b67efa5b1461099c578063b9186d7d146109f9578063deffbb2014610a30578063efef39a114610a93578063f76f8d7814610aab575b600080fd5b341561016f57600080fd5b610177610b39565b6040518082815260200191505060405180910390f35b341561019857600080fd5b6101a0610b3f565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101e05780820151818401526020810190506101c5565b50505050905090810190601f16801561020d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561022657600080fd5b61025b600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610b82565b005b341561026857600080fd5b610270610c52565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156102bd57600080fd5b6102e9600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610c78565b005b34156102f657600080fd5b6102fe610d38565b604051808215151515815260200191505060405180910390f35b341561032357600080fd5b61032b610d41565b6040518082815260200191505060405180910390f35b341561034c57600080fd5b6103a0600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610d4e565b005b34156103ad57600080fd5b6103d9600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610d9c565b005b34156103e657600080fd5b610412600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610e78565b005b341561041f57600080fd5b6104356004808035906020019091905050610f54565b60405180858152602001806020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825285818151815260200191508051906020019080838360005b838110156104b3578082015181840152602081019050610498565b50505050905090810190601f1680156104e05780820380516001836020036101000a031916815260200191505b509550505050505060405180910390f35b34156104fc57600080fd5b6105126004808035906020019091905050611075565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561055f57600080fd5b61058b600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506110ee565b6040518082815260200191505060405180910390f35b34156105ac57600080fd5b6105d8600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611137565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561061b578082015181840152602081019050610600565b505050509050019250505060405180910390f35b341561063a57600080fd5b61064261126e565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610682578082015181840152602081019050610667565b50505050905090810190601f1680156106af5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156106c857600080fd5b610740600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919080359060200190919050506112b1565b005b341561074d57600080fd5b6107556113b2565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561079557808201518184015260208101905061077a565b50505050905090810190601f1680156107c25780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156107db57600080fd5b6107f160048080359060200190919050506113eb565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561083e57600080fd5b610873600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061141e565b005b341561088057600080fd5b6108cd600480803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091905050611456565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156109105780820151818401526020810190506108f5565b505050509050019250505060405180910390f35b341561092f57600080fd5b6109376114ea565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561098457600080fd5b61099a6004808035906020019091905050611510565b005b34156109a757600080fd5b6109f7600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050611585565b005b3415610a0457600080fd5b610a1a60048080359060200190919050506115f1565b6040518082815260200191505060405180910390f35b3415610a3b57600080fd5b610a51600480803590602001909190505061160e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610aa96004808035906020019091905050611641565b005b3415610ab657600080fd5b610abe6119ed565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610afe578082015181840152602081019050610ae3565b50505050905090810190601f168015610b2b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b60095481565b610b47612034565b6040805190810160405280600b81526020017f43727970746f4d656d6573000000000000000000000000000000000000000000815250905090565b610b8c3382611a26565b1515610b9757600080fd5b816005600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a35050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610d215750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515610d2c57600080fd5b610d3581611a92565b50565b60006001905090565b6000600a80549050905090565b610d588382611a26565b1515610d6357600080fd5b610d6d8282611ba0565b1515610d7857600080fd5b610d8182611c0c565b1515610d8c57600080fd5b610d97838383611c45565b505050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610df857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610e3457600080fd5b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610ed457600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610f1057600080fd5b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000610f5e612034565b6000806000600a86815481101515610f7257fe5b90600052602060002090019050859450806000018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561101a5780601f10610fef5761010080835404028352916020019161101a565b820191906000526020600020905b815481529060010190602001808311610ffd57829003601f168201915b50505050509350600660008781526020019081526020016000205492506003600087815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150509193509193565b60006003600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156110e957600080fd5b919050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61113f612048565b6000611149612048565b6000806000611157876110ee565b945060008514156111895760006040518059106111715750595b90808252806020026020018201604052509550611264565b846040518059106111975750595b908082528060200260200182016040525093506111b2610d41565b925060009150600090505b8281111515611260578673ffffffffffffffffffffffffffffffffffffffff166003600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156112535780848381518110151561123c57fe5b906020019060200201818152505081806001019250505b80806001019150506111bd565b8395505b5050505050919050565b611276612034565b6040805190810160405280600981526020017f4d656d65546f6b656e0000000000000000000000000000000000000000000000815250905090565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561130f57600080fd5b61138860095410151561132157600080fd5b839050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561137f57600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505b60008211151561138f5760005491505b6009600081548092919060010191905055506113ac838284611e47565b50505050565b6040805190810160405280600b81526020017f43727970746f4d656d657300000000000000000000000000000000000000000081525081565b60056020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6114283382611a26565b151561143357600080fd5b61143c82611c0c565b151561144757600080fd5b611452338383611c45565b5050565b61145e612048565b6000825160405180591061146f5750595b90808252806020026020018201604052509150600090505b82518110156114e4576006600084838151811015156114a257fe5b9060200190602002015181526020019081526020016000205482828151811015156114c957fe5b90602001906020020181815250508080600101915050611487565b50919050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000803391506003600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905061155582611c0c565b151561156057600080fd5b61156a8284611ba0565b151561157557600080fd5b611580818385611c45565b505050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156115e157600080fd5b6115ee8130600054611e47565b50565b600060066000838152602001908152602001600020549050919050565b60036020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060008060006003600087815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169450339350600660008781526020019081526020016000205492508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141515156116d357600080fd5b6116dc84611c0c565b15156116e757600080fd5b8234101515156116f657600080fd5b61170b61170484605e611fc5565b6064612000565b9150611717348461201b565b9050600154831015611754576117386117318460c8611fc5565b605e612000565b60066000888152602001908152602001600020819055506117bd565b60025483101561178f5761177361176c846078611fc5565b605e612000565b60066000888152602001908152602001600020819055506117bc565b6117a461179d846073611fc5565b605e612000565b60066000888152602001908152602001600020819055505b5b6117c8858588611c45565b3073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614151561183e578473ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050151561183d57600080fd5b5b7e8201e7bcbf010c2c07de59d6e97cb7e3cf67a46125c49cbc89b9d2cde1f48f8684600660008a8152602001908152602001600020548888600a8c81548110151561188557fe5b9060005260206000209001600001604051808781526020018681526020018581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001806020018281038252838181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156119925780601f1061196757610100808354040283529160200191611992565b820191906000526020600020905b81548152906001019060200180831161197557829003601f168201915b505097505050505050505060405180910390a13373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015156119e557600080fd5b505050505050565b6040805190810160405280600981526020017f4d656d65546f6b656e000000000000000000000000000000000000000000000081525081565b60006003600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611b4557600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f193505050501515611b4057600080fd5b611b9d565b8073ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f193505050501515611b9c57600080fd5b5b50565b60008273ffffffffffffffffffffffffffffffffffffffff166005600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001019190505550816003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515611da357600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001900391905055506005600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690555b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef838383604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390a1505050565b611e4f61205c565b60006020604051908101604052808681525091506001600a8054806001018281611e799190612076565b916000526020600020900160008590919091506000820151816000019080519060200190611ea89291906120a2565b5050500390508063ffffffff1681141515611ec257600080fd5b7fb3b0cf861f168bcdb275c69da97b2543631552ba562628aa3c7317d4a6089ef281868660405180848152602001806020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825284818151815260200191508051906020019080838360005b83811015611f5e578082015181840152602081019050611f43565b50505050905090810190601f168015611f8b5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a1826006600083815260200190815260200160002081905550611fbe60008583611c45565b5050505050565b6000806000841415611fda5760009150611ff9565b8284029050828482811515611feb57fe5b04141515611ff557fe5b8091505b5092915050565b600080828481151561200e57fe5b0490508091505092915050565b600082821115151561202957fe5b818303905092915050565b602060405190810160405280600081525090565b602060405190810160405280600081525090565b602060405190810160405280612070612122565b81525090565b81548183558181151161209d5781836000526020600020918201910161209c9190612136565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106120e357805160ff1916838001178555612111565b82800160010185558215612111579182015b828111156121105782518255916020019190600101906120f5565b5b50905061211e9190612165565b5090565b602060405190810160405280600081525090565b61216291905b8082111561215e5760008082016000612155919061218a565b5060010161213c565b5090565b90565b61218791905b8082111561218357600081600090555060010161216b565b5090565b90565b50805460018160011615610100020316600290046000825580601f106121b057506121cf565b601f0160209004906000526020600020908101906121ce9190612165565b5b505600a165627a7a72305820e13019ebec24be04530c97b83c9fac955b674334cf3790d6d4a9d623c569d9350029

Swarm Source

bzzr://e13019ebec24be04530c97b83c9fac955b674334cf3790d6d4a9d623c569d935

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
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.