Feature Tip: Add private address tag to any address under My Name Tag !
Source Code
Overview
ETH Balance
2 wei
Eth Value
Less Than $0.01 (@ $2,605.99/ETH)More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 55 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Register Opinion | 5836626 | 2573 days ago | IN | 0.032 ETH | 0.0002705 | ||||
Sponsor Opinion | 5315456 | 2663 days ago | IN | 0.01 ETH | 0.00007863 | ||||
Register Opinion | 5315436 | 2663 days ago | IN | 0.032 ETH | 0.00061987 | ||||
Register Opinion | 5281114 | 2668 days ago | IN | 0 ETH | 0.00010402 | ||||
Sponsor Opinion | 5279206 | 2669 days ago | IN | 0.02222222 ETH | 0.00007033 | ||||
Sponsor Opinion | 5279092 | 2669 days ago | IN | 0.01 ETH | 0.00007863 | ||||
Register Opinion | 5279078 | 2669 days ago | IN | 0.032 ETH | 0.00071117 | ||||
Register Opinion | 5229334 | 2677 days ago | IN | 0.032 ETH | 0.00061807 | ||||
Sponsor Opinion | 5203319 | 2682 days ago | IN | 0.01 ETH | 0.00023591 | ||||
Register Opinion | 5203304 | 2682 days ago | IN | 0.016 ETH | 0.00155287 | ||||
Register Opinion | 5203288 | 2682 days ago | IN | 0.016 ETH | 0.00010364 | ||||
Sponsor Opinion | 5203286 | 2682 days ago | IN | 0.01 ETH | 0.00023591 | ||||
Register Opinion | 5203284 | 2682 days ago | IN | 0.008 ETH | 0.00032831 | ||||
Register Opinion | 5203283 | 2682 days ago | IN | 0.016 ETH | 0.00061871 | ||||
Register Opinion | 5203282 | 2682 days ago | IN | 0.008 ETH | 0.00016415 | ||||
Register Opinion | 5203282 | 2682 days ago | IN | 0.008 ETH | 0.00010076 | ||||
Register Opinion | 5203279 | 2682 days ago | IN | 0.016 ETH | 0.00319839 | ||||
Register Opinion | 5203278 | 2682 days ago | IN | 0.032 ETH | 0.00132668 | ||||
Register Opinion | 5203275 | 2682 days ago | IN | 0.008 ETH | 0.0009471 | ||||
Register Opinion | 5203274 | 2682 days ago | IN | 0.008 ETH | 0.00100741 | ||||
Register Opinion | 5203272 | 2682 days ago | IN | 0.008 ETH | 0.0003157 | ||||
Register Opinion | 5203270 | 2682 days ago | IN | 0.008 ETH | 0.00106741 | ||||
Register Opinion | 5203266 | 2682 days ago | IN | 0.008 ETH | 0.00186573 | ||||
Sponsor Opinion | 5203260 | 2682 days ago | IN | 0.02222222 ETH | 0.00042202 | ||||
Sponsor Opinion | 5203252 | 2682 days ago | IN | 0.01 ETH | 0.00014229 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Method | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|---|
Transfer | 5836626 | 2573 days ago | 0.032 ETH | ||||
Transfer | 5315456 | 2663 days ago | 0.001 ETH | ||||
Transfer | 5315456 | 2663 days ago | 0.009 ETH | ||||
Transfer | 5315436 | 2663 days ago | 0.032 ETH | ||||
Transfer | 5279206 | 2669 days ago | 2 wei | ||||
Transfer | 5279206 | 2669 days ago | 0.00222222 ETH | ||||
Transfer | 5279206 | 2669 days ago | 0.01999999 ETH | ||||
Transfer | 5279092 | 2669 days ago | 0.001 ETH | ||||
Transfer | 5279092 | 2669 days ago | 0.009 ETH | ||||
Transfer | 5279078 | 2669 days ago | 0.032 ETH | ||||
Transfer | 5229334 | 2677 days ago | 0.032 ETH | ||||
Transfer | 5203319 | 2682 days ago | 0.001 ETH | ||||
Transfer | 5203319 | 2682 days ago | 0.009 ETH | ||||
Transfer | 5203304 | 2682 days ago | 0.016 ETH | ||||
Transfer | 5203286 | 2682 days ago | 0.001 ETH | ||||
Transfer | 5203286 | 2682 days ago | 0.009 ETH | ||||
Transfer | 5203283 | 2682 days ago | 0.016 ETH | ||||
Transfer | 5203279 | 2682 days ago | 0.016 ETH | ||||
Transfer | 5203278 | 2682 days ago | 0.032 ETH | ||||
Transfer | 5203274 | 2682 days ago | 0.008 ETH | ||||
Transfer | 5203270 | 2682 days ago | 0.008 ETH | ||||
Transfer | 5203266 | 2682 days ago | 0.008 ETH | ||||
Transfer | 5203260 | 2682 days ago | 2 wei | ||||
Transfer | 5203260 | 2682 days ago | 0.00222222 ETH | ||||
Transfer | 5203260 | 2682 days ago | 0.01999999 ETH |
Loading...
Loading
Contract Name:
OpinionToken
Compiler Version
v0.4.20+commit.3155dd80
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-03-03 */ pragma solidity ^0.4.18; // solhint-disable-line /// @title Interface for contracts conforming to ERC-721: Non-Fungible Tokens /// @author Dieter Shirley <[email protected]> (https://github.com/dete) contract ERC721 { // Required methods function approve(address _to, uint256 _tokenId) public; function balanceOf(address _owner) public view returns (uint256 balance); function implementsERC721() public pure returns (bool); function ownerOf(uint256 _tokenId) public view returns (address addr); function takeOwnership(uint256 _tokenId) public; function totalSupply() public view returns (uint256 total); function transferFrom(address _from, address _to, uint256 _tokenId) public; function transfer(address _to, uint256 _tokenId) public; event Transfer(address indexed from, address indexed to, uint256 tokenId); event Approval(address indexed owner, address indexed approved, uint256 tokenId); // Optional // function name() public view returns (string name); // function symbol() public view returns (string symbol); // function tokenOfOwnerByIndex(address _owner, uint256 _index) external view returns (uint256 tokenId); // function tokenMetadata(uint256 _tokenId) public view returns (string infoUrl); } contract OpinionToken is ERC721 { /*** EVENTS ***/ /// @dev The Birth event is fired whenever a new opinion comes into existence. event Birth(uint256 tokenId, string name, address owner); /// @dev The TokenSold event is fired whenever a token is sold. event TokenSold(uint256 tokenId, uint256 oldPrice, uint256 newPrice, address prevOwner, address winner, string name); /// @dev Transfer event as defined in current draft of ERC721. /// ownership is assigned, including births. event Transfer(address from, address to, uint256 tokenId); /*** CONSTANTS ***/ /// @notice Name and symbol of the non fungible token, as defined in ERC721. string public constant NAME = "Cryptopinions"; // solhint-disable-line string public constant SYMBOL = "OpinionToken"; // solhint-disable-line string public constant DEFAULT_TEXT = ""; uint256 private firstStepLimit = 0.053613 ether; uint256 private secondStepLimit = 0.564957 ether; uint256 private numIssued=5; //number of tokens issued initially uint256 private constant stepMultiplier=2;//multiplier for initial opinion registration cost, not sponsorship uint256 private startingPrice = 0.001 ether; //will increase every token issued by stepMultiplier times uint256 private sponsorStartingCost=0.01 ether;//initial cost to sponsor an opinion //uint256 private currentIssueRemaining; /*** STORAGE ***/ /// @dev A mapping from opinion IDs to the address that owns them. All opinions have /// some valid owner address. mapping (uint256 => address) public opinionIndexToOwner; // @dev A mapping from owner address to count of tokens that address owns. // Used internally inside balanceOf() to resolve ownership count. mapping (address => uint256) private ownershipTokenCount; /// @dev A mapping from opinionIDs to an address that has been approved to call /// transferFrom(). Each opinion can only have one approved address for transfer /// at any time. A zero value means no approval is outstanding. mapping (uint256 => address) public opinionIndexToApproved; // @dev A mapping from opinionIDs to the price of the token. mapping (uint256 => uint256) private opinionIndexToPrice; // The addresses of the accounts (or contracts) that can execute actions within each roles. address public ceoAddress; address public cooAddress; /*** DATATYPES ***/ struct Opinion { string text; bool claimed; bool deleted; uint8 comment; address sponsor; address antisponsor; uint256 totalsponsored; uint256 totalantisponsored; uint256 timestamp; } Opinion[] private opinions; /*** ACCESS MODIFIERS ***/ /// @dev Access modifier for CEO-only functionality modifier onlyCEO() { require(msg.sender == ceoAddress); _; } /// @dev Access modifier for COO-only functionality modifier onlyCOO() { require(msg.sender == cooAddress); _; } /// Access modifier for contract owner only functionality modifier onlyCLevel() { require( msg.sender == ceoAddress || msg.sender == cooAddress ); _; } /*** CONSTRUCTOR ***/ function OpinionToken() public { ceoAddress = msg.sender; cooAddress = msg.sender; } /*** PUBLIC FUNCTIONS ***/ /// @notice Grant another address the right to transfer token via takeOwnership() and transferFrom(). /// @param _to The address to be granted transfer approval. Pass address(0) to /// clear all approvals. /// @param _tokenId The ID of the Token that can be transferred if this call succeeds. /// @dev Required for ERC-721 compliance. function approve( address _to, uint256 _tokenId ) public { // Caller must own token. require(_owns(msg.sender, _tokenId)); opinionIndexToApproved[_tokenId] = _to; Approval(msg.sender, _to, _tokenId); } /// For querying balance of a particular account /// @param _owner The address for balance query /// @dev Required for ERC-721 compliance. function balanceOf(address _owner) public view returns (uint256 balance) { return ownershipTokenCount[_owner]; } /// @dev Creates initial set of opinions. Can only be called once. function createInitialItems() public onlyCOO { require(opinions.length==0); _createOpinionSet(); } /// @notice Returns all the relevant information about a specific opinion. /// @param _tokenId The tokenId of the opinion of interest. function getOpinion(uint256 _tokenId) public view returns ( uint256 sellingPrice, address owner, address sponsor, address antisponsor, uint256 amountsponsored, uint256 amountantisponsored, uint8 acomment, uint256 timestamp, string opinionText ) { Opinion storage opinion = opinions[_tokenId]; opinionText = opinion.text; sellingPrice = opinionIndexToPrice[_tokenId]; owner = opinionIndexToOwner[_tokenId]; acomment=opinion.comment; sponsor=opinion.sponsor; antisponsor=opinion.antisponsor; amountsponsored=opinion.totalsponsored; amountantisponsored=opinion.totalantisponsored; timestamp=opinion.timestamp; } function compareStrings (string a, string b) public pure returns (bool){ return keccak256(a) == keccak256(b); } function hasDuplicate(string _tocheck) public view returns (bool){ return hasPriorDuplicate(_tocheck,opinions.length); } function hasPriorDuplicate(string _tocheck,uint256 index) public view returns (bool){ for(uint i = 0; i<index; i++){ if(compareStrings(_tocheck,opinions[i].text)){ return true; } } return false; } function implementsERC721() public pure returns (bool) { return true; } /// @dev Required for ERC-721 compliance. function name() public pure returns (string) { return NAME; } /// For querying owner of token /// @param _tokenId The tokenID for owner inquiry /// @dev Required for ERC-721 compliance. function ownerOf(uint256 _tokenId) public view returns (address owner) { owner = opinionIndexToOwner[_tokenId]; require(owner != address(0)); } function payout(address _to) public onlyCLevel { _payout(_to); } function sponsorOpinion(uint256 _tokenId,uint8 comment,bool _likesOpinion) public payable { //ensure comment corresponds to status of token. Tokens with a comment of 0 are unregistered. require(comment!=0); require((_likesOpinion && comment<100) || (!_likesOpinion && comment>100)); address sponsorAdr = msg.sender; require(_addressNotNull(sponsorAdr)); // Making sure sent amount is greater than or equal to the sellingPrice uint256 sellingPrice = opinionIndexToPrice[_tokenId]; address currentOwner=opinionIndexToOwner[_tokenId]; address newOwner = msg.sender; require(_addressNotNull(newOwner)); require(_addressNotNull(currentOwner)); require(msg.value >= sellingPrice); uint256 payment = uint256(SafeMath.div(SafeMath.mul(sellingPrice, 90), 100)); uint256 ownerTake=uint256(SafeMath.div(SafeMath.mul(sellingPrice, 10), 100)); uint256 purchaseExcess = SafeMath.sub(msg.value, sellingPrice); // Update prices if (sellingPrice < firstStepLimit) { // first stage opinionIndexToPrice[_tokenId] = SafeMath.div(SafeMath.mul(sellingPrice, 200), 90); } else if (sellingPrice < secondStepLimit) { // second stage opinionIndexToPrice[_tokenId] = SafeMath.div(SafeMath.mul(sellingPrice, 120), 90); } else { // third stage opinionIndexToPrice[_tokenId] = SafeMath.div(SafeMath.mul(sellingPrice, 115), 90); } Opinion storage opinion = opinions[_tokenId]; require(opinion.claimed); require(sponsorAdr!=opinion.sponsor); require(sponsorAdr!=opinion.antisponsor); require(sponsorAdr!=currentOwner); opinion.comment=comment; if(_likesOpinion){ if(_addressNotNull(opinion.sponsor)){ opinion.sponsor.transfer(payment); currentOwner.transfer(ownerTake); } else{ currentOwner.transfer(sellingPrice); } opinion.sponsor=sponsorAdr; opinion.totalsponsored=SafeMath.add(opinion.totalsponsored,sellingPrice); } else{ if(_addressNotNull(opinion.sponsor)){ opinion.antisponsor.transfer(payment); ceoAddress.transfer(ownerTake); } else{ ceoAddress.transfer(sellingPrice); //eth for initial antisponsor goes to Cryptopinions, because you wouldn't want it to go to the creator of an opinion you don't like } opinion.antisponsor=sponsorAdr; opinion.totalantisponsored=SafeMath.add(opinion.totalantisponsored,sellingPrice); } msg.sender.transfer(purchaseExcess); } //lets you permanently delete someone elses opinion. function deleteThis(uint256 _tokenId) public payable{ //Cost is 1 eth or five times the current valuation of the opinion, whichever is higher. uint256 sellingPrice = SafeMath.mul(opinionIndexToPrice[_tokenId],5); if(sellingPrice<1 ether){ sellingPrice=1 ether; } require(msg.value >= sellingPrice); ceoAddress.transfer(sellingPrice); Opinion storage opinion = opinions[_tokenId]; opinion.deleted=true; uint256 purchaseExcess = SafeMath.sub(msg.value, sellingPrice); msg.sender.transfer(purchaseExcess); } // Allows someone to send ether and obtain the (unclaimed only) token function registerOpinion(uint256 _tokenId,string _newOpinion) public payable { //Set opinion to the new opinion _initOpinion(_tokenId,_newOpinion); address oldOwner = opinionIndexToOwner[_tokenId]; address newOwner = msg.sender; uint256 sellingPrice = opinionIndexToPrice[_tokenId]; // Making sure token owner is not sending to self require(oldOwner != newOwner); // Safety check to prevent against an unexpected 0x0 default. require(_addressNotNull(newOwner)); // Making sure sent amount is greater than or equal to the sellingPrice require(msg.value >= sellingPrice); uint256 payment = sellingPrice; uint256 purchaseExcess = SafeMath.sub(msg.value, sellingPrice); opinionIndexToPrice[_tokenId] = sponsorStartingCost; //initial cost to sponsor _transfer(oldOwner, newOwner, _tokenId); ceoAddress.transfer(payment); TokenSold(_tokenId, sellingPrice, opinionIndexToPrice[_tokenId], oldOwner, newOwner, opinions[_tokenId].text); msg.sender.transfer(purchaseExcess); } function priceOf(uint256 _tokenId) public view returns (uint256 price) { return opinionIndexToPrice[_tokenId]; } /// @dev Assigns a new address to act as the CEO. Only available to the current CEO. /// @param _newCEO The address of the new CEO function setCEO(address _newCEO) public onlyCEO { _setCEO(_newCEO); } function _setCEO(address _newCEO) private{ require(_newCEO != address(0)); ceoAddress = _newCEO; } /// @dev Assigns a new address to act as the COO. Only available to the current COO. /// @param _newCOO The address of the new COO function setCOO(address _newCOO) public onlyCEO { require(_newCOO != address(0)); cooAddress = _newCOO; } /// @dev Required for ERC-721 compliance. function symbol() public pure returns (string) { return SYMBOL; } /// @notice Allow pre-approved user to take ownership of a token /// @param _tokenId The ID of the Token that can be transferred if this call succeeds. /// @dev Required for ERC-721 compliance. function takeOwnership(uint256 _tokenId) public { address newOwner = msg.sender; address oldOwner = opinionIndexToOwner[_tokenId]; // Safety check to prevent against an unexpected 0x0 default. require(_addressNotNull(newOwner)); // Making sure transfer is approved require(_approved(newOwner, _tokenId)); _transfer(oldOwner, newOwner, _tokenId); } /// @param _owner The owner whose celebrity tokens we are interested in. /// @dev This method MUST NEVER be called by smart contract code. First, it's fairly /// expensive (it walks the entire opinions array looking for opinions belonging to owner), /// but it also returns a dynamic array, which is only supported for web3 calls, and /// not contract-to-contract calls. function tokensOfOwner(address _owner) public view returns(uint256[] ownerTokens) { uint256 tokenCount = balanceOf(_owner); if (tokenCount == 0) { // Return an empty array return new uint256[](0); } else { uint256[] memory result = new uint256[](tokenCount); uint256 totalOpinions = totalSupply(); uint256 resultIndex = 0; uint256 opinionId; for (opinionId = 0; opinionId <= totalOpinions; opinionId++) { if (opinionIndexToOwner[opinionId] == _owner) { result[resultIndex] = opinionId; resultIndex++; } } return result; } } /// For querying totalSupply of token /// @dev Required for ERC-721 compliance. function totalSupply() public view returns (uint256 total) { return opinions.length; } /// Owner initates the transfer of the token to another account /// @param _to The address for the token to be transferred to. /// @param _tokenId The ID of the Token that can be transferred if this call succeeds. /// @dev Required for ERC-721 compliance. function transfer( address _to, uint256 _tokenId ) public { require(_owns(msg.sender, _tokenId)); require(_addressNotNull(_to)); _transfer(msg.sender, _to, _tokenId); } /// Third-party initiates transfer of token from address _from to address _to /// @param _from The address for the token to be transferred from. /// @param _to The address for the token to be transferred to. /// @param _tokenId The ID of the Token that can be transferred if this call succeeds. /// @dev Required for ERC-721 compliance. function transferFrom( address _from, address _to, uint256 _tokenId ) public { require(_owns(_from, _tokenId)); require(_approved(_to, _tokenId)); require(_addressNotNull(_to)); _transfer(_from, _to, _tokenId); } //Allows purchase of the entire contract. All revenue provisioned to ceoAddress will go to the new address specified. //If you contact us following purchase we will transfer domain, website source code etc. to you free of charge, otherwise we will continue to maintain the frontend site for 1 year. uint256 contractPrice=300 ether; function buyCryptopinions(address _newCEO) payable public{ require(msg.value >= contractPrice); ceoAddress.transfer(msg.value); _setCEO(_newCEO); _setPrice(9999999 ether); } function setPrice(uint256 newprice) public onlyCEO{ _setPrice(newprice); } function _setPrice(uint256 newprice) private{ contractPrice=newprice; } /*** PRIVATE FUNCTIONS ***/ /// Safety check on _to address to prevent against an unexpected 0x0 default. function _addressNotNull(address _to) private pure returns (bool) { return _to != address(0); } /// For checking approval of transfer for address _to function _approved(address _to, uint256 _tokenId) private view returns (bool) { return opinionIndexToApproved[_tokenId] == _to; } function _createOpinionSet() private { for(uint i = 0; i<numIssued; i++){ _createOpinion(DEFAULT_TEXT,ceoAddress,startingPrice); } //startingPrice = SafeMath.mul(startingPrice,stepMultiplier); //increase the price for the next set of tokens //currentIssueRemaining=numIssued; } //for registering an Opinion function _initOpinion(uint256 _tokenId,string _newOpinion) private { Opinion storage opinion = opinions[_tokenId]; opinion.timestamp=now; opinion.text=_newOpinion; opinion.comment=1; require(!opinion.claimed); uint256 newprice=SafeMath.mul(stepMultiplier,opinionIndexToPrice[_tokenId]); //max price 1 eth if(newprice > 0.1 ether){ //max price for a new opinion, 1 ether newprice=0.1 ether; } _createOpinion("",ceoAddress,newprice); //make a new opinion for someone else to buy opinion.claimed=true; //currentIssueRemaining=SafeMath.sub(currentIssueRemaining,1); //if this is the last remaining token for sale, issue more //if(currentIssueRemaining == 0){ // _createOpinionSet(); //} } /// For creating Opinion function _createOpinion(string _name, address _owner, uint256 _price) private { Opinion memory _opinion = Opinion({ text: _name, claimed: false, deleted: false, comment: 0, sponsor: _owner, antisponsor: ceoAddress, totalsponsored:0, totalantisponsored:0, timestamp:now }); uint256 newOpinionId = opinions.push(_opinion) - 1; // It's probably never going to happen, 4 billion tokens are A LOT, but // let's just be 100% sure we never let this happen. require(newOpinionId == uint256(uint32(newOpinionId))); Birth(newOpinionId, _name, _owner); opinionIndexToPrice[newOpinionId] = _price; // This will assign ownership, and also emit the Transfer event as // per ERC721 draft _transfer(address(0), _owner, newOpinionId); } /// Check for token ownership function _owns(address claimant, uint256 _tokenId) private view returns (bool) { return claimant == opinionIndexToOwner[_tokenId]; } /// For paying out balance on contract function _payout(address _to) private { if (_to == address(0)) { ceoAddress.transfer(this.balance); } else { _to.transfer(this.balance); } } /// @dev Assigns ownership of a specific opinion to an address. function _transfer(address _from, address _to, uint256 _tokenId) private { // Since the number of opinions is capped to 2^32 we can't overflow this ownershipTokenCount[_to]++; //transfer ownership opinionIndexToOwner[_tokenId] = _to; // When creating new opinions _from is 0x0, but we can't account that address. if (_from != address(0)) { ownershipTokenCount[_from]--; // clear any previously approved ownership exchange delete opinionIndexToApproved[_tokenId]; } // Emit the transfer event. Transfer(_from, _to, _tokenId); } } library SafeMath { /** * @dev Multiplies two numbers, throws on overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; assert(c / a == b); return c; } /** * @dev Integer division of two numbers, truncating the quotient. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { // assert(b > 0); // Solidity automatically throws when dividing by 0 uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } /** * @dev Substracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend). */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { assert(b <= a); return a - b; } /** * @dev Adds two numbers, throws on overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; assert(c >= a); return c; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_tokenId","type":"uint256"}],"name":"approve","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"ceoAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"}],"name":"payout","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"implementsERC721","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"opinionIndexToApproved","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"opinionIndexToOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"total","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_tocheck","type":"string"}],"name":"hasDuplicate","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newCEO","type":"address"}],"name":"setCEO","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newCOO","type":"address"}],"name":"setCOO","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"DEFAULT_TEXT","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"getOpinion","outputs":[{"name":"sellingPrice","type":"uint256"},{"name":"owner","type":"address"},{"name":"sponsor","type":"address"},{"name":"antisponsor","type":"address"},{"name":"amountsponsored","type":"uint256"},{"name":"amountantisponsored","type":"uint256"},{"name":"acomment","type":"uint8"},{"name":"timestamp","type":"uint256"},{"name":"opinionText","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"deleteThis","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"name":"owner","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"tokensOfOwner","outputs":[{"name":"ownerTokens","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newprice","type":"uint256"}],"name":"setPrice","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"NAME","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_tokenId","type":"uint256"}],"name":"transfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"cooAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"takeOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_tocheck","type":"string"},{"name":"index","type":"uint256"}],"name":"hasPriorDuplicate","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"priceOf","outputs":[{"name":"price","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"a","type":"string"},{"name":"b","type":"string"}],"name":"compareStrings","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"name":"_tokenId","type":"uint256"},{"name":"_newOpinion","type":"string"}],"name":"registerOpinion","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"_tokenId","type":"uint256"},{"name":"comment","type":"uint8"},{"name":"_likesOpinion","type":"bool"}],"name":"sponsorOpinion","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"_newCEO","type":"address"}],"name":"buyCryptopinions","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"SYMBOL","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"createInitialItems","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"tokenId","type":"uint256"},{"indexed":false,"name":"name","type":"string"},{"indexed":false,"name":"owner","type":"address"}],"name":"Birth","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"tokenId","type":"uint256"},{"indexed":false,"name":"oldPrice","type":"uint256"},{"indexed":false,"name":"newPrice","type":"uint256"},{"indexed":false,"name":"prevOwner","type":"address"},{"indexed":false,"name":"winner","type":"address"},{"indexed":false,"name":"name","type":"string"}],"name":"TokenSold","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"from","type":"address"},{"indexed":false,"name":"to","type":"address"},{"indexed":false,"name":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"approved","type":"address"},{"indexed":false,"name":"tokenId","type":"uint256"}],"name":"Approval","type":"event"}]
Contract Creation Code
606060405266be78bd4c57d0006000556707d72165f25ed000600155600560025566038d7ea4c68000600355662386f26fc10000600455681043561a8829300000600c55341561004e57600080fd5b33600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550613236806100df6000396000f300606060405260043610610196576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde031461019b578063095ea7b3146102295780630a0f81681461026b5780630b7e9c44146102c05780631051db34146102f9578063151a7b6a146103265780631764d2471461038957806318160ddd146103ec5780631e9447f31461041557806323b872dd1461048a57806327d7874c146104eb5780632ba73c15146105245780632fdeca371461055d5780634f8dd40a146105eb5780635e65db7f146107495780636352211e1461076157806370a08231146107c45780638462151c1461081157806391b7f5ed1461089f57806395d89b41146108c2578063a3f4df7e14610950578063a9059cbb146109de578063b047fb5014610a20578063b2e6ceeb14610a75578063b915683014610a98578063b9186d7d14610b16578063bed34bba14610b4d578063cd5a57cb14610c05578063f02152ab14610c60578063f2429b1c14610c8f578063f76f8d7814610cbd578063fd28feb314610d4b575b600080fd5b34156101a657600080fd5b6101ae610d60565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101ee5780820151818401526020810190506101d3565b50505050905090810190601f16801561021b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561023457600080fd5b610269600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610da3565b005b341561027657600080fd5b61027e610e73565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156102cb57600080fd5b6102f7600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610e99565b005b341561030457600080fd5b61030c610f59565b604051808215151515815260200191505060405180910390f35b341561033157600080fd5b6103476004808035906020019091905050610f62565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561039457600080fd5b6103aa6004808035906020019091905050610f95565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156103f757600080fd5b6103ff610fc8565b6040518082815260200191505060405180910390f35b341561042057600080fd5b610470600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610fd5565b604051808215151515815260200191505060405180910390f35b341561049557600080fd5b6104e9600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610fed565b005b34156104f657600080fd5b610522600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061103b565b005b341561052f57600080fd5b61055b600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506110a3565b005b341561056857600080fd5b61057061117f565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105b0578082015181840152602081019050610595565b50505050905090810190601f1680156105dd5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156105f657600080fd5b61060c6004808035906020019091905050611193565b604051808a81526020018973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018681526020018581526020018460ff1660ff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156107065780820151818401526020810190506106eb565b50505050905090810190601f1680156107335780820380516001836020036101000a031916815260200191505b509a505050505050505050505060405180910390f35b61075f6004808035906020019091905050611338565b005b341561076c57600080fd5b6107826004808035906020019091905050611478565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156107cf57600080fd5b6107fb600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506114f1565b6040518082815260200191505060405180910390f35b341561081c57600080fd5b610848600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061153a565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561088b578082015181840152602081019050610870565b505050509050019250505060405180910390f35b34156108aa57600080fd5b6108c06004808035906020019091905050611671565b005b34156108cd57600080fd5b6108d56116d9565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156109155780820151818401526020810190506108fa565b50505050905090810190601f1680156109425780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561095b57600080fd5b61096361171c565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156109a3578082015181840152602081019050610988565b50505050905090810190601f1680156109d05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156109e957600080fd5b610a1e600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611755565b005b3415610a2b57600080fd5b610a3361178d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3415610a8057600080fd5b610a9660048080359060200190919050506117b3565b005b3415610aa357600080fd5b610afc600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091908035906020019091905050611828565b604051808215151515815260200191505060405180910390f35b3415610b2157600080fd5b610b376004808035906020019091905050611921565b6040518082815260200191505060405180910390f35b3415610b5857600080fd5b610beb600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190505061193e565b604051808215151515815260200191505060405180910390f35b610c5e600480803590602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050611a17565b005b610c8d600480803590602001909190803560ff169060200190919080351515906020019091905050611d1f565b005b610cbb600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506123c5565b005b3415610cc857600080fd5b610cd0612458565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610d10578082015181840152602081019050610cf5565b50505050905090810190601f168015610d3d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3415610d5657600080fd5b610d5e612491565b005b610d68612ed8565b6040805190810160405280600d81526020017f43727970746f70696e696f6e7300000000000000000000000000000000000000815250905090565b610dad338261250b565b1515610db857600080fd5b816007600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a35050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610f425750600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515610f4d57600080fd5b610f5681612577565b50565b60006001905090565b60076020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60056020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600b80549050905090565b6000610fe682600b80549050611828565b9050919050565b610ff7838261250b565b151561100257600080fd5b61100c8282612685565b151561101757600080fd5b611020826126f1565b151561102b57600080fd5b61103683838361272a565b505050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561109757600080fd5b6110a08161292c565b50565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156110ff57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561113b57600080fd5b80600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b602060405190810160405280600081525081565b6000806000806000806000806111a7612ed8565b6000600b8b8154811015156111b857fe5b90600052602060002090600602019050806000018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156112605780601f1061123557610100808354040283529160200191611260565b820191906000526020600020905b81548152906001019060200180831161124357829003601f168201915b50505050509150600860008c8152602001908152602001600020549950600560008c815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1698508060010160029054906101000a900460ff1693508060010160039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1697508060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169650806003015495508060040154945080600501549250509193959799909294969850565b600080600061135b600860008681526020019081526020016000205460056129ac565b9250670de0b6b3a764000083101561137957670de0b6b3a764000092505b82341015151561138857600080fd5b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f1935050505015156113ea57600080fd5b600b848154811015156113f957fe5b9060005260206000209060060201915060018260010160016101000a81548160ff02191690831515021790555061143034846129e7565b90503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050151561147257600080fd5b50505050565b60006005600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156114ec57600080fd5b919050565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611542612eec565b600061154c612eec565b600080600061155a876114f1565b9450600085141561158c5760006040518059106115745750595b90808252806020026020018201604052509550611667565b8460405180591061159a5750595b908082528060200260200182016040525093506115b5610fc8565b925060009150600090505b8281111515611663578673ffffffffffffffffffffffffffffffffffffffff166005600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156116565780848381518110151561163f57fe5b906020019060200201818152505081806001019250505b80806001019150506115c0565b8395505b5050505050919050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156116cd57600080fd5b6116d681612a00565b50565b6116e1612ed8565b6040805190810160405280600c81526020017f4f70696e696f6e546f6b656e0000000000000000000000000000000000000000815250905090565b6040805190810160405280600d81526020017f43727970746f70696e696f6e730000000000000000000000000000000000000081525081565b61175f338261250b565b151561176a57600080fd5b611773826126f1565b151561177e57600080fd5b61178933838361272a565b5050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000803391506005600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506117f8826126f1565b151561180357600080fd5b61180d8284612685565b151561181857600080fd5b61182381838561272a565b505050565b600080600090505b82811015611915576118fa84600b8381548110151561184b57fe5b90600052602060002090600602016000018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156118f05780601f106118c5576101008083540402835291602001916118f0565b820191906000526020600020905b8154815290600101906020018083116118d357829003601f168201915b505050505061193e565b15611908576001915061191a565b8080600101915050611830565b600091505b5092915050565b600060086000838152602001908152602001600020549050919050565b6000816040518082805190602001908083835b6020831015156119765780518252602082019150602081019050602083039250611951565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916836040518082805190602001908083835b6020831015156119dd57805182526020820191506020810190506020830392506119b8565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191614905092915050565b6000806000806000611a298787612a0a565b6005600088815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169450339350600860008881526020019081526020016000205492508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614151515611ab357600080fd5b611abc846126f1565b1515611ac757600080fd5b823410151515611ad657600080fd5b829150611ae334846129e7565b90506004546008600089815260200190815260200160002081905550611b0a85858961272a565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f193505050501515611b6c57600080fd5b7e8201e7bcbf010c2c07de59d6e97cb7e3cf67a46125c49cbc89b9d2cde1f48f8784600860008b8152602001908152602001600020548888600b8d815481101515611bb357fe5b9060005260206000209060060201600001604051808781526020018681526020018581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015611cc35780601f10611c9857610100808354040283529160200191611cc3565b820191906000526020600020905b815481529060010190602001808311611ca657829003601f168201915b505097505050505050505060405180910390a13373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501515611d1657600080fd5b50505050505050565b60008060008060008060008060008a60ff1614151515611d3e57600080fd5b888015611d4e575060648a60ff16105b80611d66575088158015611d65575060648a60ff16115b5b1515611d7157600080fd5b339750611d7d886126f1565b1515611d8857600080fd5b600860008c8152602001908152602001600020549650600560008c815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169550339450611de0856126f1565b1515611deb57600080fd5b611df4866126f1565b1515611dff57600080fd5b863410151515611e0e57600080fd5b611e23611e1c88605a6129ac565b6064612b26565b9350611e3a611e3388600a6129ac565b6064612b26565b9250611e4634886129e7565b9150600054871015611e8357611e67611e608860c86129ac565b605a612b26565b600860008d815260200190815260200160002081905550611eec565b600154871015611ebe57611ea2611e9b8860786129ac565b605a612b26565b600860008d815260200190815260200160002081905550611eeb565b611ed3611ecc8860736129ac565b605a612b26565b600860008d8152602001908152602001600020819055505b5b600b8b815481101515611efb57fe5b906000526020600020906006020190508060010160009054906101000a900460ff161515611f2857600080fd5b8060010160039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614151515611f8757600080fd5b8060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614151515611fe657600080fd5b8573ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff161415151561202157600080fd5b898160010160026101000a81548160ff021916908360ff16021790555088156121be576120718160010160039054906101000a900473ffffffffffffffffffffffffffffffffffffffff166126f1565b1561211f578060010160039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc859081150290604051600060405180830381858888f1935050505015156120da57600080fd5b8573ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f19350505050151561211a57600080fd5b612160565b8573ffffffffffffffffffffffffffffffffffffffff166108fc889081150290604051600060405180830381858888f19350505050151561215f57600080fd5b5b878160010160036101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506121b1816003015488612b41565b8160030181905550612378565b6121eb8160010160039054906101000a900473ffffffffffffffffffffffffffffffffffffffff166126f1565b156122bb578060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc859081150290604051600060405180830381858888f19350505050151561225457600080fd5b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f1935050505015156122b657600080fd5b61231e565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc889081150290604051600060405180830381858888f19350505050151561231d57600080fd5b5b878160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061236f816004015488612b41565b81600401819055505b3373ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f1935050505015156123b857600080fd5b5050505050505050505050565b600c5434101515156123d657600080fd5b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f19350505050151561243857600080fd5b6124418161292c565b6124556a08459508334a94a29c0000612a00565b50565b6040805190810160405280600c81526020017f4f70696e696f6e546f6b656e000000000000000000000000000000000000000081525081565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156124ed57600080fd5b6000600b8054905014151561250157600080fd5b612509612b5f565b565b60006005600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561262a57600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f19350505050151561262557600080fd5b612682565b8073ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f19350505050151561268157600080fd5b5b50565b60008273ffffffffffffffffffffffffffffffffffffffff166007600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001019190505550816005600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151561288857600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001900391905055506007600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690555b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef838383604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390a1505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561296857600080fd5b80600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008060008414156129c157600091506129e0565b82840290508284828115156129d257fe5b041415156129dc57fe5b8091505b5092915050565b60008282111515156129f557fe5b818303905092915050565b80600c8190555050565b600080600b84815481101515612a1c57fe5b9060005260206000209060060201915042826005018190555082826000019080519060200190612a4d929190612f00565b5060018260010160026101000a81548160ff021916908360ff1602179055508160010160009054906101000a900460ff16151515612a8a57600080fd5b612aa8600260086000878152602001908152602001600020546129ac565b905067016345785d8a0000811115612ac65767016345785d8a000090505b612b036020604051908101604052806000815250600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683612bbe565b60018260010160006101000a81548160ff02191690831515021790555050505050565b6000808284811515612b3457fe5b0490508091505092915050565b6000808284019050838110151515612b5557fe5b8091505092915050565b60008090505b600254811015612bbb57612bae6020604051908101604052806000815250600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600354612bbe565b8080600101915050612b65565b50565b612bc6612f80565b600061012060405190810160405280868152602001600015158152602001600015158152602001600060ff1681526020018573ffffffffffffffffffffffffffffffffffffffff168152602001600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081526020014281525091506001600b8054806001018281612c7b9190613006565b916000526020600020906006020160008590919091506000820151816000019080519060200190612cad929190613038565b5060208201518160010160006101000a81548160ff02191690831515021790555060408201518160010160016101000a81548160ff02191690831515021790555060608201518160010160026101000a81548160ff021916908360ff16021790555060808201518160010160036101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060a08201518160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060c0820151816003015560e08201518160040155610100820151816005015550500390508063ffffffff1681141515612dd557600080fd5b7fb3b0cf861f168bcdb275c69da97b2543631552ba562628aa3c7317d4a6089ef281868660405180848152602001806020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825284818151815260200191508051906020019080838360005b83811015612e71578082015181840152602081019050612e56565b50505050905090810190601f168015612e9e5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a1826008600083815260200190815260200160002081905550612ed16000858361272a565b5050505050565b602060405190810160405280600081525090565b602060405190810160405280600081525090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10612f4157805160ff1916838001178555612f6f565b82800160010185558215612f6f579182015b82811115612f6e578251825591602001919060010190612f53565b5b509050612f7c91906130b8565b5090565b61012060405190810160405280612f956130dd565b8152602001600015158152602001600015158152602001600060ff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016000815260200160008152602001600081525090565b8154818355818115116130335760060281600602836000526020600020918201910161303291906130f1565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061307957805160ff19168380011785556130a7565b828001600101855582156130a7579182015b828111156130a657825182559160200191906001019061308b565b5b5090506130b491906130b8565b5090565b6130da91905b808211156130d65760008160009055506001016130be565b5090565b90565b602060405190810160405280600081525090565b6131bf91905b808211156131bb576000808201600061311091906131c2565b6001820160006101000a81549060ff02191690556001820160016101000a81549060ff02191690556001820160026101000a81549060ff02191690556001820160036101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556002820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600382016000905560048201600090556005820160009055506006016130f7565b5090565b90565b50805460018160011615610100020316600290046000825580601f106131e85750613207565b601f01602090049060005260206000209081019061320691906130b8565b5b505600a165627a7a72305820b757091e3a976fe4046bd5e0e815543cc6e31d1657a6609b85eb90400b4982160029
Deployed Bytecode
0x606060405260043610610196576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde031461019b578063095ea7b3146102295780630a0f81681461026b5780630b7e9c44146102c05780631051db34146102f9578063151a7b6a146103265780631764d2471461038957806318160ddd146103ec5780631e9447f31461041557806323b872dd1461048a57806327d7874c146104eb5780632ba73c15146105245780632fdeca371461055d5780634f8dd40a146105eb5780635e65db7f146107495780636352211e1461076157806370a08231146107c45780638462151c1461081157806391b7f5ed1461089f57806395d89b41146108c2578063a3f4df7e14610950578063a9059cbb146109de578063b047fb5014610a20578063b2e6ceeb14610a75578063b915683014610a98578063b9186d7d14610b16578063bed34bba14610b4d578063cd5a57cb14610c05578063f02152ab14610c60578063f2429b1c14610c8f578063f76f8d7814610cbd578063fd28feb314610d4b575b600080fd5b34156101a657600080fd5b6101ae610d60565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101ee5780820151818401526020810190506101d3565b50505050905090810190601f16801561021b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561023457600080fd5b610269600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610da3565b005b341561027657600080fd5b61027e610e73565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156102cb57600080fd5b6102f7600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610e99565b005b341561030457600080fd5b61030c610f59565b604051808215151515815260200191505060405180910390f35b341561033157600080fd5b6103476004808035906020019091905050610f62565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561039457600080fd5b6103aa6004808035906020019091905050610f95565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156103f757600080fd5b6103ff610fc8565b6040518082815260200191505060405180910390f35b341561042057600080fd5b610470600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610fd5565b604051808215151515815260200191505060405180910390f35b341561049557600080fd5b6104e9600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610fed565b005b34156104f657600080fd5b610522600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061103b565b005b341561052f57600080fd5b61055b600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506110a3565b005b341561056857600080fd5b61057061117f565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105b0578082015181840152602081019050610595565b50505050905090810190601f1680156105dd5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156105f657600080fd5b61060c6004808035906020019091905050611193565b604051808a81526020018973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018681526020018581526020018460ff1660ff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156107065780820151818401526020810190506106eb565b50505050905090810190601f1680156107335780820380516001836020036101000a031916815260200191505b509a505050505050505050505060405180910390f35b61075f6004808035906020019091905050611338565b005b341561076c57600080fd5b6107826004808035906020019091905050611478565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156107cf57600080fd5b6107fb600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506114f1565b6040518082815260200191505060405180910390f35b341561081c57600080fd5b610848600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061153a565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b8381101561088b578082015181840152602081019050610870565b505050509050019250505060405180910390f35b34156108aa57600080fd5b6108c06004808035906020019091905050611671565b005b34156108cd57600080fd5b6108d56116d9565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156109155780820151818401526020810190506108fa565b50505050905090810190601f1680156109425780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561095b57600080fd5b61096361171c565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156109a3578082015181840152602081019050610988565b50505050905090810190601f1680156109d05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156109e957600080fd5b610a1e600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611755565b005b3415610a2b57600080fd5b610a3361178d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3415610a8057600080fd5b610a9660048080359060200190919050506117b3565b005b3415610aa357600080fd5b610afc600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091908035906020019091905050611828565b604051808215151515815260200191505060405180910390f35b3415610b2157600080fd5b610b376004808035906020019091905050611921565b6040518082815260200191505060405180910390f35b3415610b5857600080fd5b610beb600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190505061193e565b604051808215151515815260200191505060405180910390f35b610c5e600480803590602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050611a17565b005b610c8d600480803590602001909190803560ff169060200190919080351515906020019091905050611d1f565b005b610cbb600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506123c5565b005b3415610cc857600080fd5b610cd0612458565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610d10578082015181840152602081019050610cf5565b50505050905090810190601f168015610d3d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3415610d5657600080fd5b610d5e612491565b005b610d68612ed8565b6040805190810160405280600d81526020017f43727970746f70696e696f6e7300000000000000000000000000000000000000815250905090565b610dad338261250b565b1515610db857600080fd5b816007600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a35050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610f425750600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515610f4d57600080fd5b610f5681612577565b50565b60006001905090565b60076020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60056020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600b80549050905090565b6000610fe682600b80549050611828565b9050919050565b610ff7838261250b565b151561100257600080fd5b61100c8282612685565b151561101757600080fd5b611020826126f1565b151561102b57600080fd5b61103683838361272a565b505050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561109757600080fd5b6110a08161292c565b50565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156110ff57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561113b57600080fd5b80600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b602060405190810160405280600081525081565b6000806000806000806000806111a7612ed8565b6000600b8b8154811015156111b857fe5b90600052602060002090600602019050806000018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156112605780601f1061123557610100808354040283529160200191611260565b820191906000526020600020905b81548152906001019060200180831161124357829003601f168201915b50505050509150600860008c8152602001908152602001600020549950600560008c815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1698508060010160029054906101000a900460ff1693508060010160039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1697508060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169650806003015495508060040154945080600501549250509193959799909294969850565b600080600061135b600860008681526020019081526020016000205460056129ac565b9250670de0b6b3a764000083101561137957670de0b6b3a764000092505b82341015151561138857600080fd5b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f1935050505015156113ea57600080fd5b600b848154811015156113f957fe5b9060005260206000209060060201915060018260010160016101000a81548160ff02191690831515021790555061143034846129e7565b90503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050151561147257600080fd5b50505050565b60006005600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156114ec57600080fd5b919050565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611542612eec565b600061154c612eec565b600080600061155a876114f1565b9450600085141561158c5760006040518059106115745750595b90808252806020026020018201604052509550611667565b8460405180591061159a5750595b908082528060200260200182016040525093506115b5610fc8565b925060009150600090505b8281111515611663578673ffffffffffffffffffffffffffffffffffffffff166005600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156116565780848381518110151561163f57fe5b906020019060200201818152505081806001019250505b80806001019150506115c0565b8395505b5050505050919050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156116cd57600080fd5b6116d681612a00565b50565b6116e1612ed8565b6040805190810160405280600c81526020017f4f70696e696f6e546f6b656e0000000000000000000000000000000000000000815250905090565b6040805190810160405280600d81526020017f43727970746f70696e696f6e730000000000000000000000000000000000000081525081565b61175f338261250b565b151561176a57600080fd5b611773826126f1565b151561177e57600080fd5b61178933838361272a565b5050565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000803391506005600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506117f8826126f1565b151561180357600080fd5b61180d8284612685565b151561181857600080fd5b61182381838561272a565b505050565b600080600090505b82811015611915576118fa84600b8381548110151561184b57fe5b90600052602060002090600602016000018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156118f05780601f106118c5576101008083540402835291602001916118f0565b820191906000526020600020905b8154815290600101906020018083116118d357829003601f168201915b505050505061193e565b15611908576001915061191a565b8080600101915050611830565b600091505b5092915050565b600060086000838152602001908152602001600020549050919050565b6000816040518082805190602001908083835b6020831015156119765780518252602082019150602081019050602083039250611951565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916836040518082805190602001908083835b6020831015156119dd57805182526020820191506020810190506020830392506119b8565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191614905092915050565b6000806000806000611a298787612a0a565b6005600088815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169450339350600860008881526020019081526020016000205492508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614151515611ab357600080fd5b611abc846126f1565b1515611ac757600080fd5b823410151515611ad657600080fd5b829150611ae334846129e7565b90506004546008600089815260200190815260200160002081905550611b0a85858961272a565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f193505050501515611b6c57600080fd5b7e8201e7bcbf010c2c07de59d6e97cb7e3cf67a46125c49cbc89b9d2cde1f48f8784600860008b8152602001908152602001600020548888600b8d815481101515611bb357fe5b9060005260206000209060060201600001604051808781526020018681526020018581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818154600181600116156101000203166002900481526020019150805460018160011615610100020316600290048015611cc35780601f10611c9857610100808354040283529160200191611cc3565b820191906000526020600020905b815481529060010190602001808311611ca657829003601f168201915b505097505050505050505060405180910390a13373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501515611d1657600080fd5b50505050505050565b60008060008060008060008060008a60ff1614151515611d3e57600080fd5b888015611d4e575060648a60ff16105b80611d66575088158015611d65575060648a60ff16115b5b1515611d7157600080fd5b339750611d7d886126f1565b1515611d8857600080fd5b600860008c8152602001908152602001600020549650600560008c815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169550339450611de0856126f1565b1515611deb57600080fd5b611df4866126f1565b1515611dff57600080fd5b863410151515611e0e57600080fd5b611e23611e1c88605a6129ac565b6064612b26565b9350611e3a611e3388600a6129ac565b6064612b26565b9250611e4634886129e7565b9150600054871015611e8357611e67611e608860c86129ac565b605a612b26565b600860008d815260200190815260200160002081905550611eec565b600154871015611ebe57611ea2611e9b8860786129ac565b605a612b26565b600860008d815260200190815260200160002081905550611eeb565b611ed3611ecc8860736129ac565b605a612b26565b600860008d8152602001908152602001600020819055505b5b600b8b815481101515611efb57fe5b906000526020600020906006020190508060010160009054906101000a900460ff161515611f2857600080fd5b8060010160039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614151515611f8757600080fd5b8060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614151515611fe657600080fd5b8573ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff161415151561202157600080fd5b898160010160026101000a81548160ff021916908360ff16021790555088156121be576120718160010160039054906101000a900473ffffffffffffffffffffffffffffffffffffffff166126f1565b1561211f578060010160039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc859081150290604051600060405180830381858888f1935050505015156120da57600080fd5b8573ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f19350505050151561211a57600080fd5b612160565b8573ffffffffffffffffffffffffffffffffffffffff166108fc889081150290604051600060405180830381858888f19350505050151561215f57600080fd5b5b878160010160036101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506121b1816003015488612b41565b8160030181905550612378565b6121eb8160010160039054906101000a900473ffffffffffffffffffffffffffffffffffffffff166126f1565b156122bb578060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc859081150290604051600060405180830381858888f19350505050151561225457600080fd5b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f1935050505015156122b657600080fd5b61231e565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc889081150290604051600060405180830381858888f19350505050151561231d57600080fd5b5b878160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061236f816004015488612b41565b81600401819055505b3373ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f1935050505015156123b857600080fd5b5050505050505050505050565b600c5434101515156123d657600080fd5b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f19350505050151561243857600080fd5b6124418161292c565b6124556a08459508334a94a29c0000612a00565b50565b6040805190810160405280600c81526020017f4f70696e696f6e546f6b656e000000000000000000000000000000000000000081525081565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156124ed57600080fd5b6000600b8054905014151561250157600080fd5b612509612b5f565b565b60006005600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561262a57600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f19350505050151561262557600080fd5b612682565b8073ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f19350505050151561268157600080fd5b5b50565b60008273ffffffffffffffffffffffffffffffffffffffff166007600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001019190505550816005600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151561288857600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001900391905055506007600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690555b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef838383604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390a1505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561296857600080fd5b80600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008060008414156129c157600091506129e0565b82840290508284828115156129d257fe5b041415156129dc57fe5b8091505b5092915050565b60008282111515156129f557fe5b818303905092915050565b80600c8190555050565b600080600b84815481101515612a1c57fe5b9060005260206000209060060201915042826005018190555082826000019080519060200190612a4d929190612f00565b5060018260010160026101000a81548160ff021916908360ff1602179055508160010160009054906101000a900460ff16151515612a8a57600080fd5b612aa8600260086000878152602001908152602001600020546129ac565b905067016345785d8a0000811115612ac65767016345785d8a000090505b612b036020604051908101604052806000815250600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683612bbe565b60018260010160006101000a81548160ff02191690831515021790555050505050565b6000808284811515612b3457fe5b0490508091505092915050565b6000808284019050838110151515612b5557fe5b8091505092915050565b60008090505b600254811015612bbb57612bae6020604051908101604052806000815250600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600354612bbe565b8080600101915050612b65565b50565b612bc6612f80565b600061012060405190810160405280868152602001600015158152602001600015158152602001600060ff1681526020018573ffffffffffffffffffffffffffffffffffffffff168152602001600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081526020014281525091506001600b8054806001018281612c7b9190613006565b916000526020600020906006020160008590919091506000820151816000019080519060200190612cad929190613038565b5060208201518160010160006101000a81548160ff02191690831515021790555060408201518160010160016101000a81548160ff02191690831515021790555060608201518160010160026101000a81548160ff021916908360ff16021790555060808201518160010160036101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060a08201518160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060c0820151816003015560e08201518160040155610100820151816005015550500390508063ffffffff1681141515612dd557600080fd5b7fb3b0cf861f168bcdb275c69da97b2543631552ba562628aa3c7317d4a6089ef281868660405180848152602001806020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825284818151815260200191508051906020019080838360005b83811015612e71578082015181840152602081019050612e56565b50505050905090810190601f168015612e9e5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a1826008600083815260200190815260200160002081905550612ed16000858361272a565b5050505050565b602060405190810160405280600081525090565b602060405190810160405280600081525090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10612f4157805160ff1916838001178555612f6f565b82800160010185558215612f6f579182015b82811115612f6e578251825591602001919060010190612f53565b5b509050612f7c91906130b8565b5090565b61012060405190810160405280612f956130dd565b8152602001600015158152602001600015158152602001600060ff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff1681526020016000815260200160008152602001600081525090565b8154818355818115116130335760060281600602836000526020600020918201910161303291906130f1565b5b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061307957805160ff19168380011785556130a7565b828001600101855582156130a7579182015b828111156130a657825182559160200191906001019061308b565b5b5090506130b491906130b8565b5090565b6130da91905b808211156130d65760008160009055506001016130be565b5090565b90565b602060405190810160405280600081525090565b6131bf91905b808211156131bb576000808201600061311091906131c2565b6001820160006101000a81549060ff02191690556001820160016101000a81549060ff02191690556001820160026101000a81549060ff02191690556001820160036101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556002820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600382016000905560048201600090556005820160009055506006016130f7565b5090565b90565b50805460018160011615610100020316600290046000825580601f106131e85750613207565b601f01602090049060005260206000209081019061320691906130b8565b5b505600a165627a7a72305820b757091e3a976fe4046bd5e0e815543cc6e31d1657a6609b85eb90400b4982160029
Swarm Source
bzzr://b757091e3a976fe4046bd5e0e815543cc6e31d1657a6609b85eb90400b498216
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 35 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | 100.00% | $2,605.99 | 0.000000000000000002 | <$0.000001 |
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.