ETH Price: $3,396.34 (-1.07%)

Token

DADA Collectible (Ɖ)
 

Overview

Max Total Supply

16,600 Ɖ

Holders

584

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 0 Decimals)

Filtered by Token Holder
ganjalf.eth
Balance
1 Ɖ

Value
$0.00
0xf5b413a42a2dd2bb5f568d9174d306bf7435ce29
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

A collaborative art platform where people speak through drawings.

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
DadaCollectible

Compiler Version
v0.4.13+commit.fb4cb1a

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2017-10-05
*/

pragma solidity ^0.4.13;

/**
 * This contract handles the actions for every collectible on DADA...
 */

contract DadaCollectible {

  // DADA's account
  address owner;


  // starts turned off to prepare the drawings before going public
  bool isExecutionAllowed = false;

  // ERC20 token standard attributes
  string public name;
  string public symbol;
  uint8 public decimals;
  uint256 public totalSupply;

  struct Offer {
      bool isForSale;
      uint drawingId;
      uint printIndex;
      address seller; 
      uint minValue;          // in ether
      address onlySellTo;     // specify to sell only to a specific person
      uint lastSellValue;
  }

  struct Bid {
      bool hasBid;
      uint drawingId;
      uint printIndex;
      address bidder;
      uint value;
  }

  struct Collectible{
    uint drawingId;
    string checkSum; // digest of the drawing, created using  SHA2
    uint totalSupply;
    uint nextPrintIndexToAssign;
    bool allPrintsAssigned;
    uint initialPrice;
    uint initialPrintIndex;
    string collectionName;
    uint authorUId; // drawing creator id 
    string scarcity; // denotes how scarce is the drawing
  }    

  // key: printIndex
  // the value is the user who owns that specific print
  mapping (uint => address) public DrawingPrintToAddress;
  
  // A record of collectibles that are offered for sale at a specific minimum value, 
  // and perhaps to a specific person, the key to access and offer is the printIndex.
  // since every single offer inside the Collectible struct will be tied to the main
  // drawingId that identifies that collectible.
  mapping (uint => Offer) public OfferedForSale;

  // A record of the highest collectible bid, the key to access a bid is the printIndex
  mapping (uint => Bid) public Bids;


  // "Hash" list of the different Collectibles available in the market place
  mapping (uint => Collectible) public drawingIdToCollectibles;

  mapping (address => uint) public pendingWithdrawals;

  mapping (address => uint256) public balances;

  // returns the balance of a particular account
  function balanceOf(address _owner) constant returns (uint256 balance) {
    return balances[_owner];
  } 

  // Events
  event Assigned(address indexed to, uint256 collectibleIndex, uint256 printIndex);
  event Transfer(address indexed from, address indexed to, uint256 value);
  event CollectibleTransfer(address indexed from, address indexed to, uint256 collectibleIndex, uint256 printIndex);
  event CollectibleOffered(uint indexed collectibleIndex, uint indexed printIndex, uint minValue, address indexed toAddress, uint lastSellValue);
  event CollectibleBidEntered(uint indexed collectibleIndex, uint indexed printIndex, uint value, address indexed fromAddress);
  event CollectibleBidWithdrawn(uint indexed collectibleIndex, uint indexed printIndex, uint value, address indexed fromAddress);
  event CollectibleBought(uint indexed collectibleIndex, uint printIndex, uint value, address indexed fromAddress, address indexed toAddress);
  event CollectibleNoLongerForSale(uint indexed collectibleIndex, uint indexed printIndex);

  // The constructor is executed only when the contract is created in the blockchain.
  function DadaCollectible () { 
    // assigns the address of the account creating the contract as the 
    // "owner" of the contract. Since the contract doesn't have 
    // a "set" function for the owner attribute this value will be immutable. 
    owner = msg.sender;

    // Update total supply
    totalSupply = 16600;
    // Give to DADA all initial drawings
    balances[owner] = totalSupply;

    // Set the name for display purposes
    name = "DADA Collectible";
    // Set the symbol for display purposes
    symbol = "Ɖ";
    // Amount of decimals for display purposes
    decimals = 0;
  }

  // main business logic functions
  
  // buyer's functions
  function buyCollectible(uint drawingId, uint printIndex) payable {
    require(isExecutionAllowed);
    // requires the drawing id to actually exist
    require(drawingIdToCollectibles[drawingId].drawingId != 0);
    Collectible storage collectible = drawingIdToCollectibles[drawingId];
    require((printIndex < (collectible.totalSupply+collectible.initialPrintIndex)) &&  (printIndex >= collectible.initialPrintIndex));
    Offer storage offer = OfferedForSale[printIndex];
    require(offer.drawingId != 0);
    require(offer.isForSale); // drawing actually for sale
    require(offer.onlySellTo == 0x0 || offer.onlySellTo == msg.sender);  // drawing can be sold to this user
    require(msg.value >= offer.minValue); // Didn't send enough ETH
    require(offer.seller == DrawingPrintToAddress[printIndex]); // Seller still owner of the drawing
    require(DrawingPrintToAddress[printIndex] != msg.sender);

    address seller = offer.seller;
    address buyer = msg.sender;

    DrawingPrintToAddress[printIndex] = buyer; // "gives" the print to the buyer

    // decrease by one the amount of prints the seller has of this particullar drawing
    balances[seller]--;
    // increase by one the amount of prints the buyer has of this particullar drawing
    balances[buyer]++;

    // launch the Transfered event
    Transfer(seller, buyer, 1);

    // transfer ETH to the seller
    // profit delta must be equal or greater than 1e-16 to be able to divide it
    // between the involved entities (art creator -> 30%, seller -> 60% and dada -> 10%)
    // profit percentages can't be lower than 1e-18 which is the lowest unit in ETH
    // equivalent to 1 wei.
    // if(offer.lastSellValue < msg.value && (msg.value - offer.lastSellValue) >= uint(0.0000000000000001) ){ commented because we're assuming values are expressed in  "weis", adjusting in relation to that
    if(offer.lastSellValue < msg.value && (msg.value - offer.lastSellValue) >= 100 ){ // assuming 100 (weis) wich is equivalent to 1e-16
      uint profit = msg.value - offer.lastSellValue;
      // seller gets base value plus 60% of the profit
      pendingWithdrawals[seller] += offer.lastSellValue + (profit*60/100); 
      // dada gets 10% of the profit
      // pendingWithdrawals[owner] += (profit*10/100);
      // dada receives 30% of the profit to give to the artist
      // pendingWithdrawals[owner] += (profit*30/100);
      // going manual for artist and dada percentages (30 + 10)
      pendingWithdrawals[owner] += (profit*40/100);
    }else{
      // if the seller doesn't make a profit of the sell he gets the 100% of the traded
      // value.
      pendingWithdrawals[seller] += msg.value;
    }
    makeCollectibleUnavailableToSale(buyer, drawingId, printIndex, msg.value);

    // launch the CollectibleBought event    
    CollectibleBought(drawingId, printIndex, msg.value, seller, buyer);

    // Check for the case where there is a bid from the new owner and refund it.
    // Any other bid can stay in place.
    Bid storage bid = Bids[printIndex];
    if (bid.bidder == buyer) {
      // Kill bid and refund value
      pendingWithdrawals[buyer] += bid.value;
      Bids[printIndex] = Bid(false, collectible.drawingId, printIndex, 0x0, 0);
    }
  }

  function alt_buyCollectible(uint drawingId, uint printIndex) payable {
    require(isExecutionAllowed);
    // requires the drawing id to actually exist
    require(drawingIdToCollectibles[drawingId].drawingId != 0);
    Collectible storage collectible = drawingIdToCollectibles[drawingId];
    require((printIndex < (collectible.totalSupply+collectible.initialPrintIndex)) &&  (printIndex >= collectible.initialPrintIndex));
    Offer storage offer = OfferedForSale[printIndex];
    require(offer.drawingId == 0);
    
    require(msg.value >= collectible.initialPrice); // Didn't send enough ETH
    require(DrawingPrintToAddress[printIndex] == 0x0); // should be equal to a "null" address (0x0) since it shouldn't have an owner yet

    address seller = owner;
    address buyer = msg.sender;

    DrawingPrintToAddress[printIndex] = buyer; // "gives" the print to the buyer

    // decrease by one the amount of prints the seller has of this particullar drawing
    // commented while we decide what to do with balances for DADA
    balances[seller]--;
    // increase by one the amount of prints the buyer has of this particullar drawing
    balances[buyer]++;

    // launch the Transfered event
    Transfer(seller, buyer, 1);

    // transfer ETH to the seller
    // profit delta must be equal or greater than 1e-16 to be able to divide it
    // between the involved entities (art creator -> 30%, seller -> 60% and dada -> 10%)
    // profit percentages can't be lower than 1e-18 which is the lowest unit in ETH
    // equivalent to 1 wei.

    pendingWithdrawals[owner] += msg.value;
    
    OfferedForSale[printIndex] = Offer(false, collectible.drawingId, printIndex, buyer, msg.value, 0x0, msg.value);

    // launch the CollectibleBought event    
    CollectibleBought(drawingId, printIndex, msg.value, seller, buyer);

    // Check for the case where there is a bid from the new owner and refund it.
    // Any other bid can stay in place.
    Bid storage bid = Bids[printIndex];
    if (bid.bidder == buyer) {
      // Kill bid and refund value
      pendingWithdrawals[buyer] += bid.value;
      Bids[printIndex] = Bid(false, collectible.drawingId, printIndex, 0x0, 0);
    }
  }
  
  function enterBidForCollectible(uint drawingId, uint printIndex) payable {
    require(isExecutionAllowed);
    require(drawingIdToCollectibles[drawingId].drawingId != 0);
    Collectible storage collectible = drawingIdToCollectibles[drawingId];
    require(DrawingPrintToAddress[printIndex] != 0x0); // Print is owned by somebody
    require(DrawingPrintToAddress[printIndex] != msg.sender); // Print is not owned by bidder
    require((printIndex < (collectible.totalSupply+collectible.initialPrintIndex)) && (printIndex >= collectible.initialPrintIndex));

    require(msg.value > 0); // Bid must be greater than 0
    // get the current bid for that print if any
    Bid storage existing = Bids[printIndex];
    // Must outbid previous bid by at least 5%. Apparently is not possible to 
    // multiply by 1.05, that's why we do it manually.
    require(msg.value >= existing.value+(existing.value*5/100));
    if (existing.value > 0) {
        // Refund the failing bid from the previous bidder
        pendingWithdrawals[existing.bidder] += existing.value;
    }
    // add the new bid
    Bids[printIndex] = Bid(true, collectible.drawingId, printIndex, msg.sender, msg.value);
    CollectibleBidEntered(collectible.drawingId, printIndex, msg.value, msg.sender);
  }

  // used by a user who wants to cancell a bid placed by her/him
  function withdrawBidForCollectible(uint drawingId, uint printIndex) {
    require(isExecutionAllowed);
    require(drawingIdToCollectibles[drawingId].drawingId != 0);
    Collectible storage collectible = drawingIdToCollectibles[drawingId];
    require((printIndex < (collectible.totalSupply+collectible.initialPrintIndex)) && (printIndex >= collectible.initialPrintIndex));
    require(DrawingPrintToAddress[printIndex] != 0x0); // Print is owned by somebody
    require(DrawingPrintToAddress[printIndex] != msg.sender); // Print is not owned by bidder
    Bid storage bid = Bids[printIndex];
    require(bid.bidder == msg.sender);
    CollectibleBidWithdrawn(drawingId, printIndex, bid.value, msg.sender);

    uint amount = bid.value;
    Bids[printIndex] = Bid(false, collectible.drawingId, printIndex, 0x0, 0);
    // Refund the bid money
    msg.sender.transfer(amount);
  }

  // seller's functions
  function offerCollectibleForSale(uint drawingId, uint printIndex, uint minSalePriceInWei) {
    require(isExecutionAllowed);
    require(drawingIdToCollectibles[drawingId].drawingId != 0);
    Collectible storage collectible = drawingIdToCollectibles[drawingId];
    require(DrawingPrintToAddress[printIndex] == msg.sender);
    require((printIndex < (collectible.totalSupply+collectible.initialPrintIndex)) && (printIndex >= collectible.initialPrintIndex));
    uint lastSellValue = OfferedForSale[printIndex].lastSellValue;
    OfferedForSale[printIndex] = Offer(true, collectible.drawingId, printIndex, msg.sender, minSalePriceInWei, 0x0, lastSellValue);
    CollectibleOffered(drawingId, printIndex, minSalePriceInWei, 0x0, lastSellValue);
  }

  function withdrawOfferForCollectible(uint drawingId, uint printIndex){
    require(isExecutionAllowed);
    require(drawingIdToCollectibles[drawingId].drawingId != 0);
    Collectible storage collectible = drawingIdToCollectibles[drawingId];
    require(DrawingPrintToAddress[printIndex] == msg.sender);
    require((printIndex < (collectible.totalSupply+collectible.initialPrintIndex)) && (printIndex >= collectible.initialPrintIndex));

    uint lastSellValue = OfferedForSale[printIndex].lastSellValue;

    OfferedForSale[printIndex] = Offer(false, collectible.drawingId, printIndex, msg.sender, 0, 0x0, lastSellValue);
    // launch the CollectibleNoLongerForSale event 
    CollectibleNoLongerForSale(collectible.drawingId, printIndex);

  }

  function offerCollectibleForSaleToAddress(uint drawingId, uint printIndex, uint minSalePriceInWei, address toAddress) {
    require(isExecutionAllowed);
    require(drawingIdToCollectibles[drawingId].drawingId != 0);
    Collectible storage collectible = drawingIdToCollectibles[drawingId];
    require(DrawingPrintToAddress[printIndex] == msg.sender);
    require((printIndex < (collectible.totalSupply+collectible.initialPrintIndex)) && (printIndex >= collectible.initialPrintIndex));
    uint lastSellValue = OfferedForSale[printIndex].lastSellValue;
    OfferedForSale[printIndex] = Offer(true, collectible.drawingId, printIndex, msg.sender, minSalePriceInWei, toAddress, lastSellValue);
    CollectibleOffered(drawingId, printIndex, minSalePriceInWei, toAddress, lastSellValue);
  }

  function acceptBidForCollectible(uint drawingId, uint minPrice, uint printIndex) {
    require(isExecutionAllowed);
    require(drawingIdToCollectibles[drawingId].drawingId != 0);
    Collectible storage collectible = drawingIdToCollectibles[drawingId];
    require((printIndex < (collectible.totalSupply+collectible.initialPrintIndex)) && (printIndex >= collectible.initialPrintIndex));
    require(DrawingPrintToAddress[printIndex] == msg.sender);
    address seller = msg.sender;

    Bid storage bid = Bids[printIndex];
    require(bid.value > 0); // Will be zero if there is no actual bid
    require(bid.value >= minPrice); // Prevent a condition where a bid is withdrawn and replaced with a lower bid but seller doesn't know

    DrawingPrintToAddress[printIndex] = bid.bidder;
    balances[seller]--;
    balances[bid.bidder]++;
    Transfer(seller, bid.bidder, 1);
    uint amount = bid.value;

    Offer storage offer = OfferedForSale[printIndex];
    // transfer ETH to the seller
    // profit delta must be equal or greater than 1e-16 to be able to divide it
    // between the involved entities (art creator -> 30%, seller -> 60% and dada -> 10%)
    // profit percentages can't be lower than 1e-18 which is the lowest unit in ETH
    // equivalent to 1 wei.
    // if(offer.lastSellValue > msg.value && (msg.value - offer.lastSellValue) >= uint(0.0000000000000001) ){ commented because we're assuming values are expressed in  "weis", adjusting in relation to that
    if(offer.lastSellValue < amount && (amount - offer.lastSellValue) >= 100 ){ // assuming 100 (weis) wich is equivalent to 1e-16
      uint profit = amount - offer.lastSellValue;
      // seller gets base value plus 60% of the profit
      pendingWithdrawals[seller] += offer.lastSellValue + (profit*60/100); 
      // dada gets 10% of the profit
      // pendingWithdrawals[owner] += (profit*10/100);
      // dada receives 30% of the profit to give to the artist
      // pendingWithdrawals[owner] += (profit*30/100);
      pendingWithdrawals[owner] += (profit*40/100);

    }else{
      // if the seller doesn't make a profit of the sell he gets the 100% of the traded
      // value.
      pendingWithdrawals[seller] += amount;
    }
    // does the same as the function makeCollectibleUnavailableToSale
    OfferedForSale[printIndex] = Offer(false, collectible.drawingId, printIndex, bid.bidder, 0, 0x0, amount);
    CollectibleBought(collectible.drawingId, printIndex, bid.value, seller, bid.bidder);
    Bids[printIndex] = Bid(false, collectible.drawingId, printIndex, 0x0, 0);

  }

  // used by a user who wants to cashout his money
  function withdraw() {
    require(isExecutionAllowed);
    uint amount = pendingWithdrawals[msg.sender];
    // Remember to zero the pending refund before
    // sending to prevent re-entrancy attacks
    pendingWithdrawals[msg.sender] = 0;
    msg.sender.transfer(amount);
  }

  // Transfer ownership of a punk to another user without requiring payment
  function transfer(address to, uint drawingId, uint printIndex) returns (bool success){
    require(isExecutionAllowed);
    require(drawingIdToCollectibles[drawingId].drawingId != 0);
    Collectible storage collectible = drawingIdToCollectibles[drawingId];
    // checks that the user making the transfer is the actual owner of the print
    require(DrawingPrintToAddress[printIndex] == msg.sender);
    require((printIndex < (collectible.totalSupply+collectible.initialPrintIndex)) && (printIndex >= collectible.initialPrintIndex));
    makeCollectibleUnavailableToSale(to, drawingId, printIndex, OfferedForSale[printIndex].lastSellValue);
    // sets the new owner of the print
    DrawingPrintToAddress[printIndex] = to;
    balances[msg.sender]--;
    balances[to]++;
    Transfer(msg.sender, to, 1);
    CollectibleTransfer(msg.sender, to, drawingId, printIndex);
    // Check for the case where there is a bid from the new owner and refund it.
    // Any other bid can stay in place.
    Bid storage bid = Bids[printIndex];
    if (bid.bidder == to) {
      // Kill bid and refund value
      pendingWithdrawals[to] += bid.value;
      Bids[printIndex] = Bid(false, drawingId, printIndex, 0x0, 0);
    }
    return true;
  }

  // utility functions
  function makeCollectibleUnavailableToSale(address to, uint drawingId, uint printIndex, uint lastSellValue) {
    require(isExecutionAllowed);
    require(drawingIdToCollectibles[drawingId].drawingId != 0);
    Collectible storage collectible = drawingIdToCollectibles[drawingId];
    require(DrawingPrintToAddress[printIndex] == msg.sender);
    require((printIndex < (collectible.totalSupply+collectible.initialPrintIndex)) && (printIndex >= collectible.initialPrintIndex));
    OfferedForSale[printIndex] = Offer(false, collectible.drawingId, printIndex, to, 0, 0x0, lastSellValue);
    // launch the CollectibleNoLongerForSale event 
    CollectibleNoLongerForSale(collectible.drawingId, printIndex);
  }

  function newCollectible(uint drawingId, string checkSum, uint256 _totalSupply, uint initialPrice, uint initialPrintIndex, string collectionName, uint authorUId, string scarcity){
    // requires the sender to be the same address that compiled the contract,
    // this is ensured by storing the sender address
    // require(owner == msg.sender);
    require(owner == msg.sender);
    // requires the drawing to not exist already in the scope of the contract
    require(drawingIdToCollectibles[drawingId].drawingId == 0);
    drawingIdToCollectibles[drawingId] = Collectible(drawingId, checkSum, _totalSupply, initialPrintIndex, false, initialPrice, initialPrintIndex, collectionName, authorUId, scarcity);
  }

  function flipSwitchTo(bool state){
    // require(owner == msg.sender);
    require(owner == msg.sender);
    isExecutionAllowed = state;
  }

  function mintNewDrawings(uint amount){
    require(owner == msg.sender);
    totalSupply = totalSupply + amount;
    balances[owner] = balances[owner] + amount;

    Transfer(0, owner, amount);
  }

}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"state","type":"bool"}],"name":"flipSwitchTo","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"drawingId","type":"uint256"},{"name":"printIndex","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"drawingId","type":"uint256"},{"name":"printIndex","type":"uint256"}],"name":"buyCollectible","outputs":[],"payable":true,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"balances","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"drawingId","type":"uint256"},{"name":"minPrice","type":"uint256"},{"name":"printIndex","type":"uint256"}],"name":"acceptBidForCollectible","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"withdraw","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"drawingId","type":"uint256"},{"name":"printIndex","type":"uint256"},{"name":"lastSellValue","type":"uint256"}],"name":"makeCollectibleUnavailableToSale","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"OfferedForSale","outputs":[{"name":"isForSale","type":"bool"},{"name":"drawingId","type":"uint256"},{"name":"printIndex","type":"uint256"},{"name":"seller","type":"address"},{"name":"minValue","type":"uint256"},{"name":"onlySellTo","type":"address"},{"name":"lastSellValue","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"drawingId","type":"uint256"},{"name":"printIndex","type":"uint256"},{"name":"minSalePriceInWei","type":"uint256"},{"name":"toAddress","type":"address"}],"name":"offerCollectibleForSaleToAddress","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"DrawingPrintToAddress","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"drawingIdToCollectibles","outputs":[{"name":"drawingId","type":"uint256"},{"name":"checkSum","type":"string"},{"name":"totalSupply","type":"uint256"},{"name":"nextPrintIndexToAssign","type":"uint256"},{"name":"allPrintsAssigned","type":"bool"},{"name":"initialPrice","type":"uint256"},{"name":"initialPrintIndex","type":"uint256"},{"name":"collectionName","type":"string"},{"name":"authorUId","type":"uint256"},{"name":"scarcity","type":"string"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"Bids","outputs":[{"name":"hasBid","type":"bool"},{"name":"drawingId","type":"uint256"},{"name":"printIndex","type":"uint256"},{"name":"bidder","type":"address"},{"name":"value","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"drawingId","type":"uint256"},{"name":"printIndex","type":"uint256"}],"name":"enterBidForCollectible","outputs":[],"payable":true,"type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"mintNewDrawings","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"drawingId","type":"uint256"},{"name":"printIndex","type":"uint256"}],"name":"alt_buyCollectible","outputs":[],"payable":true,"type":"function"},{"constant":false,"inputs":[{"name":"drawingId","type":"uint256"},{"name":"printIndex","type":"uint256"}],"name":"withdrawOfferForCollectible","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"drawingId","type":"uint256"},{"name":"checkSum","type":"string"},{"name":"_totalSupply","type":"uint256"},{"name":"initialPrice","type":"uint256"},{"name":"initialPrintIndex","type":"uint256"},{"name":"collectionName","type":"string"},{"name":"authorUId","type":"uint256"},{"name":"scarcity","type":"string"}],"name":"newCollectible","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"drawingId","type":"uint256"},{"name":"printIndex","type":"uint256"},{"name":"minSalePriceInWei","type":"uint256"}],"name":"offerCollectibleForSale","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"pendingWithdrawals","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"drawingId","type":"uint256"},{"name":"printIndex","type":"uint256"}],"name":"withdrawBidForCollectible","outputs":[],"payable":false,"type":"function"},{"inputs":[],"payable":false,"type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"collectibleIndex","type":"uint256"},{"indexed":false,"name":"printIndex","type":"uint256"}],"name":"Assigned","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"collectibleIndex","type":"uint256"},{"indexed":false,"name":"printIndex","type":"uint256"}],"name":"CollectibleTransfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"collectibleIndex","type":"uint256"},{"indexed":true,"name":"printIndex","type":"uint256"},{"indexed":false,"name":"minValue","type":"uint256"},{"indexed":true,"name":"toAddress","type":"address"},{"indexed":false,"name":"lastSellValue","type":"uint256"}],"name":"CollectibleOffered","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"collectibleIndex","type":"uint256"},{"indexed":true,"name":"printIndex","type":"uint256"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":true,"name":"fromAddress","type":"address"}],"name":"CollectibleBidEntered","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"collectibleIndex","type":"uint256"},{"indexed":true,"name":"printIndex","type":"uint256"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":true,"name":"fromAddress","type":"address"}],"name":"CollectibleBidWithdrawn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"collectibleIndex","type":"uint256"},{"indexed":false,"name":"printIndex","type":"uint256"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":true,"name":"fromAddress","type":"address"},{"indexed":true,"name":"toAddress","type":"address"}],"name":"CollectibleBought","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"collectibleIndex","type":"uint256"},{"indexed":true,"name":"printIndex","type":"uint256"}],"name":"CollectibleNoLongerForSale","type":"event"}]

