ETH Price: $3,127.30 (-2.66%)
 

Overview

ETH Balance

2.928812735 ETH

Eth Value

$9,159.28 (@ $3,127.30/ETH)

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Create Sketch182807782023-10-05 0:37:35482 days ago1696466255IN
CryptoSketches: S̈ Token
0.01 ETH0.00378916.33155074
Withdraw175055862023-06-18 8:49:47590 days ago1687078187IN
CryptoSketches: S̈ Token
0 ETH0.0004274214.96846815
Offer Sketch For...160337952022-11-23 16:09:11797 days ago1669219751IN
CryptoSketches: S̈ Token
0 ETH0.0014163617.69124887
Sketch No Longer...160337842022-11-23 16:06:59797 days ago1669219619IN
CryptoSketches: S̈ Token
0 ETH0.0006459617.99452808
Offer Sketch For...155664122022-09-19 8:35:59862 days ago1663576559IN
CryptoSketches: S̈ Token
0 ETH0.000396874.95793244
Sketch No Longer...155664002022-09-19 8:33:35862 days ago1663576415IN
CryptoSketches: S̈ Token
0 ETH0.000154394.30202712
Create Sketch155464012022-09-16 13:13:35865 days ago1663334015IN
CryptoSketches: S̈ Token
0.01 ETH0.002069287.84093481
Sketch No Longer...144641022022-03-26 20:58:101039 days ago1648328290IN
CryptoSketches: S̈ Token
0 ETH0.0010591829.50531723
Create Sketch143881622022-03-15 1:04:391051 days ago1647306279IN
CryptoSketches: S̈ Token
0.01 ETH0.0117124722.84460081
Create Sketch143781542022-03-13 11:53:221052 days ago1647172402IN
CryptoSketches: S̈ Token
0.01 ETH0.006074511.10432033
Offer Sketch For...143757252022-03-13 2:28:251053 days ago1647138505IN
CryptoSketches: S̈ Token
0 ETH0.002492731.14016901
Sketch No Longer...143757082022-03-13 2:24:301053 days ago1647138270IN
CryptoSketches: S̈ Token
0 ETH0.0011869233.06383071
Withdraw140058182022-01-14 20:36:471110 days ago1642192607IN
CryptoSketches: S̈ Token
0 ETH0.00425154148.8898163
Offer Sketch For...139858122022-01-11 18:12:141113 days ago1641924734IN
CryptoSketches: S̈ Token
0 ETH0.01263344157.82338693
Sketch No Longer...139857972022-01-11 18:10:241113 days ago1641924624IN
CryptoSketches: S̈ Token
0 ETH0.00806264224.59863001
Create Sketch139820402022-01-11 4:22:301114 days ago1641874950IN
CryptoSketches: S̈ Token
0.01 ETH0.01915029137.30567972
Create Sketch139820352022-01-11 4:21:361114 days ago1641874896IN
CryptoSketches: S̈ Token
0.01 ETH0.01885434135.35843788
Create Sketch139820302022-01-11 4:20:491114 days ago1641874849IN
CryptoSketches: S̈ Token
0.01 ETH0.03547958171.30793517
Create Sketch139820112022-01-11 4:16:541114 days ago1641874614IN
CryptoSketches: S̈ Token
0.01 ETH0.02344264127.18448251
Create Sketch139820052022-01-11 4:15:451114 days ago1641874545IN
CryptoSketches: S̈ Token
0.01 ETH0.08979773157.56033602
Buy Sketch138238452021-12-17 17:00:591138 days ago1639760459IN
CryptoSketches: S̈ Token
1.5 ETH0.0074357671.81468572
Create Sketch138191822021-12-16 23:40:581139 days ago1639698058IN
CryptoSketches: S̈ Token
0.01 ETH0.0377616489.36609419
Offer Sketch For...138158632021-12-16 11:08:341139 days ago1639652914IN
CryptoSketches: S̈ Token
0 ETH0.0053721844.82049684
Create Sketch138157672021-12-16 10:47:481139 days ago1639651668IN
CryptoSketches: S̈ Token
0.01 ETH0.0183971650.28637064
Create Sketch138157562021-12-16 10:44:301139 days ago1639651470IN
CryptoSketches: S̈ Token
0.01 ETH0.0110203545.68932495
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
175055862023-06-18 8:49:47590 days ago1687078187
CryptoSketches: S̈ Token
0.520875 ETH
140058182022-01-14 20:36:471110 days ago1642192607
CryptoSketches: S̈ Token
1.44375 ETH
134825832021-10-24 21:38:341192 days ago1635111514
CryptoSketches: S̈ Token
0.9625 ETH
133122112021-09-28 4:40:501219 days ago1632804050
CryptoSketches: S̈ Token
0.05 ETH
132496792021-09-18 12:34:191228 days ago1631968459
CryptoSketches: S̈ Token
0.1 ETH
131264442021-08-30 10:59:101247 days ago1630321150
CryptoSketches: S̈ Token
0.15 ETH
131264112021-08-30 10:52:421247 days ago1630320762
CryptoSketches: S̈ Token
0.008 ETH
131178262021-08-29 2:53:481249 days ago1630205628
CryptoSketches: S̈ Token
0.008 ETH
130996442021-08-26 7:29:321251 days ago1629962972
CryptoSketches: S̈ Token
0.15 ETH
130995832021-08-26 7:17:581251 days ago1629962278
CryptoSketches: S̈ Token
0.03 ETH
130317122021-08-15 19:39:391262 days ago1629056379
CryptoSketches: S̈ Token
0.40484166 ETH
130317122021-08-15 19:39:391262 days ago1629056379
CryptoSketches: S̈ Token
1 ETH
130316962021-08-15 19:36:561262 days ago1629056216
CryptoSketches: S̈ Token
2 ETH
130268652021-08-15 1:37:131263 days ago1628991433
CryptoSketches: S̈ Token
1 ETH
130264992021-08-15 0:08:451263 days ago1628986125
CryptoSketches: S̈ Token
1 ETH
130254262021-08-14 20:23:131263 days ago1628972593
CryptoSketches: S̈ Token
5 ETH
130218082021-08-14 7:04:011263 days ago1628924641
CryptoSketches: S̈ Token
4.8125 ETH
130204532021-08-14 1:49:271264 days ago1628905767
CryptoSketches: S̈ Token
0.15 ETH
130204512021-08-14 1:48:571264 days ago1628905737
CryptoSketches: S̈ Token
0.125 ETH
130191932021-08-13 21:08:321264 days ago1628888912
CryptoSketches: S̈ Token
1 ETH
130112452021-08-12 15:46:471265 days ago1628783207
CryptoSketches: S̈ Token
0.09625 ETH
130023692021-08-11 6:46:561266 days ago1628664416
CryptoSketches: S̈ Token
0.11 ETH
130023432021-08-11 6:40:351266 days ago1628664035
CryptoSketches: S̈ Token
0.11 ETH
130001262021-08-10 22:20:011267 days ago1628634001
CryptoSketches: S̈ Token
0.2 ETH
120808882021-03-21 7:52:371409 days ago1616313157
CryptoSketches: S̈ Token
0.048125 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
SketchMarket

Compiler Version
v0.4.18+commit.9cf6e910

Optimization Enabled:
Yes with 200 runs

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

pragma solidity 0.4.18;

/*

  Sketches:
  - can be created
  - can be traded: you make a bid, the other party can accept or you can withdraw the bid
  - can not be destroyed

*/

contract Ownable {
  address public owner;


  function Ownable() public {
    owner = msg.sender;
  }


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

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

}


