Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
16,600 Ɖ
Holders
17
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 0 Decimals)
Balance
8,422 ƉValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
DigitalArtCollectible
Compiler Version
v0.4.18+commit.9cf6e910
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2021-08-14 */ // File: contracts/ConvertLib.sol pragma solidity ^0.4.2; library ConvertLib{ function convert(uint amount,uint conversionRate) returns (uint convertedAmount) { return amount * conversionRate; } } // File: contracts/DigitalArtCollectible.sol pragma solidity ^0.4.13; /** * This contract handles the actions for every collectible on MisfitArt... */ contract DigitalArtCollectible { // MisfitArt'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 initialPrice; uint initialPrintIndex; uint collectionId; uint authorUId; // drawing creator id } // 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 DigitalArtCollectible () { // 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 owner all initial drawings balances[owner] = totalSupply; // Set the name for display purposes name = "Digital Art 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 MisfitArt -> 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 90% of the profit pendingWithdrawals[seller] += offer.lastSellValue + (profit*90/100); // MisfitArt gets 10% of the profit pendingWithdrawals[owner] += (profit*10/100); // MisfitArt receives 30% of the profit to give to the artist // pendingWithdrawals[owner] += (profit*30/100); // going manual for artist and MisfitArt 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 MisfitArt 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 MisfitArt -> 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 MisfitArt -> 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 90% of the profit pendingWithdrawals[seller] += offer.lastSellValue + (profit*90/100); // MisfitArt gets 10% of the profit pendingWithdrawals[owner] += (profit*10/100); // MisfitArt 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, uint collectionId, uint authorUId){ // 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, initialPrice, initialPrintIndex, collectionId, authorUId); } 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); } } // File: contracts/Migrations.sol pragma solidity ^0.4.2; contract Migrations { address public owner; uint public last_completed_migration; modifier restricted() { if (msg.sender == owner) _; } function Migrations() { owner = msg.sender; } function setCompleted(uint completed) restricted { last_completed_migration = completed; } function upgrade(address new_address) restricted { Migrations upgraded = Migrations(new_address); upgraded.setCompleted(last_completed_migration); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"state","type":"bool"}],"name":"flipSwitchTo","outputs":[],"payable":false,"stateMutability":"nonpayable","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,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"drawingId","type":"uint256"},{"name":"printIndex","type":"uint256"}],"name":"buyCollectible","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"balances","outputs":[{"name":"","type":"uint256"}],"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":"drawingId","type":"uint256"},{"name":"minPrice","type":"uint256"},{"name":"printIndex","type":"uint256"}],"name":"acceptBidForCollectible","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","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,"stateMutability":"nonpayable","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,"stateMutability":"view","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,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"DrawingPrintToAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"drawingIdToCollectibles","outputs":[{"name":"drawingId","type":"uint256"},{"name":"checkSum","type":"string"},{"name":"totalSupply","type":"uint256"},{"name":"initialPrice","type":"uint256"},{"name":"initialPrintIndex","type":"uint256"},{"name":"collectionId","type":"uint256"},{"name":"authorUId","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","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,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"drawingId","type":"uint256"},{"name":"printIndex","type":"uint256"}],"name":"enterBidForCollectible","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"mintNewDrawings","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","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":"collectionId","type":"uint256"},{"name":"authorUId","type":"uint256"}],"name":"newCollectible","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"drawingId","type":"uint256"},{"name":"printIndex","type":"uint256"}],"name":"alt_buyCollectible","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"drawingId","type":"uint256"},{"name":"printIndex","type":"uint256"}],"name":"withdrawOfferForCollectible","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"drawingId","type":"uint256"},{"name":"printIndex","type":"uint256"},{"name":"minSalePriceInWei","type":"uint256"}],"name":"offerCollectibleForSale","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"pendingWithdrawals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"drawingId","type":"uint256"},{"name":"printIndex","type":"uint256"}],"name":"withdrawBidForCollectible","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","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"}]
Contract Creation Code
60606040526000805460a060020a60ff021916905534156200002057600080fd5b60008054600160a060020a03191633600160a060020a03908116919091178083556140d8600481905591168252600a602052604091829020558051908101604052601781527f4469676974616c2041727420436f6c6c65637469626c6500000000000000000060208201526001908051620000a0929160200190620000fa565b506040805190810160405260028082527fc6890000000000000000000000000000000000000000000000000000000000006020830152908051620000e9929160200190620000fa565b506003805460ff191690556200019f565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200013d57805160ff19168380011785556200016d565b828001600101855582156200016d579182015b828111156200016d57825182559160200191906001019062000150565b506200017b9291506200017f565b5090565b6200019c91905b808211156200017b576000815560010162000186565b90565b61233e80620001af6000396000f3006060604052600436106101485763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde03811461014d57806307156854146101d7578063095bcdb6146101f157806318160ddd1461022a5780632767dd7d1461024f57806327e235e31461025d578063313ce5671461027c57806336b2e0f9146102a55780633ccfd60b146102c15780633ed731bc146102d457806354f5675c146102fc57806357611ba31461035e5780635dc774d71461038657806364322c9c146103b857806370a082311461048757806374cd0c40146104a65780637b316db2146104f8578063854642e11461050657806395d89b411461051c5780639c2cd9211461052f578063a25501081461059d578063a7086536146105ab578063e93e40db146105c4578063f3f43703146105e0578063f8ec4cd5146105ff575b600080fd5b341561015857600080fd5b610160610618565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561019c578082015183820152602001610184565b50505050905090810190601f1680156101c95780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101e257600080fd5b6101ef60043515156106b6565b005b34156101fc57600080fd5b610216600160a060020a0360043516602435604435610700565b604051901515815260200160405180910390f35b341561023557600080fd5b61023d610961565b60405190815260200160405180910390f35b6101ef600435602435610967565b341561026857600080fd5b61023d600160a060020a0360043516610d00565b341561028757600080fd5b61028f610d12565b60405160ff909116815260200160405180910390f35b34156102b057600080fd5b6101ef600435602435604435610d1b565b34156102cc57600080fd5b6101ef6110e5565b34156102df57600080fd5b6101ef600160a060020a036004351660243560443560643561114a565b341561030757600080fd5b6103126004356112e7565b60405196151587526020870195909552604080870194909452600160a060020a03928316606087015260808601919091521660a084015260c083019190915260e0909101905180910390f35b341561036957600080fd5b6101ef600435602435604435600160a060020a0360643516611336565b341561039157600080fd5b61039c600435611506565b604051600160a060020a03909116815260200160405180910390f35b34156103c357600080fd5b6103ce600435611521565b60405187815260408101869052606081018590526080810184905260a0810183905260c0810182905260e0602082018181528854600260018216156101009081026000190190921604928401839052909190830190899080156104725780601f1061044757610100808354040283529160200191610472565b820191906000526020600020905b81548152906001019060200180831161045557829003601f168201915b50509850505050505050505060405180910390f35b341561049257600080fd5b61023d600160a060020a0360043516611553565b34156104b157600080fd5b6104bc60043561156e565b60405194151585526020850193909352604080850192909252600160a060020a03166060840152608083019190915260a0909101905180910390f35b6101ef6004356024356115aa565b341561051157600080fd5b6101ef6004356117ad565b341561052757600080fd5b61016061181c565b341561053a57600080fd5b6101ef600480359060446024803590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965050843594602081013594506040810135935060608101359250608001359050611887565b6101ef600435602435611961565b34156105b657600080fd5b6101ef600435602435611cd2565b34156105cf57600080fd5b6101ef600435602435604435611e87565b34156105eb57600080fd5b61023d600160a060020a036004351661204d565b341561060a57600080fd5b6101ef60043560243561205f565b60018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156106ae5780601f10610683576101008083540402835291602001916106ae565b820191906000526020600020905b81548152906001019060200180831161069157829003601f168201915b505050505081565b60005433600160a060020a039081169116146106d157600080fd5b6000805491151560a060020a0274ff000000000000000000000000000000000000000019909216919091179055565b600080548190819060a060020a900460ff16151561071d57600080fd5b600085815260086020526040902054151561073757600080fd5b600085815260086020908152604080832087845260059092529091205490925033600160a060020a0390811691161461076f57600080fd5b81600401548260020154018410801561078c575081600401548410155b151561079757600080fd5b6107b9868686600660008981526020019081526020016000206006015461114a565b60008481526005602090815260408083208054600160a060020a031916600160a060020a038b811691821790925533909116808552600a909352818420805460001901905580845292819020805460019081019091556000805160206122f3833981519152915190815260200160405180910390a385600160a060020a031633600160a060020a03167faebe0224b22684da37d1c51900f598a5c3dd3a860906f17d32c991f722f4ddca878760405191825260208201526040908101905180910390a35060008381526007602052604090206003810154600160a060020a0387811691161415610955576004810154600160a060020a03871660009081526009602052604090819020805490920190915560a09051908101604090815260008083526020808401899052828401889052606084018290526080840182905287825260079052208151815460ff191690151517815560208201518160010155604082015181600201556060820151600382018054600160a060020a031916600160a060020a03929092169190911790556080820151600490910155505b50600195945050505050565b60045481565b600080600080600080600060149054906101000a900460ff16151561098b57600080fd5b60008881526008602052604090205415156109a557600080fd5b60008881526008602052604090206004810154600282015491975001871080156109d3575085600401548710155b15156109de57600080fd5b6000878152600660205260409020600181015490955015156109ff57600080fd5b845460ff161515610a0f57600080fd5b6005850154600160a060020a03161580610a395750600585015433600160a060020a039081169116145b1515610a4457600080fd5b6004850154341015610a5557600080fd5b6000878152600560205260409020546003860154600160a060020a03908116911614610a8057600080fd5b60008781526005602052604090205433600160a060020a0390811691161415610aa857600080fd5b600385015460008881526005602090815260408083208054600160a060020a031916600160a060020a0333818116928317909355909516808552600a9093528184208054600019019055848452928190208054600190810190915591975091955086916000805160206122f383398151915291905190815260200160405180910390a3348560060154108015610b45575060648560060154340310155b15610ba0576006850154600160a060020a038581166000908152600960205260408082208054606434879003605a81028290049097019091019091558254909316825290208054600a84029290920490910190559150610bbf565b600160a060020a03841660009081526009602052604090208054340190555b610bcb8389893461114a565b82600160a060020a031684600160a060020a0316897f4735e00ab9095d9eeb1b0922b992074c9c6218fd99864f0a3a043acedfa2b4648a3460405191825260208201526040908101905180910390a45060008681526007602052604090206003810154600160a060020a0384811691161415610cf6576004810154600160a060020a03841660009081526009602052604090819020805490920190915560a090519081016040908152600080835288546020808501919091528284018b905260608401829052608084018290528a825260079052208151815460ff191690151517815560208201518160010155604082015181600201556060820151600382018054600160a060020a031916600160a060020a03929092169190911790556080820151600490910155505b5050505050505050565b600a6020526000908152604090205481565b60035460ff1681565b600080600080600080600060149054906101000a900460ff161515610d3f57600080fd5b6000898152600860205260409020541515610d5957600080fd5b6000898152600860205260409020600481015460028201549197500187108015610d87575085600401548710155b1515610d9257600080fd5b60008781526005602052604090205433600160a060020a03908116911614610db957600080fd5b6000878152600760205260408120600481015433975090955011610ddc57600080fd5b600484015488901015610dee57600080fd5b60038401805460008981526005602090815260408083208054600160a060020a031916600160a060020a03958616179055898416808452600a909252808320805460001901905584548416835291829020805460019081019091559354909216926000805160206122f3833981519152915190815260200160405180910390a383600401549250600660008881526020019081526020016000209150828260060154108015610ea4575060648260060154840310155b15610efd57506006810154600160a060020a0385811660009081526009602052604080822080546064868903605a81028290049097019091019091558254909316825290208054600a8402929092049091019055610f1c565b600160a060020a03851660009081526009602052604090208054840190555b60e06040519081016040908152600080835288546020808501919091528284018b90526003880154600160a060020a031660608501526080840182905260a0840182905260c084018790528a825260069052208151815460ff191690151517815560208201518160010155604082015181600201556060820151600382018054600160a060020a031916600160a060020a03929092169190911790556080820151816004015560a0820151600582018054600160a060020a031916600160a060020a039290921691909117905560c082015160069091015550600384015486546004860154600160a060020a0392831692881691907f4735e00ab9095d9eeb1b0922b992074c9c6218fd99864f0a3a043acedfa2b464908b9060405191825260208201526040908101905180910390a460a06040519081016040908152600080835288546020808501919091528284018b905260608401829052608084018290528a825260079052208151815460ff191690151517815560208201518160010155604082015181600201556060820151600382018054600160a060020a031916600160a060020a0392909216919091179055608082015160049091015550505050505050505050565b6000805460a060020a900460ff1615156110fe57600080fd5b50600160a060020a033316600081815260096020526040808220805492905590919082156108fc0290839051600060405180830381858888f19350505050151561114757600080fd5b50565b6000805460a060020a900460ff16151561116357600080fd5b600084815260086020526040902054151561117d57600080fd5b50600083815260086020908152604080832085845260059092529091205433600160a060020a039081169116146111b357600080fd5b8060040154816002015401831080156111d0575080600401548310155b15156111db57600080fd5b60e0604051908101604090815260008083528354602080850191909152828401879052600160a060020a03891660608501526080840182905260a0840182905260c0840186905286825260069052208151815460ff191690151517815560208201518160010155604082015181600201556060820151600382018054600160a060020a031916600160a060020a03929092169190911790556080820151816004015560a0820151600582018054600160a060020a031916600160a060020a039290921691909117905560c082015160069091015550805483907f50c8512b9e71dd0ff9c0183891f87255eda5bada0b02e69b8fc1a73d1b142ef860405160405180910390a35050505050565b6006602081905260009182526040909120805460018201546002830154600384015460048501546005860154959096015460ff9094169592949193600160a060020a0391821693929091169087565b60008054819060a060020a900460ff16151561135157600080fd5b600086815260086020526040902054151561136b57600080fd5b600086815260086020908152604080832088845260059092529091205490925033600160a060020a039081169116146113a357600080fd5b8160040154826002015401851080156113c0575081600401548510155b15156113cb57600080fd5b5060008481526006602081905260409182902001549060e090519081016040908152600182528354602080840191909152818301889052600160a060020a03338116606085015260808401889052861660a084015260c0830184905260008881526006909152208151815460ff191690151517815560208201518160010155604082015181600201556060820151600382018054600160a060020a031916600160a060020a03929092169190911790556080820151816004015560a0820151600582018054600160a060020a031916600160a060020a039290921691909117905560c082015160069091015550600160a060020a03831685877fca52cc869aa452ba42b34c35497ca5f3587f9bdad85c42f5198ea34c31589b41878560405191825260208201526040908101905180910390a4505050505050565b600560205260009081526040902054600160a060020a031681565b600860205260009081526040902080546002820154600383015460048401546005850154600686015494956001019487565b600160a060020a03166000908152600a602052604090205490565b6007602052600090815260409020805460018201546002830154600384015460049094015460ff9093169391929091600160a060020a03169085565b60008054819060a060020a900460ff1615156115c557600080fd5b60008481526008602052604090205415156115df57600080fd5b6000848152600860209081526040808320868452600590925290912054909250600160a060020a0316151561161357600080fd5b60008381526005602052604090205433600160a060020a039081169116141561163b57600080fd5b816004015482600201540183108015611658575081600401548310155b151561166357600080fd5b6000341161167057600080fd5b5060008281526007602052604090206004810154606460058202040134101561169857600080fd5b6000816004015411156116ce5760048101546003820154600160a060020a03166000908152600960205260409020805490910190555b60a06040519081016040908152600182528354602080840191909152818301869052600160a060020a033316606084015234608084015260008681526007909152208151815460ff191690151517815560208201518160010155604082015181600201556060820151600382018054600160a060020a031916600160a060020a03929092169190911790556080820151600490910155508154600160a060020a0333169084907f01655e3176436a98bf68780b52265fbdc4b601ecf2c9a9f7657c318c5795053f3460405190815260200160405180910390a450505050565b60005433600160a060020a039081169116146117c857600080fd5b600480548201905560008054600160a060020a039081168252600a6020526040808320805485019055825490911691906000805160206122f38339815191529084905190815260200160405180910390a350565b60028054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156106ae5780601f10610683576101008083540402835291602001916106ae565b60005433600160a060020a039081169116146118a257600080fd5b600087815260086020526040902054156118bb57600080fd5b60e060405190810160405280888152602001878152602001868152602001858152602001848152602001838152602001828152506008600089815260200190815260200160002060008201518155602082015181600101908051611923929160200190612257565b5060408201518160020155606082015181600301556080820151816004015560a0820151816005015560c08201516006909101555050505050505050565b60008060008060008060149054906101000a900460ff16151561198357600080fd5b600087815260086020526040902054151561199d57600080fd5b60008781526008602052604090206004810154600282015491965001861080156119cb575084600401548610155b15156119d657600080fd5b60008681526006602052604090206001810154909450156119f657600080fd5b6003850154341015611a0757600080fd5b600086815260056020526040902054600160a060020a031615611a2957600080fd5b600080548782526005602090815260408084208054600160a060020a031916600160a060020a0333818116928317909355909416808652600a90935281852080546000190190558385529381902080546001908101909155919650929450909185916000805160206122f3833981519152915190815260200160405180910390a360008054600160a060020a03168152600960205260409081902080543401905560e090519081016040908152600080835287546020808501919091528284018a9052600160a060020a0386166060850152346080850181905260a0850183905260c085015289825260069052208151815460ff191690151517815560208201518160010155604082015181600201556060820151600382018054600160a060020a031916600160a060020a03929092169190911790556080820151816004015560a0820151600582018054600160a060020a031916600160a060020a039290921691909117905560c0820151816006015590505081600160a060020a031683600160a060020a0316887f4735e00ab9095d9eeb1b0922b992074c9c6218fd99864f0a3a043acedfa2b464893460405191825260208201526040908101905180910390a45060008581526007602052604090206003810154600160a060020a0383811691161415611cc9576004810154600160a060020a03831660009081526009602052604090819020805490920190915560a090519081016040908152600080835287546020808501919091528284018a9052606084018290526080840182905289825260079052208151815460ff191690151517815560208201518160010155604082015181600201556060820151600382018054600160a060020a031916600160a060020a03929092169190911790556080820151600490910155505b50505050505050565b60008054819060a060020a900460ff161515611ced57600080fd5b6000848152600860205260409020541515611d0757600080fd5b600084815260086020908152604080832086845260059092529091205490925033600160a060020a03908116911614611d3f57600080fd5b816004015482600201540183108015611d5c575081600401548310155b1515611d6757600080fd5b5060008281526006602081905260409182902001549060e09051908101604090815260008083528454602080850191909152828401879052600160a060020a03331660608501526080840182905260a0840182905260c0840185905286825260069052208151815460ff191690151517815560208201518160010155604082015181600201556060820151600382018054600160a060020a031916600160a060020a03929092169190911790556080820151816004015560a0820151600582018054600160a060020a031916600160a060020a039290921691909117905560c082015160069091015550815483907f50c8512b9e71dd0ff9c0183891f87255eda5bada0b02e69b8fc1a73d1b142ef860405160405180910390a350505050565b60008054819060a060020a900460ff161515611ea257600080fd5b6000858152600860205260409020541515611ebc57600080fd5b600085815260086020908152604080832087845260059092529091205490925033600160a060020a03908116911614611ef457600080fd5b816004015482600201540184108015611f11575081600401548410155b1515611f1c57600080fd5b5060008381526006602081905260409182902001549060e090519081016040908152600182528354602080840191909152818301879052600160a060020a033316606084015260808301869052600060a0840181905260c084018590528781526006909152208151815460ff191690151517815560208201518160010155604082015181600201556060820151600382018054600160a060020a031916600160a060020a03929092169190911790556080820151816004015560a0820151600582018054600160a060020a031916600160a060020a039290921691909117905560c082015160069091015550600084867fca52cc869aa452ba42b34c35497ca5f3587f9bdad85c42f5198ea34c31589b41868560405191825260208201526040908101905180910390a45050505050565b60096020526000908152604090205481565b600080548190819060a060020a900460ff16151561207c57600080fd5b600085815260086020526040902054151561209657600080fd5b60008581526008602052604090206004810154600282015491945001841080156120c4575082600401548410155b15156120cf57600080fd5b600084815260056020526040902054600160a060020a031615156120f257600080fd5b60008481526005602052604090205433600160a060020a039081169116141561211a57600080fd5b6000848152600760205260409020600381015490925033600160a060020a0390811691161461214857600080fd5b33600160a060020a031684867fae35d21a514918ba7a100cbcfd7bf9851ed1b3b437e6b089ddd232afa4ceeaa2856004015460405190815260200160405180910390a450600481015460a0604051908101604090815260008083528554602080850191909152828401889052606084018290526080840182905287825260079052208151815460ff191690151517815560208201518160010155604082015181600201556060820151600382018054600160a060020a031916600160a060020a0392909216919091179055608082015160049091015550600160a060020a03331681156108fc0282604051600060405180830381858888f19350505050151561225057600080fd5b5050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061229857805160ff19168380011785556122c5565b828001600101855582156122c5579182015b828111156122c55782518255916020019190600101906122aa565b506122d19291506122d5565b5090565b6122ef91905b808211156122d157600081556001016122db565b905600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a723058200f87837be36cc6e30be7e5c172093b2e19a034f48c764ff6a40c1f041c00d56b0029
Deployed Bytecode
0x6060604052600436106101485763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde03811461014d57806307156854146101d7578063095bcdb6146101f157806318160ddd1461022a5780632767dd7d1461024f57806327e235e31461025d578063313ce5671461027c57806336b2e0f9146102a55780633ccfd60b146102c15780633ed731bc146102d457806354f5675c146102fc57806357611ba31461035e5780635dc774d71461038657806364322c9c146103b857806370a082311461048757806374cd0c40146104a65780637b316db2146104f8578063854642e11461050657806395d89b411461051c5780639c2cd9211461052f578063a25501081461059d578063a7086536146105ab578063e93e40db146105c4578063f3f43703146105e0578063f8ec4cd5146105ff575b600080fd5b341561015857600080fd5b610160610618565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561019c578082015183820152602001610184565b50505050905090810190601f1680156101c95780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101e257600080fd5b6101ef60043515156106b6565b005b34156101fc57600080fd5b610216600160a060020a0360043516602435604435610700565b604051901515815260200160405180910390f35b341561023557600080fd5b61023d610961565b60405190815260200160405180910390f35b6101ef600435602435610967565b341561026857600080fd5b61023d600160a060020a0360043516610d00565b341561028757600080fd5b61028f610d12565b60405160ff909116815260200160405180910390f35b34156102b057600080fd5b6101ef600435602435604435610d1b565b34156102cc57600080fd5b6101ef6110e5565b34156102df57600080fd5b6101ef600160a060020a036004351660243560443560643561114a565b341561030757600080fd5b6103126004356112e7565b60405196151587526020870195909552604080870194909452600160a060020a03928316606087015260808601919091521660a084015260c083019190915260e0909101905180910390f35b341561036957600080fd5b6101ef600435602435604435600160a060020a0360643516611336565b341561039157600080fd5b61039c600435611506565b604051600160a060020a03909116815260200160405180910390f35b34156103c357600080fd5b6103ce600435611521565b60405187815260408101869052606081018590526080810184905260a0810183905260c0810182905260e0602082018181528854600260018216156101009081026000190190921604928401839052909190830190899080156104725780601f1061044757610100808354040283529160200191610472565b820191906000526020600020905b81548152906001019060200180831161045557829003601f168201915b50509850505050505050505060405180910390f35b341561049257600080fd5b61023d600160a060020a0360043516611553565b34156104b157600080fd5b6104bc60043561156e565b60405194151585526020850193909352604080850192909252600160a060020a03166060840152608083019190915260a0909101905180910390f35b6101ef6004356024356115aa565b341561051157600080fd5b6101ef6004356117ad565b341561052757600080fd5b61016061181c565b341561053a57600080fd5b6101ef600480359060446024803590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965050843594602081013594506040810135935060608101359250608001359050611887565b6101ef600435602435611961565b34156105b657600080fd5b6101ef600435602435611cd2565b34156105cf57600080fd5b6101ef600435602435604435611e87565b34156105eb57600080fd5b61023d600160a060020a036004351661204d565b341561060a57600080fd5b6101ef60043560243561205f565b60018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156106ae5780601f10610683576101008083540402835291602001916106ae565b820191906000526020600020905b81548152906001019060200180831161069157829003601f168201915b505050505081565b60005433600160a060020a039081169116146106d157600080fd5b6000805491151560a060020a0274ff000000000000000000000000000000000000000019909216919091179055565b600080548190819060a060020a900460ff16151561071d57600080fd5b600085815260086020526040902054151561073757600080fd5b600085815260086020908152604080832087845260059092529091205490925033600160a060020a0390811691161461076f57600080fd5b81600401548260020154018410801561078c575081600401548410155b151561079757600080fd5b6107b9868686600660008981526020019081526020016000206006015461114a565b60008481526005602090815260408083208054600160a060020a031916600160a060020a038b811691821790925533909116808552600a909352818420805460001901905580845292819020805460019081019091556000805160206122f3833981519152915190815260200160405180910390a385600160a060020a031633600160a060020a03167faebe0224b22684da37d1c51900f598a5c3dd3a860906f17d32c991f722f4ddca878760405191825260208201526040908101905180910390a35060008381526007602052604090206003810154600160a060020a0387811691161415610955576004810154600160a060020a03871660009081526009602052604090819020805490920190915560a09051908101604090815260008083526020808401899052828401889052606084018290526080840182905287825260079052208151815460ff191690151517815560208201518160010155604082015181600201556060820151600382018054600160a060020a031916600160a060020a03929092169190911790556080820151600490910155505b50600195945050505050565b60045481565b600080600080600080600060149054906101000a900460ff16151561098b57600080fd5b60008881526008602052604090205415156109a557600080fd5b60008881526008602052604090206004810154600282015491975001871080156109d3575085600401548710155b15156109de57600080fd5b6000878152600660205260409020600181015490955015156109ff57600080fd5b845460ff161515610a0f57600080fd5b6005850154600160a060020a03161580610a395750600585015433600160a060020a039081169116145b1515610a4457600080fd5b6004850154341015610a5557600080fd5b6000878152600560205260409020546003860154600160a060020a03908116911614610a8057600080fd5b60008781526005602052604090205433600160a060020a0390811691161415610aa857600080fd5b600385015460008881526005602090815260408083208054600160a060020a031916600160a060020a0333818116928317909355909516808552600a9093528184208054600019019055848452928190208054600190810190915591975091955086916000805160206122f383398151915291905190815260200160405180910390a3348560060154108015610b45575060648560060154340310155b15610ba0576006850154600160a060020a038581166000908152600960205260408082208054606434879003605a81028290049097019091019091558254909316825290208054600a84029290920490910190559150610bbf565b600160a060020a03841660009081526009602052604090208054340190555b610bcb8389893461114a565b82600160a060020a031684600160a060020a0316897f4735e00ab9095d9eeb1b0922b992074c9c6218fd99864f0a3a043acedfa2b4648a3460405191825260208201526040908101905180910390a45060008681526007602052604090206003810154600160a060020a0384811691161415610cf6576004810154600160a060020a03841660009081526009602052604090819020805490920190915560a090519081016040908152600080835288546020808501919091528284018b905260608401829052608084018290528a825260079052208151815460ff191690151517815560208201518160010155604082015181600201556060820151600382018054600160a060020a031916600160a060020a03929092169190911790556080820151600490910155505b5050505050505050565b600a6020526000908152604090205481565b60035460ff1681565b600080600080600080600060149054906101000a900460ff161515610d3f57600080fd5b6000898152600860205260409020541515610d5957600080fd5b6000898152600860205260409020600481015460028201549197500187108015610d87575085600401548710155b1515610d9257600080fd5b60008781526005602052604090205433600160a060020a03908116911614610db957600080fd5b6000878152600760205260408120600481015433975090955011610ddc57600080fd5b600484015488901015610dee57600080fd5b60038401805460008981526005602090815260408083208054600160a060020a031916600160a060020a03958616179055898416808452600a909252808320805460001901905584548416835291829020805460019081019091559354909216926000805160206122f3833981519152915190815260200160405180910390a383600401549250600660008881526020019081526020016000209150828260060154108015610ea4575060648260060154840310155b15610efd57506006810154600160a060020a0385811660009081526009602052604080822080546064868903605a81028290049097019091019091558254909316825290208054600a8402929092049091019055610f1c565b600160a060020a03851660009081526009602052604090208054840190555b60e06040519081016040908152600080835288546020808501919091528284018b90526003880154600160a060020a031660608501526080840182905260a0840182905260c084018790528a825260069052208151815460ff191690151517815560208201518160010155604082015181600201556060820151600382018054600160a060020a031916600160a060020a03929092169190911790556080820151816004015560a0820151600582018054600160a060020a031916600160a060020a039290921691909117905560c082015160069091015550600384015486546004860154600160a060020a0392831692881691907f4735e00ab9095d9eeb1b0922b992074c9c6218fd99864f0a3a043acedfa2b464908b9060405191825260208201526040908101905180910390a460a06040519081016040908152600080835288546020808501919091528284018b905260608401829052608084018290528a825260079052208151815460ff191690151517815560208201518160010155604082015181600201556060820151600382018054600160a060020a031916600160a060020a0392909216919091179055608082015160049091015550505050505050505050565b6000805460a060020a900460ff1615156110fe57600080fd5b50600160a060020a033316600081815260096020526040808220805492905590919082156108fc0290839051600060405180830381858888f19350505050151561114757600080fd5b50565b6000805460a060020a900460ff16151561116357600080fd5b600084815260086020526040902054151561117d57600080fd5b50600083815260086020908152604080832085845260059092529091205433600160a060020a039081169116146111b357600080fd5b8060040154816002015401831080156111d0575080600401548310155b15156111db57600080fd5b60e0604051908101604090815260008083528354602080850191909152828401879052600160a060020a03891660608501526080840182905260a0840182905260c0840186905286825260069052208151815460ff191690151517815560208201518160010155604082015181600201556060820151600382018054600160a060020a031916600160a060020a03929092169190911790556080820151816004015560a0820151600582018054600160a060020a031916600160a060020a039290921691909117905560c082015160069091015550805483907f50c8512b9e71dd0ff9c0183891f87255eda5bada0b02e69b8fc1a73d1b142ef860405160405180910390a35050505050565b6006602081905260009182526040909120805460018201546002830154600384015460048501546005860154959096015460ff9094169592949193600160a060020a0391821693929091169087565b60008054819060a060020a900460ff16151561135157600080fd5b600086815260086020526040902054151561136b57600080fd5b600086815260086020908152604080832088845260059092529091205490925033600160a060020a039081169116146113a357600080fd5b8160040154826002015401851080156113c0575081600401548510155b15156113cb57600080fd5b5060008481526006602081905260409182902001549060e090519081016040908152600182528354602080840191909152818301889052600160a060020a03338116606085015260808401889052861660a084015260c0830184905260008881526006909152208151815460ff191690151517815560208201518160010155604082015181600201556060820151600382018054600160a060020a031916600160a060020a03929092169190911790556080820151816004015560a0820151600582018054600160a060020a031916600160a060020a039290921691909117905560c082015160069091015550600160a060020a03831685877fca52cc869aa452ba42b34c35497ca5f3587f9bdad85c42f5198ea34c31589b41878560405191825260208201526040908101905180910390a4505050505050565b600560205260009081526040902054600160a060020a031681565b600860205260009081526040902080546002820154600383015460048401546005850154600686015494956001019487565b600160a060020a03166000908152600a602052604090205490565b6007602052600090815260409020805460018201546002830154600384015460049094015460ff9093169391929091600160a060020a03169085565b60008054819060a060020a900460ff1615156115c557600080fd5b60008481526008602052604090205415156115df57600080fd5b6000848152600860209081526040808320868452600590925290912054909250600160a060020a0316151561161357600080fd5b60008381526005602052604090205433600160a060020a039081169116141561163b57600080fd5b816004015482600201540183108015611658575081600401548310155b151561166357600080fd5b6000341161167057600080fd5b5060008281526007602052604090206004810154606460058202040134101561169857600080fd5b6000816004015411156116ce5760048101546003820154600160a060020a03166000908152600960205260409020805490910190555b60a06040519081016040908152600182528354602080840191909152818301869052600160a060020a033316606084015234608084015260008681526007909152208151815460ff191690151517815560208201518160010155604082015181600201556060820151600382018054600160a060020a031916600160a060020a03929092169190911790556080820151600490910155508154600160a060020a0333169084907f01655e3176436a98bf68780b52265fbdc4b601ecf2c9a9f7657c318c5795053f3460405190815260200160405180910390a450505050565b60005433600160a060020a039081169116146117c857600080fd5b600480548201905560008054600160a060020a039081168252600a6020526040808320805485019055825490911691906000805160206122f38339815191529084905190815260200160405180910390a350565b60028054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156106ae5780601f10610683576101008083540402835291602001916106ae565b60005433600160a060020a039081169116146118a257600080fd5b600087815260086020526040902054156118bb57600080fd5b60e060405190810160405280888152602001878152602001868152602001858152602001848152602001838152602001828152506008600089815260200190815260200160002060008201518155602082015181600101908051611923929160200190612257565b5060408201518160020155606082015181600301556080820151816004015560a0820151816005015560c08201516006909101555050505050505050565b60008060008060008060149054906101000a900460ff16151561198357600080fd5b600087815260086020526040902054151561199d57600080fd5b60008781526008602052604090206004810154600282015491965001861080156119cb575084600401548610155b15156119d657600080fd5b60008681526006602052604090206001810154909450156119f657600080fd5b6003850154341015611a0757600080fd5b600086815260056020526040902054600160a060020a031615611a2957600080fd5b600080548782526005602090815260408084208054600160a060020a031916600160a060020a0333818116928317909355909416808652600a90935281852080546000190190558385529381902080546001908101909155919650929450909185916000805160206122f3833981519152915190815260200160405180910390a360008054600160a060020a03168152600960205260409081902080543401905560e090519081016040908152600080835287546020808501919091528284018a9052600160a060020a0386166060850152346080850181905260a0850183905260c085015289825260069052208151815460ff191690151517815560208201518160010155604082015181600201556060820151600382018054600160a060020a031916600160a060020a03929092169190911790556080820151816004015560a0820151600582018054600160a060020a031916600160a060020a039290921691909117905560c0820151816006015590505081600160a060020a031683600160a060020a0316887f4735e00ab9095d9eeb1b0922b992074c9c6218fd99864f0a3a043acedfa2b464893460405191825260208201526040908101905180910390a45060008581526007602052604090206003810154600160a060020a0383811691161415611cc9576004810154600160a060020a03831660009081526009602052604090819020805490920190915560a090519081016040908152600080835287546020808501919091528284018a9052606084018290526080840182905289825260079052208151815460ff191690151517815560208201518160010155604082015181600201556060820151600382018054600160a060020a031916600160a060020a03929092169190911790556080820151600490910155505b50505050505050565b60008054819060a060020a900460ff161515611ced57600080fd5b6000848152600860205260409020541515611d0757600080fd5b600084815260086020908152604080832086845260059092529091205490925033600160a060020a03908116911614611d3f57600080fd5b816004015482600201540183108015611d5c575081600401548310155b1515611d6757600080fd5b5060008281526006602081905260409182902001549060e09051908101604090815260008083528454602080850191909152828401879052600160a060020a03331660608501526080840182905260a0840182905260c0840185905286825260069052208151815460ff191690151517815560208201518160010155604082015181600201556060820151600382018054600160a060020a031916600160a060020a03929092169190911790556080820151816004015560a0820151600582018054600160a060020a031916600160a060020a039290921691909117905560c082015160069091015550815483907f50c8512b9e71dd0ff9c0183891f87255eda5bada0b02e69b8fc1a73d1b142ef860405160405180910390a350505050565b60008054819060a060020a900460ff161515611ea257600080fd5b6000858152600860205260409020541515611ebc57600080fd5b600085815260086020908152604080832087845260059092529091205490925033600160a060020a03908116911614611ef457600080fd5b816004015482600201540184108015611f11575081600401548410155b1515611f1c57600080fd5b5060008381526006602081905260409182902001549060e090519081016040908152600182528354602080840191909152818301879052600160a060020a033316606084015260808301869052600060a0840181905260c084018590528781526006909152208151815460ff191690151517815560208201518160010155604082015181600201556060820151600382018054600160a060020a031916600160a060020a03929092169190911790556080820151816004015560a0820151600582018054600160a060020a031916600160a060020a039290921691909117905560c082015160069091015550600084867fca52cc869aa452ba42b34c35497ca5f3587f9bdad85c42f5198ea34c31589b41868560405191825260208201526040908101905180910390a45050505050565b60096020526000908152604090205481565b600080548190819060a060020a900460ff16151561207c57600080fd5b600085815260086020526040902054151561209657600080fd5b60008581526008602052604090206004810154600282015491945001841080156120c4575082600401548410155b15156120cf57600080fd5b600084815260056020526040902054600160a060020a031615156120f257600080fd5b60008481526005602052604090205433600160a060020a039081169116141561211a57600080fd5b6000848152600760205260409020600381015490925033600160a060020a0390811691161461214857600080fd5b33600160a060020a031684867fae35d21a514918ba7a100cbcfd7bf9851ed1b3b437e6b089ddd232afa4ceeaa2856004015460405190815260200160405180910390a450600481015460a0604051908101604090815260008083528554602080850191909152828401889052606084018290526080840182905287825260079052208151815460ff191690151517815560208201518160010155604082015181600201556060820151600382018054600160a060020a031916600160a060020a0392909216919091179055608082015160049091015550600160a060020a03331681156108fc0282604051600060405180830381858888f19350505050151561225057600080fd5b5050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061229857805160ff19168380011785556122c5565b828001600101855582156122c5579182015b828111156122c55782518255916020019190600101906122aa565b506122d19291506122d5565b5090565b6122ef91905b808211156122d157600081556001016122db565b905600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a723058200f87837be36cc6e30be7e5c172093b2e19a034f48c764ff6a40c1f041c00d56b0029
Deployed Bytecode Sourcemap
380:20084:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;610:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;71:3;;;64:6;52:2;45:3;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20105:145:0;;;;;;;;;;;;;;;;;;17433:1254;;;;;;;;;;-1:-1:-1;;;;;17433:1254:0;;;;;;;;;;;;;;;;;;;;;;;;;;684:26;;;;;;;;;;;;;;;;;;;;;;;;;;;4160:3328;;;;;;;;2217:44;;;;;;;;;;-1:-1:-1;;;;;2217:44:0;;;;;658:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14378:2630;;;;;;;;;;;;;;;;;;17066:284;;;;;;;;;;;;18717:716;;;;;;;;;;-1:-1:-1;;;;;18717:716:0;;;;;;;;;;;1831:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1831:45:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13576:796;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13576:796:0;;;;;1458:54;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1458:54:0;;;;;;;;;;;;;;2092:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2092:60:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2318:106;;;;;;;;;;-1:-1:-1;;;;;2318:106:0;;;;;1972:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1972:33:0;;;;;;;;;;;;;;;;;;;;;;;9757:1293;;;;;;;;20256:203;;;;;;;;;;;;;;633:20;;;;;;;;;;;;19439:660;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;19439:660:0;;-1:-1:-1;;19439:660:0;;;;;;;;-1:-1:-1;19439:660:0;;;;;-1:-1:-1;19439:660:0;;;;;-1:-1:-1;19439:660:0;;;;-1:-1:-1;19439:660:0;;7494:2255;;;;;;;;12810:760;;;;;;;;;;;;;;;;12048:756;;;;;;;;;;;;;;;;;;2159:51;;;;;;;;;;-1:-1:-1;;;;;2159:51:0;;;;;11122:895;;;;;;;;;;;;;;;;610:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;20105:145::-;20191:5;;20200:10;-1:-1:-1;;;;;20191:19:0;;;:5;;:19;20183:28;;;;;;20218:18;:26;;;;;-1:-1:-1;;;20218:26:0;-1:-1:-1;;20218:26:0;;;;;;;;;20105:145::o;17433:1254::-;17505:12;17533:18;;17505:12;;;;-1:-1:-1;;;17533:18:0;;;;17525:27;;;;;;;;17567:34;;;;:23;:34;;;;;:44;:49;;17559:58;;;;;;17658:34;;;;:23;:34;;;;;;;;17789:33;;;:21;:33;;;;;;;17658:34;;-1:-1:-1;17826:10:0;-1:-1:-1;;;;;17789:47:0;;;:33;;:47;17781:56;;;;;;17891:11;:29;;;17867:11;:23;;;:53;17853:10;:68;17852:119;;;;;17941:11;:29;;;17927:10;:43;;17852:119;17844:128;;;;;;;;17979:101;18012:2;18016:9;18027:10;18039:14;:26;18054:10;18039:26;;;;;;;;;;;:40;;;17979:32;:101::i;:::-;18127:33;;;;:21;:33;;;;;;;;:38;;-1:-1:-1;;;;;;18127:38:0;-1:-1:-1;;;;;18127:38:0;;;;;;;;;18181:10;18172:20;;;;;;:8;:20;;;;;;:22;;-1:-1:-1;;18172:22:0;;;18201:12;;;;;;;:14;;-1:-1:-1;18201:14:0;;;;;;-1:-1:-1;;;;;;;;;;;18222:27:0;;;;;;;;;;;;;;18288:2;-1:-1:-1;;;;;18256:58:0;18276:10;-1:-1:-1;;;;;18256:58:0;;18292:9;18303:10;18256:58;;;;;;;;;;;;;;;;;;;;-1:-1:-1;18462:16:0;;;;:4;:16;;;;;18489:10;;;;-1:-1:-1;;;;;18489:16:0;;;:10;;:16;18485:179;;;18578:9;;;;-1:-1:-1;;;;;18552:22:0;;;;;;:18;:22;;;;;;;:35;;;;;;;;18615:41;;;;;;;;;;18619:5;18615:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;18596:16;;;:4;:16;;;18615:41;18596:60;;;-1:-1:-1;;18596:60:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;18596:60:0;-1:-1:-1;;;;;18596:60:0;;;;;;;;;;;;;;;;;;;-1:-1:-1;18485:179:0;-1:-1:-1;18677:4:0;;17433:1254;-1:-1:-1;;;;;17433:1254:0:o;684:26::-;;;;:::o;4160:3328::-;4381:31;4592:19;5089:14;5125:13;6213:11;7245:15;4240:18;;;;;;;;;;;4232:27;;;;;;;;4324:34;;;;:23;:34;;;;;:44;:49;;4316:58;;;;;;4415:34;;;;:23;:34;;;;;4503:29;;;;4479:23;;;;4415:34;;-1:-1:-1;4479:53:0;4465:68;;4464:120;;;;;4554:11;:29;;;4540:10;:43;;4464:120;4456:129;;;;;;;;4614:26;;;;:14;:26;;;;;4655:15;;;;4614:26;;-1:-1:-1;4655:20:0;;4647:29;;;;;;4691:15;;;;4683:24;;;;;;;;4751:16;;;;-1:-1:-1;;;;;4751:16:0;:23;;:57;;-1:-1:-1;4778:16:0;;;;4798:10;-1:-1:-1;;;;;4778:30:0;;;:16;;:30;4751:57;4743:66;;;;;;;;4874:14;;;;4861:9;:27;;4853:36;;;;;;4946:33;;;;:21;:33;;;;;;4930:12;;;;-1:-1:-1;;;;;4930:12:0;;;4946:33;;4930:49;4922:58;;;;;;5032:33;;;;:21;:33;;;;;;5069:10;-1:-1:-1;;;;;5032:47:0;;;:33;;:47;;5024:56;;;;;;5106:12;;;;;5160:33;;;:21;:33;;;;;;;;:41;;-1:-1:-1;;;;;;5160:41:0;-1:-1:-1;;;;;5141:10:0;5160:41;;;;;;;;;5106:12;;;5332:16;;;:8;:16;;;;;;:18;;-1:-1:-1;;5332:18:0;;;5444:15;;;;;;;:17;;-1:-1:-1;5444:17:0;;;;;;5106:12;;-1:-1:-1;5141:10:0;;-1:-1:-1;5106:12:0;;-1:-1:-1;;;;;;;;;;;5506:26:0;-1:-1:-1;5506:26:0;;;;;;;;;;;;;6098:9;6076:5;:19;;;:31;:75;;;;;6148:3;6124:5;:19;;;6112:9;:31;6111:40;;6076:75;6073:839;;;6239:19;;;;-1:-1:-1;;;;;6323:26:0;;;;;;;:18;:26;;;;;;:67;;6386:3;6227:9;:31;;;6383:2;6376:9;;:13;;;6353:37;;;6323:67;;;;;;6462:5;;;;;6443:25;;;;:44;;6480:2;6473:9;;:13;;;;6443:44;;;;;6227:31;-1:-1:-1;6073:839:0;;;-1:-1:-1;;;;;6865:26:0;;;;;;:18;:26;;;;;:39;;6895:9;6865:39;;;6073:839;6918:73;6951:5;6958:9;6969:10;6981:9;6918:32;:73::i;:::-;7107:5;-1:-1:-1;;;;;7047:66:0;7099:6;-1:-1:-1;;;;;7047:66:0;7065:9;7047:66;7076:10;7088:9;7047:66;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7263:16:0;;;;:4;:16;;;;;7290:10;;;;-1:-1:-1;;;;;7290:19:0;;;:10;;:19;7286:197;;;7385:9;;;;-1:-1:-1;;;;;7356:25:0;;;;;;:18;:25;;;;;;;:38;;;;;;;;7422:53;;;;;;;;;;7426:5;7422:53;;;7433:21;;7422:53;;;;;;;;;;;;;;;;;;;;;;;;;;7403:16;;;:4;:16;;;7422:53;7403:72;;;-1:-1:-1;;7403:72:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;7403:72:0;-1:-1:-1;;;;;7403:72:0;;;;;;;;;;;;;;;;;;;-1:-1:-1;7286:197:0;4160:3328;;;;;;;;:::o;2217:44::-;;;;;;;;;;;;;:::o;658:21::-;;;;;;:::o;14378:2630::-;14565:31;14838:14;14874:15;15272:11;15304:19;16025:11;14474:18;;;;;;;;;;;14466:27;;;;;;;;14508:34;;;;:23;:34;;;;;:44;:49;;14500:58;;;;;;14599:34;;;;:23;:34;;;;;14687:29;;;;14663:23;;;;14599:34;;-1:-1:-1;14663:53:0;14649:68;;14648:119;;;;;14737:11;:29;;;14723:10;:43;;14648:119;14640:128;;;;;;;;14783:33;;;;:21;:33;;;;;;14820:10;-1:-1:-1;;;;;14783:47:0;;;:33;;:47;14775:56;;;;;;14892:16;;;;:4;:16;;;;;14923:9;;;;14855:10;;-1:-1:-1;14892:16:0;;-1:-1:-1;14923:13:0;14915:22;;;;;;14994:9;;;;:21;;;;14986:30;;;;;;15163:10;;;;;;15127:33;;;:21;:33;;;;;;;;:46;;-1:-1:-1;;;;;;15127:46:0;-1:-1:-1;;;;;15163:10:0;;;15127:46;;;15180:16;;;;;;:8;:16;;;;;;:18;;-1:-1:-1;;15180:18:0;;;15214:10;;;;15205:20;;;;;;:22;;15163:10;15205:22;;;;;;15251:10;;;;;;-1:-1:-1;;;;;;;;;;;15234:31:0;;;;;;;;;;;;;;15286:3;:9;;;15272:23;;15326:14;:26;15341:10;15326:26;;;;;;;;;;;15304:48;;15916:6;15894:5;:19;;;:28;:69;;;;;15960:3;15936:5;:19;;;15927:6;:28;15926:37;;15894:69;15891:759;;;-1:-1:-1;16048:19:0;;;;-1:-1:-1;;;;;16132:26:0;;;;;;;:18;:26;;;;;;:67;;16195:3;16039:28;;;16192:2;16185:9;;:13;;;16162:37;;;16132:67;;;;;;16271:5;;;;;16252:25;;;;:44;;16289:2;16282:9;;:13;;;;16252:44;;;;;15891:759;;;-1:-1:-1;;;;;16606:26:0;;;;;;:18;:26;;;;;:36;;;;;;15891:759;16756:75;;;;;;;;;;16762:5;16756:75;;;16769:21;;16756:75;;;;;;;;;;;;;;16804:10;;;;-1:-1:-1;;;;;16804:10:0;16756:75;;;;;;;;;;;;;;;;;;;;;;16727:26;;;:14;:26;;;16756:75;16727:104;;;-1:-1:-1;;16727:104:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;16727:104:0;-1:-1:-1;;;;;16727:104:0;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;16727:104:0;-1:-1:-1;;;;;16727:104:0;;;;;;;;;;;;;;;;;;;-1:-1:-1;16910:10:0;;;;16856:21;;16891:9;;;;-1:-1:-1;;;;;16910:10:0;;;;16838:83;;;16856:21;16838:83;;16879:10;;16838:83;;;;;;;;;;;;;;;;;;;;16947:53;;;;;;;;;;16951:5;16947:53;;;16958:21;;16947:53;;;;;;;;;;;;;;;;;;;;;;;;;;16928:16;;;:4;:16;;;16947:53;16928:72;;;-1:-1:-1;;16928:72:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;16928:72:0;-1:-1:-1;;;;;16928:72:0;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;14378:2630:0:o;17066:284::-;17127:11;17101:18;;-1:-1:-1;;;17101:18:0;;;;17093:27;;;;;;;;-1:-1:-1;;;;;;17160:10:0;17141:30;;;;;:18;:30;;;;;;;;17276:34;;;17141:30;;;17317:27;;;;;17141:30;;17317:27;;;;;;;;;;;;;;;;;;;;;;;;;17066:284;:::o;18717:716::-;18930:31;18839:18;;-1:-1:-1;;;18839:18:0;;;;18831:27;;;;;;;;18873:34;;;;:23;:34;;;;;:44;:49;;18865:58;;;;;;-1:-1:-1;18964:34:0;;;;:23;:34;;;;;;;;19013:33;;;:21;:33;;;;;;;19050:10;-1:-1:-1;;;;;19013:47:0;;;:33;;:47;19005:56;;;;;;19115:11;:29;;;19091:11;:23;;;:53;19077:10;:68;19076:119;;;;;19165:11;:29;;;19151:10;:43;;19076:119;19068:128;;;;;;;;19232:74;;;;;;;;;;19238:5;19232:74;;;19245:21;;19232:74;;;;;;;;;;;;;;-1:-1:-1;;;;;19232:74:0;;;;;;;;;;;;;;;;;;;;;;;;19203:26;;;:14;:26;;;19232:74;19203:103;;;-1:-1:-1;;19203:103:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;19203:103:0;-1:-1:-1;;;;;19203:103:0;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;19203:103:0;-1:-1:-1;;;;;19203:103:0;;;;;;;;;;;;;;;;;;;-1:-1:-1;19393:21:0;;19416:10;;19366:61;;;;;;;;;;18717:716;;;;;:::o;1831:45::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1831:45:0;;;;;;;;;;:::o;13576:796::-;13800:31;13709:18;;13800:31;;-1:-1:-1;;;13709:18:0;;;;13701:27;;;;;;;;13743:34;;;;:23;:34;;;;;:44;:49;;13735:58;;;;;;13834:34;;;;:23;:34;;;;;;;;13883:33;;;:21;:33;;;;;;;13834:34;;-1:-1:-1;13920:10:0;-1:-1:-1;;;;;13883:47:0;;;:33;;:47;13875:56;;;;;;13985:11;:29;;;13961:11;:23;;;:53;13947:10;:68;13946:119;;;;;14035:11;:29;;;14021:10;:43;;13946:119;13938:128;;;;;;;;-1:-1:-1;14094:26:0;;;;:14;:26;;;;;;;;;:40;;;14170:103;;;;;;;;;;14176:4;14170:103;;14182:21;;14170:103;;;;;;;;;;;;;;-1:-1:-1;;;;;14217:10:0;14170:103;;;;;;;;;;;;;;;;;;;;;;;;;14141:26;;;:14;:26;;;;14170:103;14141:132;;;-1:-1:-1;;14141:132:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;14141:132:0;-1:-1:-1;;;;;14141:132:0;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;14141:132:0;-1:-1:-1;;;;;14141:132:0;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;14280:86:0;;14310:10;14299:9;14280:86;14322:17;14352:13;14280:86;;;;;;;;;;;;;;;;;;;;13576:796;;;;;;:::o;1458:54::-;;;;;;;;;;;;-1:-1:-1;;;;;1458:54:0;;:::o;2092:60::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2318:106::-;-1:-1:-1;;;;;2402:16:0;2371:15;2402:16;;;:8;:16;;;;;;;2318:106::o;1972:33::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1972:33:0;;;:::o;9757:1293::-;9936:31;9845:18;;9936:31;;-1:-1:-1;;;9845:18:0;;;;9837:27;;;;;;;;9879:34;;;;:23;:34;;;;;:44;:49;;9871:58;;;;;;9970:34;;;;:23;:34;;;;;;;;10019:33;;;:21;:33;;;;;;;9970:34;;-1:-1:-1;;;;;;10019:33:0;:40;;10011:49;;;;;;10105:33;;;;:21;:33;;;;;;10142:10;-1:-1:-1;;;;;10105:47:0;;;:33;;:47;;10097:56;;;;;;10239:11;:29;;;10215:11;:23;;;:53;10201:10;:68;10200:119;;;;;10289:11;:29;;;10275:10;:43;;10200:119;10192:128;;;;;;;;10349:1;10337:9;:13;10329:22;;;;;;-1:-1:-1;10461:16:0;;;;:4;:16;;;;;10657:14;;;;10674:3;10672:1;10657:16;;:20;10641:37;10628:9;:50;;10620:59;;;;;;10707:1;10690:8;:14;;;:18;10686:156;;;10820:14;;;;10800:15;;;;-1:-1:-1;;;;;10800:15:0;10781:35;;;;:18;:35;;;;;:53;;;;;;;10686:156;10891:67;;;;;;;;;;10895:4;10891:67;;10901:21;;10891:67;;;;;;;;;;;;;;-1:-1:-1;;;;;10936:10:0;10891:67;;;;;10948:9;10891:67;;;;;10872:16;;;:4;:16;;;;10891:67;10872:86;;;-1:-1:-1;;10872:86:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;10872:86:0;-1:-1:-1;;;;;10872:86:0;;;;;;;;;;;;;;;;;;;-1:-1:-1;10987:21:0;;-1:-1:-1;;;;;11033:10:0;10965:79;;11010:10;;10965:79;11022:9;10965:79;;;;;;;;;;;;;;9757:1293;;;;:::o;20256:203::-;20308:5;;20317:10;-1:-1:-1;;;;;20308:19:0;;;:5;;:19;20300:28;;;;;;20349:11;;;:20;;20335:34;;-1:-1:-1;20403:5:0;;-1:-1:-1;;;;;20403:5:0;;;20394:15;;:8;:15;;;;;;;;:24;;20376:42;;20439:5;;;;;;-1:-1:-1;;;;;;;;;;;;20427:26:0;20363:6;;20427:26;;;;;;;;;;;;;20256:203;:::o;633:20::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19439:660;19781:5;;19790:10;-1:-1:-1;;;;;19781:19:0;;;:5;;:19;19773:28;;;;;;19895:34;;;;:23;:34;;;;;:44;:49;19887:58;;;;;;19989:104;;;;;;;;;20001:9;19989:104;;;;20012:8;19989:104;;;;20022:12;19989:104;;;;20036:12;19989:104;;;;20050:17;19989:104;;;;20069:12;19989:104;;;;20083:9;19989:104;;;19952:23;:34;19976:9;19952:34;;;;;;;;;;;:141;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;19439:660:0:o;7494:2255::-;7719:31;7930:19;8246:14;8275:13;9506:15;7578:18;;;;;;;;;;;7570:27;;;;;;;;7662:34;;;;:23;:34;;;;;:44;:49;;7654:58;;;;;;7753:34;;;;:23;:34;;;;;7841:29;;;;7817:23;;;;7753:34;;-1:-1:-1;7817:53:0;7803:68;;7802:120;;;;;7892:11;:29;;;7878:10;:43;;7802:120;7794:129;;;;;;;;7952:26;;;;:14;:26;;;;;7993:15;;;;7952:26;;-1:-1:-1;7993:20:0;7985:29;;;;;;8048:24;;;;8035:9;:37;;8027:46;;;;;;8114:33;;;;:21;:33;;;;;;-1:-1:-1;;;;;8114:33:0;:40;8106:49;;;;;;8263:5;;;8310:33;;;:21;:33;;;;;;;;:41;;-1:-1:-1;;;;;;8310:41:0;-1:-1:-1;;;;;8291:10:0;8310:41;;;;;;;;;8263:5;;;8555:16;;;:8;:16;;;;;;:18;;-1:-1:-1;;8555:18:0;;;8667:15;;;;;;;:17;;-1:-1:-1;8667:17:0;;;;;;8263:5;;-1:-1:-1;8291:10:0;;-1:-1:-1;8310:41:0;;8263:5;;-1:-1:-1;;;;;;;;;;;8729:26:0;;;;;;;;;;;;;;9091:25;9110:5;;-1:-1:-1;;;;;9110:5:0;9091:25;;:18;:25;;;;;;;:38;;9120:9;9091:38;;;9171:81;;;;;;;;;;9177:5;9171:81;;;9184:21;;9171:81;;;;;;;;;;;;;;-1:-1:-1;;;;;9171:81:0;;;;;;9226:9;9171:81;;;;;;;;;;;;;;;;9142:26;;;:14;:26;;;9171:81;9142:110;;;-1:-1:-1;;9142:110:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;9142:110:0;-1:-1:-1;;;;;9142:110:0;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;9142:110:0;-1:-1:-1;;;;;9142:110:0;;;;;;;;;;;;;;;;;;;;;9368:5;-1:-1:-1;;;;;9308:66:0;9360:6;-1:-1:-1;;;;;9308:66:0;9326:9;9308:66;9337:10;9349:9;9308:66;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9524:16:0;;;;:4;:16;;;;;9551:10;;;;-1:-1:-1;;;;;9551:19:0;;;:10;;:19;9547:197;;;9646:9;;;;-1:-1:-1;;;;;9617:25:0;;;;;;:18;:25;;;;;;;:38;;;;;;;;9683:53;;;;;;;;;;9687:5;9683:53;;;9694:21;;9683:53;;;;;;;;;;;;;;;;;;;;;;;;;;9664:16;;;:4;:16;;;9683:53;9664:72;;;-1:-1:-1;;9664:72:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;9664:72:0;-1:-1:-1;;;;;9664:72:0;;;;;;;;;;;;;;;;;;;-1:-1:-1;9547:197:0;7494:2255;;;;;;;:::o;12810:760::-;12985:31;12894:18;;12985:31;;-1:-1:-1;;;12894:18:0;;;;12886:27;;;;;;;;12928:34;;;;:23;:34;;;;;:44;:49;;12920:58;;;;;;13019:34;;;;:23;:34;;;;;;;;13068:33;;;:21;:33;;;;;;;13019:34;;-1:-1:-1;13105:10:0;-1:-1:-1;;;;;13068:47:0;;;:33;;:47;13060:56;;;;;;13170:11;:29;;;13146:11;:23;;;:53;13132:10;:68;13131:119;;;;;13220:11;:29;;;13206:10;:43;;13131:119;13123:128;;;;;;;;-1:-1:-1;13281:26:0;;;;:14;:26;;;;;;;;;:40;;;13359:82;;;;;;;;;;13365:5;13359:82;;;13372:21;;13359:82;;;;;;;;;;;;;;-1:-1:-1;;;;;13407:10:0;13359:82;;;;;;;;;;;;;;;;;;;;;;;13330:26;;;:14;:26;;;13359:82;13330:111;;;-1:-1:-1;;13330:111:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;13330:111:0;-1:-1:-1;;;;;13330:111:0;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;13330:111:0;-1:-1:-1;;;;;13330:111:0;;;;;;;;;;;;;;;;;;;-1:-1:-1;13528:21:0;;13551:10;;13501:61;;;;;;;;;;12810:760;;;;:::o;12048:756::-;12244:31;12153:18;;12244:31;;-1:-1:-1;;;12153:18:0;;;;12145:27;;;;;;;;12187:34;;;;:23;:34;;;;;:44;:49;;12179:58;;;;;;12278:34;;;;:23;:34;;;;;;;;12327:33;;;:21;:33;;;;;;;12278:34;;-1:-1:-1;12364:10:0;-1:-1:-1;;;;;12327:47:0;;;:33;;:47;12319:56;;;;;;12429:11;:29;;;12405:11;:23;;;:53;12391:10;:68;12390:119;;;;;12479:11;:29;;;12465:10;:43;;12390:119;12382:128;;;;;;;;-1:-1:-1;12538:26:0;;;;:14;:26;;;;;;;;;:40;;;12614:97;;;;;;;;;;12620:4;12614:97;;12626:21;;12614:97;;;;;;;;;;;;;;-1:-1:-1;;;;;12661:10:0;12614:97;;;;;;;;;;;;;;;;;;;;;;;;12585:26;;;:14;:26;;;;12614:97;12585:126;;;-1:-1:-1;;12585:126:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;12585:126:0;-1:-1:-1;;;;;12585:126:0;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;12585:126:0;-1:-1:-1;;;;;12585:126:0;;;;;;;;;;;;;;;;;;;-1:-1:-1;12779:3:0;12748:10;12737:9;12718:80;12760:17;12784:13;12718:80;;;;;;;;;;;;;;;;;;;;12048:756;;;;;:::o;2159:51::-;;;;;;;;;;;;;:::o;11122:895::-;11296:31;11205:18;;11296:31;;;;-1:-1:-1;;;11205:18:0;;;;11197:27;;;;;;;;11239:34;;;;:23;:34;;;;;:44;:49;;11231:58;;;;;;11330:34;;;;:23;:34;;;;;11418:29;;;;11394:23;;;;11330:34;;-1:-1:-1;11394:53:0;11380:68;;11379:119;;;;;11468:11;:29;;;11454:10;:43;;11379:119;11371:128;;;;;;;;11514:33;;;;:21;:33;;;;;;-1:-1:-1;;;;;11514:33:0;:40;;11506:49;;;;;;11600:33;;;;:21;:33;;;;;;11637:10;-1:-1:-1;;;;;11600:47:0;;;:33;;:47;;11592:56;;;;;;11705:16;;;;:4;:16;;;;;11736:10;;;;11705:16;;-1:-1:-1;11750:10:0;-1:-1:-1;;;;;11736:24:0;;;:10;;:24;11728:33;;;;;;11826:10;-1:-1:-1;;;;;11768:69:0;11803:10;11792:9;11768:69;11815:3;:9;;;11768:69;;;;;;;;;;;;;;-1:-1:-1;11860:9:0;;;;11895:53;;;;;;;;;;11899:5;11895:53;;;11906:21;;11895:53;;;;;;;;;;;;;;;;;;;;;;;;;;11876:16;;;:4;:16;;;11895:53;11876:72;;;-1:-1:-1;;11876:72:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;11876:72:0;-1:-1:-1;;;;;11876:72:0;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;11984:10:0;:19;:27;;;;12004:6;11984:27;;;;;;;;;;;;;;;;;;;;;;;;;;11122:895;;;;;:::o;380:20084::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;380:20084:0;;;-1:-1:-1;380:20084:0;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o
Swarm Source
bzzr://0f87837be36cc6e30be7e5c172093b2e19a034f48c764ff6a40c1f041c00d56b
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.