60606040526000805460a060020a60ff021916905534156200002057600080fd5b5b60008054600160a060020a03191633600160a060020a03908116919091178083556140d8600481905591168252600a602052604091829020558051908101604052601081527f4441444120436f6c6c65637469626c650000000000000000000000000000000060208201526001908051620000a1929160200190620000fc565b506040805190810160405260028082527fc6890000000000000000000000000000000000000000000000000000000000006020830152908051620000ea929160200190620000fc565b506003805460ff191690555b620001a6565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200013f57805160ff19168380011785556200016f565b828001600101855582156200016f579182015b828111156200016f57825182559160200191906001019062000152565b5b506200017e92915062000182565b5090565b620001a391905b808211156200017e576000815560010162000189565b5090565b90565b61268280620001b66000396000f300606060405236156101465763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde03811461014b57806307156854146101d6578063095bcdb6146101f057806318160ddd146102295780632767dd7d1461024e57806327e235e31461025e578063313ce5671461028f57806336b2e0f9146102b85780633ccfd60b146102d65780633ed731bc146102eb57806354f5675c1461031557806357611ba3146103775780635dc774d7146103a157806364322c9c146103d357806370a08231146105a357806374cd0c40146105d45780637b316db214610626578063854642e11461063657806395d89b411461064e578063a2550108146106d9578063a7086536146106e9578063a724e54c14610704578063e93e40db146107f9578063f3f4370314610817578063f8ec4cd514610848575b600080fd5b341561015657600080fd5b61015e610863565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561019b5780820151818401525b602001610182565b50505050905090810190601f1680156101c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101e157600080fd5b6101ee6004351515610901565b005b34156101fb57600080fd5b610215600160a060020a0360043516602435604435610948565b604051901515815260200160405180910390f35b341561023457600080fd5b61023c610bab565b60405190815260200160405180910390f35b6101ee600435602435610bb1565b005b341561026957600080fd5b61023c600160a060020a0360043516610f5d565b60405190815260200160405180910390f35b341561029a57600080fd5b6102a2610f6f565b60405160ff909116815260200160405180910390f35b34156102c357600080fd5b6101ee600435602435604435610f78565b005b34156102e157600080fd5b6101ee611356565b005b34156102f657600080fd5b6101ee600160a060020a03600435166024356044356064356113bc565b005b341561032057600080fd5b61032b60043561155a565b60405196151587526020870195909552604080870194909452600160a060020a03928316606087015260808601919091521660a084015260c083019190915260e0909101905180910390f35b341561038257600080fd5b6101ee600435602435604435600160a060020a03606435166115a9565b005b34156103ac57600080fd5b6103b760043561177a565b604051600160a060020a03909116815260200160405180910390f35b34156103de57600080fd5b6103e9600435611795565b6040518a81526040810189905260608101889052861515608082015260a0810186905260c08101859052610100808201849052610140602083018181528c546002600182161590940260001901169290920490830181905260e08301906101208401906101608501908e9080156104a15780601f10610476576101008083540402835291602001916104a1565b820191906000526020600020905b81548152906001019060200180831161048457829003601f168201915b50508481038352875460026000196101006001841615020190911604808252602090910190889080156105155780601f106104ea57610100808354040283529160200191610515565b820191906000526020600020905b8154815290600101906020018083116104f857829003601f168201915b50508481038252855460026000196101006001841615020190911604808252602090910190869080156105895780601f1061055e57610100808354040283529160200191610589565b820191906000526020600020905b81548152906001019060200180831161056c57829003601f168201915b50509d505050505050505050505050505060405180910390f35b34156105ae57600080fd5b61023c600160a060020a03600435166117e5565b60405190815260200160405180910390f35b34156105df57600080fd5b6105ea600435611804565b60405194151585526020850193909352604080850192909252600160a060020a03166060840152608083019190915260a0909101905180910390f35b6101ee600435602435611840565b005b341561064157600080fd5b6101ee600435611a4c565b005b341561065957600080fd5b61015e611abc565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561019b5780820151818401525b602001610182565b50505050905090810190601f1680156101c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101ee600435602435611b5a565b005b34156106f457600080fd5b6101ee600435602435611ecc565b005b341561070f57600080fd5b6101ee600480359060446024803590810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496863596602080820135975060408083013597509295506080820194506060909101358501808201935035918291601f83018190048102019051908101604052818152929190602084018383808284378201915050505050509190803590602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284375094965061208295505050505050565b005b341561080457600080fd5b6101ee6004356024356044356121c4565b005b341561082257600080fd5b61023c600160a060020a036004351661238b565b60405190815260200160405180910390f35b341561085357600080fd5b6101ee60043560243561239d565b005b60018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108f95780601f106108ce576101008083540402835291602001916108f9565b820191906000526020600020905b8154815290600101906020018083116108dc57829003601f168201915b505050505081565b60005433600160a060020a0390811691161461091c57600080fd5b6000805474ff0000000000000000000000000000000000000000191660a060020a831515021790555b50565b600080548190819060a060020a900460ff16151561096557600080fd5b600085815260086020526040902054151561097f57600080fd5b600085815260086020908152604080832087845260059092529091205490925033600160a060020a039081169116146109b757600080fd5b8160060154826002015401841080156109d4575081600601548410155b15156109df57600080fd5b610a0186868660066000898152602001908152602001600020600601546113bc565b60008481526005602090815260408083208054600160a060020a031916600160a060020a038b811691821790925533909116808552600a90935281842080546000190190558084529281902080546001908101909155600080516020612637833981519152915190815260200160405180910390a385600160a060020a031633600160a060020a03167faebe0224b22684da37d1c51900f598a5c3dd3a860906f17d32c991f722f4ddca878760405191825260208201526040908101905180910390a35060008381526007602052604090206003810154600160a060020a0387811691161415610b9d576004810154600160a060020a03871660009081526009602052604090819020805490920190915560a09051908101604090815260008083526020808401899052828401889052606084018290526080840182905287825260079052208151815460ff191690151517815560208201518160010155604082015181600201556060820151600382018054600160a060020a031916600160a060020a03929092169190911790556080820151600490910155505b600192505b50509392505050565b60045481565b600080600080600080600060149054906101000a900460ff161515610bd557600080fd5b6000888152600860205260409020541515610bef57600080fd5b6000888152600860205260409020600681015460028201549197500187108015610c1d575085600601548710155b1515610c2857600080fd5b600087815260066020526040902060018101549095501515610c4957600080fd5b845460ff161515610c5957600080fd5b6005850154600160a060020a03161580610c835750600585015433600160a060020a039081169116145b1515610c8e57600080fd5b6004850154341015610c9f57600080fd5b6000878152600560205260409020546003860154600160a060020a03908116911614610cca57600080fd5b60008781526005602052604090205433600160a060020a0390811691161415610cf257600080fd5b600385015460008881526005602090815260408083208054600160a060020a031916600160a060020a0333818116928317909355909516808552600a90935281842080546000190190558484529281902080546001908101909155919750919550869160008051602061263783398151915291905190815260200160405180910390a3348560060154108015610d8f575060648560060154340310155b15610dfc576006850154340391506064603c83025b6006870154600160a060020a03871660009081526009602052604090208054939092040190910190556064602883025b60008054600160a060020a031681526009602052604090208054929091049091019055610e1b565b600160a060020a03841660009081526009602052604090208054340190555b610e27838989346113bc565b82600160a060020a031684600160a060020a0316897f4735e00ab9095d9eeb1b0922b992074c9c6218fd99864f0a3a043acedfa2b4648a3460405191825260208201526040908101905180910390a45060008681526007602052604090206003810154600160a060020a0384811691161415610f52576004810154600160a060020a03841660009081526009602052604090819020805490920190915560a090519081016040908152600080835288546020808501919091528284018b905260608401829052608084018290528a825260079052208151815460ff191690151517815560208201518160010155604082015181600201556060820151600382018054600160a060020a031916600160a060020a03929092169190911790556080820151600490910155505b5b5050505050505050565b600a6020526000908152604090205481565b60035460ff1681565b600080600080600080600060149054906101000a900460ff161515610f9c57600080fd5b6000898152600860205260409020541515610fb657600080fd5b6000898152600860205260409020600681015460028201549197500187108015610fe4575085600601548710155b1515610fef57600080fd5b60008781526005602052604090205433600160a060020a0390811691161461101657600080fd5b600087815260076020526040812060048101543397509095501161103957600080fd5b60048401548890101561104b57600080fd5b60038401805460008981526005602090815260408083208054600160a060020a031916600160a060020a03958616179055898416808452600a90925280832080546000190190558454841683529182902080546001908101909155935490921692600080516020612637833981519152915190815260200160405180910390a383600401549250600660008881526020019081526020016000209150828260060154108015611101575060648260060154840310155b1561116d5750600681015482036064603c82025b6006840154600160a060020a03881660009081526009602052604090208054939092040190910190556064602882025b60008054600160a060020a03168152600960205260409020805492909104909101905561118c565b600160a060020a03851660009081526009602052604090208054840190555b60e06040519081016040908152600080835288546020808501919091528284018b90526003880154600160a060020a031660608501526080840182905260a0840182905260c084018790528a825260069052208151815460ff191690151517815560208201518160010155604082015181600201556060820151600382018054600160a060020a031916600160a060020a03929092169190911790556080820151816004015560a0820151600582018054600160a060020a031916600160a060020a039290921691909117905560c082015160069091015550600384015486546004860154600160a060020a0392831692881691907f4735e00ab9095d9eeb1b0922b992074c9c6218fd99864f0a3a043acedfa2b464908b9060405191825260208201526040908101905180910390a460a06040519081016040908152600080835288546020808501919091528284018b905260608401829052608084018290528a825260079052208151815460ff191690151517815560208201518160010155604082015181600201556060820151600382018054600160a060020a031916600160a060020a03929092169190911790556080820151600490910155505b505050505050505050565b6000805460a060020a900460ff16151561136f57600080fd5b50600160a060020a033316600081815260096020526040808220805492905590919082156108fc0290839051600060405180830381858888f19350505050151561094557600080fd5b5b50565b6000805460a060020a900460ff1615156113d557600080fd5b60008481526008602052604090205415156113ef57600080fd5b50600083815260086020908152604080832085845260059092529091205433600160a060020a0390811691161461142557600080fd5b806006015481600201540183108015611442575080600601548310155b151561144d57600080fd5b60e0604051908101604090815260008083528354602080850191909152828401879052600160a060020a03891660608501526080840182905260a0840182905260c0840186905286825260069052208151815460ff191690151517815560208201518160010155604082015181600201556060820151600382018054600160a060020a031916600160a060020a03929092169190911790556080820151816004015560a0820151600582018054600160a060020a031916600160a060020a039290921691909117905560c082015160069091015550805483907f50c8512b9e71dd0ff9c0183891f87255eda5bada0b02e69b8fc1a73d1b142ef860405160405180910390a35b5050505050565b6006602081905260009182526040909120805460018201546002830154600384015460048501546005860154959096015460ff9094169592949193600160a060020a0391821693929091169087565b60008054819060a060020a900460ff1615156115c457600080fd5b60008681526008602052604090205415156115de57600080fd5b600086815260086020908152604080832088845260059092529091205490925033600160a060020a0390811691161461161657600080fd5b816006015482600201540185108015611633575081600601548510155b151561163e57600080fd5b5060008481526006602081905260409182902001549060e090519081016040908152600182528354602080840191909152818301889052600160a060020a03338116606085015260808401889052861660a084015260c0830184905260008881526006909152208151815460ff191690151517815560208201518160010155604082015181600201556060820151600382018054600160a060020a031916600160a060020a03929092169190911790556080820151816004015560a0820151600582018054600160a060020a031916600160a060020a039290921691909117905560c082015160069091015550600160a060020a03831685877fca52cc869aa452ba42b34c35497ca5f3587f9bdad85c42f5198ea34c31589b41878560405191825260208201526040908101905180910390a45b505050505050565b600560205260009081526040902054600160a060020a031681565b600860208190526000918252604090912080546002820154600383015460048401546005850154600686015496860154949660018701969495939460ff909316939192909160078201916009018a565b600160a060020a0381166000908152600a60205260409020545b919050565b6007602052600090815260409020805460018201546002830154600384015460049094015460ff9093169391929091600160a060020a03169085565b60008054819060a060020a900460ff16151561185b57600080fd5b600084815260086020526040902054151561187557600080fd5b6000848152600860209081526040808320868452600590925290912054909250600160a060020a031615156118a957600080fd5b60008381526005602052604090205433600160a060020a03908116911614156118d157600080fd5b8160060154826002015401831080156118ee575081600601548310155b15156118f957600080fd5b6000341161190657600080fd5b50600082815260076020526040902060048101546064906005025b04816004015401341015151561193657600080fd5b60008160040154111561196c5760048101546003820154600160a060020a03166000908152600960205260409020805490910190555b60a06040519081016040908152600182528354602080840191909152818301869052600160a060020a033316606084015234608084015260008681526007909152208151815460ff191690151517815560208201518160010155604082015181600201556060820151600382018054600160a060020a031916600160a060020a03929092169190911790556080820151600490910155508154600160a060020a0333169084907f01655e3176436a98bf68780b52265fbdc4b601ecf2c9a9f7657c318c5795053f3460405190815260200160405180910390a45b50505050565b60005433600160a060020a03908116911614611a6757600080fd5b600480548201905560008054600160a060020a039081168252600a6020526040808320805485019055825490911691906000805160206126378339815191529084905190815260200160405180910390a35b50565b60028054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108f95780601f106108ce576101008083540402835291602001916108f9565b820191906000526020600020905b8154815290600101906020018083116108dc57829003601f168201915b505050505081565b60008060008060008060149054906101000a900460ff161515611b7c57600080fd5b6000878152600860205260409020541515611b9657600080fd5b6000878152600860205260409020600681015460028201549196500186108015611bc4575084600601548610155b1515611bcf57600080fd5b6000868152600660205260409020600181015490945015611bef57600080fd5b6005850154341015611c0057600080fd5b600086815260056020526040902054600160a060020a031615611c2257600080fd5b600080548782526005602090815260408084208054600160a060020a031916600160a060020a0333818116928317909355909416808652600a9093528185208054600019019055838552938190208054600190810190915591965092945090918591600080516020612637833981519152915190815260200160405180910390a360008054600160a060020a03168152600960205260409081902080543401905560e090519081016040908152600080835287546020808501919091528284018a9052600160a060020a0386166060850152346080850181905260a0850183905260c085015289825260069052208151815460ff191690151517815560208201518160010155604082015181600201556060820151600382018054600160a060020a031916600160a060020a03929092169190911790556080820151816004015560a0820151600582018054600160a060020a031916600160a060020a039290921691909117905560c0820151816006015590505081600160a060020a031683600160a060020a0316887f4735e00ab9095d9eeb1b0922b992074c9c6218fd99864f0a3a043acedfa2b464893460405191825260208201526040908101905180910390a45060008581526007602052604090206003810154600160a060020a0383811691161415611ec2576004810154600160a060020a03831660009081526009602052604090819020805490920190915560a090519081016040908152600080835287546020808501919091528284018a9052606084018290526080840182905289825260079052208151815460ff191690151517815560208201518160010155604082015181600201556060820151600382018054600160a060020a031916600160a060020a03929092169190911790556080820151600490910155505b5b50505050505050565b60008054819060a060020a900460ff161515611ee757600080fd5b6000848152600860205260409020541515611f0157600080fd5b600084815260086020908152604080832086845260059092529091205490925033600160a060020a03908116911614611f3957600080fd5b816006015482600201540183108015611f56575081600601548310155b1515611f6157600080fd5b5060008281526006602081905260409182902001549060e09051908101604090815260008083528454602080850191909152828401879052600160a060020a03331660608501526080840182905260a0840182905260c0840185905286825260069052208151815460ff191690151517815560208201518160010155604082015181600201556060820151600382018054600160a060020a031916600160a060020a03929092169190911790556080820151816004015560a0820151600582018054600160a060020a031916600160a060020a039290921691909117905560c082015160069091015550815483907f50c8512b9e71dd0ff9c0183891f87255eda5bada0b02e69b8fc1a73d1b142ef860405160405180910390a35b50505050565b60005433600160a060020a0390811691161461209d57600080fd5b600088815260086020526040902054156120b657600080fd5b6101406040519081016040528089815260200188815260200187815260200185815260200160001515815260200186815260200185815260200184815260200183815260200182815250600860008a815260200190815260200160002060008201518155602082015181600101908051612134929160200190612596565b506040820151816002015560608201518160030155608082015160048201805460ff191691151591909117905560a0820151816005015560c0820151816006015560e08201518160070190805161218f929160200190612596565b506101008201518160080155610120820151816009019080516121b6929160200190612596565b5050505b5050505050505050565b60008054819060a060020a900460ff1615156121df57600080fd5b60008581526008602052604090205415156121f957600080fd5b600085815260086020908152604080832087845260059092529091205490925033600160a060020a0390811691161461223157600080fd5b81600601548260020154018410801561224e575081600601548410155b151561225957600080fd5b5060008381526006602081905260409182902001549060e090519081016040908152600182528354602080840191909152818301879052600160a060020a033316606084015260808301869052600060a0840181905260c084018590528781526006909152208151815460ff191690151517815560208201518160010155604082015181600201556060820151600382018054600160a060020a031916600160a060020a03929092169190911790556080820151816004015560a0820151600582018054600160a060020a031916600160a060020a039290921691909117905560c082015160069091015550600084867fca52cc869aa452ba42b34c35497ca5f3587f9bdad85c42f5198ea34c31589b41868560405191825260208201526040908101905180910390a45b5050505050565b60096020526000908152604090205481565b600080548190819060a060020a900460ff1615156123ba57600080fd5b60008581526008602052604090205415156123d457600080fd5b6000858152600860205260409020600681015460028201549194500184108015612402575082600601548410155b151561240d57600080fd5b600084815260056020526040902054600160a060020a0316151561243057600080fd5b60008481526005602052604090205433600160a060020a039081169116141561245857600080fd5b6000848152600760205260409020600381015490925033600160a060020a0390811691161461248657600080fd5b33600160a060020a031684867fae35d21a514918ba7a100cbcfd7bf9851ed1b3b437e6b089ddd232afa4ceeaa2856004015460405190815260200160405180910390a450600481015460a0604051908101604090815260008083528554602080850191909152828401889052606084018290526080840182905287825260079052208151815460ff191690151517815560208201518160010155604082015181600201556060820151600382018054600160a060020a031916600160a060020a0392909216919091179055608082015160049091015550600160a060020a03331681156108fc0282604051600060405180830381858888f19350505050151561155357600080fd5b5b5050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106125d757805160ff1916838001178555612604565b82800160010185558215612604579182015b828111156126045782518255916020019190600101906125e9565b5b50612611929150612615565b5090565b61263391905b80821115612611576000815560010161261b565b5090565b905600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820286ad06aaac90ddaeb430a325ebd927ff53b88753d3fa6edb8cb2bade11fc0490029