contract SketchMarket is Ownable {
  // ERC-20 compatibility {
  string public standard = "CryptoSketches";
  string public name;
  string public symbol;
  uint8 public decimals;
  uint256 public totalSupply;

  mapping (address => uint256) public balanceOf;

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

  // Sketch storage {
  mapping(uint256 => string)  public sketchIndexToName;
  mapping(uint256 => string)  public sketchIndexToData;
  mapping(uint256 => address) public sketchIndexToHolder;
  mapping(uint256 => address) public sketchIndexToAuthor;
  mapping(uint256 => uint8)   public sketchIndexToOwnerFlag;

  mapping(address => uint256) public sketchAuthorCount;

  event SketchCreated(address indexed author, uint256 indexed sketchIndex);
  // }

  // Sketch trading {

  // Cut owner takes on each auction, measured in basis points (1/100 of a percent).
  // Values 0-10,000 map to 0%-100%
  uint256 public ownerCut;

  // Amount owner takes on each submission, measured in Wei.
  uint256 public listingFeeInWei;

  mapping (uint256 => Offer) public sketchIndexToOffer;
  mapping (uint256 => Bid) public sketchIndexToHighestBid;
  mapping (address => uint256) public accountToWithdrawableValue;

  event SketchTransfer(uint256 indexed sketchIndex, address indexed fromAddress, address indexed toAddress);
  event SketchOffered(uint256 indexed sketchIndex, uint256 minValue, address indexed toAddress);
  event SketchBidEntered(uint256 indexed sketchIndex, uint256 value, address indexed fromAddress);
  event SketchBidWithdrawn(uint256 indexed sketchIndex, uint256 value, address indexed fromAddress);
  event SketchBought(uint256 indexed sketchIndex, uint256 value, address indexed fromAddress, address indexed toAddress);
  event SketchNoLongerForSale(uint256 indexed sketchIndex);

  struct Offer {
    bool isForSale;
    uint256 sketchIndex;
    address seller;
    uint256 minValue;   // ETH
    address onlySellTo; // require a specific seller address
  }

  struct Bid {
    bool hasBid;
    uint256 sketchIndex;
    address bidder;
    uint256 value;
  }
  // }

  // -- Constructor (see also: Ownable)

  function SketchMarket() public payable {
    // ERC-20 token
    totalSupply = 0;
    name = "CRYPTOSKETCHES";
    symbol = "S̈";
    decimals = 0; // whole number; number of sketches owned

    // Trading parameters
    ownerCut = 375; // 3.75% cut to auctioneer
    listingFeeInWei = 5000000000000000; // 0.005 ETH, to discourage spam
  }

  function setOwnerCut(uint256 _ownerCut) external onlyOwner {
    require(_ownerCut == uint256(uint16(_ownerCut)));
    require(_ownerCut <= 10000);
    ownerCut = _ownerCut;
  }

  function setListingFeeInWei(uint256 _listingFeeInWei) external onlyOwner {
    require(_listingFeeInWei == uint256(uint128(_listingFeeInWei))); // length check
    listingFeeInWei = _listingFeeInWei;
  }

  // -- Creation and fetching methods

  function createSketch(string _name, string _data) external payable {
    require(msg.value == listingFeeInWei);
    require(bytes(_name).length < 256);     // limit name byte size to 255
    require(bytes(_data).length < 1048576); // limit drawing byte size to 1,048,576

    accountToWithdrawableValue[owner] += msg.value; // auctioneer gets paid

    sketchIndexToHolder[totalSupply] = msg.sender;
    sketchIndexToAuthor[totalSupply] = msg.sender;
    sketchAuthorCount[msg.sender]++;

    sketchIndexToName[totalSupply] = _name;
    sketchIndexToData[totalSupply] = _data;

    balanceOf[msg.sender]++;

    SketchCreated(msg.sender, totalSupply);

    totalSupply++;
  }

  function setOwnerFlag(uint256 index, uint8 _ownerFlag) external onlyOwner {
    sketchIndexToOwnerFlag[index] = _ownerFlag;
  }

  function getSketch(uint256 index) external view returns (string _name, string _data, address _holder, address _author, uint8 _ownerFlag, uint256 _highestBidValue, uint256 _offerMinValue) {
    require(totalSupply != 0);
    require(index < totalSupply);

    _name = sketchIndexToName[index];
    _data = sketchIndexToData[index];
    _holder = sketchIndexToHolder[index];
    _author = sketchIndexToAuthor[index];
    _ownerFlag = sketchIndexToOwnerFlag[index];
    _highestBidValue = sketchIndexToHighestBid[index].value;
    _offerMinValue = sketchIndexToOffer[index].minValue;
  }

  function getBidCountForSketchesWithHolder(address _holder) external view returns (uint256) {
    uint256 count = balanceOf[_holder];

    if (count == 0) {
      return 0;
    } else {
      uint256 result = 0;
      uint256 totalCount = totalSupply;
      uint256 sketchIndex;

      for (sketchIndex = 0; sketchIndex <= totalCount; sketchIndex++) {
        if ((sketchIndexToHolder[sketchIndex] == _holder) && sketchIndexToHighestBid[sketchIndex].hasBid) {
          result++;
        }
      }
      return result;
    }
  }

  function getSketchesOnOffer() external view returns (uint256[]) {
    if (totalSupply == 0) {
      return new uint256[](0);
    }

    uint256 count = 0;
    uint256 totalCount = totalSupply;
    uint256 sketchIndex;

    for (sketchIndex = 0; sketchIndex <= totalCount; sketchIndex++) {
      if (sketchIndexToOffer[sketchIndex].isForSale) {
        count++;
      }
    }

    if (count == 0) {
      return new uint256[](0);
    }

    uint256[] memory result = new uint256[](count);
    uint256 resultIndex = 0;

    for (sketchIndex = 0; sketchIndex <= totalCount; sketchIndex++) {
      if (sketchIndexToOffer[sketchIndex].isForSale) {
        result[resultIndex] = sketchIndex;
        resultIndex++;
      }
    }
    return result;
  }

  function getSketchesOnOfferWithHolder(address _holder) external view returns (uint256[]) {
    if (totalSupply == 0) {
      return new uint256[](0);
    }

    uint256 count = 0;
    uint256 totalCount = totalSupply;
    uint256 sketchIndex;

    for (sketchIndex = 0; sketchIndex <= totalCount; sketchIndex++) {
      if (sketchIndexToOffer[sketchIndex].isForSale && (sketchIndexToHolder[sketchIndex] == _holder)) {
        count++;
      }
    }

    if (count == 0) {
      return new uint256[](0);
    }

    uint256[] memory result = new uint256[](count);
    uint256 resultIndex = 0;

    for (sketchIndex = 0; sketchIndex <= totalCount; sketchIndex++) {
      if (sketchIndexToOffer[sketchIndex].isForSale && (sketchIndexToHolder[sketchIndex] == _holder)) {
        result[resultIndex] = sketchIndex;
        resultIndex++;
      }
    }
    return result;
  }

  function getSketchesWithHolder(address _holder) external view returns (uint256[]) {
    uint256 count = balanceOf[_holder];

    if (count == 0) {
      return new uint256[](0);
    } else {
      uint256[] memory result = new uint256[](count);
      uint256 totalCount = totalSupply;
      uint256 resultIndex = 0;
      uint256 sketchIndex;

      for (sketchIndex = 0; sketchIndex <= totalCount; sketchIndex++) {
        if (sketchIndexToHolder[sketchIndex] == _holder) {
          result[resultIndex] = sketchIndex;
          resultIndex++;
        }
      }
      return result;
    }
  }

  function getSketchesWithAuthor(address _author) external view returns (uint256[]) {
    uint256 count = sketchAuthorCount[_author];

    if (count == 0) {
      return new uint256[](0);      
    } else {
      uint256[] memory result = new uint256[](count);
      uint256 totalCount = totalSupply;
      uint256 resultIndex = 0;
      uint256 sketchIndex;

      for (sketchIndex = 0; sketchIndex <= totalCount; sketchIndex++) {
        if (sketchIndexToAuthor[sketchIndex] == _author) {
          result[resultIndex] = sketchIndex;
          resultIndex++;
        }
      }
      return result;
    }
  }

  // -- Trading methods

  modifier onlyHolderOf(uint256 sketchIndex) {
    require(totalSupply != 0);
    require(sketchIndex < totalSupply);
    require(sketchIndexToHolder[sketchIndex] == msg.sender);
    _;
 }

  // Transfer holdership without requiring payment
  function transferSketch(address to, uint256 sketchIndex) external onlyHolderOf(sketchIndex) {
    require(to != address(0));
    require(balanceOf[msg.sender] > 0);

    if (sketchIndexToOffer[sketchIndex].isForSale) {
      sketchNoLongerForSale(sketchIndex); // remove the offer
    }

    sketchIndexToHolder[sketchIndex] = to;
    balanceOf[msg.sender]--;
    balanceOf[to]++;

    Transfer(msg.sender, to, 1); // ERC-20
    SketchTransfer(sketchIndex, msg.sender, to);

    // If the recipient had bid for the Sketch, remove the bid and make it possible to refund its value
    Bid storage bid = sketchIndexToHighestBid[sketchIndex];
    if (bid.bidder == to) {
        accountToWithdrawableValue[to] += bid.value;
        sketchIndexToHighestBid[sketchIndex] = Bid(false, sketchIndex, 0x0, 0);
    }
  }

  // Withdraw Sketch from sale (NOTE: does not cancel bids, since bids must be withdrawn manually by bidders)
  function sketchNoLongerForSale(uint256 _sketchIndex) public onlyHolderOf(_sketchIndex) {
    sketchIndexToOffer[_sketchIndex] = Offer(false, _sketchIndex, msg.sender, 0, 0x0);
    SketchNoLongerForSale(_sketchIndex);
  }

  // Place a Sketch up for sale, to any buyer
  function offerSketchForSale(uint256 _sketchIndex, uint256 _minSalePriceInWei) public onlyHolderOf(_sketchIndex) {
    sketchIndexToOffer[_sketchIndex] = Offer(true, _sketchIndex, msg.sender, _minSalePriceInWei, 0x0);
    SketchOffered(_sketchIndex, _minSalePriceInWei, 0x0);
  }

  // Place a Sketch up for sale, but only to a specific buyer
  function offerSketchForSaleToAddress(uint256 _sketchIndex, uint256 _minSalePriceInWei, address _toAddress) public onlyHolderOf(_sketchIndex) {
    require(_toAddress != address(0));
    require(_toAddress != msg.sender);

    sketchIndexToOffer[_sketchIndex] = Offer(true, _sketchIndex, msg.sender, _minSalePriceInWei, _toAddress);
    SketchOffered(_sketchIndex, _minSalePriceInWei, _toAddress);
  }

  // Accept a bid for a Sketch that you own, receiving the amount for withdrawal at any time - note minPrice safeguard!
  function acceptBidForSketch(uint256 sketchIndex, uint256 minPrice) public onlyHolderOf(sketchIndex) {
    address seller = msg.sender;    
    require(balanceOf[seller] > 0);

    Bid storage bid = sketchIndexToHighestBid[sketchIndex];
    uint256 price = bid.value;
    address bidder = bid.bidder;

    require(price > 0);
    require(price == uint256(uint128(price))); // length check for computeCut(...)
    require(minPrice == uint256(uint128(minPrice))); // length check for computeCut(...)
    require(price >= minPrice); // you may be accepting a different bid than you think, but its value will be at least as high

    sketchIndexToHolder[sketchIndex] = bidder; // transfer actual holdership!
    balanceOf[seller]--; // update balances
    balanceOf[bidder]++;
    Transfer(seller, bidder, 1);

    sketchIndexToOffer[sketchIndex] = Offer(false, sketchIndex, bidder, 0, 0x0); // remove the offer    
    sketchIndexToHighestBid[sketchIndex] = Bid(false, sketchIndex, 0x0, 0); // remove the bid

    uint256 ownerProceeds = computeCut(price);
    uint256 holderProceeds = price - ownerProceeds;

    accountToWithdrawableValue[seller] += holderProceeds; // make profit available to seller for withdrawal
    accountToWithdrawableValue[owner] += ownerProceeds;   // make cut available to auctioneer for withdrawal

    SketchBought(sketchIndex, price, seller, bidder); // note that SketchNoLongerForSale event will not be fired
  }

  // Buy a Sketch that's up for sale now, provided you've matched the Offer price and it's not on offer to a specific buyer
  function buySketch(uint256 sketchIndex) external payable {      
    Offer storage offer = sketchIndexToOffer[sketchIndex];
    uint256 messageValue = msg.value;

    require(totalSupply != 0);
    require(sketchIndex < totalSupply);
    require(offer.isForSale);
    require(offer.onlySellTo == 0x0 || offer.onlySellTo == msg.sender);
    require(messageValue >= offer.minValue);
    require(messageValue == uint256(uint128(messageValue))); // length check for computeCut(...)
    require(offer.seller == sketchIndexToHolder[sketchIndex]); // the holder may have changed since an Offer was last put up

    address holder = offer.seller;
    require(balanceOf[holder] > 0);

    sketchIndexToHolder[sketchIndex] = msg.sender; // transfer actual holdership!
    balanceOf[holder]--; // update balances
    balanceOf[msg.sender]++;
    Transfer(holder, msg.sender, 1);

    sketchNoLongerForSale(sketchIndex); // remove the offer

    uint256 ownerProceeds = computeCut(messageValue);
    uint256 holderProceeds = messageValue - ownerProceeds;

    accountToWithdrawableValue[owner] += ownerProceeds;
    accountToWithdrawableValue[holder] += holderProceeds;

    SketchBought(sketchIndex, messageValue, holder, msg.sender);

    // Refund any bid the new buyer had placed for this Sketch.
    // Other bids have to stay put for continued consideration or until their values have been withdrawn.
    Bid storage bid = sketchIndexToHighestBid[sketchIndex];
    if (bid.bidder == msg.sender) {
        accountToWithdrawableValue[msg.sender] += bid.value;
        sketchIndexToHighestBid[sketchIndex] = Bid(false, sketchIndex, 0x0, 0); // remove the bid
    }
  }

  // Withdraw any value owed to:
  // (a) a buyer that withdraws their bid or invalidates it by purchasing a Sketch outright for its asking price
  // (b) a seller owed funds from the sale of a Sketch
  function withdraw() external {
      uint256 amount = accountToWithdrawableValue[msg.sender];
      // Zero the pending refund before transferring to prevent re-entrancy attacks
      accountToWithdrawableValue[msg.sender] = 0;
      msg.sender.transfer(amount);
  }

  // Enter a bid, regardless of whether the Sketch holder wishes to sell or not
  function enterBidForSketch(uint256 sketchIndex) external payable {
      require(totalSupply != 0);
      require(sketchIndex < totalSupply);
      require(sketchIndexToHolder[sketchIndex] != 0x0); // can't bid on "non-owned" Sketch (theoretically impossible anyway)
      require(sketchIndexToHolder[sketchIndex] != msg.sender); // can't bid on a Sketch that you own

      uint256 price = msg.value; // in wei

      require(price > 0); // can't bid zero
      require(price == uint256(uint128(price))); // length check for computeCut(...)      

      Bid storage existing = sketchIndexToHighestBid[sketchIndex];

      require(price > existing.value); // can't bid less than highest bid

      if (existing.value > 0) {
          // Place the amount from the previous highest bid into escrow for withdrawal at any time
          accountToWithdrawableValue[existing.bidder] += existing.value;
      }
      sketchIndexToHighestBid[sketchIndex] = Bid(true, sketchIndex, msg.sender, price);

      SketchBidEntered(sketchIndex, price, msg.sender);
  }

  function withdrawBidForSketch(uint256 sketchIndex) public {
    require(totalSupply != 0);
    require(sketchIndex < totalSupply);
    require(sketchIndexToHolder[sketchIndex] != 0x0); // can't bid on "non-owned" Sketch (theoretically impossible anyway)
    require(sketchIndexToHolder[sketchIndex] != msg.sender); // can't withdraw a bid for a Sketch that you own
      
    Bid storage bid = sketchIndexToHighestBid[sketchIndex];
    require(bid.bidder == msg.sender); // it has to be your bid

    SketchBidWithdrawn(sketchIndex, bid.value, msg.sender);

    uint256 amount = bid.value;
    sketchIndexToHighestBid[sketchIndex] = Bid(false, sketchIndex, 0x0, 0);

    // Refund the bid money directly
    msg.sender.transfer(amount);
  }

  function computeCut(uint256 price) internal view returns (uint256) {
    // NOTE: We don't use SafeMath (or similar) in this function because
    //  all of our entry functions carefully cap the maximum values for
    //  currency (at 128-bits), and ownerCut <= 10000. The result of this
    //  function is always guaranteed to be <= _price.
    return price * ownerCut / 10000;
  }

}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_listingFeeInWei","type":"uint256"}],"name":"setListingFeeInWei","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"sketchIndexToHolder","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"sketchIndexToHighestBid","outputs":[{"name":"hasBid","type":"bool"},{"name":"sketchIndex","type":"uint256"},{"name":"bidder","type":"address"},{"name":"value","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"standard","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getSketchesOnOffer","outputs":[{"name":"","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"sketchIndex","type":"uint256"},{"name":"minPrice","type":"uint256"}],"name":"acceptBidForSketch","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"listingFeeInWei","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_ownerCut","type":"uint256"}],"name":"setOwnerCut","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"ownerCut","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_holder","type":"address"}],"name":"getSketchesOnOfferWithHolder","outputs":[{"name":"","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"sketchIndex","type":"uint256"}],"name":"enterBidForSketch","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"sketchIndexToOwnerFlag","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"sketchIndex","type":"uint256"}],"name":"withdrawBidForSketch","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"sketchIndexToName","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_sketchIndex","type":"uint256"},{"name":"_minSalePriceInWei","type":"uint256"},{"name":"_toAddress","type":"address"}],"name":"offerSketchForSaleToAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"accountToWithdrawableValue","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_sketchIndex","type":"uint256"}],"name":"sketchNoLongerForSale","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"sketchIndexToAuthor","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"sketchIndexToOffer","outputs":[{"name":"isForSale","type":"bool"},{"name":"sketchIndex","type":"uint256"},{"name":"seller","type":"address"},{"name":"minValue","type":"uint256"},{"name":"onlySellTo","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_holder","type":"address"}],"name":"getBidCountForSketchesWithHolder","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_author","type":"address"}],"name":"getSketchesWithAuthor","outputs":[{"name":"","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_sketchIndex","type":"uint256"},{"name":"_minSalePriceInWei","type":"uint256"}],"name":"offerSketchForSale","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"index","type":"uint256"},{"name":"_ownerFlag","type":"uint8"}],"name":"setOwnerFlag","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"sketchIndexToData","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"sketchIndex","type":"uint256"}],"name":"transferSketch","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"index","type":"uint256"}],"name":"getSketch","outputs":[{"name":"_name","type":"string"},{"name":"_data","type":"string"},{"name":"_holder","type":"address"},{"name":"_author","type":"address"},{"name":"_ownerFlag","type":"uint8"},{"name":"_highestBidValue","type":"uint256"},{"name":"_offerMinValue","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"sketchAuthorCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_holder","type":"address"}],"name":"getSketchesWithHolder","outputs":[{"name":"","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"sketchIndex","type":"uint256"}],"name":"buySketch","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"_name","type":"string"},{"name":"_data","type":"string"}],"name":"createSketch","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"inputs":[],"payable":true,"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"author","type":"address"},{"indexed":true,"name":"sketchIndex","type":"uint256"}],"name":"SketchCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"sketchIndex","type":"uint256"},{"indexed":true,"name":"fromAddress","type":"address"},{"indexed":true,"name":"toAddress","type":"address"}],"name":"SketchTransfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"sketchIndex","type":"uint256"},{"indexed":false,"name":"minValue","type":"uint256"},{"indexed":true,"name":"toAddress","type":"address"}],"name":"SketchOffered","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"sketchIndex","type":"uint256"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":true,"name":"fromAddress","type":"address"}],"name":"SketchBidEntered","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"sketchIndex","type":"uint256"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":true,"name":"fromAddress","type":"address"}],"name":"SketchBidWithdrawn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"sketchIndex","type":"uint256"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":true,"name":"fromAddress","type":"address"},{"indexed":true,"name":"toAddress","type":"address"}],"name":"SketchBought","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"sketchIndex","type":"uint256"}],"name":"SketchNoLongerForSale","type":"event"}]