Deployed Bytecode

0x606060405236156101465763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde03811461014b57806307156854146101d6578063095bcdb6146101f057806318160ddd146102295780632767dd7d1461024e57806327e235e31461025e578063313ce5671461028f57806336b2e0f9146102b85780633ccfd60b146102d65780633ed731bc146102eb57806354f5675c1461031557806357611ba3146103775780635dc774d7146103a157806364322c9c146103d357806370a08231146105a357806374cd0c40146105d45780637b316db214610626578063854642e11461063657806395d89b411461064e578063a2550108146106d9578063a7086536146106e9578063a724e54c14610704578063e93e40db146107f9578063f3f4370314610817578063f8ec4cd514610848575b600080fd5b341561015657600080fd5b61015e610863565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561019b5780820151818401525b602001610182565b50505050905090810190601f1680156101c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101e157600080fd5b6101ee6004351515610901565b005b34156101fb57600080fd5b610215600160a060020a0360043516602435604435610948565b604051901515815260200160405180910390f35b341561023457600080fd5b61023c610bab565b60405190815260200160405180910390f35b6101ee600435602435610bb1565b005b341561026957600080fd5b61023c600160a060020a0360043516610f5d565b60405190815260200160405180910390f35b341561029a57600080fd5b6102a2610f6f565b60405160ff909116815260200160405180910390f35b34156102c357600080fd5b6101ee600435602435604435610f78565b005b34156102e157600080fd5b6101ee611356565b005b34156102f657600080fd5b6101ee600160a060020a03600435166024356044356064356113bc565b005b341561032057600080fd5b61032b60043561155a565b60405196151587526020870195909552604080870194909452600160a060020a03928316606087015260808601919091521660a084015260c083019190915260e0909101905180910390f35b341561038257600080fd5b6101ee600435602435604435600160a060020a03606435166115a9565b005b34156103ac57600080fd5b6103b760043561177a565b604051600160a060020a03909116815260200160405180910390f35b34156103de57600080fd5b6103e9600435611795565b6040518a81526040810189905260608101889052861515608082015260a0810186905260c08101859052610100808201849052610140602083018181528c546002600182161590940260001901169290920490830181905260e08301906101208401906101608501908e9080156104a15780601f10610476576101008083540402835291602001916104a1565b820191906000526020600020905b81548152906001019060200180831161048457829003601f168201915b50508481038352875460026000196101006001841615020190911604808252602090910190889080156105155780601f106104ea57610100808354040283529160200191610515565b820191906000526020600020905b8154815290600101906020018083116104f857829003601f168201915b50508481038252855460026000196101006001841615020190911604808252602090910190869080156105895780601f1061055e57610100808354040283529160200191610589565b820191906000526020600020905b81548152906001019060200180831161056c57829003601f168201915b50509d505050505050505050505050505060405180910390f35b34156105ae57600080fd5b61023c600160a060020a03600435166117e5565b60405190815260200160405180910390f35b34156105df57600080fd5b6105ea600435611804565b60405194151585526020850193909352604080850192909252600160a060020a03166060840152608083019190915260a0909101905180910390f35b6101ee600435602435611840565b005b341561064157600080fd5b6101ee600435611a4c565b005b341561065957600080fd5b61015e611abc565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561019b5780820151818401525b602001610182565b50505050905090810190601f1680156101c85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101ee600435602435611b5a565b005b34156106f457600080fd5b6101ee600435602435611ecc565b005b341561070f57600080fd5b6101ee600480359060446024803590810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496863596602080820135975060408083013597509295506080820194506060909101358501808201935035918291601f83018190048102019051908101604052818152929190602084018383808284378201915050505050509190803590602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052818152929190602084018383808284375094965061208295505050505050565b005b341561080457600080fd5b6101ee6004356024356044356121c4565b005b341561082257600080fd5b61023c600160a060020a036004351661238b565b60405190815260200160405180910390f35b341561085357600080fd5b6101ee60043560243561239d565b005b60018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108f95780601f106108ce576101008083540402835291602001916108f9565b820191906000526020600020905b8154815290600101906020018083116108dc57829003601f168201915b505050505081565b60005433600160a060020a0390811691161461091c57600080fd5b6000805474ff0000000000000000000000000000000000000000191660a060020a831515021790555b50565b600080548190819060a060020a900460ff16151561096557600080fd5b600085815260086020526040902054151561097f57600080fd5b600085815260086020908152604080832087845260059092529091205490925033600160a060020a039081169116146109b757600080fd5b8160060154826002015401841080156109d4575081600601548410155b15156109df57600080fd5b610a0186868660066000898152602001908152602001600020600601546113bc565b60008481526005602090815260408083208054600160a060020a031916600160a060020a038b811691821790925533909116808552600a90935281842080546000190190558084529281902080546001908101909155600080516020612637833981519152915190815260200160405180910390a385600160a060020a031633600160a060020a03167faebe0224b22684da37d1c51900f598a5c3dd3a860906f17d32c991f722f4ddca878760405191825260208201526040908101905180910390a35060008381526007602052604090206003810154600160a060020a0387811691161415610b9d576004810154600160a060020a03871660009081526009602052604090819020805490920190915560a09051908101604090815260008083526020808401899052828401889052606084018290526080840182905287825260079052208151815460ff191690151517815560208201518160010155604082015181600201556060820151600382018054600160a060020a031916600160a060020a03929092169190911790556080820151600490910155505b600192505b50509392505050565b60045481565b600080600080600080600060149054906101000a900460ff161515610bd557600080fd5b6000888152600860205260409020541515610bef57600080fd5b6000888152600860205260409020600681015460028201549197500187108015610c1d575085600601548710155b1515610c2857600080fd5b600087815260066020526040902060018101549095501515610c4957600080fd5b845460ff161515610c5957600080fd5b6005850154600160a060020a03161580610c835750600585015433600160a060020a039081169116145b1515610c8e57600080fd5b6004850154341015610c9f57600080fd5b6000878152600560205260409020546003860154600160a060020a03908116911614610cca57600080fd5b60008781526005602052604090205433600160a060020a0390811691161415610cf257600080fd5b600385015460008881526005602090815260408083208054600160a060020a031916600160a060020a0333818116928317909355909516808552600a90935281842080546000190190558484529281902080546001908101909155919750919550869160008051602061263783398151915291905190815260200160405180910390a3348560060154108015610d8f575060648560060154340310155b15610dfc576006850154340391506064603c83025b6006870154600160a060020a03871660009081526009602052604090208054939092040190910190556064602883025b60008054600160a060020a031681526009602052604090208054929091049091019055610e1b565b600160a060020a03841660009081526009602052604090208054340190555b610e27838989346113bc565b82600160a060020a031684600160a060020a0316897f4735e00ab9095d9eeb1b0922b992074c9c6218fd99864f0a3a043acedfa2b4648a3460405191825260208201526040908101905180910390a45060008681526007602052604090206003810154600160a060020a0384811691161415610f52576004810154600160a060020a03841660009081526009602052604090819020805490920190915560a090519081016040908152600080835288546020808501919091528284018b905260608401829052608084018290528a825260079052208151815460ff191690151517815560208201518160010155604082015181600201556060820151600382018054600160a060020a031916600160a060020a03929092169190911790556080820151600490910155505b5b5050505050505050565b600a6020526000908152604090205481565b60035460ff1681565b600080600080600080600060149054906101000a900460ff161515610f9c57600080fd5b6000898152600860205260409020541515610fb657600080fd5b6000898152600860205260409020600681015460028201549197500187108015610fe4575085600601548710155b1515610fef57600080fd5b60008781526005602052604090205433600160a060020a0390811691161461101657600080fd5b600087815260076020526040812060048101543397509095501161103957600080fd5b60048401548890101561104b57600080fd5b60038401805460008981526005602090815260408083208054600160a060020a031916600160a060020a03958616179055898416808452600a90925280832080546000190190558454841683529182902080546001908101909155935490921692600080516020612637833981519152915190815260200160405180910390a383600401549250600660008881526020019081526020016000209150828260060154108015611101575060648260060154840310155b1561116d5750600681015482036064603c82025b6006840154600160a060020a03881660009081526009602052604090208054939092040190910190556064602882025b60008054600160a060020a03168152600960205260409020805492909104909101905561118c565b600160a060020a03851660009081526009602052604090208054840190555b60e06040519081016040908152600080835288546020808501919091528284018b90526003880154600160a060020a031660608501526080840182905260a0840182905260c084018790528a825260069052208151815460ff191690151517815560208201518160010155604082015181600201556060820151600382018054600160a060020a031916600160a060020a03929092169190911790556080820151816004015560a0820151600582018054600160a060020a031916600160a060020a039290921691909117905560c082015160069091015550600384015486546004860154600160a060020a0392831692881691907f4735e00ab9095d9eeb1b0922b992074c9c6218fd99864f0a3a043acedfa2b464908b9060405191825260208201526040908101905180910390a460a06040519081016040908152600080835288546020808501919091528284018b905260608401829052608084018290528a825260079052208151815460ff191690151517815560208201518160010155604082015181600201556060820151600382018054600160a060020a031916600160a060020a03929092169190911790556080820151600490910155505b505050505050505050565b6000805460a060020a900460ff16151561136f57600080fd5b50600160a060020a033316600081815260096020526040808220805492905590919082156108fc0290839051600060405180830381858888f19350505050151561094557600080fd5b5b50565b6000805460a060020a900460ff1615156113d557600080fd5b60008481526008602052604090205415156113ef57600080fd5b50600083815260086020908152604080832085845260059092529091205433600160a060020a0390811691161461142557600080fd5b806006015481600201540183108015611442575080600601548310155b151561144d57600080fd5b60e0604051908101604090815260008083528354602080850191909152828401879052600160a060020a03891660608501526080840182905260a0840182905260c0840186905286825260069052208151815460ff191690151517815560208201518160010155604082015181600201556060820151600382018054600160a060020a031916600160a060020a03929092169190911790556080820151816004015560a0820151600582018054600160a060020a031916600160a060020a039290921691909117905560c082015160069091015550805483907f50c8512b9e71dd0ff9c0183891f87255eda5bada0b02e69b8fc1a73d1b142ef860405160405180910390a35b5050505050565b6006602081905260009182526040909120805460018201546002830154600384015460048501546005860154959096015460ff9094169592949193600160a060020a0391821693929091169087565b60008054819060a060020a900460ff1615156115c457600080fd5b60008681526008602052604090205415156115de57600080fd5b600086815260086020908152604080832088845260059092529091205490925033600160a060020a0390811691161461161657600080fd5b816006015482600201540185108015611633575081600601548510155b151561163e57600080fd5b5060008481526006602081905260409182902001549060e090519081016040908152600182528354602080840191909152818301889052600160a060020a03338116606085015260808401889052861660a084015260c0830184905260008881526006909152208151815460ff191690151517815560208201518160010155604082015181600201556060820151600382018054600160a060020a031916600160a060020a03929092169190911790556080820151816004015560a0820151600582018054600160a060020a031916600160a060020a039290921691909117905560c082015160069091015550600160a060020a03831685877fca52cc869aa452ba42b34c35497ca5f3587f9bdad85c42f5198ea34c31589b41878560405191825260208201526040908101905180910390a45b505050505050565b600560205260009081526040902054600160a060020a031681565b600860208190526000918252604090912080546002820154600383015460048401546005850154600686015496860154949660018701969495939460ff909316939192909160078201916009018a565b600160a060020a0381166000908152600a60205260409020545b919050565b6007602052600090815260409020805460018201546002830154600384015460049094015460ff9093169391929091600160a060020a03169085565b60008054819060a060020a900460ff16151561185b57600080fd5b600084815260086020526040902054151561187557600080fd5b6000848152600860209081526040808320868452600590925290912054909250600160a060020a031615156118a957600080fd5b60008381526005602052604090205433600160a060020a03908116911614156118d157600080fd5b8160060154826002015401831080156118ee575081600601548310155b15156118f957600080fd5b6000341161190657600080fd5b50600082815260076020526040902060048101546064906005025b04816004015401341015151561193657600080fd5b60008160040154111561196c5760048101546003820154600160a060020a03166000908152600960205260409020805490910190555b60a06040519081016040908152600182528354602080840191909152818301869052600160a060020a033316606084015234608084015260008681526007909152208151815460ff191690151517815560208201518160010155604082015181600201556060820151600382018054600160a060020a031916600160a060020a03929092169190911790556080820151600490910155508154600160a060020a0333169084907f01655e3176436a98bf68780b52265fbdc4b601ecf2c9a9f7657c318c5795053f3460405190815260200160405180910390a45b50505050565b60005433600160a060020a03908116911614611a6757600080fd5b600480548201905560008054600160a060020a039081168252600a6020526040808320805485019055825490911691906000805160206126378339815191529084905190815260200160405180910390a35b50565b60028054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108f95780601f106108ce576101008083540402835291602001916108f9565b820191906000526020600020905b8154815290600101906020018083116108dc57829003601f168201915b505050505081565b60008060008060008060149054906101000a900460ff161515611b7c57600080fd5b6000878152600860205260409020541515611b9657600080fd5b6000878152600860205260409020600681015460028201549196500186108015611bc4575084600601548610155b1515611bcf57600080fd5b6000868152600660205260409020600181015490945015611bef57600080fd5b6005850154341015611c0057600080fd5b600086815260056020526040902054600160a060020a031615611c2257600080fd5b600080548782526005602090815260408084208054600160a060020a031916600160a060020a0333818116928317909355909416808652600a9093528185208054600019019055838552938190208054600190810190915591965092945090918591600080516020612637833981519152915190815260200160405180910390a360008054600160a060020a03168152600960205260409081902080543401905560e090519081016040908152600080835287546020808501919091528284018a9052600160a060020a0386166060850152346080850181905260a0850183905260c085015289825260069052208151815460ff191690151517815560208201518160010155604082015181600201556060820151600382018054600160a060020a031916600160a060020a03929092169190911790556080820151816004015560a0820151600582018054600160a060020a031916600160a060020a039290921691909117905560c0820151816006015590505081600160a060020a031683600160a060020a0316887f4735e00ab9095d9eeb1b0922b992074c9c6218fd99864f0a3a043acedfa2b464893460405191825260208201526040908101905180910390a45060008581526007602052604090206003810154600160a060020a0383811691161415611ec2576004810154600160a060020a03831660009081526009602052604090819020805490920190915560a090519081016040908152600080835287546020808501919091528284018a9052606084018290526080840182905289825260079052208151815460ff191690151517815560208201518160010155604082015181600201556060820151600382018054600160a060020a031916600160a060020a03929092169190911790556080820151600490910155505b5b50505050505050565b60008054819060a060020a900460ff161515611ee757600080fd5b6000848152600860205260409020541515611f0157600080fd5b600084815260086020908152604080832086845260059092529091205490925033600160a060020a03908116911614611f3957600080fd5b816006015482600201540183108015611f56575081600601548310155b1515611f6157600080fd5b5060008281526006602081905260409182902001549060e09051908101604090815260008083528454602080850191909152828401879052600160a060020a03331660608501526080840182905260a0840182905260c0840185905286825260069052208151815460ff191690151517815560208201518160010155604082015181600201556060820151600382018054600160a060020a031916600160a060020a03929092169190911790556080820151816004015560a0820151600582018054600160a060020a031916600160a060020a039290921691909117905560c082015160069091015550815483907f50c8512b9e71dd0ff9c0183891f87255eda5bada0b02e69b8fc1a73d1b142ef860405160405180910390a35b50505050565b60005433600160a060020a0390811691161461209d57600080fd5b600088815260086020526040902054156120b657600080fd5b6101406040519081016040528089815260200188815260200187815260200185815260200160001515815260200186815260200185815260200184815260200183815260200182815250600860008a815260200190815260200160002060008201518155602082015181600101908051612134929160200190612596565b506040820151816002015560608201518160030155608082015160048201805460ff191691151591909117905560a0820151816005015560c0820151816006015560e08201518160070190805161218f929160200190612596565b506101008201518160080155610120820151816009019080516121b6929160200190612596565b5050505b5050505050505050565b60008054819060a060020a900460ff1615156121df57600080fd5b60008581526008602052604090205415156121f957600080fd5b600085815260086020908152604080832087845260059092529091205490925033600160a060020a0390811691161461223157600080fd5b81600601548260020154018410801561224e575081600601548410155b151561225957600080fd5b5060008381526006602081905260409182902001549060e090519081016040908152600182528354602080840191909152818301879052600160a060020a033316606084015260808301869052600060a0840181905260c084018590528781526006909152208151815460ff191690151517815560208201518160010155604082015181600201556060820151600382018054600160a060020a031916600160a060020a03929092169190911790556080820151816004015560a0820151600582018054600160a060020a031916600160a060020a039290921691909117905560c082015160069091015550600084867fca52cc869aa452ba42b34c35497ca5f3587f9bdad85c42f5198ea34c31589b41868560405191825260208201526040908101905180910390a45b5050505050565b60096020526000908152604090205481565b600080548190819060a060020a900460ff1615156123ba57600080fd5b60008581526008602052604090205415156123d457600080fd5b6000858152600860205260409020600681015460028201549194500184108015612402575082600601548410155b151561240d57600080fd5b600084815260056020526040902054600160a060020a0316151561243057600080fd5b60008481526005602052604090205433600160a060020a039081169116141561245857600080fd5b6000848152600760205260409020600381015490925033600160a060020a0390811691161461248657600080fd5b33600160a060020a031684867fae35d21a514918ba7a100cbcfd7bf9851ed1b3b437e6b089ddd232afa4ceeaa2856004015460405190815260200160405180910390a450600481015460a0604051908101604090815260008083528554602080850191909152828401889052606084018290526080840182905287825260079052208151815460ff191690151517815560208201518160010155604082015181600201556060820151600382018054600160a060020a031916600160a060020a0392909216919091179055608082015160049091015550600160a060020a03331681156108fc0282604051600060405180830381858888f19350505050151561155357600080fd5b5b5050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106125d757805160ff1916838001178555612604565b82800160010185558215612604579182015b828111156126045782518255916020019190600101906125e9565b5b50612611929150612615565b5090565b61263391905b80821115612611576000815560010161261b565b5090565b905600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820286ad06aaac90ddaeb430a325ebd927ff53b88753d3fa6edb8cb2bade11fc0490029

Swarm Source

bzzr://286ad06aaac90ddaeb430a325ebd927ff53b88753d3fa6edb8cb2bade11fc049
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.