606060405260408051908101604052600e81527f43727970746f536b657463686573000000000000000000000000000000000000602082015260019080516200004d92916020019062000120565b5060008054600160a060020a03191633600160a060020a031617815560055560408051908101604052600e81527f43525950544f534b45544348455300000000000000000000000000000000000060208201526002908051620000b592916020019062000120565b506040805190810160405260038082527f53cc8800000000000000000000000000000000000000000000000000000000006020830152908051620000fe92916020019062000120565b506004805460ff19169055610177600d556611c37937e08000600e55620001c5565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200016357805160ff191683800117855562000193565b8280016001018555821562000193579182015b828111156200019357825182559160200191906001019062000176565b50620001a1929150620001a5565b5090565b620001c291905b80821115620001a15760008155600101620001ac565b90565b61252a80620001d56000396000f3006060604052600436106101d75763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146101dc57806313b6c8a81461026657806318160ddd1461027e5780631feee4fd146102a3578063313ce567146102d55780633ccfd60b146102fe57806348bf8f39146103115780635a3b7e421461035e5780635fb1f1d714610371578063648236e3146103d757806367e94ae0146103f057806370a0823114610403578063757de5731461042257806383b5ff8b146104385780638b2ad32e1461044b5780638b906ca51461046a5780638da5cb5b1461047557806392fe76481461048857806394a1d75c1461049e57806395d89b41146104b4578063a099e61a146104c7578063ae9dc04c146104dd578063b413519214610502578063b98e276914610521578063be4b102a14610537578063c40ee48b1461054d578063cf7f12ea146105a3578063cfdac910146105c2578063d1ea2786146105e1578063d2718fbe146105fa578063d67ca59c14610616578063d947c8d11461062c578063da323c941461064e578063e0df0e6a14610778578063e210150914610797578063f2fde38b146107b6578063f83d14e6146107d5578063fb84da41146107e0575b600080fd5b34156101e757600080fd5b6101ef6107ff565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561022b578082015183820152602001610213565b50505050905090810190601f1680156102585780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561027157600080fd5b61027c60043561089d565b005b341561028957600080fd5b6102916108db565b60405190815260200160405180910390f35b34156102ae57600080fd5b6102b96004356108e1565b604051600160a060020a03909116815260200160405180910390f35b34156102e057600080fd5b6102e86108fc565b60405160ff909116815260200160405180910390f35b341561030957600080fd5b61027c610905565b341561031c57600080fd5b610327600435610950565b60405193151584526020840192909252600160a060020a031660408084019190915260608301919091526080909101905180910390f35b341561036957600080fd5b6101ef610987565b341561037c57600080fd5b6103846109f2565b60405160208082528190810183818151815260200191508051906020019060200280838360005b838110156103c35780820151838201526020016103ab565b505050509050019250505060405180910390f35b34156103e257600080fd5b61027c600435602435610b20565b34156103fb57600080fd5b610291610e4c565b341561040e57600080fd5b610291600160a060020a0360043516610e52565b341561042d57600080fd5b61027c600435610e64565b341561044357600080fd5b610291610ea3565b341561045657600080fd5b610384600160a060020a0360043516610ea9565b61027c600435611023565b341561048057600080fd5b6102b96111d9565b341561049357600080fd5b6102e86004356111e8565b34156104a957600080fd5b61027c6004356111fd565b34156104bf57600080fd5b6101ef61138f565b34156104d257600080fd5b6101ef6004356113fa565b34156104e857600080fd5b61027c600435602435600160a060020a0360443516611477565b341561050d57600080fd5b610291600160a060020a03600435166115df565b341561052c57600080fd5b61027c6004356115f1565b341561054257600080fd5b6102b9600435611717565b341561055857600080fd5b610563600435611732565b60405194151585526020850193909352600160a060020a0391821660408086019190915260608501919091529116608083015260a0909101905180910390f35b34156105ae57600080fd5b610291600160a060020a0360043516611770565b34156105cd57600080fd5b610384600160a060020a0360043516611806565b34156105ec57600080fd5b61027c6004356024356118e8565b341561060557600080fd5b61027c60043560ff60243516611a1a565b341561062157600080fd5b6101ef600435611a57565b341561063757600080fd5b61027c600160a060020a0360043516602435611ad4565b341561065957600080fd5b610664600435611d0c565b604051600160a060020a0380871660408301528516606082015260ff8416608082015260a0810183905260c0810182905260e08082528190602082019082018a818151815260200191508051906020019080838360005b838110156106d35780820151838201526020016106bb565b50505050905090810190601f1680156107005780820380516001836020036101000a031916815260200191505b50838103825289818151815260200191508051906020019080838360005b8381101561073657808201518382015260200161071e565b50505050905090810190601f1680156107635780820380516001836020036101000a031916815260200191505b50995050505050505050505060405180910390f35b341561078357600080fd5b610291600160a060020a0360043516611eff565b34156107a257600080fd5b610384600160a060020a0360043516611f11565b34156107c157600080fd5b61027c600160a060020a0360043516611feb565b61027c60043561203d565b61027c602460048035828101929082013591813591820191013561231a565b60028054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108955780601f1061086a57610100808354040283529160200191610895565b820191906000526020600020905b81548152906001019060200180831161087857829003601f168201915b505050505081565b60005433600160a060020a039081169116146108b857600080fd5b6fffffffffffffffffffffffffffffffff811681146108d657600080fd5b600e55565b60055481565b600960205260009081526040902054600160a060020a031681565b60045460ff1681565b600160a060020a033316600081815260116020526040808220805492905590919082156108fc0290839051600060405180830381858888f19350505050151561094d57600080fd5b50565b601060205260009081526040902080546001820154600283015460039093015460ff909216929091600160a060020a039091169084565b60018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108955780601f1061086a57610100808354040283529160200191610895565b6109fa612451565b6000806000610a07612451565b600060055460001415610a3b576000604051805910610a235750595b90808252806020026020018201604052509550610b18565b600094506005549350600092505b838311610a79576000838152600f602052604090205460ff1615610a6e576001909401935b600190920191610a49565b841515610aa6576000604051805910610a2357505990808252806020026020018201604052509550610b18565b84604051805910610ab45750595b9080825280602002602001820160405250915060009050600092505b838311610b14576000838152600f602052604090205460ff1615610b095782828281518110610afb57fe5b602090810290910101526001015b600190920191610ad0565b8195505b505050505090565b60008060008060008087600554600014151515610b3c57600080fd5b6005548110610b4a57600080fd5b60008181526009602052604090205433600160a060020a03908116911614610b7157600080fd5b33600160a060020a0381166000908152600660205260408120549198509011610b9957600080fd5b6000898152601060205260408120600381015460028201549198509650600160a060020a031694508511610bcc57600080fd5b6fffffffffffffffffffffffffffffffff85168514610bea57600080fd5b6fffffffffffffffffffffffffffffffff88168814610c0857600080fd5b87851015610c1557600080fd5b60008981526009602090815260408083208054600160a060020a031916600160a060020a03898116918217909255908b168085526006909352818420805460001901905580845292819020805460019081019091557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef915190815260200160405180910390a360a06040519081016040908152600080835260208084018d9052600160a060020a0388168385015260608401829052608084018290528c8252600f9052208151815460ff1916901515178155602082015181600101556040820151600282018054600160a060020a031916600160a060020a03929092169190911790556060820151816003015560808201516004919091018054600160a060020a031916600160a060020a039092169190911790555060806040519081016040908152600080835260208084018d9052828401829052606084018290528c825260109052208151815460ff1916901515178155602082015181600101556040820151600282018054600160a060020a031916600160a060020a0392909216919091179055606082015160039091015550610dce85612445565b600160a060020a038089166000818152601160205260408082208054868c03908101909155825485168352918190208054860190559396509450908616918b907f78faa82aad88666af86f80c39b2e8c838fd1c3b02666408ac27daad30301b1509089905190815260200160405180910390a4505050505050505050565b600e5481565b60066020526000908152604090205481565b60005433600160a060020a03908116911614610e7f57600080fd5b61ffff81168114610e8f57600080fd5b612710811115610e9e57600080fd5b600d55565b600d5481565b610eb1612451565b6000806000610ebe612451565b600060055460001415610ef2576000604051805910610eda5750595b90808252806020026020018201604052509550611019565b600094506005549350600092505b838311610f55576000838152600f602052604090205460ff168015610f3e5750600083815260096020526040902054600160a060020a038881169116145b15610f4a576001909401935b600190920191610f00565b841515610f82576000604051805910610eda57505990808252806020026020018201604052509550611019565b84604051805910610f905750595b9080825280602002602001820160405250915060009050600092505b838311611015576000838152600f602052604090205460ff168015610fea5750600083815260096020526040902054600160a060020a038881169116145b1561100a5782828281518110610ffc57fe5b602090810290910101526001015b600190920191610fac565b8195505b5050505050919050565b6005546000908190151561103657600080fd5b600554831061104457600080fd5b600083815260096020526040902054600160a060020a0316151561106757600080fd5b60008381526009602052604090205433600160a060020a039081169116141561108f57600080fd5b3491506000821161109f57600080fd5b6fffffffffffffffffffffffffffffffff821682146110bd57600080fd5b506000828152601060205260409020600381015482116110dc57600080fd5b6000816003015411156111125760038101546002820154600160a060020a03166000908152601160205260409020805490910190555b60806040519081016040908152600182526020808301869052600160a060020a033316828401526060830185905260008681526010909152208151815460ff1916901515178155602082015181600101556040820151600282018054600160a060020a031916600160a060020a0392909216919091179055606082015160039091015550600160a060020a033316837f0da4e9222edcf4f027354f25851c7932ff2dd0af84b03e7a416da7fba6ecd0008460405190815260200160405180910390a3505050565b600054600160a060020a031681565b600b6020526000908152604090205460ff1681565b6005546000908190151561121057600080fd5b600554831061121e57600080fd5b600083815260096020526040902054600160a060020a0316151561124157600080fd5b60008381526009602052604090205433600160a060020a039081169116141561126957600080fd5b6000838152601060205260409020600281015490925033600160a060020a0390811691161461129757600080fd5b33600160a060020a0316837f46cbf8a5f7e81775c28a2fb74a25c4a145701b93c7d3d6795ce4f43a74965ab4846003015460405190815260200160405180910390a350600381015460806040519081016040908152600080835260208084018790528284018290526060840182905286825260109052208151815460ff1916901515178155602082015181600101556040820151600282018054600160a060020a031916600160a060020a0392909216919091179055606082015160039091015550600160a060020a03331681156108fc0282604051600060405180830381858888f19350505050151561138a57600080fd5b505050565b60038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108955780601f1061086a57610100808354040283529160200191610895565b60076020528060005260406000206000915090508054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108955780601f1061086a57610100808354040283529160200191610895565b6005548390151561148757600080fd5b600554811061149557600080fd5b60008181526009602052604090205433600160a060020a039081169116146114bc57600080fd5b600160a060020a03821615156114d157600080fd5b33600160a060020a031682600160a060020a0316141515156114f257600080fd5b60a06040519081016040908152600182526020808301879052600160a060020a033381168385015260608401879052851660808401526000878152600f909152208151815460ff1916901515178155602082015181600101556040820151600282018054600160a060020a031916600160a060020a03929092169190911790556060820151816003015560808201516004919091018054600160a060020a031916600160a060020a0392831617905583169050847f8d05f5b2a7f788598963ab2ff984557e36e132a53525cadc40d0a955df45b3b38560405190815260200160405180910390a350505050565b60116020526000908152604090205481565b6005548190151561160157600080fd5b600554811061160f57600080fd5b60008181526009602052604090205433600160a060020a0390811691161461163657600080fd5b60a0604051908101604090815260008083526020808401869052600160a060020a033316838501526060840182905260808401829052858252600f9052208151815460ff1916901515178155602082015181600101556040820151600282018054600160a060020a031916600160a060020a03929092169190911790556060820151816003015560808201516004919091018054600160a060020a031916600160a060020a0390921691909117905550817fd494e64287726a39c3f65e4892dbb3c9ecc73f05da44d17b043ab340817a62d360405160405180910390a25050565b600a60205260009081526040902054600160a060020a031681565b600f602052600090815260409020805460018201546002830154600384015460049094015460ff909316939192600160a060020a0391821692911685565b600160a060020a03811660009081526006602052604081205481808083151561179c57600094506117fd565b505060055460009150815b8181116117f957600081815260096020526040902054600160a060020a0387811691161480156117e5575060008181526010602052604090205460ff165b156117f1576001909201915b6001016117a7565b8294505b50505050919050565b61180e612451565b6000611818612451565b600160a060020a0384166000908152600c602052604081205492508080841515611862576000604051805910610eda57505990808252806020026020018201604052509550611019565b846040518059106118705750595b90808252806020026020018201604052509350600554925060009150600090505b8281116118e0576000818152600a6020526040902054600160a060020a03888116911614156118d857808483815181106118c757fe5b602090810290910101526001909101905b600101611891565b839550611019565b600554829015156118f857600080fd5b600554811061190657600080fd5b60008181526009602052604090205433600160a060020a0390811691161461192d57600080fd5b60a06040519081016040908152600182526020808301869052600160a060020a0333168284015260608301859052600060808401819052868152600f909152208151815460ff1916901515178155602082015181600101556040820151600282018054600160a060020a031916600160a060020a03929092169190911790556060820151816003015560808201516004919091018054600160a060020a031916600160a060020a03909216919091179055506000837f8d05f5b2a7f788598963ab2ff984557e36e132a53525cadc40d0a955df45b3b38460405190815260200160405180910390a3505050565b60005433600160a060020a03908116911614611a3557600080fd5b6000918252600b6020526040909120805460ff191660ff909216919091179055565b60086020528060005260406000206000915090508054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108955780601f1061086a57610100808354040283529160200191610895565b60055460009082901515611ae757600080fd5b6005548110611af557600080fd5b60008181526009602052604090205433600160a060020a03908116911614611b1c57600080fd5b600160a060020a0384161515611b3157600080fd5b600160a060020a03331660009081526006602052604081205411611b5457600080fd5b6000838152600f602052604090205460ff1615611b7457611b74836115f1565b60008381526009602090815260408083208054600160a060020a031916600160a060020a03898116918217909255339091168085526006909352818420805460001901905580845292819020805460019081019091557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef915190815260200160405180910390a383600160a060020a031633600160a060020a0316847faecbdb5e16bc7979d2ad4ae978237d576b19dc558f55d90b83803a9811f6b0ee60405160405180910390a460008381526010602052604090206002810154909250600160a060020a0385811691161415611d06576003820154600160a060020a038516600090815260116020526040908190208054909201909155608090519081016040908152600080835260208084018790528284018290526060840182905286825260109052208151815460ff1916901515178155602082015181600101556040820151600282018054600160a060020a031916600160a060020a03929092169190911790556060820151600390910155505b50505050565b611d14612451565b611d1c612451565b6000806000806000600554600014151515611d3657600080fd5b6005548810611d4457600080fd5b600760008981526020019081526020016000208054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611deb5780601f10611dc057610100808354040283529160200191611deb565b820191906000526020600020905b815481529060010190602001808311611dce57829003601f168201915b50505050509650600860008981526020019081526020016000208054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611e995780601f10611e6e57610100808354040283529160200191611e99565b820191906000526020600020905b815481529060010190602001808311611e7c57829003601f168201915b50505060009a8b525050600960209081526040808b2054600a8352818c2054600b8452828d205460108552838e20600390810154600f90965293909d20909201549a9c939b600160a060020a039182169b92909116995060ff1697509095509350915050565b600c6020526000908152604090205481565b611f19612451565b6000611f23612451565b600160a060020a03841660009081526006602052604081205492508080841515611f6d576000604051805910610eda57505990808252806020026020018201604052509550611019565b84604051805910611f7b5750595b90808252806020026020018201604052509350600554925060009150600090505b8281116118e057600081815260096020526040902054600160a060020a0388811691161415611fe35780848381518110611fd257fe5b602090810290910101526001909101905b600101611f9c565b60005433600160a060020a0390811691161461200657600080fd5b600160a060020a038116151561201b57600080fd5b60008054600160a060020a031916600160a060020a0392909216919091179055565b6000818152600f6020526040812060055490913491819081908190151561206357600080fd5b600554871061207157600080fd5b855460ff16151561208157600080fd5b6004860154600160a060020a031615806120ab5750600486015433600160a060020a039081169116145b15156120b657600080fd5b60038601548510156120c757600080fd5b6fffffffffffffffffffffffffffffffff851685146120e557600080fd5b6000878152600960205260409020546002870154600160a060020a0390811691161461211057600080fd5b6002860154600160a060020a0316600081815260066020526040812054919550901161213b57600080fd5b60008781526009602090815260408083208054600160a060020a03338116600160a060020a031990921682179092559088168085526006909352818420805460001901905580845292819020805460019081019091557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef915190815260200160405180910390a36121cb876115f1565b6121d485612445565b60008054600160a060020a03908116825260116020526040808320805485019055878216808452928190208054858b0390810190915593965092945033169189907f78faa82aad88666af86f80c39b2e8c838fd1c3b02666408ac27daad30301b1509089905190815260200160405180910390a4506000868152601060205260409020600281015433600160a060020a0390811691161415612311576003810154600160a060020a033316600090815260116020526040908190208054909201909155608090519081016040908152600080835260208084018b9052828401829052606084018290528a825260109052208151815460ff1916901515178155602082015181600101556040820151600282018054600160a060020a031916600160a060020a03929092169190911790556060820151600390910155505b50505050505050565b600e54341461232857600080fd5b610100831061233657600080fd5b62100000811061234557600080fd5b60008054600160a060020a03908116825260116020908152604080842080543401905560058054855260098352818520805433909516600160a060020a0319958616811790915581548652600a845282862080549095168117909455928452600c825280842080546001019055915483526007905290206123c7908585612463565b5060055460009081526008602052604090206123e4908383612463565b50600160a060020a033316600081815260066020526040908190208054600101905560055491907ff9a012001e2900f8bd52e83ced7f75ed41f4e8b1496492a92a9443dd26aced26905160405180910390a350506005805460010190555050565b600d5461271091020490565b60206040519081016040526000815290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106124a45782800160ff198235161785556124d1565b828001600101855582156124d1579182015b828111156124d15782358255916020019190600101906124b6565b506124dd9291506124e1565b5090565b6124fb91905b808211156124dd57600081556001016124e7565b905600a165627a7a72305820bda93a08d5a44f6ec4d4d3bc9e11c91c6c1813e371221de09eb2ac2eca0039100029

Deployed Bytecode

0x6060604052600436106101d75763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146101dc57806313b6c8a81461026657806318160ddd1461027e5780631feee4fd146102a3578063313ce567146102d55780633ccfd60b146102fe57806348bf8f39146103115780635a3b7e421461035e5780635fb1f1d714610371578063648236e3146103d757806367e94ae0146103f057806370a0823114610403578063757de5731461042257806383b5ff8b146104385780638b2ad32e1461044b5780638b906ca51461046a5780638da5cb5b1461047557806392fe76481461048857806394a1d75c1461049e57806395d89b41146104b4578063a099e61a146104c7578063ae9dc04c146104dd578063b413519214610502578063b98e276914610521578063be4b102a14610537578063c40ee48b1461054d578063cf7f12ea146105a3578063cfdac910146105c2578063d1ea2786146105e1578063d2718fbe146105fa578063d67ca59c14610616578063d947c8d11461062c578063da323c941461064e578063e0df0e6a14610778578063e210150914610797578063f2fde38b146107b6578063f83d14e6146107d5578063fb84da41146107e0575b600080fd5b34156101e757600080fd5b6101ef6107ff565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561022b578082015183820152602001610213565b50505050905090810190601f1680156102585780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561027157600080fd5b61027c60043561089d565b005b341561028957600080fd5b6102916108db565b60405190815260200160405180910390f35b34156102ae57600080fd5b6102b96004356108e1565b604051600160a060020a03909116815260200160405180910390f35b34156102e057600080fd5b6102e86108fc565b60405160ff909116815260200160405180910390f35b341561030957600080fd5b61027c610905565b341561031c57600080fd5b610327600435610950565b60405193151584526020840192909252600160a060020a031660408084019190915260608301919091526080909101905180910390f35b341561036957600080fd5b6101ef610987565b341561037c57600080fd5b6103846109f2565b60405160208082528190810183818151815260200191508051906020019060200280838360005b838110156103c35780820151838201526020016103ab565b505050509050019250505060405180910390f35b34156103e257600080fd5b61027c600435602435610b20565b34156103fb57600080fd5b610291610e4c565b341561040e57600080fd5b610291600160a060020a0360043516610e52565b341561042d57600080fd5b61027c600435610e64565b341561044357600080fd5b610291610ea3565b341561045657600080fd5b610384600160a060020a0360043516610ea9565b61027c600435611023565b341561048057600080fd5b6102b96111d9565b341561049357600080fd5b6102e86004356111e8565b34156104a957600080fd5b61027c6004356111fd565b34156104bf57600080fd5b6101ef61138f565b34156104d257600080fd5b6101ef6004356113fa565b34156104e857600080fd5b61027c600435602435600160a060020a0360443516611477565b341561050d57600080fd5b610291600160a060020a03600435166115df565b341561052c57600080fd5b61027c6004356115f1565b341561054257600080fd5b6102b9600435611717565b341561055857600080fd5b610563600435611732565b60405194151585526020850193909352600160a060020a0391821660408086019190915260608501919091529116608083015260a0909101905180910390f35b34156105ae57600080fd5b610291600160a060020a0360043516611770565b34156105cd57600080fd5b610384600160a060020a0360043516611806565b34156105ec57600080fd5b61027c6004356024356118e8565b341561060557600080fd5b61027c60043560ff60243516611a1a565b341561062157600080fd5b6101ef600435611a57565b341561063757600080fd5b61027c600160a060020a0360043516602435611ad4565b341561065957600080fd5b610664600435611d0c565b604051600160a060020a0380871660408301528516606082015260ff8416608082015260a0810183905260c0810182905260e08082528190602082019082018a818151815260200191508051906020019080838360005b838110156106d35780820151838201526020016106bb565b50505050905090810190601f1680156107005780820380516001836020036101000a031916815260200191505b50838103825289818151815260200191508051906020019080838360005b8381101561073657808201518382015260200161071e565b50505050905090810190601f1680156107635780820380516001836020036101000a031916815260200191505b50995050505050505050505060405180910390f35b341561078357600080fd5b610291600160a060020a0360043516611eff565b34156107a257600080fd5b610384600160a060020a0360043516611f11565b34156107c157600080fd5b61027c600160a060020a0360043516611feb565b61027c60043561203d565b61027c602460048035828101929082013591813591820191013561231a565b60028054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108955780601f1061086a57610100808354040283529160200191610895565b820191906000526020600020905b81548152906001019060200180831161087857829003601f168201915b505050505081565b60005433600160a060020a039081169116146108b857600080fd5b6fffffffffffffffffffffffffffffffff811681146108d657600080fd5b600e55565b60055481565b600960205260009081526040902054600160a060020a031681565b60045460ff1681565b600160a060020a033316600081815260116020526040808220805492905590919082156108fc0290839051600060405180830381858888f19350505050151561094d57600080fd5b50565b601060205260009081526040902080546001820154600283015460039093015460ff909216929091600160a060020a039091169084565b60018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108955780601f1061086a57610100808354040283529160200191610895565b6109fa612451565b6000806000610a07612451565b600060055460001415610a3b576000604051805910610a235750595b90808252806020026020018201604052509550610b18565b600094506005549350600092505b838311610a79576000838152600f602052604090205460ff1615610a6e576001909401935b600190920191610a49565b841515610aa6576000604051805910610a2357505990808252806020026020018201604052509550610b18565b84604051805910610ab45750595b9080825280602002602001820160405250915060009050600092505b838311610b14576000838152600f602052604090205460ff1615610b095782828281518110610afb57fe5b602090810290910101526001015b600190920191610ad0565b8195505b505050505090565b60008060008060008087600554600014151515610b3c57600080fd5b6005548110610b4a57600080fd5b60008181526009602052604090205433600160a060020a03908116911614610b7157600080fd5b33600160a060020a0381166000908152600660205260408120549198509011610b9957600080fd5b6000898152601060205260408120600381015460028201549198509650600160a060020a031694508511610bcc57600080fd5b6fffffffffffffffffffffffffffffffff85168514610bea57600080fd5b6fffffffffffffffffffffffffffffffff88168814610c0857600080fd5b87851015610c1557600080fd5b60008981526009602090815260408083208054600160a060020a031916600160a060020a03898116918217909255908b168085526006909352818420805460001901905580845292819020805460019081019091557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef915190815260200160405180910390a360a06040519081016040908152600080835260208084018d9052600160a060020a0388168385015260608401829052608084018290528c8252600f9052208151815460ff1916901515178155602082015181600101556040820151600282018054600160a060020a031916600160a060020a03929092169190911790556060820151816003015560808201516004919091018054600160a060020a031916600160a060020a039092169190911790555060806040519081016040908152600080835260208084018d9052828401829052606084018290528c825260109052208151815460ff1916901515178155602082015181600101556040820151600282018054600160a060020a031916600160a060020a0392909216919091179055606082015160039091015550610dce85612445565b600160a060020a038089166000818152601160205260408082208054868c03908101909155825485168352918190208054860190559396509450908616918b907f78faa82aad88666af86f80c39b2e8c838fd1c3b02666408ac27daad30301b1509089905190815260200160405180910390a4505050505050505050565b600e5481565b60066020526000908152604090205481565b60005433600160a060020a03908116911614610e7f57600080fd5b61ffff81168114610e8f57600080fd5b612710811115610e9e57600080fd5b600d55565b600d5481565b610eb1612451565b6000806000610ebe612451565b600060055460001415610ef2576000604051805910610eda5750595b90808252806020026020018201604052509550611019565b600094506005549350600092505b838311610f55576000838152600f602052604090205460ff168015610f3e5750600083815260096020526040902054600160a060020a038881169116145b15610f4a576001909401935b600190920191610f00565b841515610f82576000604051805910610eda57505990808252806020026020018201604052509550611019565b84604051805910610f905750595b9080825280602002602001820160405250915060009050600092505b838311611015576000838152600f602052604090205460ff168015610fea5750600083815260096020526040902054600160a060020a038881169116145b1561100a5782828281518110610ffc57fe5b602090810290910101526001015b600190920191610fac565b8195505b5050505050919050565b6005546000908190151561103657600080fd5b600554831061104457600080fd5b600083815260096020526040902054600160a060020a0316151561106757600080fd5b60008381526009602052604090205433600160a060020a039081169116141561108f57600080fd5b3491506000821161109f57600080fd5b6fffffffffffffffffffffffffffffffff821682146110bd57600080fd5b506000828152601060205260409020600381015482116110dc57600080fd5b6000816003015411156111125760038101546002820154600160a060020a03166000908152601160205260409020805490910190555b60806040519081016040908152600182526020808301869052600160a060020a033316828401526060830185905260008681526010909152208151815460ff1916901515178155602082015181600101556040820151600282018054600160a060020a031916600160a060020a0392909216919091179055606082015160039091015550600160a060020a033316837f0da4e9222edcf4f027354f25851c7932ff2dd0af84b03e7a416da7fba6ecd0008460405190815260200160405180910390a3505050565b600054600160a060020a031681565b600b6020526000908152604090205460ff1681565b6005546000908190151561121057600080fd5b600554831061121e57600080fd5b600083815260096020526040902054600160a060020a0316151561124157600080fd5b60008381526009602052604090205433600160a060020a039081169116141561126957600080fd5b6000838152601060205260409020600281015490925033600160a060020a0390811691161461129757600080fd5b33600160a060020a0316837f46cbf8a5f7e81775c28a2fb74a25c4a145701b93c7d3d6795ce4f43a74965ab4846003015460405190815260200160405180910390a350600381015460806040519081016040908152600080835260208084018790528284018290526060840182905286825260109052208151815460ff1916901515178155602082015181600101556040820151600282018054600160a060020a031916600160a060020a0392909216919091179055606082015160039091015550600160a060020a03331681156108fc0282604051600060405180830381858888f19350505050151561138a57600080fd5b505050565b60038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108955780601f1061086a57610100808354040283529160200191610895565b60076020528060005260406000206000915090508054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108955780601f1061086a57610100808354040283529160200191610895565b6005548390151561148757600080fd5b600554811061149557600080fd5b60008181526009602052604090205433600160a060020a039081169116146114bc57600080fd5b600160a060020a03821615156114d157600080fd5b33600160a060020a031682600160a060020a0316141515156114f257600080fd5b60a06040519081016040908152600182526020808301879052600160a060020a033381168385015260608401879052851660808401526000878152600f909152208151815460ff1916901515178155602082015181600101556040820151600282018054600160a060020a031916600160a060020a03929092169190911790556060820151816003015560808201516004919091018054600160a060020a031916600160a060020a0392831617905583169050847f8d05f5b2a7f788598963ab2ff984557e36e132a53525cadc40d0a955df45b3b38560405190815260200160405180910390a350505050565b60116020526000908152604090205481565b6005548190151561160157600080fd5b600554811061160f57600080fd5b60008181526009602052604090205433600160a060020a0390811691161461163657600080fd5b60a0604051908101604090815260008083526020808401869052600160a060020a033316838501526060840182905260808401829052858252600f9052208151815460ff1916901515178155602082015181600101556040820151600282018054600160a060020a031916600160a060020a03929092169190911790556060820151816003015560808201516004919091018054600160a060020a031916600160a060020a0390921691909117905550817fd494e64287726a39c3f65e4892dbb3c9ecc73f05da44d17b043ab340817a62d360405160405180910390a25050565b600a60205260009081526040902054600160a060020a031681565b600f602052600090815260409020805460018201546002830154600384015460049094015460ff909316939192600160a060020a0391821692911685565b600160a060020a03811660009081526006602052604081205481808083151561179c57600094506117fd565b505060055460009150815b8181116117f957600081815260096020526040902054600160a060020a0387811691161480156117e5575060008181526010602052604090205460ff165b156117f1576001909201915b6001016117a7565b8294505b50505050919050565b61180e612451565b6000611818612451565b600160a060020a0384166000908152600c602052604081205492508080841515611862576000604051805910610eda57505990808252806020026020018201604052509550611019565b846040518059106118705750595b90808252806020026020018201604052509350600554925060009150600090505b8281116118e0576000818152600a6020526040902054600160a060020a03888116911614156118d857808483815181106118c757fe5b602090810290910101526001909101905b600101611891565b839550611019565b600554829015156118f857600080fd5b600554811061190657600080fd5b60008181526009602052604090205433600160a060020a0390811691161461192d57600080fd5b60a06040519081016040908152600182526020808301869052600160a060020a0333168284015260608301859052600060808401819052868152600f909152208151815460ff1916901515178155602082015181600101556040820151600282018054600160a060020a031916600160a060020a03929092169190911790556060820151816003015560808201516004919091018054600160a060020a031916600160a060020a03909216919091179055506000837f8d05f5b2a7f788598963ab2ff984557e36e132a53525cadc40d0a955df45b3b38460405190815260200160405180910390a3505050565b60005433600160a060020a03908116911614611a3557600080fd5b6000918252600b6020526040909120805460ff191660ff909216919091179055565b60086020528060005260406000206000915090508054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108955780601f1061086a57610100808354040283529160200191610895565b60055460009082901515611ae757600080fd5b6005548110611af557600080fd5b60008181526009602052604090205433600160a060020a03908116911614611b1c57600080fd5b600160a060020a0384161515611b3157600080fd5b600160a060020a03331660009081526006602052604081205411611b5457600080fd5b6000838152600f602052604090205460ff1615611b7457611b74836115f1565b60008381526009602090815260408083208054600160a060020a031916600160a060020a03898116918217909255339091168085526006909352818420805460001901905580845292819020805460019081019091557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef915190815260200160405180910390a383600160a060020a031633600160a060020a0316847faecbdb5e16bc7979d2ad4ae978237d576b19dc558f55d90b83803a9811f6b0ee60405160405180910390a460008381526010602052604090206002810154909250600160a060020a0385811691161415611d06576003820154600160a060020a038516600090815260116020526040908190208054909201909155608090519081016040908152600080835260208084018790528284018290526060840182905286825260109052208151815460ff1916901515178155602082015181600101556040820151600282018054600160a060020a031916600160a060020a03929092169190911790556060820151600390910155505b50505050565b611d14612451565b611d1c612451565b6000806000806000600554600014151515611d3657600080fd5b6005548810611d4457600080fd5b600760008981526020019081526020016000208054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611deb5780601f10611dc057610100808354040283529160200191611deb565b820191906000526020600020905b815481529060010190602001808311611dce57829003601f168201915b50505050509650600860008981526020019081526020016000208054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611e995780601f10611e6e57610100808354040283529160200191611e99565b820191906000526020600020905b815481529060010190602001808311611e7c57829003601f168201915b50505060009a8b525050600960209081526040808b2054600a8352818c2054600b8452828d205460108552838e20600390810154600f90965293909d20909201549a9c939b600160a060020a039182169b92909116995060ff1697509095509350915050565b600c6020526000908152604090205481565b611f19612451565b6000611f23612451565b600160a060020a03841660009081526006602052604081205492508080841515611f6d576000604051805910610eda57505990808252806020026020018201604052509550611019565b84604051805910611f7b5750595b90808252806020026020018201604052509350600554925060009150600090505b8281116118e057600081815260096020526040902054600160a060020a0388811691161415611fe35780848381518110611fd257fe5b602090810290910101526001909101905b600101611f9c565b60005433600160a060020a0390811691161461200657600080fd5b600160a060020a038116151561201b57600080fd5b60008054600160a060020a031916600160a060020a0392909216919091179055565b6000818152600f6020526040812060055490913491819081908190151561206357600080fd5b600554871061207157600080fd5b855460ff16151561208157600080fd5b6004860154600160a060020a031615806120ab5750600486015433600160a060020a039081169116145b15156120b657600080fd5b60038601548510156120c757600080fd5b6fffffffffffffffffffffffffffffffff851685146120e557600080fd5b6000878152600960205260409020546002870154600160a060020a0390811691161461211057600080fd5b6002860154600160a060020a0316600081815260066020526040812054919550901161213b57600080fd5b60008781526009602090815260408083208054600160a060020a03338116600160a060020a031990921682179092559088168085526006909352818420805460001901905580845292819020805460019081019091557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef915190815260200160405180910390a36121cb876115f1565b6121d485612445565b60008054600160a060020a03908116825260116020526040808320805485019055878216808452928190208054858b0390810190915593965092945033169189907f78faa82aad88666af86f80c39b2e8c838fd1c3b02666408ac27daad30301b1509089905190815260200160405180910390a4506000868152601060205260409020600281015433600160a060020a0390811691161415612311576003810154600160a060020a033316600090815260116020526040908190208054909201909155608090519081016040908152600080835260208084018b9052828401829052606084018290528a825260109052208151815460ff1916901515178155602082015181600101556040820151600282018054600160a060020a031916600160a060020a03929092169190911790556060820151600390910155505b50505050505050565b600e54341461232857600080fd5b610100831061233657600080fd5b62100000811061234557600080fd5b60008054600160a060020a03908116825260116020908152604080842080543401905560058054855260098352818520805433909516600160a060020a0319958616811790915581548652600a845282862080549095168117909455928452600c825280842080546001019055915483526007905290206123c7908585612463565b5060055460009081526008602052604090206123e4908383612463565b50600160a060020a033316600081815260066020526040908190208054600101905560055491907ff9a012001e2900f8bd52e83ced7f75ed41f4e8b1496492a92a9443dd26aced26905160405180910390a350506005805460010190555050565b600d5461271091020490565b60206040519081016040526000815290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106124a45782800160ff198235161785556124d1565b828001600101855582156124d1579182015b828111156124d15782358255916020019190600101906124b6565b506124dd9291506124e1565b5090565b6124fb91905b808211156124dd57600081556001016124e7565b905600a165627a7a72305820bda93a08d5a44f6ec4d4d3bc9e11c91c6c1813e371221de09eb2ac2eca0039100029

Swarm Source

bzzr://bda93a08d5a44f6ec4d4d3bc9e11c91c6c1813e371221de09eb2ac2eca003910

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.